Version 1.6.0 (#3350)

This commit is contained in:
Eduardo Quezada D'Ottone
2023-09-27 13:42:30 -03:00
committed by GitHub
1639 changed files with 31230 additions and 34460 deletions

View File

@@ -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))"

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -0,0 +1,3 @@
gBattlerControllerFuncs
gBattleControllerData
gBattlerControllerEndFuncs

View File

@@ -2,8 +2,6 @@ gPreBattleCallback1
gBattleMainFunc
gBattleResults
gLeveledUpInBattle
gBattlerControllerFuncs
gHealthboxSpriteIds
gMultiUsePlayerCursor
gNumberOfMovesToChoose
gBattleControllerData

View File

@@ -1,2 +1,3 @@
.include "constants/gba_constants.inc"
.include "constants/global.inc"
.include "constants/tms_hms.inc"

View File

@@ -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

View File

@@ -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

View File

@@ -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
View 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

View File

@@ -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

View File

@@ -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

View File

@@ -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",

View File

@@ -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": [

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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::

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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",

View File

@@ -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::

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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::

View File

@@ -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::

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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::

View File

@@ -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

View File

@@ -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",

View File

@@ -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": [

View File

@@ -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

View File

@@ -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::

View File

@@ -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:

View File

@@ -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",

View File

@@ -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": [

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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",

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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",

View File

@@ -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::

View File

@@ -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

View File

@@ -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

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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": [],

View File

@@ -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": [

View File

@@ -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",

View File

@@ -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

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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",

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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::

View File

@@ -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

View File

@@ -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

View File

@@ -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
{

View File

@@ -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++)
{

View 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