mirror of
https://github.com/pret/pokeemerald.git
synced 2026-09-30 22:07:24 -05:00
Version 1.6.0 (#3350)
This commit is contained in:
6
Makefile
6
Makefile
@@ -42,6 +42,7 @@ MAKER_CODE := 01
|
||||
REVISION := 0
|
||||
MODERN ?= 0
|
||||
TEST ?= 0
|
||||
ANALYZE ?= 0
|
||||
|
||||
ifeq (modern,$(MAKECMDGOALS))
|
||||
MODERN := 1
|
||||
@@ -118,7 +119,10 @@ LIBPATH := -L ../../tools/agbcc/lib
|
||||
LIB := $(LIBPATH) -lgcc -lc -L../../libagbsyscall -lagbsyscall
|
||||
else
|
||||
CC1 = $(shell $(PATH_MODERNCC) --print-prog-name=cc1) -quiet
|
||||
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast
|
||||
override CFLAGS += -mthumb -mthumb-interwork -O2 -mabi=apcs-gnu -mtune=arm7tdmi -march=armv4t -fno-toplevel-reorder -Wno-pointer-to-int-cast -std=gnu17
|
||||
ifeq ($(ANALYZE),1)
|
||||
override CFLAGS += -fanalyzer
|
||||
endif
|
||||
ROM := $(MODERN_ROM_NAME)
|
||||
OBJ_DIR := $(MODERN_OBJ_DIR_NAME)
|
||||
LIBPATH := -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libgcc.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libnosys.a))" -L "$(dir $(shell $(PATH_MODERNCC) -mthumb -print-file-name=libc.a))"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
@ Get the status (CHALLENGE_STATUS_*) of the current challenge and store the result in VAR_TEMP_0
|
||||
@ Get the status (CHALLENGE_STATUS_*) of the current challenge and store the result in VAR_TEMP_CHALLENGE_STATUS
|
||||
.macro frontier_getstatus
|
||||
setvar VAR_0x8004, FRONTIER_UTIL_FUNC_GET_STATUS
|
||||
special CallFrontierUtilFunc
|
||||
|
||||
@@ -1187,11 +1187,11 @@
|
||||
.byte 0xe5
|
||||
.endm
|
||||
|
||||
.macro doweatherformchangeanimation
|
||||
.macro unused3
|
||||
.byte 0xe6
|
||||
.endm
|
||||
|
||||
.macro tryweatherformdatachange
|
||||
.macro unused4
|
||||
.byte 0xe7
|
||||
.endm
|
||||
|
||||
@@ -1311,7 +1311,7 @@
|
||||
callnative BS_CalcMetalBurstDmg
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
|
||||
.macro jumpifcantfling battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfCantFling
|
||||
.byte \battler
|
||||
@@ -1361,6 +1361,11 @@
|
||||
callnative BS_SetSnow
|
||||
.endm
|
||||
|
||||
.macro applysaltcure battler:req
|
||||
callnative BS_ApplySaltCure
|
||||
.byte \battler
|
||||
.endm
|
||||
|
||||
.macro setzeffect
|
||||
callnative BS_SetZEffect
|
||||
.endm
|
||||
@@ -1382,6 +1387,57 @@
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro jumpifcantloseitem battler:req, ptr:req
|
||||
callnative BS_JumpIfCantLoseItem
|
||||
.byte \battler
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro handlemegaevo battler:req, case:req
|
||||
callnative BS_HandleMegaEvolution
|
||||
.byte \battler
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro handleprimalreversion battler:req, case:req
|
||||
callnative BS_HandlePrimalReversion
|
||||
.byte \battler
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro handleultraburst battler:req, case:req
|
||||
callnative BS_HandleUltraBurst
|
||||
.byte \battler
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro jumpifshelltrap battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfShellTrap
|
||||
.byte \battler
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifemergencyexited battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfEmergencyExited
|
||||
.byte \battler
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifrodaffected battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfRod
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifabsorbaffected battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfAbsorb
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifmotoraffected battler:req, jumpInstr:req
|
||||
callnative BS_JumpIfMotor
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifargument argument:req, jumpInstr:req
|
||||
callnative BS_JumpIfArgument
|
||||
.byte \argument
|
||||
@@ -1640,16 +1696,6 @@
|
||||
.4byte \failInstr
|
||||
.endm
|
||||
|
||||
.macro handlemegaevo battler:req, case:req
|
||||
various \battler, VARIOUS_HANDLE_MEGA_EVO
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro handleprimalreversion battler:req, case:req
|
||||
various \battler, VARIOUS_HANDLE_PRIMAL_REVERSION
|
||||
.byte \case
|
||||
.endm
|
||||
|
||||
.macro handleformchange battler:req, case:req
|
||||
various \battler, VARIOUS_HANDLE_FORM_CHANGE
|
||||
.byte \case
|
||||
@@ -2016,21 +2062,6 @@
|
||||
various BS_ATTACKER, VARIOUS_SHELL_SIDE_ARM_CHECK
|
||||
.endm
|
||||
|
||||
.macro jumpifrodaffected battler:req, jumpInstr:req
|
||||
various \battler, VARIOUS_JUMP_IF_ROD
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifabsorbaffected battler:req, jumpInstr:req
|
||||
various \battler, VARIOUS_JUMP_IF_ABSORB
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifmotoraffected battler:req, jumpInstr:req
|
||||
various \battler, VARIOUS_JUMP_IF_MOTOR
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifteanoberry jumpInstr:req
|
||||
various BS_ATTACKER, VARIOUS_TEATIME_TARGETS
|
||||
.4byte \jumpInstr
|
||||
@@ -2295,16 +2326,6 @@
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
.endm
|
||||
|
||||
.macro jumpifemergencyexited battler:req, jumpInstr:req
|
||||
various \battler, VARIOUS_JUMP_IF_EMERGENCY_EXITED
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
.macro jumpifshelltrap battler:req, ptr:req
|
||||
various \battler, VARIOUS_JUMP_IF_SHELL_TRAP
|
||||
.4byte \ptr
|
||||
.endm
|
||||
|
||||
.macro hitswitchtargetfailed
|
||||
various 0, VARIOUS_HIT_SWITCH_TARGET_FAILED
|
||||
.endm
|
||||
@@ -2313,3 +2334,9 @@
|
||||
various 0, VARIOUS_TRY_REVIVAL_BLESSING
|
||||
.4byte \jumpInstr
|
||||
.endm
|
||||
|
||||
@ Will jump to script pointer if the specified battler has or has not fainted.
|
||||
.macro jumpiffainted battler:req, value:req, ptr:req
|
||||
getbattlerfainted \battler
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, \value, \ptr
|
||||
.endm
|
||||
|
||||
@@ -2018,3 +2018,10 @@
|
||||
setvar VAR_0x8002, \tryMultiple
|
||||
special TrySpecialOverworldEvo
|
||||
.endm
|
||||
|
||||
.macro ai_vs_ai_battle trainer1:req, trainer2:req
|
||||
setflag B_FLAG_AI_VS_AI_BATTLE
|
||||
setvar VAR_0x8004, \trainer1
|
||||
callnative CreateTrainerPartyForPlayer
|
||||
trainerbattle_no_intro \trainer2, NULL
|
||||
.endm
|
||||
|
||||
@@ -367,7 +367,7 @@ B_ATK_PARTNER_NAME = FD 0E
|
||||
B_ATK_NAME_WITH_PREFIX = FD 0F
|
||||
B_DEF_NAME_WITH_PREFIX = FD 10
|
||||
B_EFF_NAME_WITH_PREFIX = FD 11 @ EFF = short for gEffectBattler
|
||||
B_ACTIVE_NAME_WITH_PREFIX = FD 12
|
||||
@ FD 12 - preiously gActiveBattler with prefix
|
||||
B_SCR_ACTIVE_NAME_WITH_PREFIX = FD 13
|
||||
B_CURRENT_MOVE = FD 14
|
||||
B_LAST_MOVE = FD 15
|
||||
@@ -409,8 +409,8 @@ B_ATK_TEAM2 = FD 38
|
||||
B_DEF_NAME = FD 39
|
||||
B_DEF_TEAM1 = FD 3A
|
||||
B_DEF_TEAM2 = FD 3B
|
||||
B_ACTIVE_NAME = FD 3C
|
||||
B_ACTIVE_NAME2 = FD 3D @ no Illusion check
|
||||
@ FD 3C - preiously gActiveBattler
|
||||
@ FD 3D - preiously gActiveBattler without Illusion Check
|
||||
|
||||
@ indicates the end of a town/city name (before " TOWN" or " CITY")
|
||||
NAME_END = FC 00
|
||||
|
||||
3
common_syms/battle_controllers.txt
Normal file
3
common_syms/battle_controllers.txt
Normal file
@@ -0,0 +1,3 @@
|
||||
gBattlerControllerFuncs
|
||||
gBattleControllerData
|
||||
gBattlerControllerEndFuncs
|
||||
@@ -2,8 +2,6 @@ gPreBattleCallback1
|
||||
gBattleMainFunc
|
||||
gBattleResults
|
||||
gLeveledUpInBattle
|
||||
gBattlerControllerFuncs
|
||||
gHealthboxSpriteIds
|
||||
gMultiUsePlayerCursor
|
||||
gNumberOfMovesToChoose
|
||||
gBattleControllerData
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
.include "constants/gba_constants.inc"
|
||||
.include "constants/global.inc"
|
||||
.include "constants/tms_hms.inc"
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#ifndef GUARD_CONSTANTS_GBA_CONSTANTS_INC
|
||||
#define GUARD_CONSTANTS_GBA_CONSTANTS_INC
|
||||
|
||||
.set PSR_USR_MODE, 0x00000010
|
||||
.set PSR_FIQ_MODE, 0x00000011
|
||||
.set PSR_IRQ_MODE, 0x00000012
|
||||
@@ -511,3 +514,5 @@
|
||||
.set BLDCNT_TGT2_OBJ, 1 << 12
|
||||
.set BLDCNT_TGT2_BD, 1 << 13
|
||||
.set BLDCNT_TGT2_ALL, BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD
|
||||
|
||||
#endif @ GUARD_CONSTANTS_GBA_CONSTANTS_INC
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#ifndef GUARD_CONSTANTS_GLOBAL_INC
|
||||
#define GUARD_CONSTANTS_GLOBAL_INC
|
||||
|
||||
.set TRUE, 1
|
||||
.set FALSE, 0
|
||||
|
||||
@@ -20,3 +23,5 @@
|
||||
|
||||
.set OBJ_IMAGE_ANIM_H_FLIP, 1 << 6
|
||||
.set OBJ_IMAGE_ANIM_V_FLIP, 1 << 7
|
||||
|
||||
#endif @ GUARD_CONSTANTS_GLOBAL_INC
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#ifndef GUARD_CONSTANTS_M4A_CONSTANTS_INC
|
||||
#define GUARD_CONSTANTS_M4A_CONSTANTS_INC
|
||||
|
||||
.equiv ID_NUMBER, 0x68736d53
|
||||
|
||||
.equiv PCM_DMA_BUF_SIZE, 1584
|
||||
@@ -250,3 +253,5 @@
|
||||
struct_field o_CgbChannel_nextChannelPointer, 4
|
||||
struct_field o_CgbChannel_dummy4, 8
|
||||
struct_field CgbChannel_size, 0
|
||||
|
||||
#endif @ GUARD_CONSTANTS_M4A_CONSTANTS_INC
|
||||
|
||||
22
constants/tms_hms.inc
Normal file
22
constants/tms_hms.inc
Normal file
@@ -0,0 +1,22 @@
|
||||
#ifndef GUARD_CONSTANTS_TMS_HMS_INC
|
||||
#define GUARD_CONSTANTS_TMS_HMS_INC
|
||||
|
||||
#include "constants/tms_hms.h"
|
||||
|
||||
/* Expands to:
|
||||
* enum_start ITEM_TM01
|
||||
* enum ITEM_TM_FOCUS_PUNCH
|
||||
* ...
|
||||
* enum_start ITEM_HM01
|
||||
* enum ITEM_HM_CUT
|
||||
* ... */
|
||||
#define EQUIV_TM(id) enum ITEM_TM_ ## id;
|
||||
#define EQUIV_HM(id) enum ITEM_HM_ ## id;
|
||||
enum_start ITEM_TM01
|
||||
FOREACH_TM(EQUIV_TM)
|
||||
enum_start ITEM_HM01
|
||||
FOREACH_HM(EQUIV_HM)
|
||||
#undef EQUIV_TM
|
||||
#undef EQUIV_HM
|
||||
|
||||
#endif @ GUARD_CONSTANTS_TMS_HMS_INC
|
||||
File diff suppressed because it is too large
Load Diff
@@ -165,11 +165,9 @@ gBattleScriptsForMoveEffects::
|
||||
.4byte BattleScript_EffectPsychUp @ EFFECT_PSYCH_UP
|
||||
.4byte BattleScript_EffectMirrorCoat @ EFFECT_MIRROR_COAT
|
||||
.4byte BattleScript_EffectSkullBash @ EFFECT_SKULL_BASH
|
||||
.4byte BattleScript_EffectTwister @ EFFECT_TWISTER
|
||||
.4byte BattleScript_EffectEarthquake @ EFFECT_EARTHQUAKE
|
||||
.4byte BattleScript_EffectFutureSight @ EFFECT_FUTURE_SIGHT
|
||||
.4byte BattleScript_EffectGust @ EFFECT_GUST
|
||||
.4byte BattleScript_EffectStomp @ EFFECT_FLINCH_MINIMIZE_HIT
|
||||
.4byte BattleScript_EffectSolarBeam @ EFFECT_SOLAR_BEAM
|
||||
.4byte BattleScript_EffectThunder @ EFFECT_THUNDER
|
||||
.4byte BattleScript_EffectTeleport @ EFFECT_TELEPORT
|
||||
@@ -427,6 +425,109 @@ gBattleScriptsForMoveEffects::
|
||||
.4byte BattleScript_EffectRevivalBlessing @ EFFECT_REVIVAL_BLESSING
|
||||
.4byte BattleScript_EffectFrostbiteHit @ EFFECT_FROSTBITE_HIT
|
||||
.4byte BattleScript_EffectSnow @ EFFECT_SNOWSCAPE
|
||||
.4byte BattleScript_EffectTripleArrows @ EFFECT_TRIPLE_ARROWS
|
||||
.4byte BattleScript_EffectInfernalParade @ EFFECT_INFERNAL_PARADE
|
||||
.4byte BattleScript_EffectTakeHeart @ EFFECT_TAKE_HEART
|
||||
.4byte BattleScript_EffectAxeKick @ EFFECT_AXE_KICK
|
||||
.4byte BattleScript_EffectHit @ EFFECT_COLLISION_COURSE
|
||||
.4byte BattleScript_EffectSpinOut @ EFFECT_SPIN_OUT
|
||||
.4byte BattleScript_EffectMakeItRain @ EFFECT_MAKE_IT_RAIN
|
||||
.4byte BattleScript_EffectCorrosiveGas @ EFFECT_CORROSIVE_GAS
|
||||
.4byte BattleScript_EffectHit @ EFFECT_POPULATION_BOMB
|
||||
.4byte BattleScript_EffectMortalSpin @ EFFECT_MORTAL_SPIN
|
||||
.4byte BattleScript_EffectHit @ EFFECT_GIGATON_HAMMER
|
||||
.4byte BattleScript_EffectSaltCure @ EFFECT_SALT_CURE
|
||||
|
||||
BattleScript_EffectSaltCure:
|
||||
call BattleScript_EffectHit_Ret
|
||||
jumpiffainted BS_TARGET, TRUE, BattleScript_EffectSaltCure_End
|
||||
applysaltcure BS_TARGET
|
||||
printstring STRINGID_TARGETISBEINGSALTCURED
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
BattleScript_EffectSaltCure_End:
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_SaltCureExtraDamage::
|
||||
playanimation BS_TARGET, B_ANIM_SALT_CURE_DAMAGE, NULL
|
||||
waitanimation
|
||||
call BattleScript_HurtTarget_NoString
|
||||
printstring STRINGID_TARGETISHURTBYSALTCURE
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end2
|
||||
|
||||
BattleScript_HurtTarget_NoString:
|
||||
orword gHitMarker, HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_PASSIVE_DAMAGE
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
tryfaintmon BS_TARGET
|
||||
return
|
||||
|
||||
BattleScript_EffectMortalSpin:
|
||||
call BattleScript_EffectHit_Ret
|
||||
rapidspinfree
|
||||
setmoveeffect MOVE_EFFECT_POISON
|
||||
seteffectwithchance
|
||||
tryfaintmon BS_TARGET
|
||||
moveendall
|
||||
end
|
||||
|
||||
BattleScript_EffectCorrosiveGas:
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
jumpifsubstituteblocks BattleScript_CorrosiveGasFail
|
||||
jumpifcantloseitem BS_TARGET, BattleScript_CorrosiveGasFail
|
||||
attackanimation
|
||||
waitanimation
|
||||
jumpifability BS_TARGET, ABILITY_STICKY_HOLD, BattleScript_StickyHoldActivates
|
||||
setlastuseditem BS_TARGET
|
||||
removeitem BS_TARGET
|
||||
printstring STRINGID_PKMNITEMMELTED
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_CorrosiveGasFail:
|
||||
pause B_WAIT_TIME_SHORT
|
||||
orhalfword gMoveResultFlags, MOVE_RESULT_FAILED
|
||||
printstring STRINGID_NOEFFECTONTARGET
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectMakeItRain:
|
||||
setmoveeffect MOVE_EFFECT_PAYDAY
|
||||
call BattleScript_EffectHit_Ret
|
||||
seteffectwithchance
|
||||
tryfaintmon BS_TARGET
|
||||
setmoveeffect MOVE_EFFECT_SP_ATK_MINUS_1 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
seteffectprimary
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectSpinOut::
|
||||
setmoveeffect MOVE_EFFECT_SPD_MINUS_2 | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectAxeKick::
|
||||
setmoveeffect MOVE_EFFECT_CONFUSION
|
||||
goto BattleScript_EffectRecoilIfMiss
|
||||
|
||||
BattleScript_EffectTakeHeart::
|
||||
attackcanceler
|
||||
attackstring
|
||||
ppreduce
|
||||
cureifburnedparalysedorpoisoned BattleScript_CalmMindTryToRaiseStats
|
||||
attackanimation
|
||||
waitanimation
|
||||
updatestatusicon BS_ATTACKER
|
||||
printstring STRINGID_PKMNSTATUSNORMAL
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_CalmMindStatRaise
|
||||
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CalmMindStatRaise
|
||||
goto BattleScript_CantRaiseMultipleStats
|
||||
|
||||
BattleScript_EffectTripleArrows::
|
||||
setmoveeffect MOVE_EFFECT_TRIPLE_ARROWS
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectRevivalBlessing::
|
||||
attackcanceler
|
||||
@@ -511,11 +612,12 @@ BattleScript_EffectTeatime::
|
||||
@ at least one battler is affected
|
||||
attackanimation
|
||||
waitanimation
|
||||
setbyte gBattlerTarget, 0
|
||||
BattleScript_TeatimeLoop:
|
||||
jumpifteainvulnerable BS_TARGET, BattleScript_Teatimevul
|
||||
jumpifrodaffected BS_TARGET, BattleScript_Teatimerod
|
||||
jumpifabsorbaffected BS_TARGET, BattleScript_Teatimesorb
|
||||
jumpifmotoraffected BS_TARGET, BattleScript_Teatimemotor
|
||||
jumpifteainvulnerable BS_TARGET, BattleScript_Teatimevul @ in semi-invulnerable state OR held item is not a Berry
|
||||
orword gHitMarker, HITMARKER_NO_ANIMATIONS | HITMARKER_IGNORE_SUBSTITUTE | HITMARKER_IGNORE_DISGUISE
|
||||
setbyte sBERRY_OVERRIDE, TRUE @ override the requirements for eating berries
|
||||
consumeberry BS_TARGET, TRUE @ consume the berry, then restore the item from changedItems
|
||||
@@ -533,6 +635,12 @@ BattleScript_Teatimevul:
|
||||
goto BattleScript_MoveEnd
|
||||
BattleScript_Teatimesorb:
|
||||
call BattleScript_AbilityPopUpTarget
|
||||
tryhealquarterhealth BS_TARGET BattleScript_Teatimesorb_end
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
printstring STRINGID_PKMNREGAINEDHEALTH
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
BattleScript_Teatimesorb_end:
|
||||
moveendto MOVEEND_NEXT_TARGET
|
||||
jumpifnexttargetvalid BattleScript_TeatimeLoop
|
||||
moveendcase MOVEEND_CLEAR_BITS
|
||||
@@ -1035,24 +1143,7 @@ BattleScript_HyperspaceFuryRemoveProtect::
|
||||
return
|
||||
|
||||
BattleScript_EffectPlasmaFists:
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
seteffectwithchance
|
||||
tryfaintmon BS_TARGET
|
||||
applyplasmafists
|
||||
@@ -1061,24 +1152,7 @@ BattleScript_EffectPlasmaFists:
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectSparklySwirl:
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
tryfaintmon BS_TARGET
|
||||
healpartystatus
|
||||
waitstate
|
||||
@@ -1087,24 +1161,7 @@ BattleScript_EffectSparklySwirl:
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectFreezyFrost:
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
tryfaintmon BS_TARGET
|
||||
normalisebuffs
|
||||
printstring STRINGID_STATCHANGESGONE
|
||||
@@ -1113,24 +1170,7 @@ BattleScript_EffectFreezyFrost:
|
||||
|
||||
BattleScript_EffectSappySeed:
|
||||
jumpifstatus3 BS_TARGET, STATUS3_LEECHSEED, BattleScript_EffectHit
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
tryfaintmon BS_TARGET
|
||||
jumpifhasnohp BS_TARGET, BattleScript_MoveEnd
|
||||
setseeded
|
||||
@@ -1140,24 +1180,7 @@ BattleScript_EffectSappySeed:
|
||||
|
||||
BattleScript_EffectBaddyBad:
|
||||
jumpifsideaffecting BS_ATTACKER, SIDE_STATUS_REFLECT, BattleScript_EffectHit
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
tryfaintmon BS_TARGET
|
||||
setreflect
|
||||
printfromtable gReflectLightScreenSafeguardStringIds
|
||||
@@ -1166,24 +1189,7 @@ BattleScript_EffectBaddyBad:
|
||||
|
||||
BattleScript_EffectGlitzyGlow:
|
||||
jumpifsideaffecting BS_ATTACKER, SIDE_STATUS_LIGHTSCREEN, BattleScript_EffectHit
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
tryfaintmon BS_TARGET
|
||||
setlightscreen
|
||||
printfromtable gReflectLightScreenSafeguardStringIds
|
||||
@@ -1317,24 +1323,7 @@ BattleScript_NoMoveEffect:
|
||||
|
||||
BattleScript_EffectRelicSong:
|
||||
setmoveeffect MOVE_EFFECT_RELIC_SONG | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
seteffectwithchance
|
||||
argumentstatuseffect
|
||||
tryfaintmon BS_TARGET
|
||||
@@ -1400,6 +1389,11 @@ BattleScript_DoubleShockRemoveType::
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
return
|
||||
|
||||
BattleScript_DefDown::
|
||||
modifybattlerstatstage BS_TARGET, STAT_DEF, DECREASE, 1, BattleScript_DefDown_Ret, ANIM_ON
|
||||
BattleScript_DefDown_Ret:
|
||||
return
|
||||
|
||||
BattleScript_EffectPurify:
|
||||
attackcanceler
|
||||
attackstring
|
||||
@@ -2096,24 +2090,7 @@ BattleScript_EffectFinalGambit:
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectHitSwitchTarget:
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
tryfaintmon BS_TARGET
|
||||
moveendall
|
||||
jumpifability BS_TARGET, ABILITY_SUCTION_CUPS, BattleScript_AbilityPreventsPhasingOut
|
||||
@@ -3070,24 +3047,7 @@ BattleScript_EffectThroatChop:
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectHitEscape:
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
jumpifmovehadnoeffect BattleScript_MoveEnd
|
||||
jumpifability BS_TARGET, ABILITY_GUARD_DOG, BattleScript_MoveEnd
|
||||
seteffectwithchance
|
||||
@@ -3159,6 +3119,27 @@ BattleScript_MoveEnd::
|
||||
moveendall
|
||||
end
|
||||
|
||||
BattleScript_EffectHit_Ret::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
return
|
||||
|
||||
BattleScript_EffectNaturalGift:
|
||||
attackcanceler
|
||||
attackstring
|
||||
@@ -3350,24 +3331,7 @@ BattleScript_EffectPoisonHit:
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectAbsorb::
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
jumpifstatus3 BS_ATTACKER, STATUS3_HEAL_BLOCK, BattleScript_AbsorbHealBlock
|
||||
setdrainedhp
|
||||
manipulatedamage DMG_BIG_ROOT
|
||||
@@ -3391,6 +3355,7 @@ BattleScript_AbsorbHealBlock::
|
||||
tryfaintmon BS_TARGET
|
||||
goto BattleScript_MoveEnd
|
||||
|
||||
BattleScript_EffectInfernalParade::
|
||||
BattleScript_EffectBurnHit::
|
||||
setmoveeffect MOVE_EFFECT_BURN
|
||||
goto BattleScript_EffectHit
|
||||
@@ -3795,24 +3760,7 @@ BattleScript_EffectFlinchHit::
|
||||
|
||||
BattleScript_EffectFlinchStatus:
|
||||
setmoveeffect MOVE_EFFECT_FLINCH
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
seteffectwithchance
|
||||
argumentstatuseffect
|
||||
tryfaintmon BS_TARGET
|
||||
@@ -5047,24 +4995,7 @@ BattleScript_EffectBatonPass::
|
||||
|
||||
BattleScript_EffectRapidSpin::
|
||||
.if B_SPEED_BUFFING_RAPID_SPIN >= GEN_8
|
||||
attackcanceler
|
||||
accuracycheck BattleScript_PrintMoveMissed, ACC_CURR_MOVE
|
||||
attackstring
|
||||
ppreduce
|
||||
critcalc
|
||||
damagecalc
|
||||
adjustdamage
|
||||
attackanimation
|
||||
waitanimation
|
||||
effectivenesssound
|
||||
hitanimation BS_TARGET
|
||||
waitstate
|
||||
healthbarupdate BS_TARGET
|
||||
datahpupdate BS_TARGET
|
||||
critmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
resultmessage
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
call BattleScript_EffectHit_Ret
|
||||
jumpifhalfword CMP_COMMON_BITS, gMoveResultFlags, MOVE_RESULT_DOESNT_AFFECT_FOE, BattleScript_MoveEnd
|
||||
setmoveeffect MOVE_EFFECT_RAPIDSPIN | MOVE_EFFECT_AFFECTS_USER | MOVE_EFFECT_CERTAIN
|
||||
seteffectwithchance
|
||||
@@ -5268,12 +5199,6 @@ BattleScript_SkullBashEnd::
|
||||
call BattleScript_PowerHerbActivation
|
||||
goto BattleScript_TwoTurnMovesSecondTurn
|
||||
|
||||
BattleScript_EffectTwister:
|
||||
BattleScript_FlinchEffect:
|
||||
BattleScript_EffectStomp:
|
||||
setmoveeffect MOVE_EFFECT_FLINCH
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_EffectBulldoze:
|
||||
setmoveeffect MOVE_EFFECT_SPD_MINUS_1
|
||||
BattleScript_EffectEarthquake:
|
||||
@@ -5323,7 +5248,7 @@ BattleScript_EffectTeleport:
|
||||
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_EffectBatonPass
|
||||
jumpifside BS_ATTACKER, B_SIDE_PLAYER, BattleScript_EffectBatonPass
|
||||
.else
|
||||
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_ButItFailedAtkCanceler
|
||||
jumpifbattletype BATTLE_TYPE_TRAINER, BattleScript_FailedFromAtkCanceler
|
||||
.endif
|
||||
BattleScript_EffectTeleportTryToRunAway:
|
||||
attackcanceler
|
||||
@@ -5464,6 +5389,8 @@ BattleScript_EffectFakeOut::
|
||||
setmoveeffect MOVE_EFFECT_FLINCH
|
||||
goto BattleScript_EffectHit
|
||||
|
||||
BattleScript_FailedFromAtkCanceler::
|
||||
attackcanceler
|
||||
BattleScript_FailedFromAtkString::
|
||||
attackstring
|
||||
BattleScript_FailedFromPpReduce::
|
||||
@@ -6235,11 +6162,13 @@ BattleScript_EffectCalmMind::
|
||||
attackcanceler
|
||||
attackstring
|
||||
ppreduce
|
||||
BattleScript_CalmMindTryToRaiseStats::
|
||||
jumpifstat BS_ATTACKER, CMP_LESS_THAN, STAT_SPATK, MAX_STAT_STAGE, BattleScript_CalmMindDoMoveAnim
|
||||
jumpifstat BS_ATTACKER, CMP_EQUAL, STAT_SPDEF, MAX_STAT_STAGE, BattleScript_CantRaiseMultipleStats
|
||||
BattleScript_CalmMindDoMoveAnim::
|
||||
attackanimation
|
||||
waitanimation
|
||||
BattleScript_CalmMindStatRaise::
|
||||
setbyte sSTAT_ANIM_PLAYED, FALSE
|
||||
playstatchangeanimation BS_ATTACKER, BIT_SPATK | BIT_SPDEF, 0
|
||||
setstatchanger STAT_SPATK, 1, FALSE
|
||||
@@ -6686,8 +6615,7 @@ BattleScript_PursuitDmgOnSwitchOut::
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
tryfaintmon BS_TARGET
|
||||
moveendfromto MOVEEND_ABILITIES, MOVEEND_CHOICE_MOVE
|
||||
getbattlerfainted BS_TARGET
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, FALSE, BattleScript_PursuitDmgOnSwitchOutRet
|
||||
jumpiffainted BS_TARGET, FALSE, BattleScript_PursuitDmgOnSwitchOutRet
|
||||
setbyte sGIVEEXP_STATE, 0
|
||||
getexp BS_TARGET
|
||||
BattleScript_PursuitDmgOnSwitchOutRet:
|
||||
@@ -6799,14 +6727,14 @@ BattleScript_SunlightFaded::
|
||||
BattleScript_OverworldWeatherStarts::
|
||||
printfromtable gWeatherStartsStringIds
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
playanimation_var BS_ATTACKER, sB_ANIM_ARG1
|
||||
playanimation_var BS_BATTLER_0, sB_ANIM_ARG1
|
||||
call BattleScript_ActivateWeatherAbilities
|
||||
end3
|
||||
|
||||
BattleScript_OverworldTerrain::
|
||||
printfromtable gTerrainStringIds
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
playanimation BS_SCRIPTING, B_ANIM_RESTORE_BG
|
||||
playanimation BS_BATTLER_0, B_ANIM_RESTORE_BG
|
||||
call BattleScript_ActivateTerrainEffects
|
||||
end3
|
||||
|
||||
@@ -7200,8 +7128,7 @@ BattleScript_GulpMissileGorging::
|
||||
healthbarupdate BS_ATTACKER
|
||||
datahpupdate BS_ATTACKER
|
||||
tryfaintmon BS_ATTACKER
|
||||
getbattlerfainted BS_ATTACKER
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_GulpMissileNoSecondEffectGorging
|
||||
jumpiffainted BS_ATTACKER, TRUE, BattleScript_GulpMissileNoSecondEffectGorging
|
||||
BattleScript_GulpMissileNoDmgGorging:
|
||||
handleformchange BS_TARGET, 0
|
||||
playanimation BS_TARGET, B_ANIM_FORM_CHANGE
|
||||
@@ -7229,8 +7156,7 @@ BattleScript_GulpMissileGulping::
|
||||
healthbarupdate BS_ATTACKER
|
||||
datahpupdate BS_ATTACKER
|
||||
tryfaintmon BS_ATTACKER
|
||||
getbattlerfainted BS_ATTACKER
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_GulpMissileNoSecondEffectGulping
|
||||
jumpiffainted BS_ATTACKER, TRUE, BattleScript_GulpMissileNoSecondEffectGulping
|
||||
jumpifholdeffect BS_ATTACKER, HOLD_EFFECT_CLEAR_AMULET, BattleScript_GulpMissileNoSecondEffectGulping
|
||||
jumpifability BS_ATTACKER, ABILITY_CLEAR_BODY, BattleScript_GulpMissileNoSecondEffectGulping
|
||||
jumpifability BS_ATTACKER, ABILITY_FULL_METAL_BODY, BattleScript_GulpMissileNoSecondEffectGulping
|
||||
@@ -7571,6 +7497,14 @@ BattleScript_SelectingNotAllowedMoveHealBlockInPalace::
|
||||
printstring STRINGID_HEALBLOCKPREVENTSUSAGE
|
||||
goto BattleScript_SelectingUnusableMoveInPalace
|
||||
|
||||
BattleScript_SelectingNotAllowedCurrentMove::
|
||||
printselectionstring STRINGID_CURRENTMOVECANTSELECT
|
||||
endselectionscript
|
||||
|
||||
BattleScript_SelectingNotAllowedCurrentMoveInPalace::
|
||||
printstring STRINGID_CURRENTMOVECANTSELECT
|
||||
goto BattleScript_SelectingUnusableMoveInPalace
|
||||
|
||||
BattleScript_WishComesTrue::
|
||||
trywish 1, BattleScript_WishButFullHp
|
||||
playanimation BS_TARGET, B_ANIM_WISH_HEAL
|
||||
@@ -7816,6 +7750,21 @@ BattleScript_PrimalReversionRet::
|
||||
switchinabilities BS_ATTACKER
|
||||
return
|
||||
|
||||
BattleScript_UltraBurst::
|
||||
printstring STRINGID_EMPTYSTRING3
|
||||
trytrainerslidezmovemsg BS_ATTACKER
|
||||
printstring STRINGID_ULTRABURSTREACTING
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
setbyte gIsCriticalHit, 0
|
||||
handleultraburst BS_ATTACKER, 0
|
||||
playanimation BS_ATTACKER, B_ANIM_ULTRA_BURST
|
||||
waitanimation
|
||||
handleultraburst BS_ATTACKER, 1
|
||||
printstring STRINGID_ULTRABURSTCOMPLETED
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
switchinabilities BS_ATTACKER
|
||||
end3
|
||||
|
||||
BattleScript_AttackerFormChange::
|
||||
pause 5
|
||||
copybyte gBattlerAbility, gBattlerAttacker
|
||||
@@ -7929,8 +7878,7 @@ BattleScript_CottonDownActivates::
|
||||
savetarget
|
||||
setbyte gBattlerTarget, 0
|
||||
BattleScript_CottonDownLoop:
|
||||
getbattlerfainted BS_TARGET
|
||||
jumpifbyte CMP_EQUAL, gBattleCommunication, TRUE, BattleScript_CottonDownLoopIncrement
|
||||
jumpiffainted BS_TARGET, TRUE, BattleScript_CottonDownLoopIncrement
|
||||
setstatchanger STAT_SPEED, 1, TRUE
|
||||
jumpifbyteequal gBattlerTarget, gEffectBattler, BattleScript_CottonDownLoopIncrement
|
||||
statbuffchange STAT_CHANGE_NOT_PROTECT_AFFECTED, BattleScript_CottonDownTargetSpeedCantGoLower
|
||||
|
||||
@@ -112,6 +112,7 @@ BattleScript_ItemSetFocusEnergy::
|
||||
setfocusenergy
|
||||
playmoveanimation BS_ATTACKER, MOVE_FOCUS_ENERGY
|
||||
waitanimation
|
||||
copybyte sBATTLER, gBattlerAttacker
|
||||
printstring STRINGID_PKMNUSEDXTOGETPUMPED
|
||||
waitmessage B_WAIT_TIME_LONG
|
||||
end
|
||||
|
||||
@@ -50,8 +50,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18",
|
||||
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM18"
|
||||
"script": "AbandonedShip_HiddenFloorRooms_EventScript_ItemTMRainDance",
|
||||
"flag": "FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_RAIN_DANCE"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "AbandonedShip_Room_B1F_EventScript_ItemTM13",
|
||||
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM13"
|
||||
"script": "AbandonedShip_Room_B1F_EventScript_ItemTMIceBeam",
|
||||
"flag": "FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_ICE_BEAM"
|
||||
}
|
||||
],
|
||||
"warp_events": [
|
||||
|
||||
@@ -15,11 +15,11 @@ BattleFrontier_BattleArenaLobby_EventScript_TurnPlayerNorth::
|
||||
end
|
||||
|
||||
BattleFrontier_BattleArenaLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleArenaLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleArenaLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleArenaLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleArenaLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_GetChallengeStatus::
|
||||
@@ -33,7 +33,7 @@ BattleFrontier_BattleArenaLobby_EventScript_QuitWithoutSaving::
|
||||
arena_set ARENA_DATA_WIN_STREAK, 0
|
||||
arena_set ARENA_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -55,7 +55,7 @@ BattleFrontier_BattleArenaLobby_EventScript_GiveBattlePoints::
|
||||
call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -67,7 +67,7 @@ BattleFrontier_BattleArenaLobby_EventScript_LostChallenge::
|
||||
call BattleFrontier_BattleArenaLobby_EventScript_SaveAfterChallenge
|
||||
msgbox BattleFrontier_BattleArenaLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -101,7 +101,7 @@ BattleFrontier_BattleArenaLobby_EventScript_ResumeChallenge::
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_Attendant::
|
||||
@@ -146,7 +146,7 @@ BattleFrontier_BattleArenaLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, BattleFrontier_BattleArenaLobby_EventScript_LoadPartyAndCancelChallenge
|
||||
|
||||
BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
arena_init
|
||||
arena_set ARENA_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
@@ -156,7 +156,7 @@ BattleFrontier_BattleArenaLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleArenaLobby_EventScript_CancelChallengeSaveFailed
|
||||
BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge::
|
||||
special SavePlayerParty
|
||||
@@ -167,7 +167,7 @@ BattleFrontier_BattleArenaLobby_EventScript_EnterChallenge::
|
||||
call_if_eq VAR_RESULT, FRONTIER_LVL_50, BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLv50
|
||||
call_if_eq VAR_RESULT, FRONTIER_LVL_OPEN, BattleFrontier_BattleArenaLobby_EventScript_WalkToDoorLvOpen
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_ARENA_CORRIDOR, 9, 13
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
@@ -21,11 +21,11 @@ BattleFrontier_BattleDomeLobby_EventScript_TurnPlayerNorth::
|
||||
end
|
||||
|
||||
BattleFrontier_BattleDomeLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleDomeLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleDomeLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleDomeLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleDomeLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_GetChallengeStatus::
|
||||
@@ -40,7 +40,7 @@ BattleFrontier_BattleDomeLobby_EventScript_QuitWithoutSaving::
|
||||
dome_set DOME_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
dome_set DOME_DATA_ATTEMPTED_CHALLENGE, TRUE
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -101,7 +101,7 @@ BattleFrontier_BattleDomeLobby_EventScript_RecordBattle::
|
||||
BattleFrontier_BattleDomeLobby_EventScript_EndChallenge::
|
||||
msgbox BattleFrontier_BattleDomeLobby_Text_HopeToSeeYouAgain, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -114,7 +114,7 @@ BattleFrontier_BattleDomeLobby_EventScript_ResumeChallenge::
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_SinglesAttendant::
|
||||
@@ -173,7 +173,7 @@ BattleFrontier_BattleDomeLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, BattleFrontier_BattleDomeLobby_EventScript_LoadPartyCancelChallenge
|
||||
|
||||
BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
dome_init
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
|
||||
@@ -182,7 +182,7 @@ BattleFrontier_BattleDomeLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleDomeLobby_EventScript_CancelChallengeSaveFailed
|
||||
dome_inittrainers
|
||||
BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge::
|
||||
@@ -194,7 +194,7 @@ BattleFrontier_BattleDomeLobby_EventScript_EnterChallenge::
|
||||
call BattleFrontier_BattleDomeLobby_EventScript_WalkToDoor
|
||||
special HealPlayerParty
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_DOME_CORRIDOR, 23, 6
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@ BattleFrontier_BattleFactoryLobby_EventScript_TurnPlayerNorth::
|
||||
end
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleFactoryLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleFactoryLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_GetChallengeStatus::
|
||||
@@ -36,7 +36,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_QuitWithoutSaving::
|
||||
factory_set FACTORY_DATA_WIN_STREAK, 0
|
||||
factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -92,7 +92,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_RecordBattle::
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_EndRecordBattle::
|
||||
msgbox BattleFrontier_BattleFactoryLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -104,7 +104,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_ResumeChallenge::
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
setvar VAR_0x8006, 2
|
||||
goto BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge
|
||||
|
||||
@@ -152,7 +152,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, BattleFrontier_BattleFactoryLobby_EventScript_LoadPartyAndCancelChallenge
|
||||
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
factory_init
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
|
||||
factory_set FACTORY_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
@@ -160,7 +160,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleFactoryLobby_EventScript_CancelChallengeSaveFailed
|
||||
setvar VAR_0x8006, 0
|
||||
BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge::
|
||||
@@ -173,7 +173,7 @@ BattleFrontier_BattleFactoryLobby_EventScript_EnterChallenge::
|
||||
applymovement OBJ_EVENT_ID_PLAYER, BattleFrontier_BattleFactoryLobby_Movement_PlayerEnterDoor
|
||||
waitmovement 0
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_FACTORY_PRE_BATTLE_ROOM, 8, 13
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
@@ -16,11 +16,11 @@ BattleFrontier_BattlePalaceLobby_EventScript_TurnPlayerNorth::
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattlePalaceLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_GetChallengeStatus::
|
||||
@@ -34,7 +34,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_QuitWithoutSaving::
|
||||
palace_set PALACE_DATA_WIN_STREAK, 0
|
||||
palace_set PALACE_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -56,7 +56,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_GiveBattlePoints::
|
||||
call BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -68,7 +68,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_LostChallenge::
|
||||
call BattleFrontier_BattlePalaceLobby_EventScript_SaveAfterChallenge
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_ReturnWhenFortified, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -103,7 +103,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_ResumeChallenge::
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_SinglesAttendant::
|
||||
@@ -164,7 +164,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, BattleFrontier_BattlePalaceLobby_EventScript_LoadPartyAndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
palace_init
|
||||
palace_set PALACE_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
@@ -174,7 +174,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePalaceLobby_EventScript_CancelChallengeSaveFailed
|
||||
BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge::
|
||||
special SavePlayerParty
|
||||
@@ -183,7 +183,7 @@ BattleFrontier_BattlePalaceLobby_EventScript_EnterChallenge::
|
||||
closemessage
|
||||
call BattleFrontier_BattlePalaceLobby_EventScript_WalkToDoor
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_PALACE_CORRIDOR, 8, 13
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
@@ -6,10 +6,10 @@ BattleFrontier_BattlePikeLobby_MapScripts::
|
||||
.byte 0
|
||||
|
||||
BattleFrontier_BattlePikeLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePikeLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePikeLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePikeLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattlePikeLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePikeLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
BattleFrontier_BattlePikeLobby_OnWarp:
|
||||
@@ -34,7 +34,7 @@ BattleFrontier_BattlePikeLobby_EventScript_QuitWithoutSaving::
|
||||
pike_set PIKE_DATA_WIN_STREAK, 0
|
||||
pike_set PIKE_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -67,7 +67,7 @@ BattleFrontier_BattlePikeLobby_EventScript_GiveBattlePoints::
|
||||
waitse
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -86,7 +86,7 @@ BattleFrontier_BattlePikeLobby_EventScript_LostChallenge::
|
||||
waitse
|
||||
msgbox BattleFrontier_BattlePikeLobby_Text_LookForwardToSeeingYou, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -132,7 +132,7 @@ BattleFrontier_BattlePikeLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, BattleFrontier_BattlePikeLobby_EventScript_LoadPartyAndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_1, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
pike_init
|
||||
@@ -144,7 +144,7 @@ BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
pike_savehelditems
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePikeLobby_EventScript_CancelChallengeSaveFailed
|
||||
special SavePlayerParty
|
||||
@@ -156,7 +156,7 @@ BattleFrontier_BattlePikeLobby_EventScript_SaveBeforeChallenge::
|
||||
special HealPlayerParty
|
||||
call BattleFrontier_BattlePike_EventScript_CloseCurtain
|
||||
warpsilent MAP_BATTLE_FRONTIER_BATTLE_PIKE_CORRIDOR, 6, 7
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
@@ -7,9 +7,9 @@ BattleFrontier_BattlePikeThreePathRoom_MapScripts::
|
||||
.byte 0
|
||||
|
||||
BattleFrontier_BattlePikeThreePathRoom_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePikeThreePathRoom_EventScript_WarpToLobby
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_5, 0, BattleFrontier_BattlePikeThreePathRoom_EventScript_SetHintRoom
|
||||
map_script_2 VAR_TEMP_5, 1, BattleFrontier_BattlePikeThreePathRoom_EventScript_GivePikeQueenHint
|
||||
.2byte 0
|
||||
@@ -40,7 +40,7 @@ BattleFrontier_BattlePikeThreePathRoom_EventScript_ResumeChallenge::
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
special SavePlayerParty
|
||||
frontier_setpartyorder FRONTIER_PARTY_SIZE
|
||||
msgbox BattleFrontier_BattlePikeThreePathRoom_Text_PleaseEnjoyChallenge, MSGBOX_DEFAULT
|
||||
|
||||
@@ -6,7 +6,7 @@ BattleFrontier_BattlePyramidFloor_MapScripts::
|
||||
|
||||
BattleFrontier_BattlePyramidFloor_OnFrame:
|
||||
map_script_2 VAR_TEMP_D, 1, BattleFrontier_BattlePyramidFloor_EventScript_UpdateLight
|
||||
map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic
|
||||
map_script_2 VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0, BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic
|
||||
map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidFloor_EventScript_ShowMapName
|
||||
.2byte 0
|
||||
|
||||
@@ -33,13 +33,13 @@ BattleFrontier_BattlePyramidFloor_EventScript_ShowMapName::
|
||||
|
||||
BattleFrontier_BattlePyramidFloor_EventScript_PlayPyramidMusic::
|
||||
playbgm MUS_B_PYRAMID, FALSE
|
||||
setvar VAR_TEMP_E, 1
|
||||
setvar VAR_TEMP_PLAYING_PYRAMID_MUSIC, 1
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePyramidFloor_OnResume:
|
||||
pyramid_setfloorpal
|
||||
frontier_getstatus
|
||||
switch VAR_TEMP_0
|
||||
switch VAR_TEMP_CHALLENGE_STATUS
|
||||
case 0, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge
|
||||
case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby
|
||||
case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidFloor_EventScript_ReadyChallenge
|
||||
|
||||
@@ -17,11 +17,11 @@ BattleFrontier_BattlePyramidLobby_EventScript_TurnPlayerNorth:
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattlePyramidLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_GetChallengeStatus::
|
||||
@@ -38,7 +38,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_QuitWithoutSaving::
|
||||
pyramid_set PYRAMID_DATA_WIN_STREAK, 0
|
||||
pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -74,7 +74,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_GiveBattlePoints::
|
||||
waitse
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -96,7 +96,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_LostChallenge::
|
||||
waitse
|
||||
msgbox BattleFrontier_BattlePyramidLobby_Text_LookForwardToNextChallenge, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -145,7 +145,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, BattleFrontier_BattlePyramidLobby_EventScript_LoadPartyAndCancelChallenge
|
||||
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
pyramid_init
|
||||
pyramid_set PYRAMID_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
@@ -157,7 +157,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattlePyramidLobby_EventScript_CancelChallengeSaveFailed
|
||||
BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge::
|
||||
special SavePlayerParty
|
||||
@@ -169,7 +169,7 @@ BattleFrontier_BattlePyramidLobby_EventScript_EnterChallenge::
|
||||
setvar VAR_RESULT, 0
|
||||
special HealPlayerParty
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_PYRAMID_FLOOR, 1, 1
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ BattleFrontier_BattlePyramidTop_OnResume:
|
||||
BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus::
|
||||
copyvar VAR_TEMP_C, VAR_RESULT
|
||||
frontier_getstatus
|
||||
switch VAR_TEMP_0
|
||||
switch VAR_TEMP_CHALLENGE_STATUS
|
||||
case 0, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge
|
||||
case CHALLENGE_STATUS_SAVING, BattleFrontier_BattlePyramid_EventScript_WarpToLobby
|
||||
case CHALLENGE_STATUS_PAUSED, BattleFrontier_BattlePyramidTop_EventScript_ReadyChallenge
|
||||
@@ -43,13 +43,13 @@ BattleFrontier_BattlePyramidTop_EventScript_CheckChallengeStatus::
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePyramidTop_OnFrame:
|
||||
map_script_2 VAR_TEMP_E, 0, BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic
|
||||
map_script_2 VAR_TEMP_PLAYING_PYRAMID_MUSIC, 0, BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic
|
||||
map_script_2 VAR_TEMP_F, 1, BattleFrontier_BattlePyramidTop_EventScript_ShowMapName
|
||||
.2byte 0
|
||||
|
||||
BattleFrontier_BattlePyramidTop_EventScript_PlayPyramidMusic::
|
||||
playbgm MUS_B_PYRAMID_TOP, FALSE
|
||||
setvar VAR_TEMP_E, 1
|
||||
setvar VAR_TEMP_PLAYING_PYRAMID_MUSIC, 1
|
||||
end
|
||||
|
||||
BattleFrontier_BattlePyramidTop_EventScript_ShowMapName::
|
||||
|
||||
@@ -41,11 +41,11 @@ BattleFrontier_BattleTowerLobby_EventScript_PlayerFaceNorth::
|
||||
end
|
||||
|
||||
BattleFrontier_BattleTowerLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, BattleFrontier_BattleTowerLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, BattleFrontier_BattleTowerLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, BattleFrontier_BattleTowerLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, BattleFrontier_BattleTowerLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_GetChallengeStatus::
|
||||
@@ -60,7 +60,7 @@ BattleFrontier_BattleTowerLobby_EventScript_QuitWithoutSaving::
|
||||
tower_set TOWER_DATA_WIN_STREAK, 0
|
||||
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, FALSE
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
release
|
||||
end
|
||||
|
||||
@@ -94,7 +94,7 @@ BattleFrontier_BattleTowerLobby_EventScript_GiveBattlePoints::
|
||||
BattleFrontier_BattleTowerLobby_EventScript_LookForwardToChallenge::
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
release
|
||||
end
|
||||
|
||||
@@ -113,7 +113,7 @@ BattleFrontier_BattleTowerLobby_EventScript_LostThanksForPlaying::
|
||||
call BattleFrontier_BattleTowerLobby_EventScript_AskSaveBattle
|
||||
msgbox BattleFrontier_BattleTowerLobby_Text_LookForwardToAnotherChallenge, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
release
|
||||
end
|
||||
|
||||
@@ -214,7 +214,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterSinglesChallenge::
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge::
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
tower_init
|
||||
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
@@ -222,7 +222,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeSinglesChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
|
||||
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
|
||||
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, TRUE
|
||||
@@ -277,7 +277,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterDoublesChallenge::
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge::
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
tower_init
|
||||
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
@@ -285,7 +285,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeDoublesChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
|
||||
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
|
||||
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
|
||||
@@ -341,7 +341,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterMultisChallenge::
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge::
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
tower_init
|
||||
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
@@ -349,7 +349,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeMultisChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
|
||||
incrementgamestat GAME_STAT_ENTERED_BATTLE_TOWER
|
||||
setvar VAR_BRAVO_TRAINER_BATTLE_TOWER_ON, FALSE
|
||||
@@ -404,7 +404,7 @@ BattleFrontier_BattleTowerLobby_EventScript_TryEnterLinkMultisChallenge::
|
||||
|
||||
BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge::
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
tower_init
|
||||
tower_set TOWER_DATA_WIN_STREAK_ACTIVE, TRUE
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
@@ -419,7 +419,7 @@ BattleFrontier_BattleTowerLobby_EventScript_SaveBeforeLinkMultisChallenge::
|
||||
tower_save 0
|
||||
.endif
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, BattleFrontier_BattleTowerLobby_EventScript_CancelChallengeSaveFailed
|
||||
@ GAME_STAT_ENTERED_BATTLE_TOWER should not be incremented here, for two reasons:
|
||||
@ 1. It is incremented again in BattleFrontier_BattleTowerLobby_EventScript_CableLinkSuccessful or BattleFrontier_BattleTowerLobby_EventScript_WirelessLinkSuccessful
|
||||
@@ -602,7 +602,7 @@ BattleFrontier_BattleTowerLobby_EventScript_WaitForLinkOpponentLoad::
|
||||
call BattleFrontier_BattleTowerLobby_EventScript_ShowYouToBattleRoom
|
||||
clearflag FLAG_CANCEL_BATTLE_ROOM_CHALLENGE
|
||||
warp MAP_BATTLE_FRONTIER_BATTLE_TOWER_ELEVATOR, 1, 6
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
@@ -20,12 +20,12 @@ BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove::
|
||||
message BattleFrontier_Lounge7_Text_TeachWhichMove
|
||||
waitmessage
|
||||
special ShowBattlePointsWindow
|
||||
setvar VAR_TEMP_E, 0
|
||||
setvar VAR_TEMP_FRONTIER_TUTOR_ID, 0
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1
|
||||
setvar VAR_0x8006, 0
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
copyvar VAR_TEMP_D, VAR_RESULT
|
||||
copyvar VAR_TEMP_FRONTIER_TUTOR_SELECTION, VAR_RESULT
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_Lounge7_EventScript_Softboiled
|
||||
case 1, BattleFrontier_Lounge7_EventScript_SeismicToss
|
||||
@@ -44,12 +44,12 @@ BattleFrontier_Lounge7_EventScript_ChooseLeftTutorMove::
|
||||
BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove::
|
||||
message BattleFrontier_Lounge7_Text_TeachWhichMove
|
||||
waitmessage
|
||||
setvar VAR_TEMP_E, 0
|
||||
setvar VAR_TEMP_FRONTIER_TUTOR_ID, 0
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_1
|
||||
setvar VAR_0x8006, 1
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
copyvar VAR_TEMP_D, VAR_RESULT
|
||||
copyvar VAR_TEMP_FRONTIER_TUTOR_SELECTION, VAR_RESULT
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_Lounge7_EventScript_Softboiled
|
||||
case 1, BattleFrontier_Lounge7_EventScript_SeismicToss
|
||||
@@ -144,12 +144,12 @@ BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove::
|
||||
message BattleFrontier_Lounge7_Text_TeachWhichMove
|
||||
waitmessage
|
||||
special ShowBattlePointsWindow
|
||||
setvar VAR_TEMP_E, 1
|
||||
setvar VAR_TEMP_FRONTIER_TUTOR_ID, 1
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2
|
||||
setvar VAR_0x8006, 0
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
copyvar VAR_TEMP_D, VAR_RESULT
|
||||
copyvar VAR_TEMP_FRONTIER_TUTOR_SELECTION, VAR_RESULT
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_Lounge7_EventScript_DefenseCurl
|
||||
case 1, BattleFrontier_Lounge7_EventScript_Snore
|
||||
@@ -168,12 +168,12 @@ BattleFrontier_Lounge7_EventScript_ChooseRightTutorMove::
|
||||
BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove::
|
||||
message BattleFrontier_Lounge7_Text_TeachWhichMove
|
||||
waitmessage
|
||||
setvar VAR_TEMP_E, 1
|
||||
setvar VAR_TEMP_FRONTIER_TUTOR_ID, 1
|
||||
setvar VAR_0x8004, SCROLL_MULTI_BF_MOVE_TUTOR_2
|
||||
setvar VAR_0x8006, 1
|
||||
special ShowScrollableMultichoice
|
||||
waitstate
|
||||
copyvar VAR_TEMP_D, VAR_RESULT
|
||||
copyvar VAR_TEMP_FRONTIER_TUTOR_SELECTION, VAR_RESULT
|
||||
switch VAR_RESULT
|
||||
case 0, BattleFrontier_Lounge7_EventScript_DefenseCurl
|
||||
case 1, BattleFrontier_Lounge7_EventScript_Snore
|
||||
@@ -263,8 +263,8 @@ BattleFrontier_Lounge7_EventScript_CancelChooseMon::
|
||||
|
||||
@ VAR_0x8008 is the price
|
||||
@ VAR_TEMP_C is the scroll multichoice ID
|
||||
@ VAR_TEMP_D is the move selection
|
||||
@ VAR_TEMP_E is which move tutor was spoken to
|
||||
@ VAR_TEMP_FRONTIER_TUTOR_SELECTION is the move selection
|
||||
@ VAR_TEMP_FRONTIER_TUTOR_ID is which move tutor was spoken to
|
||||
BattleFrontier_Lounge7_EventScript_ConfirmMoveSelection::
|
||||
special BufferBattleFrontierTutorMoveName
|
||||
buffernumberstring STR_VAR_2, VAR_0x8008
|
||||
@@ -291,7 +291,7 @@ BattleFrontier_Lounge7_EventScript_TeachTutorMove::
|
||||
end
|
||||
|
||||
BattleFrontier_Lounge7_EventScript_ChooseNewMove::
|
||||
goto_if_eq VAR_TEMP_E, 0, BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove
|
||||
goto_if_eq VAR_TEMP_FRONTIER_TUTOR_ID, 0, BattleFrontier_Lounge7_EventScript_ChooseNewLeftTutorMove
|
||||
goto BattleFrontier_Lounge7_EventScript_ChooseNewRightTutorMove
|
||||
end
|
||||
|
||||
|
||||
@@ -136,7 +136,7 @@ DewfordTown_Gym_EventScript_Brawly::
|
||||
trainerbattle_single TRAINER_BRAWLY_1, DewfordTown_Gym_Text_BrawlyIntro, DewfordTown_Gym_Text_BrawlyDefeat, DewfordTown_Gym_EventScript_BrawlyDefeated, NO_MUSIC
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
goto_if_eq VAR_RESULT, TRUE, DewfordTown_Gym_EventScript_BrawlyRematch
|
||||
goto_if_unset FLAG_RECEIVED_TM08, DewfordTown_Gym_EventScript_GiveBulkUp2
|
||||
goto_if_unset FLAG_RECEIVED_TM_BULK_UP, DewfordTown_Gym_EventScript_GiveBulkUp2
|
||||
msgbox DewfordTown_Gym_Text_BrawlyPostBattle, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@@ -168,17 +168,17 @@ DewfordTown_Gym_EventScript_BrawlyDefeated::
|
||||
end
|
||||
|
||||
DewfordTown_Gym_EventScript_GiveBulkUp::
|
||||
giveitem ITEM_TM08
|
||||
giveitem ITEM_TM_BULK_UP
|
||||
goto_if_eq VAR_RESULT, 0, Common_EventScript_BagIsFull
|
||||
msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM08
|
||||
setflag FLAG_RECEIVED_TM_BULK_UP
|
||||
return
|
||||
|
||||
DewfordTown_Gym_EventScript_GiveBulkUp2:
|
||||
giveitem ITEM_TM08
|
||||
giveitem ITEM_TM_BULK_UP
|
||||
goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
|
||||
msgbox DewfordTown_Gym_Text_ExplainBulkUp, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM08
|
||||
setflag FLAG_RECEIVED_TM_BULK_UP
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -246,11 +246,11 @@ DewfordTown_Hall_EventScript_SludgeBombMan::
|
||||
lock
|
||||
faceplayer
|
||||
call Common_EventScript_BufferTrendyPhrase
|
||||
goto_if_set FLAG_RECEIVED_TM36, DewfordTown_Hall_EventScript_ReceivedSludgeBomb
|
||||
goto_if_set FLAG_RECEIVED_TM_SLUDGE_BOMB, DewfordTown_Hall_EventScript_ReceivedSludgeBomb
|
||||
msgbox DewfordTown_Hall_Text_GiveYouSludgeBomb, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM36
|
||||
giveitem ITEM_TM_SLUDGE_BOMB
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM36
|
||||
setflag FLAG_RECEIVED_TM_SLUDGE_BOMB
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -15,11 +15,11 @@ FallarborTown_BattleTentLobby_EventScript_TurnPlayerNorth::
|
||||
end
|
||||
|
||||
FallarborTown_BattleTentLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, FallarborTown_BattleTentLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, FallarborTown_BattleTentLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, FallarborTown_BattleTentLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, FallarborTown_BattleTentLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, FallarborTown_BattleTentLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, FallarborTown_BattleTentLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
FallarborTown_BattleTentLobby_EventScript_GetChallengeStatus::
|
||||
@@ -31,7 +31,7 @@ FallarborTown_BattleTentLobby_EventScript_QuitWithoutSaving::
|
||||
msgbox FallarborTown_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
|
||||
releaseall
|
||||
end
|
||||
@@ -59,7 +59,7 @@ FallarborTown_BattleTentLobby_EventScript_GivePrize::
|
||||
waitfanfare
|
||||
msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -67,7 +67,7 @@ FallarborTown_BattleTentLobby_EventScript_NoRoomForPrize::
|
||||
msgbox FallarborTown_BattleTentLobby_Text_BagFullReturnForPrize, MSGBOX_DEFAULT
|
||||
waitmessage
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -87,7 +87,7 @@ FallarborTown_BattleTentLobby_EventScript_LostChallenge::
|
||||
waitse
|
||||
msgbox FallarborTown_BattleTentLobby_Text_AwaitAnotherChallenge2, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -99,7 +99,7 @@ FallarborTown_BattleTentLobby_EventScript_ResumeChallenge::
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto FallarborTown_BattleTentLobby_EventScript_EnterChallenge
|
||||
|
||||
FallarborTown_BattleTentLobby_EventScript_Attendant::
|
||||
@@ -140,7 +140,7 @@ FallarborTown_BattleTentLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, FallarborTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
|
||||
|
||||
FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
fallarbortent_init
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
|
||||
@@ -149,7 +149,7 @@ FallarborTown_BattleTentLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, FallarborTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
|
||||
FallarborTown_BattleTentLobby_EventScript_EnterChallenge::
|
||||
special SavePlayerParty
|
||||
@@ -158,7 +158,7 @@ FallarborTown_BattleTentLobby_EventScript_EnterChallenge::
|
||||
closemessage
|
||||
call FallarborTown_BattleTentLobby_EventScript_WalkToDoor
|
||||
warp MAP_FALLARBOR_TOWN_BATTLE_TENT_CORRIDOR, 2, 7
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ FallarborTown_CozmosHouse_MapScripts::
|
||||
FallarborTown_CozmosHouse_EventScript_ProfCozmo::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_GaveMeteorite
|
||||
goto_if_set FLAG_RECEIVED_TM_RETURN, FallarborTown_CozmosHouse_EventScript_GaveMeteorite
|
||||
checkitem ITEM_METEORITE
|
||||
goto_if_eq VAR_RESULT, TRUE, FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite
|
||||
msgbox FallarborTown_CozmosHouse_Text_MeteoriteWillNeverBeMineNow, MSGBOX_DEFAULT
|
||||
@@ -16,11 +16,11 @@ FallarborTown_CozmosHouse_EventScript_PlayerHasMeteorite::
|
||||
call_if_set FLAG_TEMP_2, FallarborTown_CozmosHouse_EventScript_AskForMeteorite
|
||||
goto_if_eq VAR_RESULT, NO, FallarborTown_CozmosHouse_EventScript_DeclineGiveMeteorite
|
||||
msgbox FallarborTown_CozmosHouse_Text_PleaseUseThisTM, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM27
|
||||
giveitem ITEM_TM_RETURN
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setvar VAR_0x8004, ITEM_METEORITE
|
||||
call Common_EventScript_PlayerHandedOverTheItem
|
||||
setflag FLAG_RECEIVED_TM27
|
||||
setflag FLAG_RECEIVED_TM_RETURN
|
||||
msgbox FallarborTown_CozmosHouse_Text_ReallyGoingToHelpMyResearch, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@@ -48,7 +48,7 @@ FallarborTown_CozmosHouse_EventScript_GaveMeteorite::
|
||||
FallarborTown_CozmosHouse_EventScript_CozmosWife::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM27, FallarborTown_CozmosHouse_EventScript_CozmoIsHappy
|
||||
goto_if_set FLAG_RECEIVED_TM_RETURN, FallarborTown_CozmosHouse_EventScript_CozmoIsHappy
|
||||
goto_if_set FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY, FallarborTown_CozmosHouse_EventScript_CozmoIsSad
|
||||
msgbox FallarborTown_CozmosHouse_Text_CozmoWentToMeteorFalls, MSGBOX_DEFAULT
|
||||
release
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "FieryPath_EventScript_ItemTM06",
|
||||
"flag": "FLAG_ITEM_FIERY_PATH_TM06"
|
||||
"script": "FieryPath_EventScript_ItemTMToxic",
|
||||
"flag": "FLAG_ITEM_FIERY_PATH_TM_TOXIC"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_PUSHABLE_BOULDER",
|
||||
|
||||
@@ -11,6 +11,7 @@ FortreeCity_Gym_OnWarp:
|
||||
map_script_2 VAR_TEMP_0, VAR_TEMP_0, FortreeCity_Gym_EventScript_InitRotatingGates
|
||||
.2byte 0
|
||||
|
||||
@ NOTE: This rotating gate puzzle makes use of VAR_TEMP_0 - VAR_TEMP_3
|
||||
FortreeCity_Gym_EventScript_InitRotatingGates::
|
||||
special RotatingGate_InitPuzzleAndGraphics
|
||||
end
|
||||
@@ -19,7 +20,7 @@ FortreeCity_Gym_EventScript_Winona::
|
||||
trainerbattle_single TRAINER_WINONA_1, FortreeCity_Gym_Text_WinonaIntro, FortreeCity_Gym_Text_WinonaDefeat, FortreeCity_Gym_EventScript_WinonaDefeated, NO_MUSIC
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
goto_if_eq VAR_RESULT, TRUE, FortreeCity_Gym_EventScript_WinonaRematch
|
||||
goto_if_unset FLAG_RECEIVED_TM40, FortreeCity_Gym_EventScript_GiveAerialAce2
|
||||
goto_if_unset FLAG_RECEIVED_TM_AERIAL_ACE, FortreeCity_Gym_EventScript_GiveAerialAce2
|
||||
msgbox FortreeCity_Gym_Text_WinonaPostBattle, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@@ -48,18 +49,18 @@ FortreeCity_Gym_EventScript_WinonaDefeated::
|
||||
end
|
||||
|
||||
FortreeCity_Gym_EventScript_GiveAerialAce2::
|
||||
giveitem ITEM_TM40
|
||||
giveitem ITEM_TM_AERIAL_ACE
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM40
|
||||
setflag FLAG_RECEIVED_TM_AERIAL_ACE
|
||||
release
|
||||
end
|
||||
|
||||
FortreeCity_Gym_EventScript_GiveAerialAce::
|
||||
giveitem ITEM_TM40
|
||||
giveitem ITEM_TM_AERIAL_ACE
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
|
||||
msgbox FortreeCity_Gym_Text_ExplainAerialAce, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM40
|
||||
setflag FLAG_RECEIVED_TM_AERIAL_ACE
|
||||
return
|
||||
|
||||
FortreeCity_Gym_EventScript_WinonaRematch::
|
||||
|
||||
@@ -4,7 +4,7 @@ FortreeCity_House2_MapScripts::
|
||||
FortreeCity_House2_EventScript_HiddenPowerGiver::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM10, FortreeCity_House2_EventScript_ExplainHiddenPower
|
||||
goto_if_set FLAG_RECEIVED_TM_HIDDEN_POWER, FortreeCity_House2_EventScript_ExplainHiddenPower
|
||||
call_if_unset FLAG_MET_HIDDEN_POWER_GIVER, FortreeCity_House2_EventScript_Greeting
|
||||
msgbox FortreeCity_House2_Text_CoinInWhichHand, MSGBOX_DEFAULT
|
||||
multichoice 21, 8, MULTI_RIGHTLEFT, TRUE
|
||||
@@ -19,9 +19,9 @@ FortreeCity_House2_EventScript_HiddenPowerGiver::
|
||||
switch VAR_RESULT
|
||||
case 0, FortreeCity_House2_EventScript_WrongGuess
|
||||
msgbox FortreeCity_House2_Text_YourHiddenPowerHasAwoken, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM10
|
||||
giveitem ITEM_TM_HIDDEN_POWER
|
||||
goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM10
|
||||
setflag FLAG_RECEIVED_TM_HIDDEN_POWER
|
||||
msgbox FortreeCity_House2_Text_ExplainHiddenPower, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -4,10 +4,10 @@ GraniteCave_1F_MapScripts::
|
||||
GraniteCave_1F_EventScript_Hiker::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_HM05, GraniteCave_1F_EventScript_ReceivedFlash
|
||||
goto_if_set FLAG_RECEIVED_HM_FLASH, GraniteCave_1F_EventScript_ReceivedFlash
|
||||
msgbox GraniteCave_1F_Text_GetsDarkAheadHereYouGo, MSGBOX_DEFAULT
|
||||
giveitem ITEM_HM05
|
||||
setflag FLAG_RECEIVED_HM05
|
||||
giveitem ITEM_HM_FLASH
|
||||
setflag FLAG_RECEIVED_HM_FLASH
|
||||
msgbox GraniteCave_1F_Text_ExplainFlash, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -11,7 +11,7 @@ GraniteCave_StevensRoom_EventScript_Steven::
|
||||
call Common_EventScript_PlayerHandedOverTheItem
|
||||
setflag FLAG_DELIVERED_STEVEN_LETTER
|
||||
msgbox GraniteCave_StevensRoom_Text_ThankYouTakeThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM47
|
||||
giveitem ITEM_TM_STEEL_WING
|
||||
call_if_eq VAR_RESULT, FALSE, GraniteCave_StevensRoom_EventScript_BagFull
|
||||
msgbox GraniteCave_StevensRoom_Text_CouldBecomeChampionLetsRegister, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
|
||||
@@ -51,10 +51,10 @@ IslandCave_EventScript_OpenRegiEntrance::
|
||||
|
||||
IslandCave_EventScript_CaveEntranceMiddle::
|
||||
lockall
|
||||
call_if_set FLAG_TEMP_3, IslandCave_EventScript_ClearSteps
|
||||
call_if_set FLAG_TEMP_REGICE_PUZZLE_FAILED, IslandCave_EventScript_ClearSteps
|
||||
goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_BigHoleInWall
|
||||
braillemessage IslandCave_Braille_RunLapAroundWall
|
||||
setflag FLAG_TEMP_2
|
||||
setflag FLAG_TEMP_REGICE_PUZZLE_STARTED
|
||||
special ShouldDoBrailleRegicePuzzle
|
||||
goto IslandCave_EventScript_CloseBrailleMsg
|
||||
end
|
||||
@@ -66,10 +66,10 @@ IslandCave_EventScript_BigHoleInWall::
|
||||
|
||||
IslandCave_EventScript_CaveEntranceSide::
|
||||
lockall
|
||||
call_if_set FLAG_TEMP_3, IslandCave_EventScript_ClearSteps
|
||||
call_if_set FLAG_TEMP_REGICE_PUZZLE_FAILED, IslandCave_EventScript_ClearSteps
|
||||
braillemessage IslandCave_Braille_RunLapAroundWall
|
||||
goto_if_set FLAG_SYS_BRAILLE_REGICE_COMPLETED, IslandCave_EventScript_CloseBrailleMsg
|
||||
setflag FLAG_TEMP_2
|
||||
setflag FLAG_TEMP_REGICE_PUZZLE_STARTED
|
||||
special ShouldDoBrailleRegicePuzzle
|
||||
goto IslandCave_EventScript_CloseBrailleMsg
|
||||
end
|
||||
@@ -84,7 +84,7 @@ IslandCave_EventScript_ClearSteps::
|
||||
setvar VAR_REGICE_STEPS_1, 0
|
||||
setvar VAR_REGICE_STEPS_2, 0
|
||||
setvar VAR_REGICE_STEPS_3, 0
|
||||
clearflag FLAG_TEMP_3
|
||||
clearflag FLAG_TEMP_REGICE_PUZZLE_FAILED
|
||||
return
|
||||
|
||||
IslandCave_EventScript_Regice::
|
||||
|
||||
@@ -52,7 +52,7 @@ LavaridgeTown_Gym_1F_EventScript_Flannery::
|
||||
trainerbattle_single TRAINER_FLANNERY_1, LavaridgeTown_Gym_1F_Text_FlanneryIntro, LavaridgeTown_Gym_1F_Text_FlanneryDefeat, LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated, NO_MUSIC
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
goto_if_eq VAR_RESULT, TRUE, LavaridgeTown_Gym_1F_EventScript_FlanneryRematch
|
||||
goto_if_unset FLAG_RECEIVED_TM50, LavaridgeTown_Gym_1F_EventScript_GiveOverheat2
|
||||
goto_if_unset FLAG_RECEIVED_TM_OVERHEAT, LavaridgeTown_Gym_1F_EventScript_GiveOverheat2
|
||||
msgbox LavaridgeTown_Gym_1F_Text_FlanneryPostBattle, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@@ -84,18 +84,18 @@ LavaridgeTown_Gym_1F_EventScript_FlanneryDefeated::
|
||||
end
|
||||
|
||||
LavaridgeTown_Gym_1F_EventScript_GiveOverheat2::
|
||||
giveitem ITEM_TM50
|
||||
giveitem ITEM_TM_OVERHEAT
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM50
|
||||
setflag FLAG_RECEIVED_TM_OVERHEAT
|
||||
release
|
||||
end
|
||||
|
||||
LavaridgeTown_Gym_1F_EventScript_GiveOverheat::
|
||||
giveitem ITEM_TM50
|
||||
giveitem ITEM_TM_OVERHEAT
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
|
||||
msgbox LavaridgeTown_Gym_1F_Text_ExplainOverheat, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM50
|
||||
setflag FLAG_RECEIVED_TM_OVERHEAT
|
||||
return
|
||||
|
||||
LavaridgeTown_Gym_1F_EventScript_FlanneryRematch::
|
||||
|
||||
@@ -25,10 +25,10 @@ LilycoveCity_DepartmentStore_4F_EventScript_ClerkLeft::
|
||||
|
||||
.align 2
|
||||
LilycoveCity_DepartmentStore_4F_Pokemart_AttackTMs:
|
||||
.2byte ITEM_TM38 @ Fire Blast
|
||||
.2byte ITEM_TM25 @ Thunder
|
||||
.2byte ITEM_TM14 @ Blizzard
|
||||
.2byte ITEM_TM15 @ Hyper Beam
|
||||
.2byte ITEM_TM_FIRE_BLAST
|
||||
.2byte ITEM_TM_THUNDER
|
||||
.2byte ITEM_TM_BLIZZARD
|
||||
.2byte ITEM_TM_HYPER_BEAM
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
end
|
||||
@@ -45,10 +45,10 @@ LilycoveCity_DepartmentStore_4F_EventScript_ClerkRight::
|
||||
|
||||
.align 2
|
||||
LilycoveCity_DepartmentStore_4F_Pokemart_DefenseTMs:
|
||||
.2byte ITEM_TM17 @ Protect
|
||||
.2byte ITEM_TM20 @ Safeguard
|
||||
.2byte ITEM_TM33 @ Reflect
|
||||
.2byte ITEM_TM16 @ Light Screen
|
||||
.2byte ITEM_TM_PROTECT
|
||||
.2byte ITEM_TM_SAFEGUARD
|
||||
.2byte ITEM_TM_REFLECT
|
||||
.2byte ITEM_TM_LIGHT_SCREEN
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
end
|
||||
|
||||
@@ -4,11 +4,11 @@ LilycoveCity_House2_MapScripts::
|
||||
LilycoveCity_House2_EventScript_FatMan::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM44, LilycoveCity_House2_EventScript_ReceivedRest
|
||||
goto_if_set FLAG_RECEIVED_TM_REST, LilycoveCity_House2_EventScript_ReceivedRest
|
||||
msgbox LilycoveCity_House2_Text_NotAwakeYetHaveThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM44
|
||||
giveitem ITEM_TM_REST
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM44
|
||||
setflag FLAG_RECEIVED_TM_REST
|
||||
msgbox LilycoveCity_House2_Text_SleepIsEssential, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -339,7 +339,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_TakeYourTime::
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_GiveCyndaquil::
|
||||
bufferspeciesname STR_VAR_1, SPECIES_CYNDAQUIL
|
||||
setvar VAR_TEMP_1, SPECIES_CYNDAQUIL
|
||||
setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_CYNDAQUIL
|
||||
givemon SPECIES_CYNDAQUIL, 5
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToParty
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendCyndaquilToPC
|
||||
@@ -380,7 +380,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedCyndaquil::
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_GiveTotodile::
|
||||
bufferspeciesname STR_VAR_1, SPECIES_TOTODILE
|
||||
setvar VAR_TEMP_1, SPECIES_TOTODILE
|
||||
setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_TOTODILE
|
||||
givemon SPECIES_TOTODILE, 5
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToParty
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendTotodileToPC
|
||||
@@ -421,7 +421,7 @@ LittlerootTown_ProfessorBirchsLab_EventScript_ReceivedTotodile::
|
||||
|
||||
LittlerootTown_ProfessorBirchsLab_EventScript_GiveChikorita::
|
||||
bufferspeciesname STR_VAR_1, SPECIES_CHIKORITA
|
||||
setvar VAR_TEMP_1, SPECIES_CHIKORITA
|
||||
setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_CHIKORITA
|
||||
givemon SPECIES_CHIKORITA, 5
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToParty
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, LittlerootTown_ProfessorBirchsLab_EventScript_SendChikoritaToPC
|
||||
|
||||
@@ -13,7 +13,7 @@ MauvilleCity_OnTransition:
|
||||
setflag FLAG_SYS_TV_START
|
||||
clearflag FLAG_MAUVILLE_GYM_BARRIERS_STATE
|
||||
setvar VAR_MAUVILLE_GYM_STATE, 0
|
||||
call_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_MoveWattsonBackToGym
|
||||
call_if_set FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON, MauvilleCity_EventScript_MoveWattsonBackToGym
|
||||
end
|
||||
|
||||
MauvilleCity_EventScript_MoveWattsonBackToGym::
|
||||
@@ -418,7 +418,7 @@ MauvilleCity_Movement_ScottExitEast:
|
||||
MauvilleCity_EventScript_Wattson::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_GOT_TM24_FROM_WATTSON, MauvilleCity_EventScript_ReceivedThunderbolt
|
||||
goto_if_set FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON, MauvilleCity_EventScript_ReceivedThunderbolt
|
||||
goto_if_eq VAR_NEW_MAUVILLE_STATE, 2, MauvilleCity_EventScript_CompletedNewMauville
|
||||
goto_if_set FLAG_GOT_BASEMENT_KEY_FROM_WATTSON, MauvilleCity_EventScript_BegunNewMauville
|
||||
msgbox MauvilleCity_Text_WattsonNeedFavorTakeKey, MSGBOX_DEFAULT
|
||||
@@ -435,9 +435,9 @@ MauvilleCity_EventScript_BegunNewMauville::
|
||||
|
||||
MauvilleCity_EventScript_CompletedNewMauville::
|
||||
msgbox MauvilleCity_Text_WattsonThanksTakeTM, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM24
|
||||
giveitem ITEM_TM_THUNDERBOLT
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_GOT_TM24_FROM_WATTSON
|
||||
setflag FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON
|
||||
msgbox MauvilleCity_Text_WattsonYoungTakeCharge, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -2,12 +2,12 @@ MauvilleCity_GameCorner_MapScripts::
|
||||
.byte 0
|
||||
|
||||
@ Game Corner prices
|
||||
.set TM32_COINS, 1500
|
||||
.set TM29_COINS, 3500
|
||||
.set TM35_COINS, 4000
|
||||
.set TM24_COINS, 4000
|
||||
.set TM13_COINS, 4000
|
||||
.set DOLL_COINS, 1000
|
||||
.set TM_DOUBLE_TEAM_COINS, 1500
|
||||
.set TM_PSYCHIC_COINS, 3500
|
||||
.set TM_FLAMETHROWER_COINS, 4000
|
||||
.set TM_THUNDERBOLT_COINS, 4000
|
||||
.set TM_ICE_BEAM_COINS, 4000
|
||||
.set DOLL_COINS, 1000
|
||||
|
||||
.set COINS_PRICE_50, 1000
|
||||
.set COINS_PRICE_500, 10000
|
||||
@@ -236,43 +236,43 @@ MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize::
|
||||
MauvilleCity_GameCorner_EventScript_ChooseTMPrize::
|
||||
multichoice 12, 0, MULTI_GAME_CORNER_TMS, FALSE
|
||||
switch VAR_RESULT
|
||||
case 0, MauvilleCity_GameCorner_EventScript_TM32
|
||||
case 1, MauvilleCity_GameCorner_EventScript_TM29
|
||||
case 2, MauvilleCity_GameCorner_EventScript_TM35
|
||||
case 3, MauvilleCity_GameCorner_EventScript_TM24
|
||||
case 4, MauvilleCity_GameCorner_EventScript_TM13
|
||||
case 0, MauvilleCity_GameCorner_EventScript_TMDoubleTeam
|
||||
case 1, MauvilleCity_GameCorner_EventScript_TMPsychic
|
||||
case 2, MauvilleCity_GameCorner_EventScript_TMFlamethrower
|
||||
case 3, MauvilleCity_GameCorner_EventScript_TMThunderbolt
|
||||
case 4, MauvilleCity_GameCorner_EventScript_TMIceBeam
|
||||
case 5, MauvilleCity_GameCorner_EventScript_CancelTMSelect
|
||||
goto MauvilleCity_GameCorner_EventScript_CancelTMSelect
|
||||
end
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_TM32::
|
||||
MauvilleCity_GameCorner_EventScript_TMDoubleTeam::
|
||||
setvar VAR_TEMP_1, 1
|
||||
bufferitemname STR_VAR_1, ITEM_TM32
|
||||
setvar VAR_0x8004, ITEM_TM32
|
||||
bufferitemname STR_VAR_1, ITEM_TM_DOUBLE_TEAM
|
||||
setvar VAR_0x8004, ITEM_TM_DOUBLE_TEAM
|
||||
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_TM29::
|
||||
MauvilleCity_GameCorner_EventScript_TMPsychic::
|
||||
setvar VAR_TEMP_1, 2
|
||||
bufferitemname STR_VAR_1, ITEM_TM29
|
||||
setvar VAR_0x8004, ITEM_TM29
|
||||
bufferitemname STR_VAR_1, ITEM_TM_PSYCHIC
|
||||
setvar VAR_0x8004, ITEM_TM_PSYCHIC
|
||||
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_TM35::
|
||||
MauvilleCity_GameCorner_EventScript_TMFlamethrower::
|
||||
setvar VAR_TEMP_1, 3
|
||||
bufferitemname STR_VAR_1, ITEM_TM35
|
||||
setvar VAR_0x8004, ITEM_TM35
|
||||
bufferitemname STR_VAR_1, ITEM_TM_FLAMETHROWER
|
||||
setvar VAR_0x8004, ITEM_TM_FLAMETHROWER
|
||||
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_TM24::
|
||||
MauvilleCity_GameCorner_EventScript_TMThunderbolt::
|
||||
setvar VAR_TEMP_1, 4
|
||||
bufferitemname STR_VAR_1, ITEM_TM24
|
||||
setvar VAR_0x8004, ITEM_TM24
|
||||
bufferitemname STR_VAR_1, ITEM_TM_THUNDERBOLT
|
||||
setvar VAR_0x8004, ITEM_TM_THUNDERBOLT
|
||||
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_TM13::
|
||||
MauvilleCity_GameCorner_EventScript_TMIceBeam::
|
||||
setvar VAR_TEMP_1, 5
|
||||
bufferitemname STR_VAR_1, ITEM_TM13
|
||||
setvar VAR_0x8004, ITEM_TM13
|
||||
bufferitemname STR_VAR_1, ITEM_TM_ICE_BEAM
|
||||
setvar VAR_0x8004, ITEM_TM_ICE_BEAM
|
||||
goto MauvilleCity_GameCorner_EventScript_ConfirmTMPrize
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_ConfirmTMPrize::
|
||||
@@ -280,72 +280,72 @@ MauvilleCity_GameCorner_EventScript_ConfirmTMPrize::
|
||||
msgbox MauvilleCity_GameCorner_Text_SoYourChoiceIsTheTMX, MSGBOX_YESNO
|
||||
goto_if_eq VAR_RESULT, NO, MauvilleCity_GameCorner_EventScript_CancelTMSelect
|
||||
switch VAR_TEMP_1
|
||||
case 1, MauvilleCity_GameCorner_EventScript_BuyTM32
|
||||
case 2, MauvilleCity_GameCorner_EventScript_BuyTM29
|
||||
case 3, MauvilleCity_GameCorner_EventScript_BuyTM35
|
||||
case 4, MauvilleCity_GameCorner_EventScript_BuyTM24
|
||||
case 5, MauvilleCity_GameCorner_EventScript_BuyTM13
|
||||
case 1, MauvilleCity_GameCorner_EventScript_BuyTMDoubleTeam
|
||||
case 2, MauvilleCity_GameCorner_EventScript_BuyTMPsychic
|
||||
case 3, MauvilleCity_GameCorner_EventScript_BuyTMFlamethrower
|
||||
case 4, MauvilleCity_GameCorner_EventScript_BuyTMThunderbolt
|
||||
case 5, MauvilleCity_GameCorner_EventScript_BuyTMIceBeam
|
||||
end
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_BuyTM32::
|
||||
MauvilleCity_GameCorner_EventScript_BuyTMDoubleTeam::
|
||||
checkcoins VAR_TEMP_2
|
||||
goto_if_lt VAR_TEMP_2, TM32_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM32
|
||||
goto_if_lt VAR_TEMP_2, TM_DOUBLE_TEAM_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM_DOUBLE_TEAM
|
||||
goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
|
||||
removecoins TM32_COINS
|
||||
additem ITEM_TM32
|
||||
removecoins TM_DOUBLE_TEAM_COINS
|
||||
additem ITEM_TM_DOUBLE_TEAM
|
||||
updatecoinsbox 1, 1
|
||||
playse SE_SHOP
|
||||
msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
|
||||
goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
|
||||
end
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_BuyTM29::
|
||||
MauvilleCity_GameCorner_EventScript_BuyTMPsychic::
|
||||
checkcoins VAR_TEMP_2
|
||||
goto_if_lt VAR_TEMP_2, TM29_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM29
|
||||
goto_if_lt VAR_TEMP_2, TM_PSYCHIC_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM_PSYCHIC
|
||||
goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
|
||||
removecoins TM29_COINS
|
||||
additem ITEM_TM29
|
||||
removecoins TM_PSYCHIC_COINS
|
||||
additem ITEM_TM_PSYCHIC
|
||||
updatecoinsbox 1, 1
|
||||
playse SE_SHOP
|
||||
msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
|
||||
goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
|
||||
end
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_BuyTM35::
|
||||
MauvilleCity_GameCorner_EventScript_BuyTMFlamethrower::
|
||||
checkcoins VAR_TEMP_2
|
||||
goto_if_lt VAR_TEMP_2, TM35_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM35
|
||||
goto_if_lt VAR_TEMP_2, TM_FLAMETHROWER_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM_FLAMETHROWER
|
||||
goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
|
||||
removecoins TM35_COINS
|
||||
additem ITEM_TM35
|
||||
removecoins TM_FLAMETHROWER_COINS
|
||||
additem ITEM_TM_FLAMETHROWER
|
||||
updatecoinsbox 1, 1
|
||||
playse SE_SHOP
|
||||
msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
|
||||
goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
|
||||
end
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_BuyTM24::
|
||||
MauvilleCity_GameCorner_EventScript_BuyTMThunderbolt::
|
||||
checkcoins VAR_TEMP_2
|
||||
goto_if_lt VAR_TEMP_2, TM24_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM24
|
||||
goto_if_lt VAR_TEMP_2, TM_THUNDERBOLT_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM_THUNDERBOLT
|
||||
goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
|
||||
removecoins TM24_COINS
|
||||
additem ITEM_TM24
|
||||
removecoins TM_THUNDERBOLT_COINS
|
||||
additem ITEM_TM_THUNDERBOLT
|
||||
updatecoinsbox 1, 1
|
||||
playse SE_SHOP
|
||||
msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
|
||||
goto MauvilleCity_GameCorner_EventScript_ReturnToChooseTMPrize
|
||||
end
|
||||
|
||||
MauvilleCity_GameCorner_EventScript_BuyTM13::
|
||||
MauvilleCity_GameCorner_EventScript_BuyTMIceBeam::
|
||||
checkcoins VAR_TEMP_2
|
||||
goto_if_lt VAR_TEMP_2, TM13_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM13
|
||||
goto_if_lt VAR_TEMP_2, TM_ICE_BEAM_COINS, MauvilleCity_GameCorner_EventScript_NotEnoughCoinsForTM
|
||||
checkitemspace ITEM_TM_ICE_BEAM
|
||||
goto_if_eq VAR_RESULT, FALSE, MauvilleCity_GameCorner_EventScript_NoRoomForTM
|
||||
removecoins TM13_COINS
|
||||
additem ITEM_TM13
|
||||
removecoins TM_ICE_BEAM_COINS
|
||||
additem ITEM_TM_ICE_BEAM
|
||||
updatecoinsbox 1, 1
|
||||
playse SE_SHOP
|
||||
msgbox MauvilleCity_GameCorner_Text_HereYouGo, MSGBOX_DEFAULT
|
||||
|
||||
@@ -77,7 +77,7 @@ MauvilleCity_Gym_EventScript_Wattson::
|
||||
trainerbattle_single TRAINER_WATTSON_1, MauvilleCity_Gym_Text_WattsonIntro, MauvilleCity_Gym_Text_WattsonDefeat, MauvilleCity_Gym_EventScript_WattsonDefeated, NO_MUSIC
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
goto_if_eq VAR_RESULT, TRUE, MauvilleCity_Gym_EventScript_WattsonRematch
|
||||
goto_if_unset FLAG_RECEIVED_TM34, MauvilleCity_Gym_EventScript_GiveShockWave2
|
||||
goto_if_unset FLAG_RECEIVED_TM_SHOCK_WAVE, MauvilleCity_Gym_EventScript_GiveShockWave2
|
||||
goto_if_eq VAR_NEW_MAUVILLE_STATE, 2, MauvilleCity_Gym_EventScript_CompletedNewMauville
|
||||
msgbox MauvilleCity_Gym_Text_WattsonPostBattle, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -112,18 +112,18 @@ MauvilleCity_Gym_EventScript_WattsonDefeated::
|
||||
end
|
||||
|
||||
MauvilleCity_Gym_EventScript_GiveShockWave2::
|
||||
giveitem ITEM_TM34
|
||||
giveitem ITEM_TM_SHOCK_WAVE
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM34
|
||||
setflag FLAG_RECEIVED_TM_SHOCK_WAVE
|
||||
release
|
||||
end
|
||||
|
||||
MauvilleCity_Gym_EventScript_GiveShockWave::
|
||||
giveitem ITEM_TM34
|
||||
giveitem ITEM_TM_SHOCK_WAVE
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
|
||||
msgbox MauvilleCity_Gym_Text_ExplainShockWave, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM34
|
||||
setflag FLAG_RECEIVED_TM_SHOCK_WAVE
|
||||
return
|
||||
|
||||
MauvilleCity_Gym_EventScript_CompletedNewMauville::
|
||||
|
||||
@@ -4,10 +4,10 @@ MauvilleCity_House1_MapScripts::
|
||||
MauvilleCity_House1_EventScript_RockSmashDude::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_HM06, MauvilleCity_House1_EventScript_ReceivedRockSmash
|
||||
goto_if_set FLAG_RECEIVED_HM_ROCK_SMASH, MauvilleCity_House1_EventScript_ReceivedRockSmash
|
||||
msgbox MauvilleCity_House1_Text_ImRockSmashDudeTakeThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_HM06
|
||||
setflag FLAG_RECEIVED_HM06
|
||||
giveitem ITEM_HM_ROCK_SMASH
|
||||
setflag FLAG_RECEIVED_HM_ROCK_SMASH
|
||||
setflag FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY
|
||||
msgbox MauvilleCity_House1_Text_ExplainRockSmash, MSGBOX_DEFAULT
|
||||
release
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"movement_range_y": 0,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "MeteorFalls_1F_1R_EventScript_ItemTM23",
|
||||
"flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_TM23"
|
||||
"script": "MeteorFalls_1F_1R_EventScript_ItemTMIronTail",
|
||||
"flag": "FLAG_ITEM_METEOR_FALLS_1F_1R_TM_IRON_TAIL"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "MeteorFalls_B1F_2R_EventScript_ItemTM02",
|
||||
"flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_TM02"
|
||||
"script": "MeteorFalls_B1F_2R_EventScript_ItemTMDragonClaw",
|
||||
"flag": "FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_DRAGON_CLAW"
|
||||
}
|
||||
],
|
||||
"warp_events": [
|
||||
|
||||
@@ -20,7 +20,7 @@ MossdeepCity_OnTransition:
|
||||
MossdeepCity_EventScript_PokefanF::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_PokefanFMagmaGone
|
||||
goto_if_set FLAG_RECEIVED_HM_DIVE, MossdeepCity_EventScript_PokefanFMagmaGone
|
||||
msgbox MossdeepCity_Text_SpaceCenterReceivedLetter, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@@ -33,7 +33,7 @@ MossdeepCity_EventScript_PokefanFMagmaGone::
|
||||
MossdeepCity_EventScript_Sailor::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_HM08, MossdeepCity_EventScript_SailorMagmaGone
|
||||
goto_if_set FLAG_RECEIVED_HM_DIVE, MossdeepCity_EventScript_SailorMagmaGone
|
||||
msgbox MossdeepCity_Text_MossdeepTargetedByMagma, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -52,7 +52,7 @@ MossdeepCity_Gym_EventScript_TateAndLiza::
|
||||
trainerbattle_double TRAINER_TATE_AND_LIZA_1, MossdeepCity_Gym_Text_TateAndLizaIntro, MossdeepCity_Gym_Text_TateAndLizaDefeat, MossdeepCity_Gym_Text_TateAndLizaNeedTwoMons, MossdeepCity_Gym_EventScript_TateAndLizaDefeated, NO_MUSIC
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
goto_if_eq VAR_RESULT, TRUE, MossdeepCity_Gym_EventScript_TateAndLizaRematch
|
||||
goto_if_unset FLAG_RECEIVED_TM04, MossdeepCity_Gym_EventScript_GiveCalmMind2
|
||||
goto_if_unset FLAG_RECEIVED_TM_CALM_MIND, MossdeepCity_Gym_EventScript_GiveCalmMind2
|
||||
msgbox MossdeepCity_Gym_Text_TateAndLizaPostBattle, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@@ -90,18 +90,18 @@ MossdeepCity_Gym_EventScript_TateAndLizaDefeated::
|
||||
end
|
||||
|
||||
MossdeepCity_Gym_EventScript_GiveCalmMind2::
|
||||
giveitem ITEM_TM04
|
||||
giveitem ITEM_TM_CALM_MIND
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM04
|
||||
setflag FLAG_RECEIVED_TM_CALM_MIND
|
||||
release
|
||||
end
|
||||
|
||||
MossdeepCity_Gym_EventScript_GiveCalmMind::
|
||||
giveitem ITEM_TM04
|
||||
giveitem ITEM_TM_CALM_MIND
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
|
||||
msgbox MossdeepCity_Gym_Text_ExplainCalmMind, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM04
|
||||
setflag FLAG_RECEIVED_TM_CALM_MIND
|
||||
return
|
||||
|
||||
MossdeepCity_Gym_EventScript_TateAndLizaRematch::
|
||||
|
||||
@@ -40,8 +40,8 @@ MossdeepCity_StevensHouse_EventScript_StevenGivesDive::
|
||||
applymovement LOCALID_STEVEN, MossdeepCity_StevensHouse_Movement_StevenApproachPlayer
|
||||
waitmovement 0
|
||||
msgbox MossdeepCity_StevensHouse_Text_YouveEarnedHMDive, MSGBOX_DEFAULT
|
||||
giveitem ITEM_HM08
|
||||
setflag FLAG_RECEIVED_HM08
|
||||
giveitem ITEM_HM_DIVE
|
||||
setflag FLAG_RECEIVED_HM_DIVE
|
||||
setflag FLAG_OMIT_DIVE_FROM_STEVEN_LETTER
|
||||
msgbox MossdeepCity_StevensHouse_Text_ExplainDive, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
@@ -85,7 +85,7 @@ MossdeepCity_StevensHouse_EventScript_LeaveBeldum::
|
||||
end
|
||||
|
||||
MossdeepCity_StevensHouse_EventScript_GiveBeldum::
|
||||
setvar VAR_TEMP_1, SPECIES_BELDUM
|
||||
setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_BELDUM
|
||||
givemon SPECIES_BELDUM, 5
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, MossdeepCity_StevensHouse_EventScript_SendBeldumParty
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, MossdeepCity_StevensHouse_EventScript_SendBeldumPC
|
||||
@@ -146,8 +146,8 @@ MossdeepCity_StevensHouse_EventScript_Letter::
|
||||
|
||||
@ Unused, leftover from RS
|
||||
MossdeepCity_StevensHouse_EventScript_DiveItemBall::
|
||||
finditem ITEM_HM08
|
||||
setflag FLAG_RECEIVED_HM08
|
||||
finditem ITEM_HM_DIVE
|
||||
setflag FLAG_RECEIVED_HM_DIVE
|
||||
end
|
||||
|
||||
MossdeepCity_StevensHouse_Text_YouveEarnedHMDive:
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "MtPyre_6F_EventScript_ItemTM30",
|
||||
"flag": "FLAG_ITEM_MT_PYRE_6F_TM30"
|
||||
"script": "MtPyre_6F_EventScript_ItemTMShadowBall",
|
||||
"flag": "FLAG_ITEM_MT_PYRE_6F_TM_SHADOW_BALL"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_PSYCHIC_M",
|
||||
|
||||
@@ -37,8 +37,8 @@
|
||||
"movement_range_y": 0,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "MtPyre_Exterior_EventScript_ItemTM48",
|
||||
"flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_TM48"
|
||||
"script": "MtPyre_Exterior_EventScript_ItemTMSkillSwap",
|
||||
"flag": "FLAG_ITEM_MT_PYRE_EXTERIOR_TM_SKILL_SWAP"
|
||||
}
|
||||
],
|
||||
"warp_events": [
|
||||
|
||||
@@ -38,7 +38,7 @@ PacifidlogTown_House2_EventScript_ClearReceivedFanClubTM::
|
||||
|
||||
PacifidlogTown_House2_EventScript_GiveReturn::
|
||||
msgbox PacifidlogTown_House2_Text_AdoringPokemonTakeThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM27
|
||||
giveitem ITEM_TM_RETURN
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
|
||||
special SetPacifidlogTMReceivedDay
|
||||
@@ -53,7 +53,7 @@ PacifidlogTown_House2_EventScript_PutInEffort::
|
||||
|
||||
PacifidlogTown_House2_EventScript_GiveFrustration::
|
||||
msgbox PacifidlogTown_House2_Text_ViciousPokemonTakeThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM21
|
||||
giveitem ITEM_TM_FRUSTRATION
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_FANCLUB_TM_THIS_WEEK
|
||||
special SetPacifidlogTMReceivedDay
|
||||
|
||||
@@ -332,7 +332,7 @@ PetalburgCity_Gym_EventScript_NormanFaceDoorEast::
|
||||
PetalburgCity_Gym_EventScript_NormanPostBattle::
|
||||
call PetalburgCity_Gym_EventScript_ShouldGiveEnigmaBerry
|
||||
goto_if_eq VAR_RESULT, TRUE, PetalburgCity_Gym_EventScript_GiveEnigmaBerry
|
||||
goto_if_unset FLAG_RECEIVED_TM42, PetalburgCity_Gym_EventScript_GiveFacade2
|
||||
goto_if_unset FLAG_RECEIVED_TM_FACADE, PetalburgCity_Gym_EventScript_GiveFacade2
|
||||
goto_if_set FLAG_SYS_GAME_CLEAR, PetalburgCity_Gym_EventScript_NoAmountOfTrainingIsEnough
|
||||
msgbox PetalburgCity_Gym_Text_DadGoingToKeepTraining, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -405,9 +405,9 @@ PetalburgCity_Gym_EventScript_NormanBattle::
|
||||
end
|
||||
|
||||
PetalburgCity_Gym_EventScript_GiveFacade::
|
||||
giveitem ITEM_TM42
|
||||
giveitem ITEM_TM_FACADE
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
|
||||
setflag FLAG_RECEIVED_TM42
|
||||
setflag FLAG_RECEIVED_TM_FACADE
|
||||
msgbox PetalburgCity_Gym_Text_ExplainFacade, MSGBOX_DEFAULT
|
||||
return
|
||||
|
||||
|
||||
@@ -15,14 +15,14 @@ PetalburgCity_WallysHouse_EventScript_PlayerWallysDadFaceEachOther::
|
||||
end
|
||||
|
||||
PetalburgCity_WallysHouse_OnFrame:
|
||||
map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_GiveHM03Surf
|
||||
map_script_2 VAR_PETALBURG_CITY_STATE, 4, PetalburgCity_WallysHouse_EventScript_GiveHMSurf
|
||||
.2byte 0
|
||||
|
||||
PetalburgCity_WallysHouse_EventScript_GiveHM03Surf::
|
||||
PetalburgCity_WallysHouse_EventScript_GiveHMSurf::
|
||||
lockall
|
||||
msgbox PetalburgCity_WallysHouse_Text_PleaseExcuseUs, MSGBOX_DEFAULT
|
||||
giveitem ITEM_HM03
|
||||
setflag FLAG_RECEIVED_HM03
|
||||
giveitem ITEM_HM_SURF
|
||||
setflag FLAG_RECEIVED_HM_SURF
|
||||
msgbox PetalburgCity_WallysHouse_Text_SurfGoAllSortsOfPlaces, MSGBOX_DEFAULT
|
||||
setvar VAR_PETALBURG_CITY_STATE, 5
|
||||
releaseall
|
||||
@@ -32,14 +32,14 @@ PetalburgCity_WallysHouse_EventScript_WallysDad::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_DEFEATED_WALLY_VICTORY_ROAD, PetalburgCity_WallysHouse_EventScript_DefeatedWallyInVictoryRoad
|
||||
goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_ReceievedHM03Surf
|
||||
goto_if_set FLAG_RECEIVED_HM_SURF, PetalburgCity_WallysHouse_EventScript_ReceievedHMSurf
|
||||
goto_if_set FLAG_THANKED_FOR_PLAYING_WITH_WALLY, PetalburgCity_WallysHouse_EventScript_PlayedWithWally
|
||||
msgbox PetalburgCity_WallysHouse_Text_ThanksForPlayingWithWally, MSGBOX_DEFAULT
|
||||
setflag FLAG_THANKED_FOR_PLAYING_WITH_WALLY
|
||||
release
|
||||
end
|
||||
|
||||
PetalburgCity_WallysHouse_EventScript_ReceievedHM03Surf::
|
||||
PetalburgCity_WallysHouse_EventScript_ReceievedHMSurf::
|
||||
msgbox PetalburgCity_WallysHouse_Text_WallyIsComingHomeSoon, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@@ -57,12 +57,12 @@ PetalburgCity_WallysHouse_EventScript_PlayedWithWally::
|
||||
PetalburgCity_WallysHouse_EventScript_WallysMom::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_HM03, PetalburgCity_WallysHouse_EventScript_ReceivedHM03Surf
|
||||
goto_if_set FLAG_RECEIVED_HM_SURF, PetalburgCity_WallysHouse_EventScript_ReceivedHMSurf
|
||||
msgbox PetalburgCity_WallysHouse_Text_WallyWasReallyHappy, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
PetalburgCity_WallysHouse_EventScript_ReceivedHM03Surf::
|
||||
PetalburgCity_WallysHouse_EventScript_ReceivedHMSurf::
|
||||
msgbox PetalburgCity_WallysHouse_Text_WallyLeftWithoutTelling, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -329,11 +329,11 @@ Route104_EventScript_Woman::
|
||||
Route104_EventScript_Boy2::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM09, Route104_EventScript_ReceivedBulletSeed
|
||||
goto_if_set FLAG_RECEIVED_TM_BULLET_SEED, Route104_EventScript_ReceivedBulletSeed
|
||||
msgbox Route104_Text_LikeFillingMouthWithSeedsTakeThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM09
|
||||
giveitem ITEM_TM_BULLET_SEED
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM09
|
||||
setflag FLAG_RECEIVED_TM_BULLET_SEED
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -109,7 +109,7 @@ Route110_TrickHouseEnd_EventScript_CompletedPuzzle5::
|
||||
msgbox Route110_TrickHouseEnd_Text_AllNightToMakeMechadolls, MSGBOX_DEFAULT
|
||||
msgbox Route110_TrickHouseEnd_Text_YouHaveEarnedThisReward, MSGBOX_DEFAULT
|
||||
setvar VAR_TRICK_HOUSE_PRIZE_PICKUP, 0
|
||||
giveitem ITEM_TM12
|
||||
giveitem ITEM_TM_TAUNT
|
||||
call_if_eq VAR_RESULT, FALSE, Route110_TrickHouseEnd_EventScript_BagFull
|
||||
msgbox Route110_TrickHouseEnd_Text_MakeNewTricksToStumpYou, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
|
||||
@@ -370,7 +370,7 @@ Route110_TrickHouseEntrance_EventScript_GivePuzzle4Reward::
|
||||
end
|
||||
|
||||
Route110_TrickHouseEntrance_EventScript_GivePuzzle5Reward::
|
||||
giveitem ITEM_TM12
|
||||
giveitem ITEM_TM_TAUNT
|
||||
goto_if_eq VAR_RESULT, TRUE, Route110_TrickHouseEntrance_EventScript_GotReward
|
||||
call_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
|
||||
msgbox Route110_TrickHouseEntrance_Text_DidYouNotComeToClaimReward, MSGBOX_DEFAULT
|
||||
|
||||
@@ -11,6 +11,7 @@ Route110_TrickHousePuzzle6_OnWarp:
|
||||
map_script_2 VAR_TEMP_0, VAR_TEMP_0, Route110_TrickHousePuzzle6_EventScript_InitPuzzle
|
||||
.2byte 0
|
||||
|
||||
@ NOTE: This rotating gate puzzle makes use of VAR_TEMP_0 - VAR_TEMP_5
|
||||
Route110_TrickHousePuzzle6_EventScript_InitPuzzle::
|
||||
special RotatingGate_InitPuzzleAndGraphics
|
||||
end
|
||||
|
||||
@@ -261,8 +261,8 @@
|
||||
"movement_range_y": 0,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "Route111_EventScript_ItemTM37",
|
||||
"flag": "FLAG_ITEM_ROUTE_111_TM37"
|
||||
"script": "Route111_EventScript_ItemTMSandstorm",
|
||||
"flag": "FLAG_ITEM_ROUTE_111_TM_SANDSTORM"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_BERRY_TREE",
|
||||
|
||||
@@ -450,8 +450,8 @@
|
||||
"x": 22,
|
||||
"y": 5,
|
||||
"elevation": 3,
|
||||
"item": "ITEM_TM32",
|
||||
"flag": "FLAG_HIDDEN_ITEM_ROUTE_113_TM32"
|
||||
"item": "ITEM_TM_DOUBLE_TEAM",
|
||||
"flag": "FLAG_HIDDEN_ITEM_ROUTE_113_TM_DOUBLE_TEAM"
|
||||
},
|
||||
{
|
||||
"type": "hidden_item",
|
||||
|
||||
@@ -43,11 +43,11 @@ Route114_EventScript_ReceivedBerry::
|
||||
Route114_EventScript_RoarGentleman::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM05, Route114_EventScript_ReceivedRoar
|
||||
goto_if_set FLAG_RECEIVED_TM_ROAR, Route114_EventScript_ReceivedRoar
|
||||
msgbox Route114_Text_AllMyMonDoesIsRoarTakeThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM05
|
||||
giveitem ITEM_TM_ROAR
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM05
|
||||
setflag FLAG_RECEIVED_TM_ROAR
|
||||
msgbox Route114_Text_ExplainRoar, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -9,11 +9,11 @@ Route114_FossilManiacsHouse_OnTransition:
|
||||
Route114_FossilManiacsHouse_EventScript_FossilManiacsBrother::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM28, Route114_FossilManiacsHouse_EventScript_ReceivedDig
|
||||
goto_if_set FLAG_RECEIVED_TM_DIG, Route114_FossilManiacsHouse_EventScript_ReceivedDig
|
||||
msgbox Route114_FossilManiacsHouse_Text_HaveThisToDigLikeMyBrother, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM28
|
||||
giveitem ITEM_TM_DIG
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM28
|
||||
setflag FLAG_RECEIVED_TM_DIG
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -165,8 +165,8 @@
|
||||
"movement_range_y": 0,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "Route115_EventScript_ItemTM01",
|
||||
"flag": "FLAG_ITEM_ROUTE_115_TM01"
|
||||
"script": "Route115_EventScript_ItemTMFocusPunch",
|
||||
"flag": "FLAG_ITEM_ROUTE_115_TM_FOCUS_PUNCH"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
|
||||
|
||||
@@ -132,8 +132,8 @@ Route119_EventScript_DefeatedBrendan::
|
||||
end
|
||||
|
||||
Route119_EventScript_GiveFlyHM::
|
||||
giveitem ITEM_HM02
|
||||
setflag FLAG_RECEIVED_HM02
|
||||
giveitem ITEM_HM_FLY
|
||||
setflag FLAG_RECEIVED_HM_FLY
|
||||
return
|
||||
|
||||
Route119_EventScript_RivalExitScottArrive::
|
||||
|
||||
@@ -88,7 +88,7 @@ Route119_WeatherInstitute_2F_EventScript_ShellyDefeated::
|
||||
|
||||
Route119_WeatherInstitute_2F_EventScript_ReceiveCastform::
|
||||
msgbox Route119_WeatherInstitute_2F_Text_ThanksPleaseTakePokemon, MSGBOX_DEFAULT
|
||||
setvar VAR_TEMP_1, SPECIES_CASTFORM
|
||||
setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_CASTFORM
|
||||
givemon SPECIES_CASTFORM, 25, ITEM_MYSTIC_WATER
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, Route119_WeatherInstitute_2F_EventScript_ReceiveCastformParty
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, Route119_WeatherInstitute_2F_EventScript_ReceiveCastformPC
|
||||
|
||||
@@ -9,14 +9,14 @@ Route123_OnTransition:
|
||||
Route123_EventScript_GigaDrainGirl::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM19, Route123_EventScript_ReceivedGigaDrain
|
||||
goto_if_set FLAG_RECEIVED_TM_GIGA_DRAIN, Route123_EventScript_ReceivedGigaDrain
|
||||
msgbox Route123_Text_LoveGrassMonsHaveAny, MSGBOX_DEFAULT
|
||||
special IsGrassTypeInParty
|
||||
goto_if_eq VAR_RESULT, FALSE, Route123_EventScript_NoGrassMons
|
||||
msgbox Route123_Text_YouLikeGrassMonsTooHaveThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM19
|
||||
giveitem ITEM_TM_GIGA_DRAIN
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM19
|
||||
setflag FLAG_RECEIVED_TM_GIGA_DRAIN
|
||||
msgbox Route123_Text_CheckTreesWithMyGrassMon, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "BERRY_TREE_ROUTE_130_LIECHI",
|
||||
"script": "BerryTreeScript",
|
||||
"flag": "FLAG_TEMP_11"
|
||||
"flag": "FLAG_TEMP_HIDE_MIRAGE_ISLAND_BERRY_TREE"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_SWIMMER_M",
|
||||
|
||||
@@ -6,7 +6,8 @@ Route130_OnTransition:
|
||||
call_if_ge VAR_SOOTOPOLIS_CITY_STATE, 4, Route130_EventScript_CheckSetAbnormalWeather
|
||||
specialvar VAR_RESULT, IsMirageIslandPresent
|
||||
goto_if_eq VAR_RESULT, TRUE, Route130_EventScript_SetMirageIslandLayout
|
||||
setflag FLAG_TEMP_11
|
||||
@ Mirage Island isn't currently visible, hide any objects on the island. Only the first flag is actually associated with anything.
|
||||
setflag FLAG_TEMP_HIDE_MIRAGE_ISLAND_BERRY_TREE
|
||||
setflag FLAG_TEMP_12
|
||||
setflag FLAG_TEMP_13
|
||||
setflag FLAG_TEMP_14
|
||||
|
||||
@@ -4,10 +4,10 @@ RustboroCity_CuttersHouse_MapScripts::
|
||||
RustboroCity_CuttersHouse_EventScript_Cutter::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_HM01, RustboroCity_CuttersHouse_EventScript_ExplainCut
|
||||
goto_if_set FLAG_RECEIVED_HM_CUT, RustboroCity_CuttersHouse_EventScript_ExplainCut
|
||||
msgbox RustboroCity_CuttersHouse_Text_YouCanPutThisHMToGoodUse, MSGBOX_DEFAULT
|
||||
giveitem ITEM_HM01
|
||||
setflag FLAG_RECEIVED_HM01
|
||||
giveitem ITEM_HM_CUT
|
||||
setflag FLAG_RECEIVED_HM_CUT
|
||||
msgbox RustboroCity_CuttersHouse_Text_ExplainCut, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -144,7 +144,7 @@ RustboroCity_DevonCorp_2F_EventScript_AnorithReady::
|
||||
end
|
||||
|
||||
RustboroCity_DevonCorp_2F_EventScript_ReceiveLileep::
|
||||
setvar VAR_TEMP_1, SPECIES_LILEEP
|
||||
setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_LILEEP
|
||||
givemon SPECIES_LILEEP, 20
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepParty
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, RustboroCity_DevonCorp_2F_EventScript_ReceiveLileepPC
|
||||
@@ -189,7 +189,7 @@ RustboroCity_DevonCorp_2F_EventScript_FinishReceivingLileep::
|
||||
end
|
||||
|
||||
RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorith::
|
||||
setvar VAR_TEMP_1, SPECIES_ANORITH
|
||||
setvar VAR_TEMP_TRANSFERRED_SPECIES, SPECIES_ANORITH
|
||||
givemon SPECIES_ANORITH, 20
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PARTY, RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithParty
|
||||
goto_if_eq VAR_RESULT, MON_GIVEN_TO_PC, RustboroCity_DevonCorp_2F_EventScript_ReceiveAnorithPC
|
||||
|
||||
@@ -5,7 +5,7 @@ RustboroCity_Gym_EventScript_Roxanne::
|
||||
trainerbattle_single TRAINER_ROXANNE_1, RustboroCity_Gym_Text_RoxanneIntro, RustboroCity_Gym_Text_RoxanneDefeat, RustboroCity_Gym_EventScript_RoxanneDefeated, NO_MUSIC
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
goto_if_eq VAR_RESULT, TRUE, RustboroCity_Gym_EventScript_RoxanneRematch
|
||||
goto_if_unset FLAG_RECEIVED_TM39, RustboroCity_Gym_EventScript_GiveRockTomb
|
||||
goto_if_unset FLAG_RECEIVED_TM_ROCK_TOMB, RustboroCity_Gym_EventScript_GiveRockTomb
|
||||
msgbox RustboroCity_Gym_Text_RoxannePostBattle, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
@@ -26,9 +26,9 @@ RustboroCity_Gym_EventScript_RoxanneDefeated::
|
||||
end
|
||||
|
||||
RustboroCity_Gym_EventScript_GiveRockTomb::
|
||||
giveitem ITEM_TM39
|
||||
giveitem ITEM_TM_ROCK_TOMB
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM39
|
||||
setflag FLAG_RECEIVED_TM_ROCK_TOMB
|
||||
msgbox RustboroCity_Gym_Text_ExplainRockTomb, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -62,8 +62,8 @@ RusturfTunnel_EventScript_ClearTunnelScene::
|
||||
msgbox RusturfTunnel_Text_YouShatteredBoulderTakeHM, MSGBOX_DEFAULT
|
||||
call_if_eq VAR_TEMP_1, 2, RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer
|
||||
call_if_eq VAR_TEMP_1, 3, RusturfTunnel_EventScript_WandasBoyfriendApproachPlayer
|
||||
giveitem ITEM_HM04
|
||||
setflag FLAG_RECEIVED_HM04
|
||||
giveitem ITEM_HM_STRENGTH
|
||||
setflag FLAG_RECEIVED_HM_STRENGTH
|
||||
msgbox RusturfTunnel_Text_ExplainStrength, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
call_if_eq VAR_TEMP_1, 1, RusturfTunnel_EventScript_BoyfriendApproachWanda1
|
||||
|
||||
@@ -124,7 +124,7 @@ SSTidalCorridor_EventScript_ExitSailor::
|
||||
SSTidalCorridor_EventScript_ExitLilycove::
|
||||
setrespawn HEAL_LOCATION_LILYCOVE_CITY
|
||||
msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT
|
||||
call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver
|
||||
call_if_set FLAG_RECEIVED_TM_SNATCH, SSTidalCorridor_EventScript_HideSnatchGiver
|
||||
warp MAP_LILYCOVE_CITY_HARBOR, 8, 11
|
||||
waitstate
|
||||
release
|
||||
@@ -133,7 +133,7 @@ SSTidalCorridor_EventScript_ExitLilycove::
|
||||
SSTidalCorridor_EventScript_ExitSlateport::
|
||||
setrespawn HEAL_LOCATION_SLATEPORT_CITY
|
||||
msgbox SSTidalCorridor_Text_WeveArrived, MSGBOX_DEFAULT
|
||||
call_if_set FLAG_RECEIVED_TM49, SSTidalCorridor_EventScript_HideSnatchGiver
|
||||
call_if_set FLAG_RECEIVED_TM_SNATCH, SSTidalCorridor_EventScript_HideSnatchGiver
|
||||
warp MAP_SLATEPORT_CITY_HARBOR, 8, 11
|
||||
waitstate
|
||||
release
|
||||
|
||||
@@ -4,11 +4,11 @@ SSTidalRooms_MapScripts::
|
||||
SSTidalRooms_EventScript_SnatchGiver::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM49, SSTidalRooms_EventScript_ExplainSnatch
|
||||
goto_if_set FLAG_RECEIVED_TM_SNATCH, SSTidalRooms_EventScript_ExplainSnatch
|
||||
msgbox SSTidalRooms_Text_NotSuspiciousTakeThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM49
|
||||
giveitem ITEM_TM_SNATCH
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM49
|
||||
setflag FLAG_RECEIVED_TM_SNATCH
|
||||
msgbox SSTidalRooms_Text_ExplainSnatch, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -48,8 +48,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "SafariZone_Northwest_EventScript_ItemTM22",
|
||||
"flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM22"
|
||||
"script": "SafariZone_Northwest_EventScript_ItemTMSolarBeam",
|
||||
"flag": "FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_SOLAR_BEAM"
|
||||
}
|
||||
],
|
||||
"warp_events": [],
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"movement_range_y": 0,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "ScorchedSlab_EventScript_ItemTM11",
|
||||
"flag": "FLAG_ITEM_SCORCHED_SLAB_TM11"
|
||||
"script": "ScorchedSlab_EventScript_ItemTMSunnyDay",
|
||||
"flag": "FLAG_ITEM_SCORCHED_SLAB_TM_SUNNY_DAY"
|
||||
}
|
||||
],
|
||||
"warp_events": [
|
||||
|
||||
@@ -89,8 +89,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "SeafloorCavern_Room9_EventScript_ItemTM26",
|
||||
"flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM26"
|
||||
"script": "SeafloorCavern_Room9_EventScript_ItemTMEarthquake",
|
||||
"flag": "FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_EARTHQUAKE"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_KYOGRE_ASLEEP",
|
||||
|
||||
@@ -33,9 +33,9 @@ ShoalCave_LowTideEntranceRoom_EventScript_ShellBellExpert::
|
||||
removeitem ITEM_SHOAL_SALT, 4
|
||||
removeitem ITEM_SHOAL_SHELL, 4
|
||||
giveitem ITEM_SHELL_BELL
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull @ Never FALSE, we already made sure there will be room in the bag.
|
||||
msgbox ShoalCave_LowTideEntranceRoom_Text_ExplainShellBell, MSGBOX_DEFAULT
|
||||
setflag FLAG_TEMP_2
|
||||
setflag FLAG_TEMP_2 @ Not read. Perhaps meant to stop him from re-explaining the Shell Bell if multiple are received in one sitting.
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -24,8 +24,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "ShoalCave_LowTideIceRoom_EventScript_ItemTM07",
|
||||
"flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM07"
|
||||
"script": "ShoalCave_LowTideIceRoom_EventScript_ItemTMHail",
|
||||
"flag": "FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_HAIL"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
|
||||
|
||||
@@ -566,8 +566,8 @@ SlateportCity_EventScript_PowerTMClerk::
|
||||
|
||||
.align 2
|
||||
SlateportCity_Pokemart_PowerTMs:
|
||||
.2byte ITEM_TM10 @ Hidden Power
|
||||
.2byte ITEM_TM43 @ Secret Power
|
||||
.2byte ITEM_TM_HIDDEN_POWER
|
||||
.2byte ITEM_TM_SECRET_POWER
|
||||
.2byte ITEM_NONE
|
||||
release
|
||||
end
|
||||
|
||||
@@ -15,11 +15,11 @@ SlateportCity_BattleTentLobby_EventScript_TurnPlayerNorth::
|
||||
end
|
||||
|
||||
SlateportCity_BattleTentLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, SlateportCity_BattleTentLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, SlateportCity_BattleTentLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, SlateportCity_BattleTentLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, SlateportCity_BattleTentLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, SlateportCity_BattleTentLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, SlateportCity_BattleTentLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
SlateportCity_BattleTentLobby_EventScript_GetChallengeStatus::
|
||||
@@ -31,7 +31,7 @@ SlateportCity_BattleTentLobby_EventScript_QuitWithoutSaving::
|
||||
msgbox SlateportCity_BattleTentLobby_Text_DidntSaveBeforeQuitting, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
|
||||
releaseall
|
||||
end
|
||||
@@ -73,7 +73,7 @@ SlateportCity_BattleTentLobby_EventScript_LostChallenge::
|
||||
SlateportCity_BattleTentLobby_EventScript_EndGivePrize::
|
||||
msgbox SlateportCity_BattleTentLobby_Text_LookForwardToNextVisit, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -85,7 +85,7 @@ SlateportCity_BattleTentLobby_EventScript_ResumeChallenge::
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
setvar VAR_0x8006, 2
|
||||
goto SlateportCity_BattleTentLobby_EventScript_EnterChallenge
|
||||
|
||||
@@ -117,7 +117,7 @@ SlateportCity_BattleTentLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, SlateportCity_BattleTentLobby_EventScript_LoadPartyCancelChallenge
|
||||
|
||||
SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
slateporttent_init
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
|
||||
@@ -125,7 +125,7 @@ SlateportCity_BattleTentLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, SlateportCity_BattleTentLobby_EventScript_CancelChallengeSaveFailed
|
||||
setvar VAR_0x8006, 0
|
||||
SlateportCity_BattleTentLobby_EventScript_EnterChallenge::
|
||||
@@ -133,7 +133,7 @@ SlateportCity_BattleTentLobby_EventScript_EnterChallenge::
|
||||
closemessage
|
||||
call SlateportCity_BattleTentLobby_EventScript_WalkToDoor
|
||||
warp MAP_SLATEPORT_CITY_BATTLE_TENT_CORRIDOR, 2, 7
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
@@ -199,11 +199,11 @@ SlateportCity_BattleTentLobby_Movement_UnusedEnterDoor::
|
||||
SlateportCity_BattleTentLobby_EventScript_TormentGiver::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM41, SlateportCity_BattleTentLobby_EventScript_ReceivedTorment
|
||||
goto_if_set FLAG_RECEIVED_TM_TORMENT, SlateportCity_BattleTentLobby_EventScript_ReceivedTorment
|
||||
msgbox SlateportCity_BattleTentLobby_Text_CouldntFindMonForMe, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM41
|
||||
giveitem ITEM_TM_TORMENT
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM41
|
||||
setflag FLAG_RECEIVED_TM_TORMENT
|
||||
msgbox SlateportCity_BattleTentLobby_Text_ExplainTorment, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -151,9 +151,9 @@ SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGrunt::
|
||||
applymovement LOCALID_FAMILIAR_GRUNT, Common_Movement_Delay48
|
||||
waitmovement 0
|
||||
msgbox SlateportCity_OceanicMuseum_1F_Text_RememberMeTakeThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM46
|
||||
giveitem ITEM_TM_THIEF
|
||||
goto_if_eq VAR_RESULT, 0, SlateportCity_OceanicMuseum_1F_EventScript_NoRoomForThief
|
||||
setflag FLAG_RECEIVED_TM46
|
||||
setflag FLAG_RECEIVED_TM_THIEF
|
||||
msgbox SlateportCity_OceanicMuseum_1F_Text_HopeINeverSeeYouAgain, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
goto_if_eq VAR_FACING, DIR_NORTH, SlateportCity_OceanicMuseum_1F_EventScript_FamiliarGruntExitNorth
|
||||
|
||||
@@ -1300,7 +1300,7 @@ SootopolisCity_EventScript_Wallace::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_eq VAR_SOOTOPOLIS_CITY_STATE, 4, SootopolisCity_EventScript_GoToSkyPillar
|
||||
goto_if_set FLAG_RECEIVED_HM07, SootopolisCity_EventScript_GoToGym
|
||||
goto_if_set FLAG_RECEIVED_HM_WATERFALL, SootopolisCity_EventScript_GoToGym
|
||||
goto_if_set FLAG_SOOTOPOLIS_ARCHIE_MAXIE_LEAVE, SootopolisCity_EventScript_GiveWaterfall
|
||||
msgbox SootopolisCity_Text_AquaMagmaDidntMeanHarm, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -1308,8 +1308,8 @@ SootopolisCity_EventScript_Wallace::
|
||||
|
||||
SootopolisCity_EventScript_GiveWaterfall::
|
||||
msgbox SootopolisCity_Text_ThankYouForHelpAcceptThis, MSGBOX_DEFAULT
|
||||
giveitem ITEM_HM07
|
||||
setflag FLAG_RECEIVED_HM07
|
||||
giveitem ITEM_HM_WATERFALL
|
||||
setflag FLAG_RECEIVED_HM_WATERFALL
|
||||
msgbox SootopolisCity_Text_ExplainWaterfallGoToGym, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
call_if_eq VAR_FACING, DIR_NORTH, SootopolisCity_EventScript_WallaceMoveFromGym
|
||||
|
||||
@@ -83,7 +83,7 @@ SootopolisCity_Gym_1F_EventScript_Juan::
|
||||
trainerbattle_single TRAINER_JUAN_1, SootopolisCity_Gym_1F_Text_JuanIntro, SootopolisCity_Gym_1F_Text_JuanDefeat, SootopolisCity_Gym_1F_EventScript_JuanDefeated, NO_MUSIC
|
||||
specialvar VAR_RESULT, ShouldTryRematchBattle
|
||||
goto_if_eq VAR_RESULT, TRUE, SootopolisCity_Gym_1F_EventScript_JuanRematch
|
||||
goto_if_unset FLAG_RECEIVED_TM03, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2
|
||||
goto_if_unset FLAG_RECEIVED_TM_WATER_PULSE, SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2
|
||||
goto_if_unset FLAG_BADGE06_GET, SootopolisCity_Gym_1F_EventScript_GoGetFortreeBadge
|
||||
msgbox SootopolisCity_Gym_1F_Text_JuanPostBattle, MSGBOX_DEFAULT
|
||||
release
|
||||
@@ -116,17 +116,17 @@ SootopolisCity_Gym_1F_EventScript_JuanDefeated::
|
||||
end
|
||||
|
||||
SootopolisCity_Gym_1F_EventScript_GiveWaterPulse::
|
||||
giveitem ITEM_TM03
|
||||
giveitem ITEM_TM_WATER_PULSE
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_BagIsFull
|
||||
msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM03
|
||||
setflag FLAG_RECEIVED_TM_WATER_PULSE
|
||||
return
|
||||
|
||||
SootopolisCity_Gym_1F_EventScript_GiveWaterPulse2::
|
||||
giveitem ITEM_TM03
|
||||
giveitem ITEM_TM_WATER_PULSE
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
msgbox SootopolisCity_Gym_1F_Text_ExplainWaterPulse, MSGBOX_DEFAULT
|
||||
setflag FLAG_RECEIVED_TM03
|
||||
setflag FLAG_RECEIVED_TM_WATER_PULSE
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -4,11 +4,11 @@ SootopolisCity_House1_MapScripts::
|
||||
SootopolisCity_House1_EventScript_BrickBreakBlackBelt::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM31, SootopolisCity_House1_EventScript_ReceivedBrickBreak
|
||||
goto_if_set FLAG_RECEIVED_TM_BRICK_BREAK, SootopolisCity_House1_EventScript_ReceivedBrickBreak
|
||||
msgbox SootopolisCity_House1_Text_DevelopedThisTM, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM31
|
||||
giveitem ITEM_TM_BRICK_BREAK
|
||||
goto_if_eq VAR_RESULT, FALSE, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM31
|
||||
setflag FLAG_RECEIVED_TM_BRICK_BREAK
|
||||
msgbox SootopolisCity_House1_Text_ExplainBrickBreak, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -15,11 +15,11 @@ VerdanturfTown_BattleTentLobby_EventScript_TurnPlayerNorth::
|
||||
end
|
||||
|
||||
VerdanturfTown_BattleTentLobby_OnFrame:
|
||||
map_script_2 VAR_TEMP_0, 0, VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_SAVING, VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_PAUSED, VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_WON, VerdanturfTown_BattleTentLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_0, CHALLENGE_STATUS_LOST, VerdanturfTown_BattleTentLobby_EventScript_LostChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, 0, VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING, VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_PAUSED, VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_WON, VerdanturfTown_BattleTentLobby_EventScript_WonChallenge
|
||||
map_script_2 VAR_TEMP_CHALLENGE_STATUS, CHALLENGE_STATUS_LOST, VerdanturfTown_BattleTentLobby_EventScript_LostChallenge
|
||||
.2byte 0
|
||||
|
||||
VerdanturfTown_BattleTentLobby_EventScript_GetChallengeStatus::
|
||||
@@ -31,7 +31,7 @@ VerdanturfTown_BattleTentLobby_EventScript_QuitWithoutSaving::
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_FailedToSaveBeforeEndingChallenge, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, 0
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
frontier_set FRONTIER_DATA_LVL_MODE, FRONTIER_LVL_50
|
||||
releaseall
|
||||
end
|
||||
@@ -59,7 +59,7 @@ VerdanturfTown_BattleTentLobby_EventScript_GivePrize::
|
||||
waitfanfare
|
||||
msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -67,7 +67,7 @@ VerdanturfTown_BattleTentLobby_EventScript_NoRoomForPrize::
|
||||
msgbox BattleFrontier_BattlePalaceLobby_Text_NoSpaceForPrize, MSGBOX_DEFAULT
|
||||
waitmessage
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -87,7 +87,7 @@ VerdanturfTown_BattleTentLobby_EventScript_LostChallenge::
|
||||
waitse
|
||||
msgbox VerdanturfTown_BattleTentLobby_Text_ReturnFortified, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
releaseall
|
||||
end
|
||||
|
||||
@@ -100,7 +100,7 @@ VerdanturfTown_BattleTentLobby_EventScript_ResumeChallenge::
|
||||
playse SE_SAVE
|
||||
waitse
|
||||
frontier_set FRONTIER_DATA_PAUSED, FALSE
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge
|
||||
|
||||
VerdanturfTown_BattleTentLobby_EventScript_Attendant::
|
||||
@@ -141,7 +141,7 @@ VerdanturfTown_BattleTentLobby_EventScript_TryEnterChallenge::
|
||||
case MULTI_B_PRESSED, VerdanturfTown_BattleTentLobby_EventScript_LoadPartyCancelChallenge
|
||||
|
||||
VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge::
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
frontier_set FRONTIER_DATA_SELECTED_MON_ORDER
|
||||
verdanturftent_init
|
||||
frontier_set FRONTIER_DATA_CHALLENGE_STATUS, CHALLENGE_STATUS_SAVING
|
||||
@@ -150,7 +150,7 @@ VerdanturfTown_BattleTentLobby_EventScript_SaveBeforeChallenge::
|
||||
closemessage
|
||||
delay 2
|
||||
call Common_EventScript_SaveGame
|
||||
setvar VAR_TEMP_0, 255
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 255
|
||||
goto_if_eq VAR_RESULT, 0, VerdanturfTown_BattleTentLobby_EventScript_CancelChallengeSaveFailed
|
||||
VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge::
|
||||
special SavePlayerParty
|
||||
@@ -159,7 +159,7 @@ VerdanturfTown_BattleTentLobby_EventScript_EnterChallenge::
|
||||
closemessage
|
||||
call VerdanturfTown_BattleTentLobby_EventScript_WalkToDoor
|
||||
warp MAP_VERDANTURF_TOWN_BATTLE_TENT_CORRIDOR, 2, 7
|
||||
setvar VAR_TEMP_0, 0
|
||||
setvar VAR_TEMP_CHALLENGE_STATUS, 0
|
||||
waitstate
|
||||
end
|
||||
|
||||
@@ -225,11 +225,11 @@ VerdanturfTown_BattleTentLobby_Movement_PlayerEnterDoor:
|
||||
VerdanturfTown_BattleTentLobby_EventScript_AttractGiver::
|
||||
lock
|
||||
faceplayer
|
||||
goto_if_set FLAG_RECEIVED_TM45, VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract
|
||||
goto_if_set FLAG_RECEIVED_TM_ATTRACT, VerdanturfTown_BattleTentLobby_EventScript_ReceivedAttract
|
||||
msgbox VerdanturfTown_BattleTentLobby_Text_AttractionRunsDeep, MSGBOX_DEFAULT
|
||||
giveitem ITEM_TM45
|
||||
giveitem ITEM_TM_ATTRACT
|
||||
goto_if_eq VAR_RESULT, 0, Common_EventScript_ShowBagIsFull
|
||||
setflag FLAG_RECEIVED_TM45
|
||||
setflag FLAG_RECEIVED_TM_ATTRACT
|
||||
msgbox VerdanturfTown_BattleTentLobby_Text_AttractionMutual, MSGBOX_DEFAULT
|
||||
release
|
||||
end
|
||||
|
||||
@@ -245,8 +245,8 @@
|
||||
"movement_range_y": 1,
|
||||
"trainer_type": "TRAINER_TYPE_NONE",
|
||||
"trainer_sight_or_berry_tree_id": "0",
|
||||
"script": "VictoryRoad_B1F_EventScript_ItemTM29",
|
||||
"flag": "FLAG_ITEM_VICTORY_ROAD_B1F_TM29"
|
||||
"script": "VictoryRoad_B1F_EventScript_ItemTMPsychic",
|
||||
"flag": "FLAG_ITEM_VICTORY_ROAD_B1F_TM_PSYCHIC"
|
||||
},
|
||||
{
|
||||
"graphics_id": "OBJ_EVENT_GFX_ITEM_BALL",
|
||||
|
||||
@@ -743,37 +743,36 @@ EventScript_TradeCenter_Chair3::
|
||||
waitstate
|
||||
end
|
||||
|
||||
@ VAR_TEMP_1 for below scripts set by ReceiveGiftItem
|
||||
EventScript_RecordCenter_Spot0::
|
||||
setvar VAR_0x8005, 0
|
||||
special RecordMixingPlayerSpotTriggered
|
||||
waitstate
|
||||
goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
|
||||
goto_if_ne VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
|
||||
end
|
||||
|
||||
EventScript_RecordCenter_Spot1::
|
||||
setvar VAR_0x8005, 1
|
||||
special RecordMixingPlayerSpotTriggered
|
||||
waitstate
|
||||
goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
|
||||
goto_if_ne VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
|
||||
end
|
||||
|
||||
EventScript_RecordCenter_Spot2::
|
||||
setvar VAR_0x8005, 2
|
||||
special RecordMixingPlayerSpotTriggered
|
||||
waitstate
|
||||
goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
|
||||
goto_if_ne VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
|
||||
end
|
||||
|
||||
EventScript_RecordCenter_Spot3::
|
||||
setvar VAR_0x8005, 3
|
||||
special RecordMixingPlayerSpotTriggered
|
||||
waitstate
|
||||
goto_if_ne VAR_TEMP_1, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
|
||||
goto_if_ne VAR_TEMP_RECORD_MIX_GIFT_ITEM, ITEM_NONE, RecordCorner_EventScript_ReceivedGiftItem
|
||||
end
|
||||
|
||||
RecordCorner_EventScript_ReceivedGiftItem::
|
||||
bufferitemname STR_VAR_2, VAR_TEMP_1
|
||||
bufferitemname STR_VAR_2, VAR_TEMP_RECORD_MIX_GIFT_ITEM
|
||||
message RecordCorner_Text_PlayerSentOverOneX
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
@@ -814,7 +813,7 @@ TradeCenter_EventScript_Attendant::
|
||||
end
|
||||
|
||||
RecordCorner_EventScript_Attendant::
|
||||
goto_if_ne VAR_TEMP_0, 0, RecordCorner_EventScript_AlreadyMixed
|
||||
goto_if_ne VAR_TEMP_MIXED_RECORDS, 0, RecordCorner_EventScript_AlreadyMixed
|
||||
special Script_FacePlayer
|
||||
message RecordCorner_Text_TakeSeatAndWait
|
||||
waitmessage
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
.if DEBUG_OVERWORLD_MENU == TRUE
|
||||
|
||||
Debug_ShowFieldMessageStringVar4::
|
||||
special ShowFieldMessageStringVar4
|
||||
Debug_MessageEnd:
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
releaseall
|
||||
end
|
||||
|
||||
Debug_ShowFieldMessageStringVar4::
|
||||
special ShowFieldMessageStringVar4
|
||||
goto Debug_MessageEnd
|
||||
|
||||
Debug_CheatStart::
|
||||
lockall
|
||||
setflag FLAG_SYS_POKEMON_GET
|
||||
setflag FLAG_RESCUED_BIRCH
|
||||
setflag FLAG_HIDE_ROUTE_101_BIRCH_ZIGZAGOON_BATTLE
|
||||
@@ -44,12 +45,8 @@ Debug_CheatStart::
|
||||
end
|
||||
|
||||
Debug_FlagsNotSetOverworldConfigMessage::
|
||||
lockall
|
||||
message Debug_FlagsNotSetOverworldConfigMessage_Text
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
releaseall
|
||||
end
|
||||
goto Debug_MessageEnd
|
||||
|
||||
Debug_FlagsNotSetOverworldConfigMessage_Text:
|
||||
.string "Feature unavailable!\n"
|
||||
@@ -57,18 +54,21 @@ Debug_FlagsNotSetOverworldConfigMessage_Text:
|
||||
.string "'include/config/overworld.h'!$"
|
||||
|
||||
Debug_FlagsNotSetBattleConfigMessage::
|
||||
lockall
|
||||
message Debug_FlagsNotSetBattleConfigMessage_Text
|
||||
waitmessage
|
||||
waitbuttonpress
|
||||
releaseall
|
||||
end
|
||||
goto Debug_MessageEnd
|
||||
|
||||
Debug_FlagsNotSetBattleConfigMessage_Text:
|
||||
.string "Feature unavailable!\n"
|
||||
.string "Please define a usable flag in:\l"
|
||||
.string "'include/config/battle.h'!$"
|
||||
|
||||
Debug_BoxFilledMessage::
|
||||
message Debug_BoxFilledMessage_Text
|
||||
goto Debug_MessageEnd
|
||||
|
||||
Debug_BoxFilledMessage_Text:
|
||||
.string "Storage boxes filled!$"
|
||||
|
||||
Debug_Script_1::
|
||||
end
|
||||
|
||||
@@ -112,4 +112,59 @@ Debug_SaveBlock2Size::
|
||||
Debug_PokemonStorageSize::
|
||||
.string "{PKMN}Storage size: {STR_VAR_1}/{STR_VAR_2}.$"
|
||||
|
||||
Debug_HatchAnEgg::
|
||||
lockall
|
||||
getpartysize
|
||||
goto_if_eq VAR_RESULT, 0, Debug_HatchAnEgg_NoPokemon
|
||||
special ChoosePartyMon
|
||||
waitstate
|
||||
goto_if_ge VAR_0x8004, PARTY_SIZE, Debug_HatchAnEgg_End
|
||||
specialvar VAR_RESULT, ScriptGetPartyMonSpecies
|
||||
goto_if_ne VAR_RESULT, SPECIES_EGG, DebugScript_HatchAnEgg_CantForceHatch
|
||||
special EggHatch
|
||||
waitstate
|
||||
Debug_HatchAnEgg_End::
|
||||
releaseall
|
||||
end
|
||||
|
||||
Debug_HatchAnEgg_NoPokemon::
|
||||
msgbox DebugScript_HatchAnEgg_Text_EmptyParty, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
DebugScript_HatchAnEgg_CantForceHatch::
|
||||
msgbox DebugScript_HatchAnEgg_Text_NotAnEgg, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
DebugScript_HatchAnEgg_Text_EmptyParty::
|
||||
.string "You have no Pokémon nor Eggs.$"
|
||||
|
||||
DebugScript_HatchAnEgg_Text_NotAnEgg::
|
||||
.string "That's not a Pokémon Egg.$"
|
||||
|
||||
DebugScript_ZeroDaycareMons::
|
||||
msgbox DebugText_DaycareNoPokemon, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
DebugScript_OneDaycareMons::
|
||||
msgbox DebugText_DaycareOnePokemon, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
DebugScript_DaycareMonsNotCompatible::
|
||||
msgbox DebugText_DaycarePokemonNotCompatible, MSGBOX_DEFAULT
|
||||
releaseall
|
||||
end
|
||||
|
||||
DebugText_DaycareNoPokemon:
|
||||
.string "You have no Pokémon at Daycare.$"
|
||||
|
||||
DebugText_DaycareOnePokemon:
|
||||
.string "You have only one Pokémon at Daycare.$"
|
||||
|
||||
DebugText_DaycarePokemonNotCompatible:
|
||||
.string "Your Pokémon at Daycare can't\nhave babies together!$"
|
||||
|
||||
.endif
|
||||
|
||||
@@ -202,7 +202,7 @@ GabbyAndTy_EventScript_FirstInterview::
|
||||
call_if_eq VAR_FACING, DIR_NORTH, GabbyAndTy_EventScript_FacePlayerNorth
|
||||
call_if_eq VAR_FACING, DIR_SOUTH, GabbyAndTy_EventScript_FacePlayerSouth
|
||||
call_if_eq VAR_FACING, DIR_EAST, GabbyAndTy_EventScript_FacePlayerEast
|
||||
goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
|
||||
goto_if_set FLAG_TEMP_SKIP_GABBY_INTERVIEW, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
|
||||
msgbox GabbyAndTy_Text_WhoAreYouInterview, MSGBOX_YESNO
|
||||
goto GabbyAndTy_EventScript_Interview
|
||||
end
|
||||
@@ -230,7 +230,7 @@ GabbyAndTy_EventScript_RequestInterview::
|
||||
call_if_eq VAR_FACING, DIR_NORTH, GabbyAndTy_EventScript_FacePlayerNorth
|
||||
call_if_eq VAR_FACING, DIR_SOUTH, GabbyAndTy_EventScript_FacePlayerSouth
|
||||
call_if_eq VAR_FACING, DIR_EAST, GabbyAndTy_EventScript_FacePlayerEast
|
||||
goto_if_set FLAG_TEMP_1, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
|
||||
goto_if_set FLAG_TEMP_SKIP_GABBY_INTERVIEW, GabbyAndTy_EventScript_KeepingAnEyeOutForYou
|
||||
specialvar VAR_RESULT, GabbyAndTyGetLastQuote
|
||||
goto_if_eq VAR_RESULT, 0, GabbyAndTy_EventScript_DidntInterviewLastTime
|
||||
msgbox GabbyAndTy_Text_QuoteFromLastInterview, MSGBOX_DEFAULT
|
||||
@@ -295,13 +295,13 @@ GabbyAndTy_EventScript_Interview::
|
||||
goto_if_eq VAR_RESULT, 0, GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut
|
||||
msgbox GabbyAndTy_Text_PerfectWellBeSeeingYou, MSGBOX_DEFAULT
|
||||
special GabbyAndTyAfterInterview
|
||||
setflag FLAG_TEMP_1
|
||||
setflag FLAG_TEMP_SKIP_GABBY_INTERVIEW
|
||||
release
|
||||
end
|
||||
|
||||
GabbyAndTy_EventScript_DontGiveUpKeepingEyeOut::
|
||||
msgbox GabbyAndTy_Text_DontGiveUpKeepingEyeOut, MSGBOX_DEFAULT
|
||||
setflag FLAG_TEMP_1
|
||||
setflag FLAG_TEMP_SKIP_GABBY_INTERVIEW
|
||||
release
|
||||
end
|
||||
|
||||
|
||||
@@ -58,8 +58,8 @@ Route110_EventScript_ItemElixir::
|
||||
finditem ITEM_ELIXIR
|
||||
end
|
||||
|
||||
Route111_EventScript_ItemTM37::
|
||||
finditem ITEM_TM37
|
||||
Route111_EventScript_ItemTMSandstorm::
|
||||
finditem ITEM_TM_SANDSTORM
|
||||
end
|
||||
|
||||
Route111_EventScript_ItemStardust::
|
||||
@@ -106,8 +106,8 @@ Route115_EventScript_ItemSuperPotion::
|
||||
finditem ITEM_SUPER_POTION
|
||||
end
|
||||
|
||||
Route115_EventScript_ItemTM01::
|
||||
finditem ITEM_TM01
|
||||
Route115_EventScript_ItemTMFocusPunch::
|
||||
finditem ITEM_TM_FOCUS_PUNCH
|
||||
end
|
||||
|
||||
Route115_EventScript_ItemIron::
|
||||
@@ -374,12 +374,12 @@ FieryPath_EventScript_ItemFireStone::
|
||||
finditem ITEM_FIRE_STONE
|
||||
end
|
||||
|
||||
FieryPath_EventScript_ItemTM06::
|
||||
finditem ITEM_TM06
|
||||
FieryPath_EventScript_ItemTMToxic::
|
||||
finditem ITEM_TM_TOXIC
|
||||
end
|
||||
|
||||
MeteorFalls_1F_1R_EventScript_ItemTM23::
|
||||
finditem ITEM_TM23
|
||||
MeteorFalls_1F_1R_EventScript_ItemTMIronTail::
|
||||
finditem ITEM_TM_IRON_TAIL
|
||||
end
|
||||
|
||||
MeteorFalls_1F_1R_EventScript_ItemFullHeal::
|
||||
@@ -394,8 +394,8 @@ MeteorFalls_1F_1R_EventScript_ItemPPUP::
|
||||
finditem ITEM_PP_UP
|
||||
end
|
||||
|
||||
MeteorFalls_B1F_2R_EventScript_ItemTM02::
|
||||
finditem ITEM_TM02
|
||||
MeteorFalls_B1F_2R_EventScript_ItemTMDragonClaw::
|
||||
finditem ITEM_TM_DRAGON_CLAW
|
||||
end
|
||||
|
||||
NewMauville_Inside_EventScript_ItemUltraBall::
|
||||
@@ -430,8 +430,8 @@ AbandonedShip_Rooms2_B1F_EventScript_ItemDiveBall::
|
||||
finditem ITEM_DIVE_BALL
|
||||
end
|
||||
|
||||
AbandonedShip_Room_B1F_EventScript_ItemTM13::
|
||||
finditem ITEM_TM13
|
||||
AbandonedShip_Room_B1F_EventScript_ItemTMIceBeam::
|
||||
finditem ITEM_TM_ICE_BEAM
|
||||
end
|
||||
|
||||
AbandonedShip_Rooms2_1F_EventScript_ItemRevive::
|
||||
@@ -454,16 +454,16 @@ AbandonedShip_HiddenFloorRooms_EventScript_ItemWaterStone::
|
||||
finditem ITEM_WATER_STONE
|
||||
end
|
||||
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_ItemTM18::
|
||||
finditem ITEM_TM18
|
||||
AbandonedShip_HiddenFloorRooms_EventScript_ItemTMRainDance::
|
||||
finditem ITEM_TM_RAIN_DANCE
|
||||
end
|
||||
|
||||
ScorchedSlab_EventScript_ItemTM11::
|
||||
finditem ITEM_TM11
|
||||
ScorchedSlab_EventScript_ItemTMSunnyDay::
|
||||
finditem ITEM_TM_SUNNY_DAY
|
||||
end
|
||||
|
||||
SafariZone_Northwest_EventScript_ItemTM22::
|
||||
finditem ITEM_TM22
|
||||
SafariZone_Northwest_EventScript_ItemTMSolarBeam::
|
||||
finditem ITEM_TM_SOLAR_BEAM
|
||||
end
|
||||
|
||||
SafariZone_North_EventScript_ItemCalcium::
|
||||
@@ -498,16 +498,16 @@ MtPyre_5F_EventScript_ItemLaxIncense::
|
||||
finditem ITEM_LAX_INCENSE
|
||||
end
|
||||
|
||||
MtPyre_6F_EventScript_ItemTM30::
|
||||
finditem ITEM_TM30
|
||||
MtPyre_6F_EventScript_ItemTMShadowBall::
|
||||
finditem ITEM_TM_SHADOW_BALL
|
||||
end
|
||||
|
||||
MtPyre_Exterior_EventScript_ItemMaxPotion::
|
||||
finditem ITEM_MAX_POTION
|
||||
end
|
||||
|
||||
MtPyre_Exterior_EventScript_ItemTM48::
|
||||
finditem ITEM_TM48
|
||||
MtPyre_Exterior_EventScript_ItemTMSkillSwap::
|
||||
finditem ITEM_TM_SKILL_SWAP
|
||||
end
|
||||
|
||||
AquaHideout_B1F_EventScript_ItemMasterBall::
|
||||
@@ -554,16 +554,16 @@ ShoalCave_LowTideStairsRoom_EventScript_ItemIceHeal::
|
||||
finditem ITEM_ICE_HEAL
|
||||
end
|
||||
|
||||
ShoalCave_LowTideIceRoom_EventScript_ItemTM07::
|
||||
finditem ITEM_TM07
|
||||
ShoalCave_LowTideIceRoom_EventScript_ItemTMHail::
|
||||
finditem ITEM_TM_HAIL
|
||||
end
|
||||
|
||||
ShoalCave_LowTideIceRoom_EventScript_ItemNeverMeltIce::
|
||||
finditem ITEM_NEVER_MELT_ICE
|
||||
end
|
||||
|
||||
SeafloorCavern_Room9_EventScript_ItemTM26::
|
||||
finditem ITEM_TM26
|
||||
SeafloorCavern_Room9_EventScript_ItemTMEarthquake::
|
||||
finditem ITEM_TM_EARTHQUAKE
|
||||
end
|
||||
|
||||
Route110_TrickHousePuzzle1_EventScript_ItemOrangeMail::
|
||||
@@ -610,8 +610,8 @@ VictoryRoad_1F_EventScript_ItemPPUp::
|
||||
finditem ITEM_PP_UP
|
||||
end
|
||||
|
||||
VictoryRoad_B1F_EventScript_ItemTM29::
|
||||
finditem ITEM_TM29
|
||||
VictoryRoad_B1F_EventScript_ItemTMPsychic::
|
||||
finditem ITEM_TM_PSYCHIC
|
||||
end
|
||||
|
||||
VictoryRoad_B1F_EventScript_ItemFullRestore::
|
||||
|
||||
@@ -15,7 +15,7 @@ Common_EventScript_NameReceivedBoxMon::
|
||||
|
||||
Common_EventScript_TransferredToPC::
|
||||
bufferboxname STR_VAR_1, VAR_PC_BOX_TO_SEND_MON
|
||||
bufferspeciesname STR_VAR_2, VAR_TEMP_1
|
||||
bufferspeciesname STR_VAR_2, VAR_TEMP_TRANSFERRED_SPECIES
|
||||
call_if_unset FLAG_SYS_PC_LANETTE, EventScript_TransferredSomeonesPC
|
||||
call_if_set FLAG_SYS_PC_LANETTE, EventScript_TransferredLanettesPC
|
||||
return
|
||||
|
||||
@@ -43,7 +43,7 @@ Route111_EventScript_SecretPowerMan::
|
||||
end
|
||||
|
||||
Route111_EventScript_GiveSecretPower::
|
||||
giveitem ITEM_TM43
|
||||
giveitem ITEM_TM_SECRET_POWER
|
||||
goto_if_eq VAR_RESULT, FALSE, Route111_EventScript_NoRoomForSecretPower
|
||||
msgbox Route111_Text_ExplainSecretPower, MSGBOX_DEFAULT
|
||||
closemessage
|
||||
|
||||
@@ -421,13 +421,11 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset)
|
||||
|
||||
if (!IsInvalidBg32(bg))
|
||||
{
|
||||
u16 paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2);
|
||||
u16 paletteOffset = PLTT_OFFSET_4BPP(sGpuBgConfigs2[bg].basePalette) + (destOffset * 2);
|
||||
cursor = RequestDma3Copy(src, (void *)(paletteOffset + BG_PLTT), size, 0);
|
||||
|
||||
if (cursor == -1)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
282
gflib/sprite.c
282
gflib/sprite.c
@@ -48,11 +48,7 @@ struct OamDimensions
|
||||
s8 height;
|
||||
};
|
||||
|
||||
static void UpdateOamCoords(void);
|
||||
static void BuildSpritePriorities(void);
|
||||
static void SortSprites(void);
|
||||
static void CopyMatricesToOamBuffer(void);
|
||||
static void AddSpritesToOamBuffer(void);
|
||||
static void SortSprites(u32 *spritePriorities, s32 n);
|
||||
static u8 CreateSpriteAt(u8 index, const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority);
|
||||
static void ResetOamMatrices(void);
|
||||
static void ResetSprite(struct Sprite *sprite);
|
||||
@@ -280,12 +276,12 @@ u32 gOamMatrixAllocBitmap;
|
||||
u8 gReservedSpritePaletteCount;
|
||||
|
||||
EWRAM_DATA struct Sprite gSprites[MAX_SPRITES + 1] = {0};
|
||||
EWRAM_DATA static u16 sSpritePriorities[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA static u8 sSpriteOrder[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA static bool8 sShouldProcessSpriteCopyRequests = 0;
|
||||
EWRAM_DATA static u8 sSpriteCopyRequestCount = 0;
|
||||
EWRAM_DATA static struct SpriteCopyRequest sSpriteCopyRequests[MAX_SPRITES] = {0};
|
||||
EWRAM_DATA u8 gOamLimit = 0;
|
||||
static EWRAM_DATA u8 gOamDummyIndex = 0;
|
||||
EWRAM_DATA u16 gReservedSpriteTileCount = 0;
|
||||
EWRAM_DATA static u8 sSpriteTileAllocBitmap[128] = {0};
|
||||
EWRAM_DATA s16 gSpriteCoordOffsetX = 0;
|
||||
@@ -296,6 +292,7 @@ EWRAM_DATA bool8 gAffineAnimsDisabled = FALSE;
|
||||
void ResetSpriteData(void)
|
||||
{
|
||||
ResetOamRange(0, 128);
|
||||
gOamDummyIndex = 0;
|
||||
ResetAllSprites();
|
||||
ClearSpriteCopyRequests();
|
||||
ResetAffineAnimData();
|
||||
@@ -326,179 +323,128 @@ void AnimateSprites(void)
|
||||
|
||||
void BuildOamBuffer(void)
|
||||
{
|
||||
u8 temp;
|
||||
UpdateOamCoords();
|
||||
BuildSpritePriorities();
|
||||
SortSprites();
|
||||
temp = gMain.oamLoadDisabled;
|
||||
bool32 oamLoadDisabled;
|
||||
u32 i, stride;
|
||||
u8 oamIndex;
|
||||
|
||||
// All attributes which affect sorting packed into a single u32:
|
||||
// { priority:2, subpriority:8, y:9, :5, index:8 }.
|
||||
// Index has its own byte even though it only needs 6 bits so that
|
||||
// we can load it with a ldrb instead of having to mask out the
|
||||
// bottom 6 bits.
|
||||
u32 spritePriorities[MAX_SPRITES];
|
||||
s32 toSort = 0;
|
||||
u8 skippedSprites[MAX_SPRITES];
|
||||
u32 skippedSpritesN = 0;
|
||||
u32 matrices = 0;
|
||||
|
||||
for (i = 0; i < MAX_SPRITES; i++)
|
||||
{
|
||||
// Reuse existing sSpriteOrder because we expect the order to be
|
||||
// relatively stable between frames.
|
||||
u32 index = sSpriteOrder[i];
|
||||
struct Sprite *sprite = &gSprites[index];
|
||||
s32 y;
|
||||
if (!sprite->inUse || sprite->invisible)
|
||||
{
|
||||
skippedSprites[skippedSpritesN++] = index;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (sprite->oam.affineMode & ST_OAM_AFFINE_ON_MASK)
|
||||
matrices |= 1 << sprite->oam.matrixNum;
|
||||
|
||||
if (sprite->coordOffsetEnabled)
|
||||
{
|
||||
sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
|
||||
sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
|
||||
}
|
||||
|
||||
y = sprite->oam.y;
|
||||
if (y >= DISPLAY_HEIGHT)
|
||||
{
|
||||
y -= 256;
|
||||
}
|
||||
else if (sprite->oam.affineMode == ST_OAM_AFFINE_DOUBLE
|
||||
&& sprite->oam.size == ST_OAM_SIZE_3)
|
||||
{
|
||||
u32 shape = sprite->oam.shape;
|
||||
if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
|
||||
{
|
||||
if (y > 128)
|
||||
y -= 256;
|
||||
}
|
||||
}
|
||||
|
||||
// y in [-128...159], so (159 - y) in [0..287].
|
||||
spritePriorities[toSort++]
|
||||
= (sprite->oam.priority << 30)
|
||||
| (sprite->subpriority << 22)
|
||||
| (((159 - y) & 0x1FF) << 13)
|
||||
| (index << 0);
|
||||
}
|
||||
|
||||
SortSprites(spritePriorities, toSort);
|
||||
|
||||
for (i = 0; i < toSort; i++)
|
||||
sSpriteOrder[i] = spritePriorities[i] & 0xFF;
|
||||
for (i = 0; i < skippedSpritesN; i++)
|
||||
sSpriteOrder[toSort + i] = skippedSprites[i];
|
||||
|
||||
oamLoadDisabled = gMain.oamLoadDisabled;
|
||||
gMain.oamLoadDisabled = TRUE;
|
||||
AddSpritesToOamBuffer();
|
||||
CopyMatricesToOamBuffer();
|
||||
gMain.oamLoadDisabled = temp;
|
||||
|
||||
for (i = 0, oamIndex = 0; i < toSort; i++)
|
||||
{
|
||||
if (AddSpriteToOamBuffer(&gSprites[spritePriorities[i] & 0xFF], &oamIndex))
|
||||
break;
|
||||
}
|
||||
|
||||
for (i = oamIndex; i < gOamDummyIndex; i++)
|
||||
gMain.oamBuffer[i] = gDummyOamData;
|
||||
gOamDummyIndex = oamIndex;
|
||||
|
||||
for (i = 0; matrices != 0; i++, matrices >>= 1)
|
||||
{
|
||||
if (matrices & 1)
|
||||
{
|
||||
u32 base = 4 * i;
|
||||
gMain.oamBuffer[base + 0].affineParam = gOamMatrices[i].a;
|
||||
gMain.oamBuffer[base + 1].affineParam = gOamMatrices[i].b;
|
||||
gMain.oamBuffer[base + 2].affineParam = gOamMatrices[i].c;
|
||||
gMain.oamBuffer[base + 3].affineParam = gOamMatrices[i].d;
|
||||
}
|
||||
}
|
||||
|
||||
gMain.oamLoadDisabled = oamLoadDisabled;
|
||||
sShouldProcessSpriteCopyRequests = TRUE;
|
||||
}
|
||||
|
||||
void UpdateOamCoords(void)
|
||||
static inline void InsertionSort(u32 *spritePriorities, s32 n)
|
||||
{
|
||||
u8 i;
|
||||
for (i = 0; i < MAX_SPRITES; i++)
|
||||
s32 i = 1;
|
||||
while (i < n)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[i];
|
||||
if (sprite->inUse && !sprite->invisible)
|
||||
u32 x = spritePriorities[i];
|
||||
s32 j = i - 1;
|
||||
while (j >= 0 && spritePriorities[j] > x)
|
||||
{
|
||||
if (sprite->coordOffsetEnabled)
|
||||
{
|
||||
sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX + gSpriteCoordOffsetX;
|
||||
sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY + gSpriteCoordOffsetY;
|
||||
}
|
||||
else
|
||||
{
|
||||
sprite->oam.x = sprite->x + sprite->x2 + sprite->centerToCornerVecX;
|
||||
sprite->oam.y = sprite->y + sprite->y2 + sprite->centerToCornerVecY;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BuildSpritePriorities(void)
|
||||
{
|
||||
u16 i;
|
||||
for (i = 0; i < MAX_SPRITES; i++)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[i];
|
||||
u16 priority = sprite->subpriority | (sprite->oam.priority << 8);
|
||||
sSpritePriorities[i] = priority;
|
||||
}
|
||||
}
|
||||
|
||||
void SortSprites(void)
|
||||
{
|
||||
u8 i;
|
||||
for (i = 1; i < MAX_SPRITES; i++)
|
||||
{
|
||||
u8 j = i;
|
||||
struct Sprite *sprite1 = &gSprites[sSpriteOrder[i - 1]];
|
||||
struct Sprite *sprite2 = &gSprites[sSpriteOrder[i]];
|
||||
u16 sprite1Priority = sSpritePriorities[sSpriteOrder[i - 1]];
|
||||
u16 sprite2Priority = sSpritePriorities[sSpriteOrder[i]];
|
||||
s16 sprite1Y = sprite1->oam.y;
|
||||
s16 sprite2Y = sprite2->oam.y;
|
||||
|
||||
if (sprite1Y >= DISPLAY_HEIGHT)
|
||||
sprite1Y = sprite1Y - 256;
|
||||
|
||||
if (sprite2Y >= DISPLAY_HEIGHT)
|
||||
sprite2Y = sprite2Y - 256;
|
||||
|
||||
if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE
|
||||
&& sprite1->oam.size == ST_OAM_SIZE_3)
|
||||
{
|
||||
u32 shape = sprite1->oam.shape;
|
||||
if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
|
||||
{
|
||||
if (sprite1Y > 128)
|
||||
sprite1Y = sprite1Y - 256;
|
||||
}
|
||||
}
|
||||
|
||||
if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE
|
||||
&& sprite2->oam.size == ST_OAM_SIZE_3)
|
||||
{
|
||||
u32 shape = sprite2->oam.shape;
|
||||
if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
|
||||
{
|
||||
if (sprite2Y > 128)
|
||||
sprite2Y = sprite2Y - 256;
|
||||
}
|
||||
}
|
||||
|
||||
while (j > 0
|
||||
&& ((sprite1Priority > sprite2Priority)
|
||||
|| (sprite1Priority == sprite2Priority && sprite1Y < sprite2Y)))
|
||||
{
|
||||
u8 temp = sSpriteOrder[j];
|
||||
sSpriteOrder[j] = sSpriteOrder[j - 1];
|
||||
sSpriteOrder[j - 1] = temp;
|
||||
|
||||
// UB: If j equals 1, then j-- makes j equal 0.
|
||||
// Then, sSpriteOrder[-1] gets accessed below.
|
||||
// Although this doesn't result in a bug in the ROM,
|
||||
// the behavior is undefined.
|
||||
spritePriorities[j + 1] = spritePriorities[j];
|
||||
j--;
|
||||
#ifdef UBFIX
|
||||
if (j == 0)
|
||||
break;
|
||||
#endif
|
||||
|
||||
sprite1 = &gSprites[sSpriteOrder[j - 1]];
|
||||
sprite2 = &gSprites[sSpriteOrder[j]];
|
||||
sprite1Priority = sSpritePriorities[sSpriteOrder[j - 1]];
|
||||
sprite2Priority = sSpritePriorities[sSpriteOrder[j]];
|
||||
sprite1Y = sprite1->oam.y;
|
||||
sprite2Y = sprite2->oam.y;
|
||||
|
||||
if (sprite1Y >= DISPLAY_HEIGHT)
|
||||
sprite1Y = sprite1Y - 256;
|
||||
|
||||
if (sprite2Y >= DISPLAY_HEIGHT)
|
||||
sprite2Y = sprite2Y - 256;
|
||||
|
||||
if (sprite1->oam.affineMode == ST_OAM_AFFINE_DOUBLE
|
||||
&& sprite1->oam.size == ST_OAM_SIZE_3)
|
||||
{
|
||||
u32 shape = sprite1->oam.shape;
|
||||
if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
|
||||
{
|
||||
if (sprite1Y > 128)
|
||||
sprite1Y = sprite1Y - 256;
|
||||
}
|
||||
}
|
||||
|
||||
if (sprite2->oam.affineMode == ST_OAM_AFFINE_DOUBLE
|
||||
&& sprite2->oam.size == ST_OAM_SIZE_3)
|
||||
{
|
||||
u32 shape = sprite2->oam.shape;
|
||||
if (shape == ST_OAM_SQUARE || shape == ST_OAM_V_RECTANGLE)
|
||||
{
|
||||
if (sprite2Y > 128)
|
||||
sprite2Y = sprite2Y - 256;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void CopyMatricesToOamBuffer(void)
|
||||
{
|
||||
u8 i;
|
||||
for (i = 0; i < OAM_MATRIX_COUNT; i++)
|
||||
{
|
||||
u32 base = 4 * i;
|
||||
gMain.oamBuffer[base + 0].affineParam = gOamMatrices[i].a;
|
||||
gMain.oamBuffer[base + 1].affineParam = gOamMatrices[i].b;
|
||||
gMain.oamBuffer[base + 2].affineParam = gOamMatrices[i].c;
|
||||
gMain.oamBuffer[base + 3].affineParam = gOamMatrices[i].d;
|
||||
}
|
||||
}
|
||||
|
||||
void AddSpritesToOamBuffer(void)
|
||||
{
|
||||
u8 i = 0;
|
||||
u8 oamIndex = 0;
|
||||
|
||||
while (i < MAX_SPRITES)
|
||||
{
|
||||
struct Sprite *sprite = &gSprites[sSpriteOrder[i]];
|
||||
if (sprite->inUse && !sprite->invisible && AddSpriteToOamBuffer(sprite, &oamIndex))
|
||||
return;
|
||||
spritePriorities[j + 1] = x;
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
while (oamIndex < gOamLimit)
|
||||
{
|
||||
gMain.oamBuffer[oamIndex] = gDummyOamData;
|
||||
oamIndex++;
|
||||
}
|
||||
static void SortSprites(u32 *spritePriorities, s32 n)
|
||||
{
|
||||
InsertionSort(spritePriorities, n);
|
||||
}
|
||||
|
||||
u8 CreateSprite(const struct SpriteTemplate *template, s16 x, s16 y, u8 subpriority)
|
||||
@@ -849,7 +795,7 @@ void CopyToSprites(u8 *src)
|
||||
|
||||
void ResetAllSprites(void)
|
||||
{
|
||||
u8 i;
|
||||
u32 i;
|
||||
|
||||
for (i = 0; i < MAX_SPRITES; i++)
|
||||
{
|
||||
|
||||
19
graphics/battle_anims/backgrounds/chloroblast.pal
Normal file
19
graphics/battle_anims/backgrounds/chloroblast.pal
Normal file
@@ -0,0 +1,19 @@
|
||||
JASC-PAL
|
||||
0100
|
||||
16
|
||||
0 164 255
|
||||
16 123 41
|
||||
32 164 82
|
||||
57 205 131
|
||||
82 238 172
|
||||
139 246 205
|
||||
197 255 230
|
||||
238 255 238
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
0 0 0
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 441 B After Width: | Height: | Size: 398 B |
Binary file not shown.
|
Before Width: | Height: | Size: 446 B After Width: | Height: | Size: 430 B |
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user