pokeemmo/data/scripts/field_move_scripts.inc
RoamerX 0ee10d486e 大批量文本修正
徒弟文本全部重新翻译(主要使用deepseek,之后进行了润色和格式调整)
调整整个游戏中大量少数几个字后就换行导致观感奇怪的情况
将所有的游船修正为轮渡(ferry,連絡船)
润色/重新翻译乘船相关的文本
个体值评定员、回忆技能NPC的文本重新翻译
修正很多换页时逗号的使用
修正几个遗漏的文本超出
统一所有自行车道的译名
调整润色传送到盒子的文本
修正所有宝玉为宝珠
训练家的量词统一为“位”
2025-05-29 23:09:11 +08:00

421 lines
10 KiB
PHP
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

@ Interact with cuttable tree
EventScript_CutTree::
lockall
goto_if_unset FLAG_BADGE01_GET, EventScript_CheckTreeCantCut
checkpartymove MOVE_CUT
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CheckTreeCantCut
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick STR_VAR_1, VAR_RESULT
buffermovename STR_VAR_2, MOVE_CUT
msgbox Text_WantToCut, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_CancelCut
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
EventScript_CutTreeCommon:
isfollowerfieldmoveuser VAR_0x8004
setfieldeffectargument 3, VAR_0x8004 @ skip pose if so
dofieldeffect FLDEFF_USE_CUT_ON_TREE
waitstate
EventScript_CutTreeDown:: @ fallthrough
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
call_if_eq VAR_0x8004, TRUE, EventScript_FollowerFieldMove
applymovement VAR_LAST_TALKED, Movement_CutTreeDown
waitmovement 0
removeobject VAR_LAST_TALKED
releaseall
end
@ Use cut from party menu
EventScript_UseCut::
lockall
goto EventScript_CutTreeCommon
Movement_CutTreeDown:
cut_tree
step_end
EventScript_CheckTreeCantCut::
msgbox Text_CantCut, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelCut::
closemessage
releaseall
end
Text_WantToCut:
.string "这棵树好像可以砍断!\n"
.string "要用居合劈来砍吗?$"
Text_MonUsedFieldMove:
.string "{STR_VAR_1}使用了{STR_VAR_2}$"
Text_CantCut:
.string "这棵树好像可以用\n"
.string "秘传招式砍断!$"
@ Use rock smash from party menu
EventScript_UseRockSmash::
lockall
goto EventScript_RockSmashCommon
@ Interact with smashable rock
EventScript_RockSmash::
lockall
goto_if_unset FLAG_BADGE03_GET, EventScript_CantSmashRock
checkpartymove MOVE_ROCK_SMASH
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantSmashRock
setfieldeffectargument 0, VAR_RESULT
bufferpartymonnick STR_VAR_1, VAR_RESULT
buffermovename STR_VAR_2, MOVE_ROCK_SMASH
msgbox Text_WantToSmash, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_CancelSmash
msgbox Text_MonUsedFieldMove, MSGBOX_DEFAULT
closemessage
EventScript_RockSmashCommon:
@ check if follower should use the field move
isfollowerfieldmoveuser VAR_0x8004
setfieldeffectargument 3, VAR_0x8004 @ skip pose if so
dofieldeffect FLDEFF_USE_ROCK_SMASH
waitstate
EventScript_SmashRock:: @ fallthrough
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
call_if_eq VAR_0x8004, TRUE, EventScript_FollowerFieldMove
applymovement VAR_LAST_TALKED, Movement_SmashRock
waitmovement 0
removeobject VAR_LAST_TALKED
specialvar VAR_RESULT, TryUpdateRusturfTunnelState
goto_if_eq VAR_RESULT, TRUE, EventScript_EndSmash
special RockSmashWildEncounter
goto_if_eq VAR_RESULT, FALSE, EventScript_EndSmash
waitstate
releaseall
end
EventScript_FollowerFieldMove:
getdirectiontoface VAR_0x8005, OBJ_EVENT_ID_FOLLOWER, OBJ_EVENT_ID_PLAYER
specialvar VAR_0x8006, GetPlayerFacingDirection
goto_if_eq VAR_0x8005, DIR_NONE, EventScript_FollowerFieldMoveEnd
@ Swap follower and player
call EventScript_FollowerSwap
@ Face follower in direction and jump
switch VAR_0x8006
case DIR_NORTH, EventScript_FollowerJumpNorth
case DIR_EAST, EventScript_FollowerJumpEast
case DIR_SOUTH, EventScript_FollowerJumpSouth
case DIR_WEST, EventScript_FollowerJumpWest
EventScript_FollowerFieldMoveEnd:
return
EventScript_FollowerSwap:
switch VAR_0x8005
case DIR_NORTH, EventScript_FollowerMoveNorth
case DIR_EAST, EventScript_FollowerMoveEast
case DIR_SOUTH, EventScript_FollowerMoveSouth
case DIR_WEST, EventScript_FollowerMoveWest
return
EventScript_FollowerMoveNorth:
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkDown
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceUp
waitmovement 0
return
EventScript_FollowerMoveEast:
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkLeft
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceRight
waitmovement 0
return
EventScript_FollowerMoveSouth:
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkUp
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceDown
waitmovement 0
return
EventScript_FollowerMoveWest:
applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkRight
waitmovement 0
applymovement OBJ_EVENT_ID_PLAYER, Common_Movement_FaceLeft
waitmovement 0
return
EventScript_FollowerJumpNorth:
applymovement OBJ_EVENT_ID_FOLLOWER, Movement_JumpUp
waitmovement 0
return
EventScript_FollowerJumpEast:
applymovement OBJ_EVENT_ID_FOLLOWER, Movement_JumpRight
waitmovement 0
return
EventScript_FollowerJumpSouth:
applymovement OBJ_EVENT_ID_FOLLOWER, Movement_JumpDown
waitmovement 0
return
EventScript_FollowerJumpWest:
applymovement OBJ_EVENT_ID_FOLLOWER, Movement_JumpLeft
waitmovement 0
return
EventScript_EndSmash::
releaseall
end
Movement_WalkUp:
walk_up
step_end
Movement_JumpUp:
jump_in_place_up
step_end
Movement_WalkRight:
walk_right
step_end
Movement_JumpRight:
jump_in_place_right
step_end
Movement_WalkDown:
walk_down
step_end
Movement_JumpDown:
jump_in_place_down
step_end
Movement_WalkLeft:
walk_left
step_end
Movement_JumpLeft:
jump_in_place_left
step_end
Movement_SmashRock:
rock_smash_break
step_end
EventScript_CantSmashRock::
msgbox Text_CantSmash, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelSmash::
closemessage
releaseall
end
Text_WantToSmash:
.string "好像可以用秘传招式击碎!\n"
.string "要使用碎岩吗?$"
Text_CantSmash:
.string "看起来很硬的岩石……\n"
.string "或许可以用秘传招式击碎?$"
EventScript_StrengthBoulder::
lockall
goto_if_unset FLAG_BADGE04_GET, EventScript_CantStrength
goto_if_set FLAG_SYS_USE_STRENGTH, EventScript_CheckActivatedBoulder
checkpartymove MOVE_STRENGTH
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantStrength
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToStrength, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_CancelStrength
closemessage
dofieldeffect FLDEFF_USE_STRENGTH
waitstate
goto EventScript_ActivateStrength
end
EventScript_UseStrength::
lockall
dofieldeffect FLDEFF_USE_STRENGTH
waitstate
goto EventScript_ActivateStrength
end
EventScript_ActivateStrength::
setflag FLAG_SYS_USE_STRENGTH
msgbox Text_MonUsedStrength, MSGBOX_DEFAULT
releaseall
end
EventScript_CantStrength::
msgbox Text_CantStrength, MSGBOX_DEFAULT
releaseall
end
EventScript_CheckActivatedBoulder::
msgbox Text_StrengthActivated, MSGBOX_DEFAULT
releaseall
end
EventScript_CancelStrength::
closemessage
releaseall
end
Text_WantToStrength:
.string "好大的岩石……\n"
.string "或许可以用秘传招式推动?\l"
.string "要使用怪力吗?$"
Text_MonUsedStrength:
.string "{STR_VAR_1}使用了怪力!\p"
.string "使出了怪力后,\n"
.string "可以推动岩石了!$"
Text_CantStrength:
.string "好大的岩石……\n"
.string "或许可以用秘传招式推动?$"
Text_StrengthActivated:
.string "使出了怪力后,\n"
.string "可以推动岩石了!$"
EventScript_UseWaterfall::
lockall
checkpartymove MOVE_WATERFALL
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantWaterfall
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
msgbox Text_WantToWaterfall, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_EndWaterfall
msgbox Text_MonUsedWaterfall, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_WATERFALL
goto EventScript_EndWaterfall
EventScript_CannotUseWaterfall::
lockall
EventScript_CantWaterfall::
msgbox Text_CantWaterfall, MSGBOX_DEFAULT
EventScript_EndWaterfall::
releaseall
end
Text_CantWaterfall:
.string "伴随着巨大的轰响,\n"
.string "大量的水从上方倾泻而下!\n"
.string "或许可以用秘传招式攀上去?$"
Text_WantToWaterfall:
.string "好大的瀑布啊!\n"
.string "要使用攀瀑吗?$"
Text_MonUsedWaterfall:
.string "{STR_VAR_1}使用了攀瀑。$"
EventScript_UseDive::
lockall
checkpartymove MOVE_DIVE
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantDive
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToDive, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_EndDive
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
goto EventScript_EndDive
end
EventScript_CantDive::
msgbox Text_CantDive, MSGBOX_DEFAULT
releaseall
end
EventScript_EndDive::
releaseall
end
EventScript_UseDiveUnderwater::
lockall
checkpartymove MOVE_DIVE
goto_if_eq VAR_RESULT, PARTY_SIZE, EventScript_CantSurface
bufferpartymonnick STR_VAR_1, VAR_RESULT
setfieldeffectargument 0, VAR_RESULT
setfieldeffectargument 1, 1
msgbox Text_WantToSurface, MSGBOX_YESNO
goto_if_eq VAR_RESULT, NO, EventScript_EndSurface
msgbox Text_MonUsedDive, MSGBOX_DEFAULT
dofieldeffect FLDEFF_USE_DIVE
goto EventScript_EndSurface
end
EventScript_CantSurface::
lockall
msgbox Text_CantSurface, MSGBOX_DEFAULT
goto EventScript_EndSurface
end
EventScript_EndSurface::
releaseall
end
EventScript_DigCommon:
isfollowerfieldmoveuser VAR_0x8004
setfieldeffectargument 3, VAR_0x8004 @ skip pose if true
dofieldeffect FLDEFF_USE_DIG
waitstate
EventScript_DigSealedChamber:: @ fallthrough
setflag FLAG_SAFE_FOLLOWER_MOVEMENT
call_if_eq VAR_0x8004, TRUE, EventScript_FollowerFieldMove
callnative DoBrailleDigEffect
releaseall
end
@ Use Dig from party menu
EventScript_UseDig::
lockall
goto EventScript_DigCommon
EventScript_CutGrassCommon:
isfollowerfieldmoveuser VAR_0x8004
setfieldeffectargument 3, VAR_0x8004 @ skip pose if true
dofieldeffect FLDEFF_USE_CUT_ON_GRASS
waitstate
@ Use Cut grass from party menu
EventScript_UseCutGrass::
lockall
goto EventScript_CutGrassCommon
Text_CantDive:
.string "这里的水很深。\n"
.string "好像可以用秘传招式潜下去。$"
Text_WantToDive:
.string "这里的水很深。\n"
.string "要使用潜水吗?$"
Text_MonUsedDive:
.string "{STR_VAR_1}使用了潜水。$"
Text_CantSurface:
.string "上方有亮光洒下。\n"
.string "好像可以从这里浮出水面。$"
Text_WantToSurface:
.string "上方有亮光洒下。\n"
.string "要使用潜水吗?$"
EventScript_FailSweetScent::
msgbox Text_FailSweetScent, MSGBOX_SIGN
end
Text_FailSweetScent:
.string "看起来这里什么也没有……$"