648 lines
13 KiB
C++
648 lines
13 KiB
C++
gText_FollowerLovesYou::
|
|
.string "{STR_VAR_1} is regarding you with\nadoration!$"
|
|
|
|
gText_FollowerLostInThought::
|
|
.string "{STR_VAR_1} seems lost in thought.$"
|
|
|
|
gText_FollowerDefault::
|
|
.string "ERROR 404: Script not found.$"
|
|
|
|
gText_WantsToFly::
|
|
.string "{STR_VAR_1} looks up at the\nsky restlessly.\pWould you like to use FLY?$"
|
|
|
|
EventScript_Follower::
|
|
lock
|
|
bufferlivemonnickname 0
|
|
playfirstmoncry
|
|
getfolloweraction
|
|
EventScript_FollowerEnd::
|
|
waitfieldeffect FLDEFF_EMOTE
|
|
release
|
|
end
|
|
|
|
EventScript_FollowerLovesYou::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, ContestHall_Movement_Heart
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
waitmoncry
|
|
msgbox gText_FollowerLovesYou, MSGBOX_DEFAULT
|
|
return
|
|
|
|
@ Message address must be loaded into bank 0
|
|
EventScript_FollowerGeneric:: @ similar to Std_MsgboxDefault
|
|
faceplayer
|
|
EventScript_FollowerGenericSkipFace:
|
|
waitfieldeffect FLDEFF_EMOTE
|
|
message 0x0
|
|
waitmessage
|
|
waitbuttonpress
|
|
return
|
|
|
|
EventScript_FollowerJump::
|
|
faceplayer
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerSplashMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
waitfieldeffect FLDEFF_EMOTE
|
|
message 0x0
|
|
waitmessage
|
|
waitbuttonpress
|
|
return
|
|
|
|
EnterPokeballMovement::
|
|
enter_pokeball
|
|
step_end
|
|
|
|
@ Movement scripts below, movements are defined in movement.inc
|
|
|
|
FollowerSplashMovement::
|
|
jump_in_place_down
|
|
delay_4
|
|
jump_in_place_down
|
|
face_player
|
|
step_end
|
|
|
|
FollowerShiverVerticalMovement:
|
|
lock_facing_direction
|
|
slide_left
|
|
slide_right
|
|
slide_right
|
|
slide_left
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerShiverHorizontalMovement:
|
|
lock_facing_direction
|
|
slide_up
|
|
slide_down
|
|
slide_down
|
|
slide_up
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerNostalgiaMovement:
|
|
face_away_player
|
|
lock_facing_direction
|
|
jump_in_place_down
|
|
jump_in_place_down
|
|
jump_in_place_down
|
|
unlock_facing_direction
|
|
face_player
|
|
lock_facing_direction
|
|
jump_in_place_down
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerSkippingMovement:
|
|
lock_facing_direction
|
|
jump_in_place_down
|
|
delay_4
|
|
jump_in_place_down
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerJumpOnPlayerNorth:
|
|
jump_up
|
|
delay_4
|
|
lock_facing_direction
|
|
walk_fast_down
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerJumpOnPlayerSouth:
|
|
jump_down
|
|
delay_4
|
|
lock_facing_direction
|
|
walk_fast_up
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerJumpOnPlayerEast:
|
|
jump_right
|
|
delay_4
|
|
lock_facing_direction
|
|
walk_fast_left
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerJumpOnPlayerWest:
|
|
jump_left
|
|
delay_4
|
|
lock_facing_direction
|
|
walk_fast_right
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerCuddlingNorth:
|
|
face_left
|
|
lock_facing_direction
|
|
walk_up
|
|
walk_in_place_left
|
|
walk_in_place_left
|
|
unlock_facing_direction
|
|
walk_down
|
|
face_player
|
|
step_end
|
|
|
|
FollowerCuddlingSouth:
|
|
face_right
|
|
lock_facing_direction
|
|
walk_down
|
|
walk_in_place_right
|
|
walk_in_place_right
|
|
unlock_facing_direction
|
|
walk_up
|
|
face_player
|
|
step_end
|
|
|
|
FollowerCuddlingEast:
|
|
face_down
|
|
lock_facing_direction
|
|
walk_right
|
|
walk_in_place_down
|
|
walk_in_place_down
|
|
unlock_facing_direction
|
|
walk_left
|
|
face_player
|
|
step_end
|
|
|
|
FollowerCuddlingWest:
|
|
face_down
|
|
lock_facing_direction
|
|
walk_left
|
|
walk_in_place_down
|
|
walk_in_place_down
|
|
unlock_facing_direction
|
|
walk_right
|
|
face_player
|
|
step_end
|
|
|
|
FollowerGetCloserNorth:
|
|
walk_up
|
|
delay_16
|
|
lock_facing_direction
|
|
walk_down
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerGetCloserSouth:
|
|
walk_down
|
|
delay_16
|
|
lock_facing_direction
|
|
walk_up
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerGetCloserEast:
|
|
walk_right
|
|
delay_16
|
|
lock_facing_direction
|
|
walk_left
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerGetCloserWest:
|
|
walk_left
|
|
delay_16
|
|
lock_facing_direction
|
|
walk_right
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerPokeNorth:
|
|
walk_faster_up
|
|
delay_8
|
|
lock_facing_direction
|
|
walk_faster_down
|
|
delay_4
|
|
walk_faster_up
|
|
delay_4
|
|
walk_faster_down
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerPokeSouth:
|
|
walk_faster_down
|
|
delay_8
|
|
lock_facing_direction
|
|
walk_faster_up
|
|
delay_4
|
|
walk_faster_down
|
|
delay_4
|
|
walk_faster_up
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerPokeEast:
|
|
walk_faster_right
|
|
delay_8
|
|
lock_facing_direction
|
|
walk_faster_left
|
|
delay_4
|
|
walk_faster_right
|
|
delay_4
|
|
walk_faster_left
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerPokeWest:
|
|
walk_faster_left
|
|
delay_8
|
|
lock_facing_direction
|
|
walk_faster_right
|
|
delay_4
|
|
walk_faster_left
|
|
delay_4
|
|
walk_faster_right
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerLookAround:
|
|
face_away_player
|
|
delay_16
|
|
delay_16
|
|
face_left
|
|
delay_16
|
|
delay_16
|
|
face_up
|
|
delay_16
|
|
delay_16
|
|
face_down
|
|
delay_16
|
|
delay_16
|
|
step_end
|
|
|
|
FollowerLookAway:
|
|
face_away_player
|
|
delay_16
|
|
delay_16
|
|
step_end
|
|
|
|
FollowerLookAwayBark:
|
|
face_away_player
|
|
lock_facing_direction
|
|
jump_in_place_down
|
|
jump_in_place_down
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerLookAwayPokeG:
|
|
face_away_player
|
|
lock_facing_direction
|
|
walk_in_place_down
|
|
walk_in_place_down
|
|
walk_in_place_down
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerPokeGround:
|
|
lock_facing_direction
|
|
walk_in_place_down
|
|
walk_in_place_down
|
|
walk_in_place_down
|
|
unlock_facing_direction
|
|
step_end
|
|
|
|
FollowerStartled:
|
|
face_away_player
|
|
lock_facing_direction
|
|
jump_in_place_down
|
|
unlock_facing_direction
|
|
face_player
|
|
step_end
|
|
|
|
FollowerHopFast:
|
|
jump_in_place_up
|
|
jump_in_place_down
|
|
jump_in_place_left
|
|
jump_in_place_right
|
|
face_player
|
|
step_end
|
|
|
|
FollowerDizzy:
|
|
walk_in_place_left
|
|
walk_in_place_fast_right
|
|
walk_in_place_slow_up
|
|
walk_in_place_fast_down
|
|
delay_4
|
|
face_away_player
|
|
step_end
|
|
|
|
FollowerLookAroundScared:
|
|
face_up
|
|
delay_16
|
|
face_down
|
|
delay_16
|
|
face_left
|
|
delay_16
|
|
face_right
|
|
delay_16
|
|
face_up
|
|
delay_16
|
|
face_down
|
|
delay_16
|
|
face_left
|
|
delay_16
|
|
face_right
|
|
delay_16
|
|
face_player
|
|
step_end
|
|
|
|
FollowerDance:
|
|
lock_facing_direction
|
|
jump_in_place_up
|
|
unlock_facing_direction
|
|
walk_in_place_fast_up
|
|
walk_in_place_fast_left
|
|
walk_in_place_fast_down
|
|
walk_in_place_fast_right
|
|
walk_in_place_fast_up
|
|
walk_in_place_fast_left
|
|
walk_in_place_fast_down
|
|
walk_in_place_fast_right
|
|
jump_in_place_up
|
|
jump_in_place_down
|
|
jump_in_place_up
|
|
face_player
|
|
step_end
|
|
|
|
@ Movement scripts
|
|
|
|
EventScript_FollowerIsShivering::
|
|
faceplayer
|
|
compare VAR_FACING, DIR_NORTH
|
|
call_if_eq ShiverVertical
|
|
compare VAR_FACING, DIR_SOUTH
|
|
call_if_eq ShiverVertical
|
|
compare VAR_FACING, DIR_WEST
|
|
call_if_eq ShiverHorizontal
|
|
compare VAR_FACING, DIR_EAST
|
|
call_if_eq ShiverHorizontal
|
|
goto EventScript_FollowerGeneric
|
|
|
|
ShiverVertical:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerShiverVerticalMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
ShiverHorizontal:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerShiverHorizontalMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
EventScript_FollowerNostalgia::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerNostalgiaMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGeneric
|
|
|
|
EventScript_FollowerHopping::
|
|
faceplayer
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerSkippingMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGeneric
|
|
|
|
JumpOnN:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerJumpOnPlayerNorth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
JumpOnS:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerJumpOnPlayerSouth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
JumpOnE:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerJumpOnPlayerEast
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
JumpOnW:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerJumpOnPlayerWest
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
EventScript_FollowerJumpOnPlayer::
|
|
faceplayer
|
|
compare VAR_FACING, DIR_NORTH
|
|
call_if_eq JumpOnS
|
|
compare VAR_FACING, DIR_SOUTH
|
|
call_if_eq JumpOnN
|
|
compare VAR_FACING, DIR_WEST
|
|
call_if_eq JumpOnE
|
|
compare VAR_FACING, DIR_EAST
|
|
call_if_eq JumpOnW
|
|
goto EventScript_FollowerGeneric
|
|
|
|
CuddleN:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerCuddlingNorth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
CuddleS:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerCuddlingSouth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
CuddleE:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerCuddlingEast
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
CuddleW:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER, FollowerCuddlingWest
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
EventScript_FollowerCuddling:: @ similar to Std_MsgboxDefault
|
|
faceplayer
|
|
compare VAR_FACING, DIR_NORTH
|
|
call_if_eq CuddleS
|
|
compare VAR_FACING, DIR_SOUTH
|
|
call_if_eq CuddleN
|
|
compare VAR_FACING, DIR_WEST
|
|
call_if_eq CuddleE
|
|
compare VAR_FACING, DIR_EAST
|
|
call_if_eq CuddleW
|
|
goto EventScript_FollowerGeneric
|
|
|
|
ShCuddleN:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerShiverVerticalMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerCuddlingNorth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
ShCuddleS:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerShiverVerticalMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerCuddlingSouth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
ShCuddleE:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerShiverHorizontalMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerCuddlingEast
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
ShCuddleW:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerShiverHorizontalMovement
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerCuddlingWest
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
EventScript_FollowerShiverCuddling::
|
|
faceplayer
|
|
compare VAR_FACING, DIR_NORTH
|
|
call_if_eq ShCuddleS
|
|
compare VAR_FACING, DIR_SOUTH
|
|
call_if_eq ShCuddleN
|
|
compare VAR_FACING, DIR_WEST
|
|
call_if_eq ShCuddleE
|
|
compare VAR_FACING, DIR_EAST
|
|
call_if_eq ShCuddleW
|
|
goto EventScript_FollowerGeneric
|
|
|
|
CreepCloserN:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerGetCloserNorth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
CreepCloserS:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerGetCloserSouth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
CreepCloserE:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerGetCloserEast
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
CreepCloserW:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerGetCloserWest
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
EventScript_FollowerGetCloser::
|
|
faceplayer
|
|
compare VAR_FACING, DIR_NORTH
|
|
call_if_eq CreepCloserS
|
|
compare VAR_FACING, DIR_SOUTH
|
|
call_if_eq CreepCloserN
|
|
compare VAR_FACING, DIR_WEST
|
|
call_if_eq CreepCloserE
|
|
compare VAR_FACING, DIR_EAST
|
|
call_if_eq CreepCloserW
|
|
goto EventScript_FollowerGeneric
|
|
|
|
PokePlayerN:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerGetCloserNorth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
PokePlayerS:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerGetCloserSouth
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
PokePlayerE:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerGetCloserEast
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
PokePlayerW:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerGetCloserWest
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
return
|
|
|
|
EventScript_FollowerPokingPlayer::
|
|
faceplayer
|
|
compare VAR_FACING, DIR_NORTH
|
|
call_if_eq PokePlayerS
|
|
compare VAR_FACING, DIR_SOUTH
|
|
call_if_eq PokePlayerN
|
|
compare VAR_FACING, DIR_WEST
|
|
call_if_eq PokePlayerE
|
|
compare VAR_FACING, DIR_EAST
|
|
call_if_eq PokePlayerW
|
|
goto EventScript_FollowerGeneric
|
|
|
|
EventScript_FollowerLookAround::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerLookAround
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGeneric
|
|
|
|
EventScript_FollowerLookAway::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerLookAway
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerLookAwayBark::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerLookAwayBark
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerLookAwayPoke::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerLookAwayPokeG
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerPokeGround::
|
|
faceplayer
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerPokeGround
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGeneric
|
|
|
|
EventScript_FollowerStartled::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerStartled
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerFastHopping::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerHopFast
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerDizzy::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerDizzy
|
|
waitmovement 0
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerLookAroundScared::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerLookAroundScared
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGeneric
|
|
|
|
EventScript_FollowerDance::
|
|
faceplayer
|
|
applymovement OBJ_EVENT_ID_FOLLOWER FollowerDance
|
|
waitmovement 0
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerFaceUp::
|
|
applymovement OBJ_EVENT_ID_FOLLOWER Common_Movement_FaceUp
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerFaceResult:: @ Face towards direction in VAR_RESULT
|
|
switch VAR_RESULT
|
|
case DIR_SOUTH, EventScript_FollowerFaceDown
|
|
case DIR_NORTH, EventScript_FollowerFaceUp
|
|
case DIR_WEST, EventScript_FollowerFaceLeft
|
|
case DIR_EAST, EventScript_FollowerFaceRight
|
|
goto EventScript_FollowerGeneric
|
|
|
|
EventScript_FollowerFaceDown:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER Common_Movement_FaceDown
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerFaceLeft:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER Common_Movement_FaceLeft
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|
|
|
|
EventScript_FollowerFaceRight:
|
|
applymovement OBJ_EVENT_ID_FOLLOWER Common_Movement_FaceRight
|
|
waitmovement OBJ_EVENT_ID_FOLLOWER
|
|
goto EventScript_FollowerGenericSkipFace
|