implemented G-Max Wind Rage
This commit is contained in:
parent
e32936d0b1
commit
c6c92da19c
3 changed files with 26 additions and 11 deletions
|
@ -454,6 +454,7 @@ extern const u8 BattleScript_HealingWishActivates[];
|
|||
extern const u8 BattleScript_LunarDanceActivates[];
|
||||
extern const u8 BattleScript_ShellTrapSetUp[];
|
||||
extern const u8 BattleScript_StealthRockActivates[];
|
||||
extern const u8 BattleScript_DefogTryHazards[];
|
||||
|
||||
// zmoves
|
||||
extern const u8 BattleScript_ZMoveActivateDamaging[];
|
||||
|
|
|
@ -381,8 +381,9 @@
|
|||
#define MOVE_EFFECT_STEALTH_ROCK 77
|
||||
#define MOVE_EFFECT_STEELSURGE 78
|
||||
#define MOVE_EFFECT_DAMAGE_NON_TYPES 79
|
||||
#define MOVE_EFFECT_DEFOG 80
|
||||
|
||||
#define NUM_MOVE_EFFECTS 80
|
||||
#define NUM_MOVE_EFFECTS 81
|
||||
|
||||
#define MOVE_EFFECT_AFFECTS_USER 0x4000
|
||||
#define MOVE_EFFECT_CERTAIN 0x8000
|
||||
|
|
|
@ -3848,6 +3848,20 @@ void SetMoveEffect(bool32 primary, u32 certain)
|
|||
}
|
||||
break;
|
||||
}
|
||||
case MOVE_EFFECT_DAMAGE_NON_TYPES:
|
||||
{
|
||||
side = GetBattlerSide(gBattlerTarget);
|
||||
if (!(gSideStatuses[side] & SIDE_STATUS_DAMAGE_NON_TYPES))
|
||||
{
|
||||
gSideStatuses[side] |= SIDE_STATUS_DAMAGE_NON_TYPES;
|
||||
gSideTimers[side].damageNonTypesTimer = 4;
|
||||
gSideTimers[side].damageNonTypesType = gBattleMoves[gCurrentMove].type;
|
||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||
ChooseDamageNonTypesString(gBattleMoves[gCurrentMove].type);
|
||||
gBattlescriptCurrInstr = BattleScript_DamageNonTypesStarts;
|
||||
}
|
||||
break;
|
||||
}
|
||||
case MOVE_EFFECT_STEALTH_ROCK:
|
||||
if (!(gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_STEALTH_ROCK))
|
||||
{
|
||||
|
@ -3862,21 +3876,17 @@ void SetMoveEffect(bool32 primary, u32 certain)
|
|||
gBattlescriptCurrInstr = BattleScript_SteelsurgeActivates;
|
||||
}
|
||||
break;
|
||||
case MOVE_EFFECT_DAMAGE_NON_TYPES:
|
||||
{
|
||||
side = GetBattlerSide(gEffectBattler);
|
||||
if (!(gSideStatuses[side] & SIDE_STATUS_DAMAGE_NON_TYPES))
|
||||
case MOVE_EFFECT_DEFOG:
|
||||
if (gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_SCREEN_ANY
|
||||
|| gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_HAZARDS_ANY
|
||||
|| gSideStatuses[GetBattlerSide(gBattlerAttacker)] & SIDE_STATUS_HAZARDS_ANY
|
||||
|| gFieldStatuses & STATUS_FIELD_TERRAIN_ANY)
|
||||
{
|
||||
gSideStatuses[side] |= SIDE_STATUS_DAMAGE_NON_TYPES;
|
||||
gSideTimers[side].damageNonTypesTimer = 4;
|
||||
gSideTimers[side].damageNonTypesType = gBattleMoves[gCurrentMove].type;
|
||||
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||
ChooseDamageNonTypesString(gBattleMoves[gCurrentMove].type);
|
||||
gBattlescriptCurrInstr = BattleScript_DamageNonTypesStarts;
|
||||
gBattlescriptCurrInstr = BattleScript_DefogTryHazards;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -11331,6 +11341,9 @@ static void Cmd_various(void)
|
|||
case MAX_EFFECT_STEELSURGE:
|
||||
gBattleScripting.moveEffect = MOVE_EFFECT_STEELSURGE;
|
||||
break;
|
||||
case MAX_EFFECT_DEFOG:
|
||||
gBattleScripting.moveEffect = MOVE_EFFECT_DEFOG;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue