summaryrefslogtreecommitdiff
path: root/scripts/PewterPokecenter2.asm
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/PewterPokecenter2.asm')
-rw-r--r--scripts/PewterPokecenter2.asm79
1 files changed, 79 insertions, 0 deletions
diff --git a/scripts/PewterPokecenter2.asm b/scripts/PewterPokecenter2.asm
new file mode 100644
index 00000000..79d22b2f
--- /dev/null
+++ b/scripts/PewterPokecenter2.asm
@@ -0,0 +1,79 @@
+Func_f1d98::
+ ld hl, PewterPokecenterText_f1d9f
+ call PrintText
+ ret
+
+PewterPokecenterText_f1d9f:
+ text_far _PewterPokecenterText3
+ text_end
+
+PewterJigglypuff::
+ ld a, TRUE
+ ld [wDoNotWaitForButtonPressAfterDisplayingText], a
+ ld hl, .JigglypuffText
+ call PrintText
+
+ call StopAllMusic
+ ld c, 32
+ call DelayFrames
+
+ ld hl, JigglypuffFacingDirections
+ ld de, wJigglypuffFacingDirections
+ ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections
+ call CopyData
+
+ ld a, [wSprite03StateData1ImageIndex]
+ ld hl, wJigglypuffFacingDirections
+.findMatchingFacingDirectionLoop
+ cp [hl]
+ inc hl
+ jr nz, .findMatchingFacingDirectionLoop
+ dec hl
+
+ push hl
+ ld c, BANK(Music_JigglypuffSong)
+ ld a, MUSIC_JIGGLYPUFF_SONG
+ call PlayMusic
+ pop hl
+
+.spinMovementLoop
+ ld a, [hl]
+ ld [wSprite03StateData1ImageIndex], a
+; rotate the array
+ push hl
+ ld hl, wJigglypuffFacingDirections
+ ld de, wJigglypuffFacingDirections - 1
+ ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections
+ call CopyData
+ ld a, [wJigglypuffFacingDirections - 1]
+ ld [wJigglypuffFacingDirections + 3], a
+ pop hl
+ ld c, 24
+ call DelayFrames
+ ld a, [wChannelSoundIDs]
+ ld b, a
+ ld a, [wChannelSoundIDs + Ch2]
+ or b
+ jr nz, .spinMovementLoop
+
+ ld c, 48
+ call DelayFrames
+ call PlayDefaultMusic
+ ld a, [wd472]
+ bit 7, a
+ ret z
+ callfar CheckPikachuFaintedOrStatused
+ ret c
+ call DisablePikachuFollowingPlayer
+ ret
+
+.JigglypuffText:
+ text_far _PewterJigglypuffText
+ text_end
+
+JigglypuffFacingDirections:
+ db $40 | SPRITE_FACING_DOWN
+ db $40 | SPRITE_FACING_LEFT
+ db $40 | SPRITE_FACING_UP
+ db $40 | SPRITE_FACING_RIGHT
+JigglypuffFacingDirectionsEnd: