Merge pull request #1851 from BuffelSaft/hunger_switch2

Hunger Switch and Aura Wheel
This commit is contained in:
ghoulslash 2021-11-04 21:40:59 -04:00 committed by GitHub
commit dd91cbd08f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 44 additions and 4 deletions

View File

@ -392,10 +392,18 @@ gBattleScriptsForMoveEffects::
.4byte BattleScript_EffectSparklySwirl @ EFFECT_SPARKLY_SWIRL .4byte BattleScript_EffectSparklySwirl @ EFFECT_SPARKLY_SWIRL
.4byte BattleScript_EffectPlasmaFists @ EFFECT_PLASMA_FISTS .4byte BattleScript_EffectPlasmaFists @ EFFECT_PLASMA_FISTS
.4byte BattleScript_EffectHyperspaceFury @ EFFECT_HYPERSPACE_FURY .4byte BattleScript_EffectHyperspaceFury @ EFFECT_HYPERSPACE_FURY
.4byte BattleScript_EffectAuraWheel @ EFFECT_AURA_WHEEL
BattleScript_EffectAuraWheel: @ Aura Wheel can only be used by Morpeko
jumpifspecies BS_ATTACKER, SPECIES_MORPEKO, BattleScript_EffectSpeedUpHit
jumpifspecies BS_ATTACKER, SPECIES_MORPEKO_HANGRY, BattleScript_EffectSpeedUpHit
printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE
waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd
BattleScript_EffectHyperspaceFury: BattleScript_EffectHyperspaceFury:
jumpifspecies BS_ATTACKER, SPECIES_TREECKO, BattleScript_EffectHyperspaceFuryUnbound jumpifspecies BS_ATTACKER, SPECIES_HOOPA_UNBOUND, BattleScript_EffectHyperspaceFuryUnbound
jumpifspecies BS_ATTACKER, SPECIES_MUDKIP, BattleScript_ButHoopaCantUseIt jumpifspecies BS_ATTACKER, SPECIES_HOOPA, BattleScript_ButHoopaCantUseIt
printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE printstring STRINGID_BUTPOKEMONCANTUSETHEMOVE
waitmessage B_WAIT_TIME_LONG waitmessage B_WAIT_TIME_LONG
goto BattleScript_MoveEnd goto BattleScript_MoveEnd
@ -6989,6 +6997,7 @@ BattleScript_AttackerFormChange::
call BattleScript_AbilityPopUp call BattleScript_AbilityPopUp
printstring STRINGID_EMPTYSTRING3 printstring STRINGID_EMPTYSTRING3
waitmessage 1 waitmessage 1
BattleScript_AttackerFormChangeNoPopup::
handleformchange BS_ATTACKER, 0 handleformchange BS_ATTACKER, 0
handleformchange BS_ATTACKER, 1 handleformchange BS_ATTACKER, 1
playanimation BS_ATTACKER, B_ANIM_FORM_CHANGE, NULL playanimation BS_ATTACKER, B_ANIM_FORM_CHANGE, NULL
@ -7000,6 +7009,10 @@ BattleScript_AttackerFormChangeEnd3::
call BattleScript_AttackerFormChange call BattleScript_AttackerFormChange
end3 end3
BattleScript_AttackerFormChangeEnd3NoPopup::
call BattleScript_AttackerFormChangeNoPopup
end3
BattleScript_BallFetch:: BattleScript_BallFetch::
call BattleScript_AbilityPopUp call BattleScript_AbilityPopUp
printstring STRINGID_FETCHEDPOKEBALL printstring STRINGID_FETCHEDPOKEBALL

View File

@ -409,5 +409,6 @@ extern const u8 BattleScript_GooeyActivates[];
extern const u8 BattleScript_PastelVeilActivates[]; extern const u8 BattleScript_PastelVeilActivates[];
extern const u8 BattleScript_MimicryActivatesEnd3[]; extern const u8 BattleScript_MimicryActivatesEnd3[];
extern const u8 BattleScript_ApplyMimicry[]; extern const u8 BattleScript_ApplyMimicry[];
extern const u8 BattleScript_AttackerFormChangeEnd3NoPopup[];
#endif // GUARD_BATTLE_SCRIPTS_H #endif // GUARD_BATTLE_SCRIPTS_H

View File

@ -47,6 +47,10 @@
#define SPECIES_GRENINJA_ASH 10017 #define SPECIES_GRENINJA_ASH 10017
#define SPECIES_HOOPA 0 #define SPECIES_HOOPA 0
#define SPECIES_HOOPA_UNBOUND 10018 #define SPECIES_HOOPA_UNBOUND 10018
#define SPECIES_MELOETTA 0
#define SPECIES_MELOETTA_PIROUETTE 10019
#define SPECIES_MORPEKO 0
#define SPECIES_MORPEKO_HANGRY 10020
#endif #endif
// Items with peculiar battle effects. // Items with peculiar battle effects.

View File

@ -375,7 +375,8 @@
#define EFFECT_SPARKLY_SWIRL 369 #define EFFECT_SPARKLY_SWIRL 369
#define EFFECT_PLASMA_FISTS 370 #define EFFECT_PLASMA_FISTS 370
#define EFFECT_HYPERSPACE_FURY 371 #define EFFECT_HYPERSPACE_FURY 371
#define EFFECT_AURA_WHEEL 372
#define NUM_BATTLE_MOVE_EFFECTS 372 #define NUM_BATTLE_MOVE_EFFECTS 373
#endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H #endif // GUARD_CONSTANTS_BATTLE_MOVE_EFFECTS_H

View File

@ -5229,6 +5229,10 @@ void SetTypeBeforeUsingMove(u16 move, u8 battlerAtk)
{ {
gBattleStruct->dynamicMoveType = 0x80 | TYPE_ELECTRIC; gBattleStruct->dynamicMoveType = 0x80 | TYPE_ELECTRIC;
} }
else if (move == MOVE_AURA_WHEEL && gBattleMons[battlerAtk].species == SPECIES_MORPEKO_HANGRY)
{
gBattleStruct->dynamicMoveType = 0x80 | TYPE_DARK;
}
// Check if a gem should activate. // Check if a gem should activate.
GET_MOVE_TYPE(move, moveType); GET_MOVE_TYPE(move, moveType);

View File

@ -4635,6 +4635,22 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u16 ability, u8 special, u16 move
effect++; effect++;
} }
break; break;
case ABILITY_HUNGER_SWITCH:
if (!(gBattleMons[battler].status2 & STATUS2_TRANSFORMED))
{
if (gBattleMons[battler].species == SPECIES_MORPEKO)
{
gBattleMons[battler].species = SPECIES_MORPEKO_HANGRY;
BattleScriptPushCursorAndCallback(BattleScript_AttackerFormChangeEnd3NoPopup);
}
else if (gBattleMons[battler].species == SPECIES_MORPEKO_HANGRY)
{
gBattleMons[battler].species = SPECIES_MORPEKO;
BattleScriptPushCursorAndCallback(BattleScript_AttackerFormChangeEnd3NoPopup);
}
effect++;
}
break;
} }
} }
break; break;
@ -9046,6 +9062,7 @@ void UndoFormChange(u32 monId, u32 side, bool32 isSwitchingOut)
{SPECIES_WISHIWASHI_SCHOOL, SPECIES_WISHIWASHI, TRUE}, {SPECIES_WISHIWASHI_SCHOOL, SPECIES_WISHIWASHI, TRUE},
{SPECIES_CRAMORANT_GORGING, SPECIES_CRAMORANT, TRUE}, {SPECIES_CRAMORANT_GORGING, SPECIES_CRAMORANT, TRUE},
{SPECIES_CRAMORANT_GULPING, SPECIES_CRAMORANT, TRUE}, {SPECIES_CRAMORANT_GULPING, SPECIES_CRAMORANT, TRUE},
{SPECIES_MORPEKO_HANGRY, SPECIES_MORPEKO, TRUE},
}; };
currSpecies = GetMonData(&party[monId], MON_DATA_SPECIES, NULL); currSpecies = GetMonData(&party[monId], MON_DATA_SPECIES, NULL);

View File

@ -11038,7 +11038,7 @@ const struct BattleMove gBattleMoves[MOVES_COUNT] =
[MOVE_AURA_WHEEL] = [MOVE_AURA_WHEEL] =
{ {
.effect = EFFECT_SPEED_UP_HIT, .effect = EFFECT_AURA_WHEEL,
.power = 110, .power = 110,
.type = TYPE_ELECTRIC, .type = TYPE_ELECTRIC,
.accuracy = 100, .accuracy = 100,