sovereignx/data/scripts/follower.inc
2024-05-30 13:56:14 -04:00

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