diff --git a/data/battle_scripts_1.s b/data/battle_scripts_1.s index e8004669f3..654a66398a 100644 --- a/data/battle_scripts_1.s +++ b/data/battle_scripts_1.s @@ -7492,9 +7492,20 @@ BattleScript_YawnMakesAsleep:: jumpifstatus3 BS_EFFECT_BATTLER, STATUS3_SKY_DROPPED, BattleScript_YawnEnd makevisible BS_EFFECT_BATTLER skydropyawn -BattleScript_YawnEnd: +BattleScript_YawnEnd:: end2 +BattleScript_YawnMakesDrowsy:: + statusanimation BS_EFFECT_BATTLER + printstring STRINGID_PKMNGREWDROWSY + waitmessage B_WAIT_TIME_LONG + updatestatusicon BS_EFFECT_BATTLER + waitstate + jumpifstatus3 BS_EFFECT_BATTLER, STATUS3_SKY_DROPPED, BattleScript_YawnEnd + makevisible BS_EFFECT_BATTLER + skydropyawn + goto BattleScript_YawnEnd + BattleScript_EmbargoEndTurn:: printstring STRINGID_EMBARGOENDS waitmessage B_WAIT_TIME_LONG diff --git a/include/battle_scripts.h b/include/battle_scripts.h index 0410366a74..9852633fb9 100644 --- a/include/battle_scripts.h +++ b/include/battle_scripts.h @@ -155,6 +155,7 @@ extern const u8 BattleScript_TargetPoisonHealed[]; extern const u8 BattleScript_MoveEffectDrowsy[]; extern const u8 BattleScript_MoveEffectSleep[]; extern const u8 BattleScript_YawnMakesAsleep[]; +extern const u8 BattleScript_YawnMakesDrowsy[]; extern const u8 BattleScript_MoveEffectPoison[]; extern const u8 BattleScript_MoveEffectBurn[]; extern const u8 BattleScript_MoveEffectFrostbite[]; diff --git a/src/battle_util.c b/src/battle_util.c index 15e5ec050a..ef57f4012d 100644 --- a/src/battle_util.c +++ b/src/battle_util.c @@ -2716,7 +2716,10 @@ u8 DoBattlerEndTurnEffects(void) TryActivateSleepClause(battler, gBattlerPartyIndexes[battler]); BtlController_EmitSetMonData(battler, BUFFER_A, REQUEST_STATUS_BATTLE, 0, 4, &gBattleMons[battler].status1); MarkBattlerForControllerExec(battler); - BattleScriptExecute(BattleScript_YawnMakesAsleep); + if (B_USE_DROWSY) + BattleScriptExecute(BattleScript_YawnMakesDrowsy); + else + BattleScriptExecute(BattleScript_YawnMakesAsleep); } effect++; }