Z34guy
Pretty Little Psycho
- 350
- Posts
- 15
- Years
- Seen Apr 10, 2022
Pikachu able to learn Surf
Best. Thing. Ever.
I'll be keeping an eye on this hack. Keep up the fantastic work.
Pikachu able to learn Surf
I'm also thinking of including Togepi and Marill (called Pikablu in this hack as a nod to early info) and their respective evolutions.
; move_npc ID, MovementData
; ID is the index of the object on the map (defined in data/mapObjects)
; MovementData is a pointer to the movement data
; example: move_npc $3, MovementData_PewterMuseumGuyExit
move_npc: MACRO
ld a, \1
ld [H_SPRITEINDEX], a
ld de, \2
call MoveSprite
ENDM
; example NPC movement data
MovementData_PewterMuseumGuyExit:
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db NPC_MOVEMENT_DOWN
db $FF
; move_player RLEList
; RLEList is a pointer to pairs of buttons and press counts, terminated by $ff
; example: move_player WalkToLance_RLEList
move_player: MACRO
ld a, $ff
ld [wJoyIgnore], a
ld hl, wSimulatedJoypadStatesEnd
ld de, \1
call DecodeRLEList
dec a
ld [wSimulatedJoypadStatesIndex], a
call StartSimulatingJoypadStates
xor a
ld [wJoyIgnore], a
ENDM
; example player movement data
WalkToLance_RLEList:
db D_UP, $0C
db D_LEFT, $0C
db D_DOWN, $07
db D_LEFT, $06
db $FF
; hide_object ID
; ID is the hideable object constant (defined in constants/hide_show_constants.asm)
; example: hide_object HS_OAKS_LAB_RIVAL
hide_object: MACRO
ld a, \1
ld [wMissableObjectIndex], a
predef HideObject
ENDM
CeladonCityAfterBattleText:
TX_ASM
ld hl, IronTailMoveTutorPreText
call PrintText
ld a, 5
jp CeladonCityTutors
jr c, .Success2
ld hl, IronTailMoveTutorFails
call PrintText
jr .Done
.Success2
xor a
ld [hJoyHeld], a
call PlayerMovement
ld a, $a
ld [hSpriteIndexOrTextID], a
call MoveSprite
ld a, NPC_MOVEMENT_LEFT
ld a, $b
ld [hSpriteIndexOrTextID], a
ld a, HS_CELADON_CITY_LILY
ld [wMissableObjectIndex], a
predef ShowObject
call MoveSprite
ld a, NPC_MOVEMENT_DOWN
PlayerMovement:
call StartSimulatingJoypadStates
ld a, $1
ld [wSimulatedJoypadStatesIndex], a
ld a, D_DOWN
ld [wSimulatedJoypadStatesEnd], a
xor a
ld [wSpriteStateData1 + 9], a
ld [wJoyIgnore], a
ret
Still looking for scripting assistance regarding the above scenario.