Added movements to follower messages. Movement credit: SonikkuA-DatH
This commit is contained in:
parent
149f4436c1
commit
cf673fda9f
@ -7,45 +7,9 @@ gText_FollowerLostInThought::
|
||||
gText_FollowerDefault::
|
||||
.string "ERROR 404: Script not found.$"
|
||||
|
||||
gText_FollowerUnhappyToBeWet::
|
||||
.string "{STR_VAR_1} looks unhappy to be wet.$"
|
||||
|
||||
gText_FollowerSplashesAround::
|
||||
.string "{STR_VAR_1} splashes around happily!$"
|
||||
|
||||
gText_WantsToFly::
|
||||
.string "{STR_VAR_1} looks up at the\nsky restlessly.\pWould you like to use FLY?$"
|
||||
|
||||
gText_FollowerUnhappyFace::
|
||||
.string "{STR_VAR_1} is making an unhappy face...$"
|
||||
|
||||
gText_FollowerHappyRain::
|
||||
.string "{STR_VAR_1} seems to be happy\nabout the rain!$"
|
||||
|
||||
gText_FollowerMetLocation::
|
||||
.string "{STR_VAR_1} looks around fondly.\nIt seems familiar with this place.$"
|
||||
|
||||
gText_FollowerSkeptical::
|
||||
.string "{STR_VAR_1} looks skeptical...\pWhat could it mean?$"
|
||||
|
||||
gText_FollowerAppraising::
|
||||
.string "{STR_VAR_1} carefully follows behind.$"
|
||||
|
||||
gText_FollowerHappyWalk::
|
||||
.string "{STR_VAR_1} skips happily behind you!$"
|
||||
|
||||
gText_FollowerAboutToFall::
|
||||
.string "{STR_VAR_1} seems to be about\nto fall over!$"
|
||||
|
||||
gText_FollowerTryingToKeepUp::
|
||||
.string "{STR_VAR_1} is trying very hard\nto keep up with you...$"
|
||||
|
||||
gText_FollowerIsShivering::
|
||||
.string "{STR_VAR_1} is shivering.$"
|
||||
|
||||
gText_FollowerBurnPainful::
|
||||
.string "{STR_VAR_1}'s burn looks painful!$'"
|
||||
|
||||
.macro playfirstmoncry
|
||||
callfunc ScrFunc_playfirstmoncry
|
||||
.endm
|
||||
@ -83,49 +47,6 @@ EventScript_FollowerEnd::
|
||||
release
|
||||
end
|
||||
|
||||
EventScript_FollowerHappyWalk::
|
||||
msgbox gText_FollowerHappyWalk, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerAppraising::
|
||||
msgbox gText_FollowerAppraising, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerSkeptical::
|
||||
msgbox gText_FollowerSkeptical, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerMetLocation::
|
||||
applymovement 0xFE Common_Movement_QuestionMark
|
||||
waitmoncry
|
||||
waitmovement 0xFE
|
||||
msgbox gText_FollowerMetLocation, MSGBOX_DEFAULT
|
||||
return
|
||||
|
||||
EventScript_FollowerUnhappyFace::
|
||||
msgbox gText_FollowerUnhappyFace, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerHappyRain::
|
||||
msgbox gText_FollowerHappyRain, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerUnhappyToBeWet::
|
||||
msgbox gText_FollowerUnhappyToBeWet, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerSplashesAbout::
|
||||
applymovement 0xFE FollowerSplashMovement
|
||||
waitmovement 0xFE
|
||||
msgbox gText_FollowerSplashesAround, MSGBOX_DEFAULT
|
||||
return
|
||||
|
||||
EventScript_FollowerLovesYou::
|
||||
applymovement 0xFE ContestHall_Movement_Heart
|
||||
waitmovement 0xFE
|
||||
@ -133,26 +54,6 @@ EventScript_FollowerLovesYou::
|
||||
msgbox gText_FollowerLovesYou, MSGBOX_DEFAULT
|
||||
return
|
||||
|
||||
EventScript_FollowerAboutToFall::
|
||||
msgbox gText_FollowerAboutToFall, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerTryingToKeepUp::
|
||||
msgbox gText_FollowerTryingToKeepUp, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerIsShivering::
|
||||
msgbox gText_FollowerIsShivering, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
EventScript_FollowerBurnPainful::
|
||||
msgbox gText_FollowerBurnPainful, MSGBOX_DEFAULT
|
||||
waitmoncry
|
||||
return
|
||||
|
||||
@ Message address must be loaded into bank 0
|
||||
EventScript_FollowerGeneric:: @ similar to Std_MsgboxDefault
|
||||
waitfieldeffect FLDEFF_EMOTE
|
||||
@ -174,9 +75,573 @@ EnterPokeballMovement::
|
||||
.byte 0x9F @ EnterPokeball
|
||||
step_end
|
||||
|
||||
FollowerSplashMovement:: @ defined in movement.inc
|
||||
@ 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_faster_up
|
||||
walk_in_place_faster_left
|
||||
walk_in_place_faster_down
|
||||
walk_in_place_faster_right
|
||||
walk_in_place_faster_up
|
||||
walk_in_place_faster_left
|
||||
walk_in_place_faster_down
|
||||
walk_in_place_faster_right
|
||||
walk_in_place_faster_up
|
||||
walk_in_place_faster_left
|
||||
walk_in_place_faster_down
|
||||
walk_in_place_faster_right
|
||||
walk_in_place_faster_up
|
||||
walk_in_place_faster_left
|
||||
walk_in_place_faster_down
|
||||
walk_in_place_faster_right
|
||||
walk_in_place_faster_up
|
||||
walk_in_place_faster_left
|
||||
walk_in_place_faster_down
|
||||
walk_in_place_faster_right
|
||||
jump_in_place_up
|
||||
jump_in_place_down
|
||||
jump_in_place_up
|
||||
face_player
|
||||
step_end
|
||||
|
||||
@ Movement scripts
|
||||
|
||||
EventScript_FollowerIsShivering::
|
||||
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 0xFE FollowerShiverVerticalMovement
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
ShiverHorizontal:
|
||||
applymovement 0xFE FollowerShiverHorizontalMovement
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
EventScript_FollowerNostalgia::
|
||||
applymovement 0xFE FollowerNostalgiaMovement
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerHopping::
|
||||
applymovement 0xFE FollowerSkippingMovement
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
JumpOnN:
|
||||
applymovement 0xFE FollowerJumpOnPlayerNorth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
JumpOnS:
|
||||
applymovement 0xFE FollowerJumpOnPlayerSouth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
JumpOnE:
|
||||
applymovement 0xFE FollowerJumpOnPlayerEast
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
JumpOnW:
|
||||
applymovement 0xFE FollowerJumpOnPlayerWest
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
EventScript_FollowerJumpOnPlayer::
|
||||
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 0xFE FollowerCuddlingNorth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
CuddleS:
|
||||
applymovement 0xFE FollowerCuddlingSouth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
CuddleE:
|
||||
applymovement 0xFE FollowerCuddlingEast
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
CuddleW:
|
||||
applymovement 0xFE FollowerCuddlingWest
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
EventScript_FollowerCuddling:: @ similar to Std_MsgboxDefault
|
||||
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 0xFE FollowerShiverVerticalMovement
|
||||
waitmovement 0xFE
|
||||
applymovement 0xFE FollowerCuddlingNorth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
ShCuddleS:
|
||||
applymovement 0xFE FollowerShiverVerticalMovement
|
||||
waitmovement 0xFE
|
||||
applymovement 0xFE FollowerCuddlingSouth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
ShCuddleE:
|
||||
applymovement 0xFE FollowerShiverHorizontalMovement
|
||||
waitmovement 0xFE
|
||||
applymovement 0xFE FollowerCuddlingEast
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
ShCuddleW:
|
||||
applymovement 0xFE FollowerShiverHorizontalMovement
|
||||
waitmovement 0xFE
|
||||
applymovement 0xFE FollowerCuddlingWest
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
EventScript_FollowerShiverCuddling::
|
||||
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 0xFE FollowerGetCloserNorth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
CreepCloserS:
|
||||
applymovement 0xFE FollowerGetCloserSouth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
CreepCloserE:
|
||||
applymovement 0xFE FollowerGetCloserEast
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
CreepCloserW:
|
||||
applymovement 0xFE FollowerGetCloserWest
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
EventScript_FollowerGetCloser::
|
||||
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 0xFE FollowerGetCloserNorth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
PokePlayerS:
|
||||
applymovement 0xFE FollowerGetCloserSouth
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
PokePlayerE:
|
||||
applymovement 0xFE FollowerGetCloserEast
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
PokePlayerW:
|
||||
applymovement 0xFE FollowerGetCloserWest
|
||||
waitmovement 0xFE
|
||||
return
|
||||
|
||||
EventScript_FollowerPokingPlayer::
|
||||
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 0xFE FollowerLookAround
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerLookAway::
|
||||
applymovement 0xFE FollowerLookAway
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerLookAwayBark::
|
||||
applymovement 0xFE FollowerLookAwayBark
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerLookAwayPoke::
|
||||
applymovement 0xFE FollowerLookAwayPokeG
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerPokeGround::
|
||||
applymovement 0xFE FollowerPokeGround
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerStartled::
|
||||
applymovement 0xFE FollowerStartled
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerFastHopping::
|
||||
applymovement 0xFE FollowerHopFast
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerDizzy::
|
||||
applymovement 0xFE FollowerDizzy
|
||||
waitmovement 0
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerLookAroundScared::
|
||||
applymovement 0xFE FollowerLookAroundScared
|
||||
waitmovement 0xFE
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
EventScript_FollowerDance::
|
||||
applymovement 0xFE FollowerDance
|
||||
waitmovement 0
|
||||
goto EventScript_FollowerGeneric
|
||||
|
||||
@ -5,7 +5,7 @@
|
||||
|
||||
#define SPECIES_SHINY_TAG 500
|
||||
#define N_FOLLOWER_HAPPY_MESSAGES 31
|
||||
#define N_FOLLOWER_NEUTRAL_MESSAGES 15
|
||||
#define N_FOLLOWER_NEUTRAL_MESSAGES 14
|
||||
#define N_FOLLOWER_SAD_MESSAGES 3
|
||||
#define N_FOLLOWER_UPSET_MESSAGES 3
|
||||
#define N_FOLLOWER_ANGRY_MESSAGES 5
|
||||
@ -13,7 +13,7 @@
|
||||
#define N_FOLLOWER_LOVE_MESSAGES 10
|
||||
#define N_FOLLOWER_SURPRISE_MESSAGES 20
|
||||
#define N_FOLLOWER_CURIOUS_MESSAGES 7
|
||||
#define N_FOLLOWER_MUSIC_MESSAGES 15
|
||||
#define N_FOLLOWER_MUSIC_MESSAGES 14
|
||||
#define N_FOLLOWER_POISONED_MESSAGES 1
|
||||
|
||||
#define MAX_TRAINER_ITEMS 4
|
||||
@ -92,13 +92,19 @@ struct Trainer
|
||||
|
||||
#define TRAINER_ENCOUNTER_MUSIC(trainer)((gTrainers[trainer].encounterMusic_gender & 0x7F))
|
||||
|
||||
struct FollowerMsgInfo {
|
||||
const u8 *text;
|
||||
const u8 *script;
|
||||
};
|
||||
|
||||
struct FollowerMessagePool
|
||||
{
|
||||
const char * const * messages;
|
||||
const struct FollowerMsgInfo * messages;
|
||||
const u8 * script;
|
||||
u16 length;
|
||||
};
|
||||
|
||||
|
||||
extern const u16 gMinigameDigits_Pal[];
|
||||
extern const u32 gMinigameDigits_Gfx[];
|
||||
|
||||
@ -146,16 +152,16 @@ extern const u8 gSpeciesNames[][POKEMON_NAME_LENGTH + 1];
|
||||
extern const u8 gMoveNames[MOVES_COUNT][MOVE_NAME_LENGTH + 1];
|
||||
|
||||
// Follower text messages
|
||||
extern const char * const gFollowerHappyMessages[];
|
||||
extern const char * const gFollowerNeutralMessages[];
|
||||
extern const char * const gFollowerSadMessages[];
|
||||
extern const char * const gFollowerUpsetMessages[];
|
||||
extern const char * const gFollowerAngryMessages[];
|
||||
extern const char * const gFollowerPensiveMessages[];
|
||||
extern const char * const gFollowerLoveMessages[];
|
||||
extern const char * const gFollowerSurpriseMessages[];
|
||||
extern const char * const gFollowerCuriousMessages[];
|
||||
extern const char * const gFollowerMusicMessages[];
|
||||
extern const char * const gFollowerPoisonedMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerHappyMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerNeutralMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerSadMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerUpsetMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerAngryMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerPensiveMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerLoveMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerSurpriseMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerCuriousMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerMusicMessages[];
|
||||
extern const struct FollowerMsgInfo gFollowerPoisonedMessages[];
|
||||
|
||||
#endif // GUARD_DATA_H
|
||||
|
||||
@ -2,22 +2,28 @@
|
||||
#define GUARD_EVENT_SCRIPTS_H
|
||||
|
||||
extern const u8 EventScript_Follower[];
|
||||
extern const u8 EventScript_FollowerUnhappyToBeWet[];
|
||||
extern const u8 EventScript_FollowerSplashesAbout[];
|
||||
extern const u8 EventScript_FollowerLovesYou[];
|
||||
extern const u8 EventScript_FollowerUnhappyFace[];
|
||||
extern const u8 EventScript_FollowerHappyRain[];
|
||||
extern const u8 EventScript_FollowerMetLocation[];
|
||||
extern const u8 EventScript_FollowerEnd[];
|
||||
extern const u8 EventScript_FollowerSkeptical[];
|
||||
extern const u8 EventScript_FollowerAppraising[];
|
||||
extern const u8 EventScript_FollowerHappyWalk[];
|
||||
extern const u8 EventScript_FollowerAboutToFall[];
|
||||
extern const u8 EventScript_FollowerTryingToKeepUp[];
|
||||
extern const u8 EventScript_FollowerIsShivering[];
|
||||
extern const u8 EventScript_FollowerBurnPainful[];
|
||||
extern const u8 EventScript_FollowerGeneric[];
|
||||
extern const u8 EventScript_FollowerLove[];
|
||||
extern const u8 EventScript_FollowerLovesYou[];
|
||||
|
||||
extern const u8 EventScript_FollowerIsShivering[];
|
||||
extern const u8 EventScript_FollowerNostalgia[];
|
||||
extern const u8 EventScript_FollowerHopping[];
|
||||
extern const u8 EventScript_FollowerJumpOnPlayer[];
|
||||
extern const u8 EventScript_FollowerCuddling[];
|
||||
extern const u8 EventScript_FollowerShiverCuddling[];
|
||||
extern const u8 EventScript_FollowerGetCloser[];
|
||||
extern const u8 EventScript_FollowerPokingPlayer[];
|
||||
extern const u8 EventScript_FollowerLookAround[];
|
||||
extern const u8 EventScript_FollowerLookAway[];
|
||||
extern const u8 EventScript_FollowerLookAwayBark[];
|
||||
extern const u8 EventScript_FollowerLookAwayPoke[];
|
||||
extern const u8 EventScript_FollowerPokeGround[];
|
||||
extern const u8 EventScript_FollowerStartled[];
|
||||
extern const u8 EventScript_FollowerFastHopping[];
|
||||
extern const u8 EventScript_FollowerDizzy[];
|
||||
extern const u8 EventScript_FollowerLookAroundScared[];
|
||||
extern const u8 EventScript_FollowerDance[];
|
||||
extern const u8 EnterPokeballMovement[];
|
||||
|
||||
extern const u8 EventScript_TestSignpostMsg[];
|
||||
|
||||
@ -1,183 +1,298 @@
|
||||
extern const u8 EventScript_FollowerIsShivering[];
|
||||
extern const u8 EventScript_FollowerNostalgia[];
|
||||
extern const u8 EventScript_FollowerHopping[];
|
||||
extern const u8 EventScript_FollowerJumpOnPlayer[];
|
||||
extern const u8 EventScript_FollowerCuddling[];
|
||||
extern const u8 EventScript_FollowerShiverCuddling[];
|
||||
extern const u8 EventScript_FollowerGetCloser[];
|
||||
extern const u8 EventScript_FollowerPokingPlayer[];
|
||||
extern const u8 EventScript_FollowerLookAround[];
|
||||
extern const u8 EventScript_FollowerLookAway[];
|
||||
extern const u8 EventScript_FollowerLookAwayBark[];
|
||||
extern const u8 EventScript_FollowerLookAwayPoke[];
|
||||
extern const u8 EventScript_FollowerPokeGround[];
|
||||
extern const u8 EventScript_FollowerStartled[];
|
||||
extern const u8 EventScript_FollowerFastHopping[];
|
||||
extern const u8 EventScript_FollowerDizzy[];
|
||||
extern const u8 EventScript_FollowerLookAroundScared[];
|
||||
extern const u8 EventScript_FollowerDance[];
|
||||
|
||||
// 'Generic', unconditional happy messages
|
||||
const char * const gFollowerHappyMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} began poking you in the\nstomach."),
|
||||
(const char []) _("{STR_VAR_1} is happy but shy."),
|
||||
(const char []) _("{STR_VAR_1} is coming along happily."),
|
||||
(const char []) _("{STR_VAR_1} is composed."),
|
||||
(const char []) _("{STR_VAR_1} seems to be feeling\ngreat about walking with you!"),
|
||||
(const char []) _("{STR_VAR_1} is glowing with health."),
|
||||
(const char []) _("{STR_VAR_1} looks very happy."),
|
||||
(const char []) _("{STR_VAR_1} put in extra effort."),
|
||||
(const char []) _("{STR_VAR_1} is smelling the scents\nof the surrounding air."),
|
||||
(const char []) _("{STR_VAR_1} is jumping for joy!"),
|
||||
(const char []) _("{STR_VAR_1} is still feeling great!"),
|
||||
(const char []) _("Your pokemon has caught the scent of\nsmoke."),
|
||||
(const char []) _("{STR_VAR_1} is poking at your belly."),
|
||||
(const char []) _("Your pokemon stretched out its body\nand is relaxing."),
|
||||
(const char []) _("{STR_VAR_1} looks like it wants to\nlead!"),
|
||||
(const char []) _("{STR_VAR_1} is doing it's best to\nkeep up with you."),
|
||||
(const char []) _("{STR_VAR_1} is happily cuddling up\nto you!"),
|
||||
(const char []) _("{STR_VAR_1} is full of life!"),
|
||||
(const char []) _("{STR_VAR_1} seems to be very happy!"),
|
||||
(const char []) _("{STR_VAR_1} is so happy that it\ncan't stand still!"),
|
||||
(const char []) _("{STR_VAR_1} nodded slowly."),
|
||||
(const char []) _("{STR_VAR_1} is very eager!"),
|
||||
(const char []) _("{STR_VAR_1} is wandering around and\nlistening to the different sounds."),
|
||||
(const char []) _("{STR_VAR_1} looks very interested."),
|
||||
(const char []) _("{STR_VAR_1} is somehow forcing\nitself to keep going."),
|
||||
(const char []) _("{STR_VAR_1} gave you a sunny look!"),
|
||||
(const char []) _("{STR_VAR_1} gives you a happy look\nand a smile."),
|
||||
(const char []) _("Your pokemon is smelling the scent\nof flowers."),
|
||||
(const char []) _("{STR_VAR_1} seems very happy to see\nyou!"),
|
||||
(const char []) _("{STR_VAR_1} faced this way and\ngrinned."),
|
||||
(const char []) _("{STR_VAR_1} happily cuddled up to\nyou!"),
|
||||
static const u8 sHappyMsg00[] = _("{STR_VAR_1} began poking you in the\nstomach.");
|
||||
static const u8 sHappyMsg01[] = _("{STR_VAR_1} is happy but shy.");
|
||||
static const u8 sHappyMsg02[] = _("{STR_VAR_1} is coming along happily.");
|
||||
static const u8 sHappyMsg03[] = _("{STR_VAR_1} is composed.");
|
||||
static const u8 sHappyMsg04[] = _("{STR_VAR_1} seems to be feeling\ngreat about walking with you!");
|
||||
static const u8 sHappyMsg05[] = _("{STR_VAR_1} is glowing with health.");
|
||||
static const u8 sHappyMsg06[] = _("{STR_VAR_1} looks very happy.");
|
||||
static const u8 sHappyMsg07[] = _("{STR_VAR_1} put in extra effort.");
|
||||
static const u8 sHappyMsg08[] = _("{STR_VAR_1} is smelling the scents\nof the surrounding air.");
|
||||
static const u8 sHappyMsg09[] = _("{STR_VAR_1} is jumping for joy!");
|
||||
static const u8 sHappyMsg10[] = _("{STR_VAR_1} is still feeling great!");
|
||||
static const u8 sHappyMsg11[] = _("Your pokemon has caught the scent of\nsmoke.");
|
||||
static const u8 sHappyMsg12[] = _("{STR_VAR_1} is poking at your belly.");
|
||||
static const u8 sHappyMsg13[] = _("Your pokemon stretched out its body\nand is relaxing.");
|
||||
static const u8 sHappyMsg14[] = _("{STR_VAR_1} looks like it wants to\nlead!");
|
||||
static const u8 sHappyMsg15[] = _("{STR_VAR_1} is doing it's best to\nkeep up with you.");
|
||||
static const u8 sHappyMsg16[] = _("{STR_VAR_1} is happily cuddling up\nto you!");
|
||||
static const u8 sHappyMsg17[] = _("{STR_VAR_1} is full of life!");
|
||||
static const u8 sHappyMsg18[] = _("{STR_VAR_1} seems to be very happy!");
|
||||
static const u8 sHappyMsg19[] = _("{STR_VAR_1} is so happy that it\ncan't stand still!");
|
||||
static const u8 sHappyMsg20[] = _("{STR_VAR_1} nodded slowly.");
|
||||
static const u8 sHappyMsg21[] = _("{STR_VAR_1} is very eager!");
|
||||
static const u8 sHappyMsg22[] = _("{STR_VAR_1} is wandering around and\nlistening to the different sounds.");
|
||||
static const u8 sHappyMsg23[] = _("{STR_VAR_1} looks very interested.");
|
||||
static const u8 sHappyMsg24[] = _("{STR_VAR_1} is somehow forcing\nitself to keep going.");
|
||||
static const u8 sHappyMsg25[] = _("{STR_VAR_1} gave you a sunny look!");
|
||||
static const u8 sHappyMsg26[] = _("{STR_VAR_1} gives you a happy look\nand a smile.");
|
||||
static const u8 sHappyMsg27[] = _("Your pokemon is smelling the scent\nof flowers.");
|
||||
static const u8 sHappyMsg28[] = _("{STR_VAR_1} seems very happy to see\nyou!");
|
||||
static const u8 sHappyMsg29[] = _("{STR_VAR_1} faced this way and\ngrinned.");
|
||||
static const u8 sHappyMsg30[] = _("{STR_VAR_1} happily cuddled up to\nyou!");
|
||||
// Conditional messages begin here, index 31
|
||||
(const char []) _("Your pokemon seems happy about the\ngreat weather."),
|
||||
static const u8 sHappyMsg31[] = _("Your pokemon seems happy about the\ngreat weather.");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerHappyMessages[] = {
|
||||
{sHappyMsg00, EventScript_FollowerPokingPlayer},
|
||||
{sHappyMsg01}, {sHappyMsg02}, {sHappyMsg03}, {sHappyMsg04}, {sHappyMsg05}, {sHappyMsg06}, {sHappyMsg07},
|
||||
{sHappyMsg08, EventScript_FollowerLookAround},
|
||||
{sHappyMsg09, EventScript_FollowerHopping},
|
||||
{sHappyMsg10}, {sHappyMsg11},
|
||||
{sHappyMsg12, EventScript_FollowerPokingPlayer},
|
||||
{sHappyMsg13, EventScript_FollowerLookAround},
|
||||
{sHappyMsg14}, {sHappyMsg15},
|
||||
{sHappyMsg16, EventScript_FollowerCuddling},
|
||||
{sHappyMsg17}, {sHappyMsg18},
|
||||
{sHappyMsg19, EventScript_FollowerFastHopping},
|
||||
{sHappyMsg20}, {sHappyMsg21}, {sHappyMsg22}, {sHappyMsg23}, {sHappyMsg24}, {sHappyMsg25}, {sHappyMsg26}, {sHappyMsg27}, {sHappyMsg28}, {sHappyMsg29},
|
||||
{sHappyMsg30, EventScript_FollowerCuddling},
|
||||
{sHappyMsg31},
|
||||
};
|
||||
|
||||
// Unconditional neutral messages
|
||||
const char * const gFollowerNeutralMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} is steadily poking at\nthe ground."),
|
||||
(const char []) _("{STR_VAR_1} is standing guard."),
|
||||
(const char []) _("{STR_VAR_1} is staring patiently at\nnothing at all."),
|
||||
(const char []) _("{STR_VAR_1} is wandering around."),
|
||||
(const char []) _("Your pokemon yawned loudly!"),
|
||||
(const char []) _("Your pokemon is looking around\nrestlessly."),
|
||||
(const char []) _("{STR_VAR_1} is steadily poking at\nthe ground."),
|
||||
(const char []) _("{STR_VAR_1} is looking this way and\nsmiling."),
|
||||
(const char []) _("{STR_VAR_1} is gazing around\nrestlessly."),
|
||||
(const char []) _("{STR_VAR_1} let out a battle cry."),
|
||||
(const char []) _("{STR_VAR_1} danced a wonderful\ndance!"),
|
||||
(const char []) _("{STR_VAR_1} is very eager."),
|
||||
(const char []) _("{STR_VAR_1} is staring intently into\nthe distance."),
|
||||
(const char []) _("{STR_VAR_1} is on the lookout!"),
|
||||
(const char []) _("{STR_VAR_1} looked off into the\ndistance and barked!"),
|
||||
static const u8 sNeutralMsg00[] = _("{STR_VAR_1} is steadily poking at\nthe ground.");
|
||||
static const u8 sNeutralMsg01[] = _("{STR_VAR_1} is standing guard.");
|
||||
static const u8 sNeutralMsg02[] = _("{STR_VAR_1} is staring patiently at\nnothing at all.");
|
||||
static const u8 sNeutralMsg03[] = _("{STR_VAR_1} is wandering around.");
|
||||
static const u8 sNeutralMsg04[] = _("Your pokemon yawned loudly!");
|
||||
static const u8 sNeutralMsg05[] = _("Your pokemon is looking around\nrestlessly.");
|
||||
static const u8 sNeutralMsg06[] = _("{STR_VAR_1} is looking this way and\nsmiling.");
|
||||
static const u8 sNeutralMsg07[] = _("{STR_VAR_1} is gazing around\nrestlessly.");
|
||||
static const u8 sNeutralMsg08[] = _("{STR_VAR_1} let out a battle cry.");
|
||||
static const u8 sNeutralMsg09[] = _("{STR_VAR_1} danced a wonderful\ndance!");
|
||||
static const u8 sNeutralMsg10[] = _("{STR_VAR_1} is very eager.");
|
||||
static const u8 sNeutralMsg11[] = _("{STR_VAR_1} is staring intently into\nthe distance.");
|
||||
static const u8 sNeutralMsg12[] = _("{STR_VAR_1} is on the lookout!");
|
||||
static const u8 sNeutralMsg13[] = _("{STR_VAR_1} looked off into the\ndistance and barked!");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerNeutralMessages[] = {
|
||||
{sNeutralMsg00, EventScript_FollowerPokeGround},
|
||||
{sNeutralMsg01},
|
||||
{sNeutralMsg02, EventScript_FollowerLookAway},
|
||||
{sNeutralMsg03, EventScript_FollowerLookAround},
|
||||
{sNeutralMsg04},
|
||||
{sNeutralMsg05, EventScript_FollowerLookAround},
|
||||
{sNeutralMsg06}, {sNeutralMsg07}, {sNeutralMsg08},
|
||||
{sNeutralMsg09, EventScript_FollowerDance},
|
||||
{sNeutralMsg10},
|
||||
{sNeutralMsg11, EventScript_FollowerLookAway},
|
||||
{sNeutralMsg12},
|
||||
{sNeutralMsg13, EventScript_FollowerLookAwayBark},
|
||||
};
|
||||
|
||||
// Unconditional sad messages
|
||||
const char * const gFollowerSadMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} is dizzy."),
|
||||
(const char []) _("{STR_VAR_1} is stepping on your\nfeet!"),
|
||||
(const char []) _("{STR_VAR_1} seems a little tired."),
|
||||
static const u8 sSadMsg00[] = _("{STR_VAR_1} is dizzy.");
|
||||
static const u8 sSadMsg01[] = _("{STR_VAR_1} is stepping on your\nfeet!");
|
||||
static const u8 sSadMsg02[] = _("{STR_VAR_1} seems a little tired.");
|
||||
// Conditional messages begin, index 3
|
||||
(const char []) _("{STR_VAR_1} is not happy."),
|
||||
(const char []) _("{STR_VAR_1} is going to fall down!\n"),
|
||||
(const char []) _("{STR_VAR_1} seems to be about to\nfall over!"),
|
||||
(const char []) _("{STR_VAR_1} is trying very hard to\nkeep up with you..."),
|
||||
static const u8 sSadMsg03[] = _("{STR_VAR_1} is not happy.");
|
||||
static const u8 sSadMsg04[] = _("{STR_VAR_1} is going to fall down!\n");
|
||||
static const u8 sSadMsg05[] = _("{STR_VAR_1} seems to be about to\nfall over!");
|
||||
static const u8 sSadMsg06[] = _("{STR_VAR_1} is trying very hard to\nkeep up with you...");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerSadMessages[] = {
|
||||
{sSadMsg00, EventScript_FollowerDizzy},
|
||||
{sSadMsg01}, {sSadMsg02},
|
||||
{sSadMsg03}, {sSadMsg04}, {sSadMsg05}, {sSadMsg06},
|
||||
};
|
||||
|
||||
// Unconditional upset messages
|
||||
const char * const gFollowerUpsetMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} seems unhappy somehow..."),
|
||||
(const char []) _("{STR_VAR_1} is making an unhappy\nface."),
|
||||
(const char []) _(".....Your pokemon seems a little\ncold."),
|
||||
static const u8 sUpsetMsg00[] = _("{STR_VAR_1} seems unhappy somehow...");
|
||||
static const u8 sUpsetMsg01[] = _("{STR_VAR_1} is making an unhappy\nface.");
|
||||
static const u8 sUpsetMsg02[] = _(".....Your pokemon seems a little\ncold.");
|
||||
// Conditional messages, index 3
|
||||
(const char []) _("{STR_VAR_1} is taking shelter in the\ngrass from the rain."),
|
||||
static const u8 sUpsetMsg03[] = _("{STR_VAR_1} is taking shelter in the\ngrass from the rain.");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerUpsetMessages[] = {
|
||||
{sUpsetMsg00}, {sUpsetMsg01},
|
||||
{sUpsetMsg02, EventScript_FollowerIsShivering},
|
||||
{sUpsetMsg03},
|
||||
};
|
||||
|
||||
// Unconditional angry messages
|
||||
const char * const gFollowerAngryMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} let out a roar!"),
|
||||
(const char []) _("{STR_VAR_1} is making a face like\nits angry!"),
|
||||
(const char []) _("{STR_VAR_1} seems to be angry for\nsome reason."),
|
||||
(const char []) _("Your pokemon turned to face the\nother way, showing a defiant\pexpression."),
|
||||
(const char []) _("{STR_VAR_1} cried out."),
|
||||
static const u8 sAngryMsg00[] = _("{STR_VAR_1} let out a roar!");
|
||||
static const u8 sAngryMsg01[] = _("{STR_VAR_1} is making a face like\nits angry!");
|
||||
static const u8 sAngryMsg02[] = _("{STR_VAR_1} seems to be angry for\nsome reason.");
|
||||
static const u8 sAngryMsg03[] = _("Your pokemon turned to face the\nother way, showing a defiant\pexpression.");
|
||||
static const u8 sAngryMsg04[] = _("{STR_VAR_1} cried out.");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerAngryMessages[] = {
|
||||
{sAngryMsg00}, {sAngryMsg01}, {sAngryMsg02},
|
||||
{sAngryMsg03, EventScript_FollowerLookAway},
|
||||
{sAngryMsg04},
|
||||
};
|
||||
|
||||
// Unconditional pensive messages
|
||||
const char * const gFollowerPensiveMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} is looking down\nsteadily."),
|
||||
(const char []) _("{STR_VAR_1} is surveying the area."),
|
||||
(const char []) _("{STR_VAR_1} is peering down."),
|
||||
(const char []) _("{STR_VAR_1} is somehow fighting off\nsleep..."),
|
||||
(const char []) _("{STR_VAR_1} seems to be wandering\naround."),
|
||||
(const char []) _("{STR_VAR_1} is looking around\nabsentmindedly."),
|
||||
(const char []) _("{STR_VAR_1} yawned very loudly!"),
|
||||
(const char []) _("{STR_VAR_1} is relaxing comfortably."),
|
||||
(const char []) _("{STR_VAR_1} is staring steadfastly\nat your face."),
|
||||
(const char []) _("{STR_VAR_1} is staring intently at\nyour face."),
|
||||
(const char []) _("{STR_VAR_1} is focusing its\nattention on you."),
|
||||
(const char []) _("{STR_VAR_1} is staring into the\ndepths."),
|
||||
(const char []) _("{STR_VAR_1} is sniffing at the\nground."),
|
||||
(const char []) _("Your pokemon is staring intently at\nnothing."),
|
||||
(const char []) _("{STR_VAR_1} focused with a sharp\ngaze!"),
|
||||
(const char []) _("{STR_VAR_1} is concentrating."),
|
||||
(const char []) _("{STR_VAR_1} faced this way and\nnodded."),
|
||||
(const char []) _("{STR_VAR_1} seems a bit nervous..."),
|
||||
(const char []) _("{STR_VAR_1} is looking at your\nfootprints."),
|
||||
(const char []) _("{STR_VAR_1} is staring straight into\nyour eyes."),
|
||||
static const u8 sPensiveMsg00[] = _("{STR_VAR_1} is looking down\nsteadily.");
|
||||
static const u8 sPensiveMsg01[] = _("{STR_VAR_1} is surveying the area.");
|
||||
static const u8 sPensiveMsg02[] = _("{STR_VAR_1} is peering down.");
|
||||
static const u8 sPensiveMsg03[] = _("{STR_VAR_1} is somehow fighting off\nsleep...");
|
||||
static const u8 sPensiveMsg04[] = _("{STR_VAR_1} seems to be wandering\naround.");
|
||||
static const u8 sPensiveMsg05[] = _("{STR_VAR_1} is looking around\nabsentmindedly.");
|
||||
static const u8 sPensiveMsg06[] = _("{STR_VAR_1} yawned very loudly!");
|
||||
static const u8 sPensiveMsg07[] = _("{STR_VAR_1} is relaxing comfortably.");
|
||||
static const u8 sPensiveMsg08[] = _("{STR_VAR_1} is staring steadfastly\nat your face.");
|
||||
static const u8 sPensiveMsg09[] = _("{STR_VAR_1} is staring intently at\nyour face.");
|
||||
static const u8 sPensiveMsg10[] = _("{STR_VAR_1} is focusing its\nattention on you.");
|
||||
static const u8 sPensiveMsg11[] = _("{STR_VAR_1} is staring into the\ndepths.");
|
||||
static const u8 sPensiveMsg12[] = _("{STR_VAR_1} is sniffing at the\nground.");
|
||||
static const u8 sPensiveMsg13[] = _("Your pokemon is staring intently at\nnothing.");
|
||||
static const u8 sPensiveMsg14[] = _("{STR_VAR_1} focused with a sharp\ngaze!");
|
||||
static const u8 sPensiveMsg15[] = _("{STR_VAR_1} is concentrating.");
|
||||
static const u8 sPensiveMsg16[] = _("{STR_VAR_1} faced this way and\nnodded.");
|
||||
static const u8 sPensiveMsg17[] = _("{STR_VAR_1} seems a bit nervous...");
|
||||
static const u8 sPensiveMsg18[] = _("{STR_VAR_1} is looking at your\nfootprints.");
|
||||
static const u8 sPensiveMsg19[] = _("{STR_VAR_1} is staring straight into\nyour eyes.");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerPensiveMessages[] = {
|
||||
{sPensiveMsg00},
|
||||
{sPensiveMsg01, EventScript_FollowerLookAround},
|
||||
{sPensiveMsg02}, {sPensiveMsg03}, {sPensiveMsg04},
|
||||
{sPensiveMsg05, EventScript_FollowerLookAround},
|
||||
{sPensiveMsg06}, {sPensiveMsg07}, {sPensiveMsg08}, {sPensiveMsg09}, {sPensiveMsg10},
|
||||
{sPensiveMsg11, EventScript_FollowerLookAway},
|
||||
{sPensiveMsg12, EventScript_FollowerPokeGround},
|
||||
{sPensiveMsg13, EventScript_FollowerLookAway},
|
||||
{sPensiveMsg14}, {sPensiveMsg15}, {sPensiveMsg16}, {sPensiveMsg17}, {sPensiveMsg18}, {sPensiveMsg19},
|
||||
};
|
||||
|
||||
// All 'love' messages are unconditional
|
||||
const char * const gFollowerLoveMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} suddenly started walking\ncloser!"),
|
||||
(const char []) _("{STR_VAR_1} cheeks are becoming\nrosy!"),
|
||||
(const char []) _("Woah! {STR_VAR_1} suddenly hugged\nyou!"),
|
||||
(const char []) _("Woah! {STR_VAR_1} is suddenly\nplayful!"),
|
||||
(const char []) _("{STR_VAR_1} is rubbing against your\nlegs!"),
|
||||
(const char []) _("{STR_VAR_1} blushes."),
|
||||
(const char []) _("Ah! {STR_VAR_1} cuddles you!"),
|
||||
(const char []) _("{STR_VAR_1} is regarding you with\nadoration!"),
|
||||
(const char []) _("{STR_VAR_1} got closer to you."),
|
||||
(const char []) _("{STR_VAR_1} is keeping close to your\nfeet."),
|
||||
static const u8 sLoveMsg00[] = _("{STR_VAR_1} suddenly started walking\ncloser!");
|
||||
static const u8 sLoveMsg01[] = _("{STR_VAR_1} cheeks are becoming\nrosy!");
|
||||
static const u8 sLoveMsg02[] = _("Woah! {STR_VAR_1} suddenly hugged\nyou!");
|
||||
static const u8 sLoveMsg03[] = _("Woah! {STR_VAR_1} is suddenly\nplayful!");
|
||||
static const u8 sLoveMsg04[] = _("{STR_VAR_1} is rubbing against your\nlegs!");
|
||||
static const u8 sLoveMsg05[] = _("{STR_VAR_1} blushes.");
|
||||
static const u8 sLoveMsg06[] = _("Ah! {STR_VAR_1} cuddles you!");
|
||||
static const u8 sLoveMsg07[] = _("{STR_VAR_1} is regarding you with\nadoration!");
|
||||
static const u8 sLoveMsg08[] = _("{STR_VAR_1} got closer to you.");
|
||||
static const u8 sLoveMsg09[] = _("{STR_VAR_1} is keeping close to your\nfeet.");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerLoveMessages[] = {
|
||||
{sLoveMsg00, EventScript_FollowerGetCloser},
|
||||
{sLoveMsg01},
|
||||
{sLoveMsg02, EventScript_FollowerCuddling},
|
||||
{sLoveMsg03},
|
||||
{sLoveMsg04, EventScript_FollowerCuddling},
|
||||
{sLoveMsg05},
|
||||
{sLoveMsg06, EventScript_FollowerCuddling},
|
||||
{sLoveMsg07},
|
||||
{sLoveMsg08, EventScript_FollowerGetCloser},
|
||||
{sLoveMsg09},
|
||||
};
|
||||
|
||||
// Unconditional surprised messages
|
||||
const char * const gFollowerSurpriseMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} is in danger of falling\nover!"),
|
||||
(const char []) _("{STR_VAR_1} bumped into you!"),
|
||||
(const char []) _("{STR_VAR_1} doesn't seem to be used\nto its own name yet."),
|
||||
(const char []) _("{STR_VAR_1} is peering down."),
|
||||
(const char []) _("Your pokemon stumbled and nearly\nfell!"),
|
||||
(const char []) _("{STR_VAR_1} feels something and is\nhowling!"),
|
||||
(const char []) _("{STR_VAR_1} seems refreshed!"),
|
||||
(const char []) _("{STR_VAR_1} suddenly turned around\nand started barking!"),
|
||||
(const char []) _("{STR_VAR_1} suddenly turned around!"),
|
||||
(const char []) _("Your pokemon was surprised that you\nsuddenly spoke to it!"),
|
||||
(const char []) _("Sniff sniff, something smells really\ngood!"),
|
||||
(const char []) _("{STR_VAR_1} feels refreshed."),
|
||||
(const char []) _("{STR_VAR_1} is wobbling and seems\nabout to fall over."),
|
||||
(const char []) _("{STR_VAR_1} is in danger of falling\nover."),
|
||||
(const char []) _("{STR_VAR_1} is walking along\ncautiously."),
|
||||
(const char []) _("{STR_VAR_1} is getting tense with\nnervous energy."),
|
||||
(const char []) _("{STR_VAR_1} sensed something strange\nand was surprised!"),
|
||||
(const char []) _("{STR_VAR_1} is scared and snuggled\nup to you!"),
|
||||
(const char []) _("{STR_VAR_1} is feeling an unusual\npresence..."),
|
||||
(const char []) _("{STR_VAR_1} is getting tense with\nnervous energy."),
|
||||
static const u8 sSurpriseMsg00[] = _("{STR_VAR_1} is in danger of falling\nover!");
|
||||
static const u8 sSurpriseMsg01[] = _("{STR_VAR_1} bumped into you!");
|
||||
static const u8 sSurpriseMsg02[] = _("{STR_VAR_1} doesn't seem to be used\nto its own name yet.");
|
||||
static const u8 sSurpriseMsg03[] = _("{STR_VAR_1} is peering down.");
|
||||
static const u8 sSurpriseMsg04[] = _("Your pokemon stumbled and nearly\nfell!");
|
||||
static const u8 sSurpriseMsg05[] = _("{STR_VAR_1} feels something and is\nhowling!");
|
||||
static const u8 sSurpriseMsg06[] = _("{STR_VAR_1} seems refreshed!");
|
||||
static const u8 sSurpriseMsg07[] = _("{STR_VAR_1} suddenly turned around\nand started barking!");
|
||||
static const u8 sSurpriseMsg08[] = _("{STR_VAR_1} suddenly turned around!");
|
||||
static const u8 sSurpriseMsg09[] = _("Your pokemon was surprised that you\nsuddenly spoke to it!");
|
||||
static const u8 sSurpriseMsg10[] = _("Sniff sniff, something smells really\ngood!");
|
||||
static const u8 sSurpriseMsg11[] = _("{STR_VAR_1} feels refreshed.");
|
||||
static const u8 sSurpriseMsg12[] = _("{STR_VAR_1} is wobbling and seems\nabout to fall over.");
|
||||
static const u8 sSurpriseMsg13[] = _("{STR_VAR_1} is in danger of falling\nover.");
|
||||
static const u8 sSurpriseMsg14[] = _("{STR_VAR_1} is walking along\ncautiously.");
|
||||
static const u8 sSurpriseMsg15[] = _("{STR_VAR_1} is getting tense with\nnervous energy.");
|
||||
static const u8 sSurpriseMsg16[] = _("{STR_VAR_1} sensed something strange\nand was surprised!");
|
||||
static const u8 sSurpriseMsg17[] = _("{STR_VAR_1} is scared and snuggled\nup to you!");
|
||||
static const u8 sSurpriseMsg18[] = _("{STR_VAR_1} is feeling an unusual\npresence...");
|
||||
static const u8 sSurpriseMsg19[] = _("{STR_VAR_1} is getting tense with\nnervous energy.");
|
||||
// Conditional messages, index 20
|
||||
(const char []) _("{STR_VAR_1} seems to be very\nsurprised that it is raining!"),
|
||||
static const u8 sSurpriseMsg20[] = _("{STR_VAR_1} seems to be very\nsurprised that it is raining!");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerSurpriseMessages[] = {
|
||||
{sSurpriseMsg00},
|
||||
{sSurpriseMsg01, EventScript_FollowerPokingPlayer},
|
||||
{sSurpriseMsg02}, {sSurpriseMsg03}, {sSurpriseMsg04}, {sSurpriseMsg05}, {sSurpriseMsg06},
|
||||
{sSurpriseMsg07, EventScript_FollowerLookAwayBark},
|
||||
{sSurpriseMsg08, EventScript_FollowerLookAway},
|
||||
{sSurpriseMsg09},
|
||||
{sSurpriseMsg10, EventScript_FollowerLookAround},
|
||||
{sSurpriseMsg11}, {sSurpriseMsg12}, {sSurpriseMsg13}, {sSurpriseMsg14}, {sSurpriseMsg15}, {sSurpriseMsg16},
|
||||
{sSurpriseMsg17, EventScript_FollowerCuddling},
|
||||
{sSurpriseMsg18},
|
||||
{sSurpriseMsg19, EventScript_FollowerLookAround},
|
||||
{sSurpriseMsg20},
|
||||
};
|
||||
|
||||
// Unconditional curious messages
|
||||
const char * const gFollowerCuriousMessages[] = {
|
||||
(const char []) _("Your pokemon is looking around\nrestlessly for something."),
|
||||
(const char []) _("Your pokemon wasn't watching where\nit was going and ran into you!"),
|
||||
(const char []) _("Sniff, sniff! Is there something\nnearby?"),
|
||||
(const char []) _("{STR_VAR_1} is rolling a pebble\naround playfully."),
|
||||
(const char []) _("{STR_VAR_1} is wandering around and\nsearching for something."),
|
||||
(const char []) _("{STR_VAR_1} is sniffing at you."),
|
||||
(const char []) _("{STR_VAR_1} seems to be a little\nhesitant..."),
|
||||
static const u8 sCuriousMsg00[] = _("Your pokemon is looking around\nrestlessly for something.");
|
||||
static const u8 sCuriousMsg01[] = _("Your pokemon wasn't watching where\nit was going and ran into you!");
|
||||
static const u8 sCuriousMsg02[] = _("Sniff, sniff! Is there something\nnearby?");
|
||||
static const u8 sCuriousMsg03[] = _("{STR_VAR_1} is rolling a pebble\naround playfully.");
|
||||
static const u8 sCuriousMsg04[] = _("{STR_VAR_1} is wandering around and\nsearching for something.");
|
||||
static const u8 sCuriousMsg05[] = _("{STR_VAR_1} is sniffing at you.");
|
||||
static const u8 sCuriousMsg06[] = _("{STR_VAR_1} seems to be a little\nhesitant...");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerCuriousMessages[] = {
|
||||
{sCuriousMsg00, EventScript_FollowerLookAround},
|
||||
{sCuriousMsg01, EventScript_FollowerPokingPlayer},
|
||||
{sCuriousMsg02}, {sCuriousMsg03},
|
||||
{sCuriousMsg04, EventScript_FollowerLookAround},
|
||||
{sCuriousMsg05}, {sCuriousMsg06},
|
||||
};
|
||||
|
||||
// Unconditional music messages
|
||||
const char * const gFollowerMusicMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} is showing off its\nagility!"),
|
||||
(const char []) _("{STR_VAR_1} is moving around\nhappily!"),
|
||||
(const char []) _("Woah! {STR_VAR_1} suddenly started\ndancing in happiness!"),
|
||||
(const char []) _("{STR_VAR_1} is steadily keeping up\nwith you!"),
|
||||
(const char []) _("{STR_VAR_1} is very happy about the\nrain."),
|
||||
(const char []) _("{STR_VAR_1} seems to want to play\nwith you."),
|
||||
(const char []) _("{STR_VAR_1} is happy skipping about."),
|
||||
(const char []) _("{STR_VAR_1} is singing and humming."),
|
||||
(const char []) _("{STR_VAR_1} is nipping at your feet!"),
|
||||
(const char []) _("{STR_VAR_1} turns around and looks\nat you."),
|
||||
(const char []) _("{STR_VAR_1} is working hard to show\noff its mighty power!"),
|
||||
(const char []) _("Whoa! {STR_VAR_1} suddenly danced in\nhappiness!"),
|
||||
(const char []) _("{STR_VAR_1} is cheerful!"),
|
||||
(const char []) _("{STR_VAR_1} is jumping around in a\ncarefree way!"),
|
||||
(const char []) _("Your pokemon seems to be smelling a\nnostalgically familiar scent..."),
|
||||
static const u8 sMusicMsg00[] = _("{STR_VAR_1} is showing off its\nagility!");
|
||||
static const u8 sMusicMsg01[] = _("{STR_VAR_1} is moving around\nhappily!");
|
||||
static const u8 sMusicMsg02[] = _("Woah! {STR_VAR_1} suddenly started\ndancing in happiness!");
|
||||
static const u8 sMusicMsg03[] = _("{STR_VAR_1} is steadily keeping up\nwith you!");
|
||||
static const u8 sMusicMsg04[] = _("{STR_VAR_1} seems to want to play\nwith you.");
|
||||
static const u8 sMusicMsg05[] = _("{STR_VAR_1} is happy skipping about.");
|
||||
static const u8 sMusicMsg06[] = _("{STR_VAR_1} is singing and humming.");
|
||||
static const u8 sMusicMsg07[] = _("{STR_VAR_1} is nipping at your feet!");
|
||||
static const u8 sMusicMsg08[] = _("{STR_VAR_1} turns around and looks\nat you.");
|
||||
static const u8 sMusicMsg09[] = _("{STR_VAR_1} is working hard to show\noff its mighty power!");
|
||||
static const u8 sMusicMsg10[] = _("Whoa! {STR_VAR_1} suddenly danced in\nhappiness!");
|
||||
static const u8 sMusicMsg11[] = _("{STR_VAR_1} is cheerful!");
|
||||
static const u8 sMusicMsg12[] = _("{STR_VAR_1} is jumping around in a\ncarefree way!");
|
||||
static const u8 sMusicMsg13[] = _("Your pokemon seems to be smelling a\nnostalgically familiar scent...");
|
||||
// Conditional music messages, index 14
|
||||
static const u8 sMusicMsg14[] = _("{STR_VAR_1} is very happy about the\nrain.");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerMusicMessages[] = {
|
||||
{sMusicMsg00, EventScript_FollowerLookAround},
|
||||
{sMusicMsg01},
|
||||
{sMusicMsg02, EventScript_FollowerDance},
|
||||
{sMusicMsg03},
|
||||
{sMusicMsg04, EventScript_FollowerHopping},
|
||||
{sMusicMsg05, EventScript_FollowerHopping},
|
||||
{sMusicMsg06}, {sMusicMsg07}, {sMusicMsg08}, {sMusicMsg09},
|
||||
{sMusicMsg10, EventScript_FollowerDance},
|
||||
{sMusicMsg11},
|
||||
{sMusicMsg12, EventScript_FollowerHopping},
|
||||
{sMusicMsg13, EventScript_FollowerNostalgia},
|
||||
{sMusicMsg14}
|
||||
};
|
||||
|
||||
const char * const gFollowerPoisonedMessages[] = {
|
||||
(const char []) _("{STR_VAR_1} is shivering with the\neffects of being poisoned."),
|
||||
|
||||
static const u8 sPoisonedMsg00[] = _("{STR_VAR_1} is shivering with the\neffects of being poisoned.");
|
||||
|
||||
const struct FollowerMsgInfo gFollowerPoisonedMessages[] = {
|
||||
{sPoisonedMsg00, EventScript_FollowerIsShivering},
|
||||
};
|
||||
|
||||
@ -1855,7 +1855,6 @@ bool8 ScrFunc_emote(struct ScriptContext *ctx) {
|
||||
}
|
||||
|
||||
struct SpecialEmote { // Used for storing conditional emotes
|
||||
const u8 * script;
|
||||
u16 index;
|
||||
u8 emotion;
|
||||
};
|
||||
@ -1864,7 +1863,7 @@ struct SpecialEmote { // Used for storing conditional emotes
|
||||
bool8 ScrFunc_getfolloweraction(struct ScriptContext *ctx) // Essentially a big switch for follower messages
|
||||
{
|
||||
u16 species;
|
||||
u32 behavior;
|
||||
s32 multi;
|
||||
s16 health_percent;
|
||||
u8 friendship;
|
||||
struct SpecialEmote cond_emotes[16] = {0};
|
||||
@ -1880,16 +1879,9 @@ bool8 ScrFunc_getfolloweraction(struct ScriptContext *ctx) // Essentially a big
|
||||
// If map is not flyable, set the script to jump past the fly check TODO: Should followers ask to fly?
|
||||
if (TRUE || !Overworld_MapTypeAllowsTeleportAndFly(gMapHeader.mapType))
|
||||
ScriptJump(ctx, EventScript_FollowerEnd);
|
||||
behavior = MapGridGetMetatileBehaviorAt(objEvent->currentCoords.x, objEvent->currentCoords.y);
|
||||
multi = MapGridGetMetatileBehaviorAt(objEvent->currentCoords.x, objEvent->currentCoords.y);
|
||||
species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
friendship = GetMonData(mon, MON_DATA_FRIENDSHIP);
|
||||
// // 1. Puddle splash or wet feet
|
||||
// if (MetatileBehavior_IsPuddle(behavior) || MetatileBehavior_IsShallowFlowingWater(behavior)) {
|
||||
// if (SpeciesHasType(species, TYPE_FIRE))
|
||||
// message_choices[n_choices++] = EventScript_FollowerUnhappyToBeWet;
|
||||
// else if (SpeciesToGraphicsInfo(species, 0)->tracks) // if follower is grounded
|
||||
// message_choices[n_choices++] = EventScript_FollowerSplashesAbout;
|
||||
// }
|
||||
// Happy weights
|
||||
emotion_weight[FOLLOWER_EMOTION_HAPPY] = 10;
|
||||
if (friendship > 170)
|
||||
@ -1924,10 +1916,11 @@ bool8 ScrFunc_getfolloweraction(struct ScriptContext *ctx) // Essentially a big
|
||||
cond_emotes[n_choices++] = (struct SpecialEmote) {.emotion=FOLLOWER_EMOTION_HAPPY, .index=31};
|
||||
else if (GetCurrentWeather() == WEATHER_RAIN || GetCurrentWeather() == WEATHER_RAIN_THUNDERSTORM) {
|
||||
if (SpeciesHasType(species, TYPE_FIRE)) {
|
||||
emotion_weight[FOLLOWER_EMOTION_SAD] = 30;
|
||||
cond_emotes[n_choices++] = (struct SpecialEmote) {.emotion=FOLLOWER_EMOTION_SAD, .index=3};
|
||||
cond_emotes[n_choices++] = (struct SpecialEmote) {.emotion=FOLLOWER_EMOTION_UPSET, .index=3};
|
||||
}
|
||||
emotion_weight[FOLLOWER_EMOTION_SAD] = 30;
|
||||
cond_emotes[n_choices++] = (struct SpecialEmote) {.emotion=FOLLOWER_EMOTION_SAD, .index=3};
|
||||
cond_emotes[n_choices++] = (struct SpecialEmote) {.emotion=FOLLOWER_EMOTION_UPSET, .index=3};
|
||||
} else
|
||||
cond_emotes[n_choices++] = (struct SpecialEmote) {.emotion = FOLLOWER_EMOTION_MUSIC, .index=14};
|
||||
cond_emotes[n_choices++] = (struct SpecialEmote) {.emotion=FOLLOWER_EMOTION_SURPRISE, .index=20};
|
||||
}
|
||||
// Health & status-related
|
||||
@ -1946,26 +1939,20 @@ bool8 ScrFunc_getfolloweraction(struct ScriptContext *ctx) // Essentially a big
|
||||
if (mon->status & 0x8) // STATUS1_POISON
|
||||
emotion = FOLLOWER_EMOTION_POISONED;
|
||||
ObjectEventEmote(objEvent, emotion);
|
||||
multi = Random() % followerBasicMessages[emotion].length;
|
||||
if (Random() & 1) { // With 50% chance, select special message using reservoir sampling
|
||||
u8 i, j = 1;
|
||||
struct SpecialEmote *choice = 0;
|
||||
for (i = 0; i < n_choices; i++) {
|
||||
if (cond_emotes[i].emotion == emotion) {
|
||||
if (Random() < 0x10000 / (j++)) // Replace item with 1/j chance
|
||||
choice = &cond_emotes[i];
|
||||
}
|
||||
}
|
||||
if (choice) { // Only continue if a script was actually chosen
|
||||
ctx->data[0] = (u32) followerBasicMessages[emotion].messages[choice->index];
|
||||
if (choice->script)
|
||||
ScriptCall(ctx, choice->script);
|
||||
else
|
||||
ScriptCall(ctx, followerBasicMessages[emotion].script);
|
||||
return FALSE;
|
||||
if (cond_emotes[i].emotion == emotion && (Random() < 0x10000 / (j++))) // Replace item with 1/j chance
|
||||
choice = &cond_emotes[i];
|
||||
}
|
||||
if (choice)
|
||||
multi = choice->index;
|
||||
}
|
||||
ctx->data[0] = (u32) followerBasicMessages[emotion].messages[Random() % followerBasicMessages[emotion].length];
|
||||
ScriptCall(ctx, followerBasicMessages[emotion].script);
|
||||
ctx->data[0] = (u32) followerBasicMessages[emotion].messages[multi].text; // Load message text
|
||||
ScriptCall(ctx, followerBasicMessages[emotion].messages[multi].script ?
|
||||
followerBasicMessages[emotion].messages[multi].script : followerBasicMessages[emotion].script);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user