diff options
author | libjet <libj3t@gmail.com> | 2020-05-21 15:36:09 +0100 |
---|---|---|
committer | libjet <libj3t@gmail.com> | 2020-05-21 15:36:09 +0100 |
commit | 92529391d8948f43c4f16e35a6024e9fa996a644 (patch) | |
tree | 9c599ef8d46ff385c440a4fd61b36e9bed641069 | |
parent | 0de5cf5629714c8781db58472b077b5fe58920be (diff) |
Add engine/events/sacred_ash.asm
-rwxr-xr-x | engine/events/sacred_ash.asm | 68 | ||||
-rw-r--r-- | main.asm | 4 |
2 files changed, 69 insertions, 3 deletions
diff --git a/engine/events/sacred_ash.asm b/engine/events/sacred_ash.asm new file mode 100755 index 00000000..d105b2fb --- /dev/null +++ b/engine/events/sacred_ash.asm @@ -0,0 +1,68 @@ +_SacredAsh: + ld a, $0 + ld [wItemEffectSucceeded], a + call CheckAnyFaintedMon + ret nc + + ld hl, SacredAshScript + call QueueScript + ld a, $1 + ld [wItemEffectSucceeded], a + ret + +CheckAnyFaintedMon: + ld de, PARTYMON_STRUCT_LENGTH + ld bc, wPartySpecies + ld hl, wPartyMon1HP + ld a, [wPartyCount] + and a + ret z + +.loop + push af + push hl + ld a, [bc] + inc bc + cp EGG + jr z, .next + + ld a, [hli] + or [hl] + jr z, .done + +.next + pop hl + add hl, de + pop af + dec a + jr nz, .loop + xor a + ret + +.done + pop hl + pop af + scf + ret + +SacredAshScript: + special HealParty + reloadmappart + playsound SFX_WARP_TO + special FadeOutPalettes + special FadeInPalettes + special FadeOutPalettes + special FadeInPalettes + special FadeOutPalettes + special FadeInPalettes + waitsfx + writetext .UseSacredAshText + playsound SFX_CAUGHT_MON + waitsfx + waitbutton + closetext + end + +.UseSacredAshText: + text_far _UseSacredAshText + text_end @@ -364,9 +364,7 @@ INCLUDE "engine/events/sweet_scent.asm" INCLUDE "engine/events/squirtbottle.asm" INCLUDE "engine/events/card_key.asm" INCLUDE "engine/events/basement_key.asm" - -_SacredAsh:: - dr $50819, $5087d +INCLUDE "engine/events/sacred_ash.asm" CopyMonToTempMon:: dr $5087d, $50940 |