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_LunarDanceActivates[];
|
||||||
extern const u8 BattleScript_ShellTrapSetUp[];
|
extern const u8 BattleScript_ShellTrapSetUp[];
|
||||||
extern const u8 BattleScript_StealthRockActivates[];
|
extern const u8 BattleScript_StealthRockActivates[];
|
||||||
|
extern const u8 BattleScript_DefogTryHazards[];
|
||||||
|
|
||||||
// zmoves
|
// zmoves
|
||||||
extern const u8 BattleScript_ZMoveActivateDamaging[];
|
extern const u8 BattleScript_ZMoveActivateDamaging[];
|
||||||
|
|
|
@ -381,8 +381,9 @@
|
||||||
#define MOVE_EFFECT_STEALTH_ROCK 77
|
#define MOVE_EFFECT_STEALTH_ROCK 77
|
||||||
#define MOVE_EFFECT_STEELSURGE 78
|
#define MOVE_EFFECT_STEELSURGE 78
|
||||||
#define MOVE_EFFECT_DAMAGE_NON_TYPES 79
|
#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_AFFECTS_USER 0x4000
|
||||||
#define MOVE_EFFECT_CERTAIN 0x8000
|
#define MOVE_EFFECT_CERTAIN 0x8000
|
||||||
|
|
|
@ -3848,6 +3848,20 @@ void SetMoveEffect(bool32 primary, u32 certain)
|
||||||
}
|
}
|
||||||
break;
|
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:
|
case MOVE_EFFECT_STEALTH_ROCK:
|
||||||
if (!(gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_STEALTH_ROCK))
|
if (!(gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_STEALTH_ROCK))
|
||||||
{
|
{
|
||||||
|
@ -3862,21 +3876,17 @@ void SetMoveEffect(bool32 primary, u32 certain)
|
||||||
gBattlescriptCurrInstr = BattleScript_SteelsurgeActivates;
|
gBattlescriptCurrInstr = BattleScript_SteelsurgeActivates;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case MOVE_EFFECT_DAMAGE_NON_TYPES:
|
case MOVE_EFFECT_DEFOG:
|
||||||
{
|
if (gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_SCREEN_ANY
|
||||||
side = GetBattlerSide(gEffectBattler);
|
|| gSideStatuses[GetBattlerSide(gEffectBattler)] & SIDE_STATUS_HAZARDS_ANY
|
||||||
if (!(gSideStatuses[side] & SIDE_STATUS_DAMAGE_NON_TYPES))
|
|| 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);
|
BattleScriptPush(gBattlescriptCurrInstr + 1);
|
||||||
ChooseDamageNonTypesString(gBattleMoves[gCurrentMove].type);
|
gBattlescriptCurrInstr = BattleScript_DefogTryHazards;
|
||||||
gBattlescriptCurrInstr = BattleScript_DamageNonTypesStarts;
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -11331,6 +11341,9 @@ static void Cmd_various(void)
|
||||||
case MAX_EFFECT_STEELSURGE:
|
case MAX_EFFECT_STEELSURGE:
|
||||||
gBattleScripting.moveEffect = MOVE_EFFECT_STEELSURGE;
|
gBattleScripting.moveEffect = MOVE_EFFECT_STEELSURGE;
|
||||||
break;
|
break;
|
||||||
|
case MAX_EFFECT_DEFOG:
|
||||||
|
gBattleScripting.moveEffect = MOVE_EFFECT_DEFOG;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue