This commit is contained in:
DizzyEggg 2020-04-18 19:09:17 +02:00
parent 7178ea6b46
commit cbc0d8a57d
5 changed files with 23 additions and 1 deletions

View file

@ -6428,6 +6428,14 @@ BattleScript_SolarPowerActivates::
waitmessage 0x40
tryfaintmon BS_ATTACKER, FALSE, NULL
end3
BattleScript_HealerActivates::
call BattleScript_AbilityPopUp
curestatus BS_SCRIPTING
updatestatusicon BS_SCRIPTING
printstring STRINGID_HEALERCURE
waitmessage 0x40
end3
BattleScript_SandstreamActivates::
pause 0x20

View file

@ -333,5 +333,6 @@ extern const u8 BattleScript_StanceChangeActivates[];
extern const u8 BattleScript_DisguiseBustedActivates[];
extern const u8 BattleScript_AnticipationActivates[];
extern const u8 BattleScript_SlowStartEnds[];
extern const u8 BattleScript_HealerActivates[];
#endif // GUARD_BATTLE_SCRIPTS_H

View file

@ -542,7 +542,8 @@
#define STRINGID_ILLUSIONWOREOFF 538
#define STRINGID_ATTACKERCUREDTARGETSTATUS 539
#define STRINGID_ATTACKERLOSTFIRETYPE 540
#define STRINGID_HEALERCURE 541
#define BATTLESTRINGS_COUNT 541
#define BATTLESTRINGS_COUNT 542
#endif // GUARD_CONSTANTS_BATTLE_STRING_IDS_H

View file

@ -663,9 +663,11 @@ static const u8 sText_BugBite[] = _("{B_ATK_NAME_WITH_PREFIX} stole and ate\n{B_
static const u8 sText_IllusionWoreOff[] = _("{B_DEF_NAME_WITH_PREFIX}'s Illusion wore off!");
static const u8 sText_AttackerCuredTargetStatus[] = _("{B_ATK_NAME_WITH_PREFIX} cured\n{B_DEF_NAME_WITH_PREFIX}'s problem!");
static const u8 sText_AttackerLostFireType[] = _("{B_ATK_NAME_WITH_PREFIX} burned itself out!");
static const u8 sText_HealerCure[] = _("{B_ATK_NAME_WITH_PREFIX}'s {B_LAST_ABILITY}\ncured {B_SCR_ACTIVE_NAME_WITH_PREFIX}'s problem!");
const u8 *const gBattleStringsTable[BATTLESTRINGS_COUNT] =
{
[STRINGID_HEALERCURE - 12] = sText_HealerCure,
[STRINGID_ATTACKERLOSTFIRETYPE - 12] = sText_AttackerLostFireType,
[STRINGID_ATTACKERCUREDTARGETSTATUS - 12] = sText_AttackerCuredTargetStatus,
[STRINGID_ILLUSIONWOREOFF - 12] = sText_IllusionWoreOff,

View file

@ -3146,6 +3146,16 @@ u8 AbilityBattleEffects(u8 caseID, u8 battler, u8 ability, u8 special, u16 moveA
effect++;
}
break;
case ABILITY_HEALER:
gBattleScripting.battler = BATTLE_PARTNER(battler);
if (IsBattlerAlive(gBattleScripting.battler)
&& gBattleMons[gBattleScripting.battler].status1 & STATUS1_ANY
&& (Random() % 100) < 30)
{
BattleScriptPushCursorAndCallback(BattleScript_HealerActivates);
effect++;
}
break;
}
}
break;