Reference TMs and HMs by move instead of number (#1732)

This commit is contained in:
Martin Griffin
2023-08-09 15:51:01 +01:00
committed by GitHub
parent da238562f0
commit 912a80e27a
74 changed files with 10759 additions and 9937 deletions

View File

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

17
constants/tms_hms.inc Normal file
View File

@@ -0,0 +1,17 @@
#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

View File

@@ -6,6 +6,7 @@
#include "constants/battle_move_effects.h"
#include "constants/hold_effects.h"
#include "constants/pokemon.h"
.include "asm/macros.inc"
.include "asm/macros/battle_ai_script.inc"
.include "constants/constants.inc"

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

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

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

@@ -19,7 +19,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 +48,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

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

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

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

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

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

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

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

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

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

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

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

@@ -121,11 +121,11 @@
#define FLAG_UNUSED_0x068 0x68 // Unused Flag
#define FLAG_OCEANIC_MUSEUM_MET_REPORTER 0x69
#define FLAG_RECEIVED_HM04 0x6A
#define FLAG_RECEIVED_HM06 0x6B
#define FLAG_RECEIVED_HM_STRENGTH 0x6A
#define FLAG_RECEIVED_HM_ROCK_SMASH 0x6B
#define FLAG_WHITEOUT_TO_LAVARIDGE 0x6C // Set after defeating Flannery, so the player cant white out from poison before receiving Go Goggles
#define FLAG_RECEIVED_HM05 0x6D
#define FLAG_RECEIVED_HM02 0x6E
#define FLAG_RECEIVED_HM_FLASH 0x6D
#define FLAG_RECEIVED_HM_FLY 0x6E
#define FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT 0x6F
#define FLAG_TEAM_AQUA_ESCAPED_IN_SUBMARINE 0x70
#define FLAG_UNUSED_RS_LEGENDARY_BATTLE_DONE 0x71 // Unused Flag. Used in R/S to indicate whether player defeated or caught Groudon/Kyogre in Cave of Origin.
@@ -138,9 +138,9 @@
#define FLAG_CANCEL_BATTLE_ROOM_CHALLENGE 0x77
#define FLAG_LANDMARK_MIRAGE_TOWER 0x78
#define FLAG_RECEIVED_TM31 0x79
#define FLAG_RECEIVED_HM03 0x7A
#define FLAG_RECEIVED_HM08 0x7B
#define FLAG_RECEIVED_TM_BRICK_BREAK 0x79
#define FLAG_RECEIVED_HM_SURF 0x7A
#define FLAG_RECEIVED_HM_DIVE 0x7B
#define FLAG_REGISTER_RIVAL_POKENAV 0x7C
#define FLAG_DEFEATED_RIVAL_ROUTE_104 0x7D
#define FLAG_DEFEATED_WALLY_VICTORY_ROAD 0x7E
@@ -154,7 +154,7 @@
#define FLAG_PENDING_DAYCARE_EGG 0x86
#define FLAG_THANKED_FOR_PLAYING_WITH_WALLY 0x87
#define FLAG_ENABLE_FIRST_WALLY_POKENAV_CALL 0x88 // Set after defeating Wally outside Mauville Gym. Will activate a call later to register Wally.
#define FLAG_RECEIVED_HM01 0x89
#define FLAG_RECEIVED_HM_CUT 0x89
#define FLAG_SCOTT_CALL_FORTREE_GYM 0x8A // Triggers call from Scott after defeating Winona
#define FLAG_DEFEATED_EVIL_TEAM_MT_CHIMNEY 0x8B
#define FLAG_RECEIVED_6_SODA_POP 0x8C
@@ -182,14 +182,14 @@
#define FLAG_CUTE_PAINTING_MADE 0xA2
#define FLAG_SMART_PAINTING_MADE 0xA3
#define FLAG_TOUGH_PAINTING_MADE 0xA4
#define FLAG_RECEIVED_TM39 0xA5
#define FLAG_RECEIVED_TM08 0xA6
#define FLAG_RECEIVED_TM34 0xA7
#define FLAG_RECEIVED_TM50 0xA8
#define FLAG_RECEIVED_TM42 0xA9
#define FLAG_RECEIVED_TM40 0xAA
#define FLAG_RECEIVED_TM04 0xAB
#define FLAG_RECEIVED_TM03 0xAC
#define FLAG_RECEIVED_TM_ROCK_TOMB 0xA5
#define FLAG_RECEIVED_TM_BULK_UP 0xA6
#define FLAG_RECEIVED_TM_SHOCK_WAVE 0xA7
#define FLAG_RECEIVED_TM_OVERHEAT 0xA8
#define FLAG_RECEIVED_TM_FACADE 0xA9
#define FLAG_RECEIVED_TM_AERIAL_ACE 0xAA
#define FLAG_RECEIVED_TM_CALM_MIND 0xAB
#define FLAG_RECEIVED_TM_WATER_PULSE 0xAC
#define FLAG_HIDE_SECRET_BASE_TRAINER 0xAD
#define FLAG_DECORATION_1 0xAE
#define FLAG_DECORATION_2 0xAF
@@ -226,7 +226,7 @@
#define FLAG_ENCOUNTERED_LATIAS_OR_LATIOS 0xCE
#define FLAG_MET_ARCHIE_METEOR_FALLS 0xCF
#define FLAG_GOT_BASEMENT_KEY_FROM_WATTSON 0xD0
#define FLAG_GOT_TM24_FROM_WATTSON 0xD1
#define FLAG_GOT_TM_THUNDERBOLT_FROM_WATTSON 0xD1
#define FLAG_FAN_CLUB_STRENGTH_SHARED 0xD2 // Set when you rate the strength of another trainer in Lilycove's Trainer Fan Club.
#define FLAG_DEFEATED_RIVAL_RUSTBORO 0xD3
#define FLAG_RECEIVED_RED_OR_BLUE_ORB 0xD4
@@ -248,15 +248,15 @@
#define FLAG_RECEIVED_STARTER_DOLL 0xE2
#define FLAG_RECEIVED_GOOD_ROD 0xE3
#define FLAG_REGI_DOORS_OPENED 0xE4
#define FLAG_RECEIVED_TM27 0xE5
#define FLAG_RECEIVED_TM36 0xE6
#define FLAG_RECEIVED_TM05 0xE7
#define FLAG_RECEIVED_TM19 0xE8
#define FLAG_RECEIVED_TM_RETURN 0xE5
#define FLAG_RECEIVED_TM_SLUDGE_BOMB 0xE6
#define FLAG_RECEIVED_TM_ROAR 0xE7
#define FLAG_RECEIVED_TM_GIGA_DRAIN 0xE8
#define FLAG_UNUSED_0x0E9 0xE9 // Unused Flag
#define FLAG_RECEIVED_TM44 0xEA
#define FLAG_RECEIVED_TM45 0xEB
#define FLAG_RECEIVED_TM_REST 0xEA
#define FLAG_RECEIVED_TM_ATTRACT 0xEB
#define FLAG_RECEIVED_GLASS_ORNAMENT 0xEC
#define FLAG_RECEIVED_SILVER_SHIELD 0xED
#define FLAG_RECEIVED_GOLD_SHIELD 0xEE
@@ -281,16 +281,16 @@
#define FLAG_RECEIVED_OLD_ROD 0x101
#define FLAG_RECEIVED_COIN_CASE 0x102
#define FLAG_RETURNED_RED_OR_BLUE_ORB 0x103
#define FLAG_RECEIVED_TM49 0x104
#define FLAG_RECEIVED_TM28 0x105
#define FLAG_RECEIVED_TM09 0x106
#define FLAG_RECEIVED_TM_SNATCH 0x104
#define FLAG_RECEIVED_TM_DIG 0x105
#define FLAG_RECEIVED_TM_BULLET_SEED 0x106
#define FLAG_ENTERED_ELITE_FOUR 0x107
#define FLAG_RECEIVED_TM10 0x108
#define FLAG_RECEIVED_TM41 0x109
#define FLAG_RECEIVED_TM_HIDDEN_POWER 0x108
#define FLAG_RECEIVED_TM_TORMENT 0x109
#define FLAG_RECEIVED_LAVARIDGE_EGG 0x10A
#define FLAG_RECEIVED_REVIVED_FOSSIL_MON 0x10B
#define FLAG_SECRET_BASE_REGISTRY_ENABLED 0x10C
#define FLAG_RECEIVED_TM46 0x10D
#define FLAG_RECEIVED_TM_THIEF 0x10D
#define FLAG_CONTEST_SKETCH_CREATED 0x10E // Set but never read
#define FLAG_EVIL_TEAM_ESCAPED_STERN_SPOKE 0x10F
#define FLAG_RECEIVED_EXP_SHARE 0x110
@@ -333,7 +333,7 @@
#define FLAG_MET_MAXIE_SOOTOPOLIS 0x135
#define FLAG_MET_SCOTT_RUSTBORO 0x136
#define FLAG_WALLACE_GOES_TO_SKY_PILLAR 0x137 // Set after speaking to Wallace within the Cave of Origin.
#define FLAG_RECEIVED_HM07 0x138
#define FLAG_RECEIVED_HM_WATERFALL 0x138
#define FLAG_BEAT_MAGMA_GRUNT_JAGGED_PASS 0x139
#define FLAG_RECEIVED_AURORA_TICKET 0x13A
#define FLAG_RECEIVED_MYSTIC_TICKET 0x13B
@@ -568,7 +568,7 @@
#define FLAG_HIDDEN_ITEM_LILYCOVE_CITY_HEART_SCALE (FLAG_HIDDEN_ITEMS_START + 0x1B)
#define FLAG_HIDDEN_ITEM_FALLARBOR_TOWN_NUGGET (FLAG_HIDDEN_ITEMS_START + 0x1C)
#define FLAG_HIDDEN_ITEM_MT_PYRE_EXTERIOR_ULTRA_BALL (FLAG_HIDDEN_ITEMS_START + 0x1D)
#define FLAG_HIDDEN_ITEM_ROUTE_113_TM32 (FLAG_HIDDEN_ITEMS_START + 0x1E)
#define FLAG_HIDDEN_ITEM_ROUTE_113_TM_DOUBLE_TEAM (FLAG_HIDDEN_ITEMS_START + 0x1E)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_1_KEY (FLAG_HIDDEN_ITEMS_START + 0x1F)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_2_KEY (FLAG_HIDDEN_ITEMS_START + 0x20)
#define FLAG_HIDDEN_ITEM_ABANDONED_SHIP_RM_4_KEY (FLAG_HIDDEN_ITEMS_START + 0x21)
@@ -1053,7 +1053,7 @@
#define FLAG_ITEM_ROUTE_109_PP_UP 0x3ED
#define FLAG_ITEM_ROUTE_110_RARE_CANDY 0x3EE
#define FLAG_ITEM_ROUTE_110_DIRE_HIT 0x3EF
#define FLAG_ITEM_ROUTE_111_TM37 0x3F0
#define FLAG_ITEM_ROUTE_111_TM_SANDSTORM 0x3F0
#define FLAG_ITEM_ROUTE_111_STARDUST 0x3F1
#define FLAG_ITEM_ROUTE_111_HP_UP 0x3F2
#define FLAG_ITEM_ROUTE_112_NUGGET 0x3F3
@@ -1062,7 +1062,7 @@
#define FLAG_ITEM_ROUTE_114_RARE_CANDY 0x3F6
#define FLAG_ITEM_ROUTE_114_PROTEIN 0x3F7
#define FLAG_ITEM_ROUTE_115_SUPER_POTION 0x3F8
#define FLAG_ITEM_ROUTE_115_TM01 0x3F9
#define FLAG_ITEM_ROUTE_115_TM_FOCUS_PUNCH 0x3F9
#define FLAG_ITEM_ROUTE_115_IRON 0x3FA
#define FLAG_ITEM_ROUTE_116_ETHER 0x3FB
#define FLAG_ITEM_ROUTE_116_REPEL 0x3FC
@@ -1089,7 +1089,7 @@
#define FLAG_ITEM_RUSTBORO_CITY_X_DEFEND 0x411
#define FLAG_ITEM_LILYCOVE_CITY_MAX_REPEL 0x412
#define FLAG_ITEM_MOSSDEEP_CITY_NET_BALL 0x413
#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM23 0x414
#define FLAG_ITEM_METEOR_FALLS_1F_1R_TM_IRON_TAIL 0x414
#define FLAG_ITEM_METEOR_FALLS_1F_1R_FULL_HEAL 0x415
#define FLAG_ITEM_METEOR_FALLS_1F_1R_MOON_STONE 0x416
#define FLAG_ITEM_METEOR_FALLS_1F_1R_PP_UP 0x417
@@ -1119,35 +1119,35 @@
#define FLAG_ITEM_AQUA_HIDEOUT_B1F_MAX_ELIXIR 0x42F
#define FLAG_ITEM_AQUA_HIDEOUT_B2F_NEST_BALL 0x430
#define FLAG_ITEM_MT_PYRE_EXTERIOR_MAX_POTION 0x431
#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM48 0x432
#define FLAG_ITEM_MT_PYRE_EXTERIOR_TM_SKILL_SWAP 0x432
#define FLAG_ITEM_NEW_MAUVILLE_ULTRA_BALL 0x433
#define FLAG_ITEM_NEW_MAUVILLE_ESCAPE_ROPE 0x434
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_6_LUXURY_BALL 0x435
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_2_SCANNER 0x436
#define FLAG_ITEM_SCORCHED_SLAB_TM11 0x437
#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM02 0x438
#define FLAG_ITEM_SCORCHED_SLAB_TM_SUNNY_DAY 0x437
#define FLAG_ITEM_METEOR_FALLS_B1F_2R_TM_DRAGON_CLAW 0x438
#define FLAG_ITEM_SHOAL_CAVE_ENTRANCE_BIG_PEARL 0x439
#define FLAG_ITEM_SHOAL_CAVE_INNER_ROOM_RARE_CANDY 0x43A
#define FLAG_ITEM_SHOAL_CAVE_STAIRS_ROOM_ICE_HEAL 0x43B
#define FLAG_ITEM_VICTORY_ROAD_1F_MAX_ELIXIR 0x43C
#define FLAG_ITEM_VICTORY_ROAD_1F_PP_UP 0x43D
#define FLAG_ITEM_VICTORY_ROAD_B1F_TM29 0x43E
#define FLAG_ITEM_VICTORY_ROAD_B1F_TM_PSYCHIC 0x43E
#define FLAG_ITEM_VICTORY_ROAD_B1F_FULL_RESTORE 0x43F
#define FLAG_ITEM_VICTORY_ROAD_B2F_FULL_HEAL 0x440
#define FLAG_ITEM_MT_PYRE_6F_TM30 0x441
#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM26 0x442
#define FLAG_ITEM_FIERY_PATH_TM06 0x443
#define FLAG_ITEM_MT_PYRE_6F_TM_SHADOW_BALL 0x441
#define FLAG_ITEM_SEAFLOOR_CAVERN_ROOM_9_TM_EARTHQUAKE 0x442
#define FLAG_ITEM_FIERY_PATH_TM_TOXIC 0x443
#define FLAG_ITEM_ROUTE_124_RED_SHARD 0x444
#define FLAG_ITEM_ROUTE_124_BLUE_SHARD 0x445
#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM22 0x446
#define FLAG_ITEM_SAFARI_ZONE_NORTH_WEST_TM_SOLAR_BEAM 0x446
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_1F_HARBOR_MAIL 0x447
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_ESCAPE_ROPE 0x448
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_B1F_DIVE_BALL 0x449
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM13 0x44A
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_B1F_TM_ICE_BEAM 0x44A
#define FLAG_ITEM_ABANDONED_SHIP_ROOMS_2_1F_REVIVE 0x44B
#define FLAG_ITEM_ABANDONED_SHIP_CAPTAINS_OFFICE_STORAGE_KEY 0x44C
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_3_WATER_STONE 0x44D
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM18 0x44E
#define FLAG_ITEM_ABANDONED_SHIP_HIDDEN_FLOOR_ROOM_1_TM_RAIN_DANCE 0x44E
#define FLAG_ITEM_ROUTE_121_CARBOS 0x44F
#define FLAG_ITEM_ROUTE_123_ULTRA_BALL 0x450
#define FLAG_ITEM_ROUTE_126_GREEN_SHARD 0x451
@@ -1157,7 +1157,7 @@
#define FLAG_ITEM_ROUTE_123_ELIXIR 0x455
#define FLAG_ITEM_NEW_MAUVILLE_THUNDER_STONE 0x456
#define FLAG_ITEM_FIERY_PATH_FIRE_STONE 0x457
#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM07 0x458
#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_TM_HAIL 0x458
#define FLAG_ITEM_SHOAL_CAVE_ICE_ROOM_NEVER_MELT_ICE 0x459
#define FLAG_ITEM_ROUTE_103_GUARD_SPEC 0x45A
#define FLAG_ITEM_ROUTE_104_X_ACCURACY 0x45B

View File

@@ -381,65 +381,6 @@
#define ITEM_HM07 345
#define ITEM_HM08 346
#define ITEM_TM01_FOCUS_PUNCH ITEM_TM01
#define ITEM_TM02_DRAGON_CLAW ITEM_TM02
#define ITEM_TM03_WATER_PULSE ITEM_TM03
#define ITEM_TM04_CALM_MIND ITEM_TM04
#define ITEM_TM05_ROAR ITEM_TM05
#define ITEM_TM06_TOXIC ITEM_TM06
#define ITEM_TM07_HAIL ITEM_TM07
#define ITEM_TM08_BULK_UP ITEM_TM08
#define ITEM_TM09_BULLET_SEED ITEM_TM09
#define ITEM_TM10_HIDDEN_POWER ITEM_TM10
#define ITEM_TM11_SUNNY_DAY ITEM_TM11
#define ITEM_TM12_TAUNT ITEM_TM12
#define ITEM_TM13_ICE_BEAM ITEM_TM13
#define ITEM_TM14_BLIZZARD ITEM_TM14
#define ITEM_TM15_HYPER_BEAM ITEM_TM15
#define ITEM_TM16_LIGHT_SCREEN ITEM_TM16
#define ITEM_TM17_PROTECT ITEM_TM17
#define ITEM_TM18_RAIN_DANCE ITEM_TM18
#define ITEM_TM19_GIGA_DRAIN ITEM_TM19
#define ITEM_TM20_SAFEGUARD ITEM_TM20
#define ITEM_TM21_FRUSTRATION ITEM_TM21
#define ITEM_TM22_SOLAR_BEAM ITEM_TM22
#define ITEM_TM23_IRON_TAIL ITEM_TM23
#define ITEM_TM24_THUNDERBOLT ITEM_TM24
#define ITEM_TM25_THUNDER ITEM_TM25
#define ITEM_TM26_EARTHQUAKE ITEM_TM26
#define ITEM_TM27_RETURN ITEM_TM27
#define ITEM_TM28_DIG ITEM_TM28
#define ITEM_TM29_PSYCHIC ITEM_TM29
#define ITEM_TM30_SHADOW_BALL ITEM_TM30
#define ITEM_TM31_BRICK_BREAK ITEM_TM31
#define ITEM_TM32_DOUBLE_TEAM ITEM_TM32
#define ITEM_TM33_REFLECT ITEM_TM33
#define ITEM_TM34_SHOCK_WAVE ITEM_TM34
#define ITEM_TM35_FLAMETHROWER ITEM_TM35
#define ITEM_TM36_SLUDGE_BOMB ITEM_TM36
#define ITEM_TM37_SANDSTORM ITEM_TM37
#define ITEM_TM38_FIRE_BLAST ITEM_TM38
#define ITEM_TM39_ROCK_TOMB ITEM_TM39
#define ITEM_TM40_AERIAL_ACE ITEM_TM40
#define ITEM_TM41_TORMENT ITEM_TM41
#define ITEM_TM42_FACADE ITEM_TM42
#define ITEM_TM43_SECRET_POWER ITEM_TM43
#define ITEM_TM44_REST ITEM_TM44
#define ITEM_TM45_ATTRACT ITEM_TM45
#define ITEM_TM46_THIEF ITEM_TM46
#define ITEM_TM47_STEEL_WING ITEM_TM47
#define ITEM_TM48_SKILL_SWAP ITEM_TM48
#define ITEM_TM49_SNATCH ITEM_TM49
#define ITEM_TM50_OVERHEAT ITEM_TM50
#define ITEM_HM01_CUT ITEM_HM01
#define ITEM_HM02_FLY ITEM_HM02
#define ITEM_HM03_SURF ITEM_HM03
#define ITEM_HM04_STRENGTH ITEM_HM04
#define ITEM_HM05_FLASH ITEM_HM05
#define ITEM_HM06_ROCK_SMASH ITEM_HM06
#define ITEM_HM07_WATERFALL ITEM_HM07
#define ITEM_HM08_DIVE ITEM_HM08
// Unknown
#define ITEM_15B 347
#define ITEM_15C 348

View File

@@ -0,0 +1,70 @@
#ifndef GUARD_CONSTANTS_TMS_HMS_H
#define GUARD_CONSTANTS_TMS_HMS_H
#define FOREACH_TM(F) \
F(FOCUS_PUNCH) \
F(DRAGON_CLAW) \
F(WATER_PULSE) \
F(CALM_MIND) \
F(ROAR) \
F(TOXIC) \
F(HAIL) \
F(BULK_UP) \
F(BULLET_SEED) \
F(HIDDEN_POWER) \
F(SUNNY_DAY) \
F(TAUNT) \
F(ICE_BEAM) \
F(BLIZZARD) \
F(HYPER_BEAM) \
F(LIGHT_SCREEN) \
F(PROTECT) \
F(RAIN_DANCE) \
F(GIGA_DRAIN) \
F(SAFEGUARD) \
F(FRUSTRATION) \
F(SOLAR_BEAM) \
F(IRON_TAIL) \
F(THUNDERBOLT) \
F(THUNDER) \
F(EARTHQUAKE) \
F(RETURN) \
F(DIG) \
F(PSYCHIC) \
F(SHADOW_BALL) \
F(BRICK_BREAK) \
F(DOUBLE_TEAM) \
F(REFLECT) \
F(SHOCK_WAVE) \
F(FLAMETHROWER) \
F(SLUDGE_BOMB) \
F(SANDSTORM) \
F(FIRE_BLAST) \
F(ROCK_TOMB) \
F(AERIAL_ACE) \
F(TORMENT) \
F(FACADE) \
F(SECRET_POWER) \
F(REST) \
F(ATTRACT) \
F(THIEF) \
F(STEEL_WING) \
F(SKILL_SWAP) \
F(SNATCH) \
F(OVERHEAT)
#define FOREACH_HM(F) \
F(CUT) \
F(FLY) \
F(SURF) \
F(STRENGTH) \
F(FLASH) \
F(ROCK_SMASH) \
F(WATERFALL) \
F(DIVE)
#define FOREACH_TMHM(F) \
FOREACH_TM(F) \
FOREACH_HM(F)
#endif

View File

@@ -2,6 +2,8 @@
#define GUARD_ITEM_H
#include "constants/item.h"
#include "constants/items.h"
#include "constants/tms_hms.h"
typedef void (*ItemUseFunc)(u8);
@@ -74,4 +76,25 @@ u8 ItemId_GetBattleUsage(u16 itemId);
ItemUseFunc ItemId_GetBattleFunc(u16 itemId);
u8 ItemId_GetSecondaryId(u16 itemId);
/* Expands to:
* enum
* {
* ITEM_TM_FOCUS_PUNCH,
* ...
* ITEM_HM_CUT,
* ...
* }; */
#define ENUM_TM(id) CAT(ITEM_TM_, id),
#define ENUM_HM(id) CAT(ITEM_HM_, id),
enum
{
ENUM_TM_START_ = ITEM_TM01 - 1,
FOREACH_TM(ENUM_TM)
ENUM_HM_START_ = ITEM_HM01 - 1,
FOREACH_HM(ENUM_HM)
};
#undef ENUM_TM
#undef ENUM_HM
#endif // GUARD_ITEM_H

View File

@@ -811,11 +811,11 @@ static const u16 sRarePickupItems[] =
ITEM_FULL_RESTORE,
ITEM_ETHER,
ITEM_WHITE_HERB,
ITEM_TM44_REST,
ITEM_TM_REST,
ITEM_ELIXIR,
ITEM_TM01_FOCUS_PUNCH,
ITEM_TM_FOCUS_PUNCH,
ITEM_LEFTOVERS,
ITEM_TM26_EARTHQUAKE,
ITEM_TM_EARTHQUAKE,
};
static const u8 sPickupProbabilities[] =

View File

@@ -3513,10 +3513,10 @@ const struct Item gItems[] =
// TMs/HMs
[ITEM_TM01_FOCUS_PUNCH] =
[ITEM_TM_FOCUS_PUNCH] =
{
.name = _("TM01"),
.itemId = ITEM_TM01_FOCUS_PUNCH,
.itemId = ITEM_TM01,
.price = 3000,
.description = sTM01Desc,
.pocket = POCKET_TM_HM,
@@ -3524,10 +3524,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM02_DRAGON_CLAW] =
[ITEM_TM_DRAGON_CLAW] =
{
.name = _("TM02"),
.itemId = ITEM_TM02_DRAGON_CLAW,
.itemId = ITEM_TM02,
.price = 3000,
.description = sTM02Desc,
.pocket = POCKET_TM_HM,
@@ -3535,10 +3535,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM03_WATER_PULSE] =
[ITEM_TM_WATER_PULSE] =
{
.name = _("TM03"),
.itemId = ITEM_TM03_WATER_PULSE,
.itemId = ITEM_TM03,
.price = 3000,
.description = sTM03Desc,
.pocket = POCKET_TM_HM,
@@ -3546,10 +3546,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM04_CALM_MIND] =
[ITEM_TM_CALM_MIND] =
{
.name = _("TM04"),
.itemId = ITEM_TM04_CALM_MIND,
.itemId = ITEM_TM04,
.price = 3000,
.description = sTM04Desc,
.pocket = POCKET_TM_HM,
@@ -3557,10 +3557,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM05_ROAR] =
[ITEM_TM_ROAR] =
{
.name = _("TM05"),
.itemId = ITEM_TM05_ROAR,
.itemId = ITEM_TM05,
.price = 1000,
.description = sTM05Desc,
.pocket = POCKET_TM_HM,
@@ -3568,10 +3568,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM06_TOXIC] =
[ITEM_TM_TOXIC] =
{
.name = _("TM06"),
.itemId = ITEM_TM06_TOXIC,
.itemId = ITEM_TM06,
.price = 3000,
.description = sTM06Desc,
.pocket = POCKET_TM_HM,
@@ -3579,10 +3579,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM07_HAIL] =
[ITEM_TM_HAIL] =
{
.name = _("TM07"),
.itemId = ITEM_TM07_HAIL,
.itemId = ITEM_TM07,
.price = 3000,
.description = sTM07Desc,
.pocket = POCKET_TM_HM,
@@ -3590,10 +3590,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM08_BULK_UP] =
[ITEM_TM_BULK_UP] =
{
.name = _("TM08"),
.itemId = ITEM_TM08_BULK_UP,
.itemId = ITEM_TM08,
.price = 3000,
.description = sTM08Desc,
.pocket = POCKET_TM_HM,
@@ -3601,10 +3601,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM09_BULLET_SEED] =
[ITEM_TM_BULLET_SEED] =
{
.name = _("TM09"),
.itemId = ITEM_TM09_BULLET_SEED,
.itemId = ITEM_TM09,
.price = 3000,
.description = sTM09Desc,
.pocket = POCKET_TM_HM,
@@ -3612,10 +3612,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM10_HIDDEN_POWER] =
[ITEM_TM_HIDDEN_POWER] =
{
.name = _("TM10"),
.itemId = ITEM_TM10_HIDDEN_POWER,
.itemId = ITEM_TM10,
.price = 3000,
.description = sTM10Desc,
.pocket = POCKET_TM_HM,
@@ -3623,10 +3623,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM11_SUNNY_DAY] =
[ITEM_TM_SUNNY_DAY] =
{
.name = _("TM11"),
.itemId = ITEM_TM11_SUNNY_DAY,
.itemId = ITEM_TM11,
.price = 2000,
.description = sTM11Desc,
.pocket = POCKET_TM_HM,
@@ -3634,10 +3634,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM12_TAUNT] =
[ITEM_TM_TAUNT] =
{
.name = _("TM12"),
.itemId = ITEM_TM12_TAUNT,
.itemId = ITEM_TM12,
.price = 3000,
.description = sTM12Desc,
.pocket = POCKET_TM_HM,
@@ -3645,10 +3645,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM13_ICE_BEAM] =
[ITEM_TM_ICE_BEAM] =
{
.name = _("TM13"),
.itemId = ITEM_TM13_ICE_BEAM,
.itemId = ITEM_TM13,
.price = 3000,
.description = sTM13Desc,
.pocket = POCKET_TM_HM,
@@ -3656,10 +3656,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM14_BLIZZARD] =
[ITEM_TM_BLIZZARD] =
{
.name = _("TM14"),
.itemId = ITEM_TM14_BLIZZARD,
.itemId = ITEM_TM14,
.price = 5500,
.description = sTM14Desc,
.pocket = POCKET_TM_HM,
@@ -3667,10 +3667,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM15_HYPER_BEAM] =
[ITEM_TM_HYPER_BEAM] =
{
.name = _("TM15"),
.itemId = ITEM_TM15_HYPER_BEAM,
.itemId = ITEM_TM15,
.price = 7500,
.description = sTM15Desc,
.pocket = POCKET_TM_HM,
@@ -3678,10 +3678,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM16_LIGHT_SCREEN] =
[ITEM_TM_LIGHT_SCREEN] =
{
.name = _("TM16"),
.itemId = ITEM_TM16_LIGHT_SCREEN,
.itemId = ITEM_TM16,
.price = 3000,
.description = sTM16Desc,
.pocket = POCKET_TM_HM,
@@ -3689,10 +3689,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM17_PROTECT] =
[ITEM_TM_PROTECT] =
{
.name = _("TM17"),
.itemId = ITEM_TM17_PROTECT,
.itemId = ITEM_TM17,
.price = 3000,
.description = sTM17Desc,
.pocket = POCKET_TM_HM,
@@ -3700,10 +3700,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM18_RAIN_DANCE] =
[ITEM_TM_RAIN_DANCE] =
{
.name = _("TM18"),
.itemId = ITEM_TM18_RAIN_DANCE,
.itemId = ITEM_TM18,
.price = 2000,
.description = sTM18Desc,
.pocket = POCKET_TM_HM,
@@ -3711,10 +3711,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM19_GIGA_DRAIN] =
[ITEM_TM_GIGA_DRAIN] =
{
.name = _("TM19"),
.itemId = ITEM_TM19_GIGA_DRAIN,
.itemId = ITEM_TM19,
.price = 3000,
.description = sTM19Desc,
.pocket = POCKET_TM_HM,
@@ -3722,10 +3722,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM20_SAFEGUARD] =
[ITEM_TM_SAFEGUARD] =
{
.name = _("TM20"),
.itemId = ITEM_TM20_SAFEGUARD,
.itemId = ITEM_TM20,
.price = 3000,
.description = sTM20Desc,
.pocket = POCKET_TM_HM,
@@ -3733,10 +3733,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM21_FRUSTRATION] =
[ITEM_TM_FRUSTRATION] =
{
.name = _("TM21"),
.itemId = ITEM_TM21_FRUSTRATION,
.itemId = ITEM_TM21,
.price = 1000,
.description = sTM21Desc,
.pocket = POCKET_TM_HM,
@@ -3744,10 +3744,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM22_SOLAR_BEAM] =
[ITEM_TM_SOLAR_BEAM] =
{
.name = _("TM22"),
.itemId = ITEM_TM22_SOLAR_BEAM,
.itemId = ITEM_TM22,
.price = 3000,
.description = sTM22Desc,
.pocket = POCKET_TM_HM,
@@ -3755,10 +3755,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM23_IRON_TAIL] =
[ITEM_TM_IRON_TAIL] =
{
.name = _("TM23"),
.itemId = ITEM_TM23_IRON_TAIL,
.itemId = ITEM_TM23,
.price = 3000,
.description = sTM23Desc,
.pocket = POCKET_TM_HM,
@@ -3766,10 +3766,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM24_THUNDERBOLT] =
[ITEM_TM_THUNDERBOLT] =
{
.name = _("TM24"),
.itemId = ITEM_TM24_THUNDERBOLT,
.itemId = ITEM_TM24,
.price = 3000,
.description = sTM24Desc,
.pocket = POCKET_TM_HM,
@@ -3777,10 +3777,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM25_THUNDER] =
[ITEM_TM_THUNDER] =
{
.name = _("TM25"),
.itemId = ITEM_TM25_THUNDER,
.itemId = ITEM_TM25,
.price = 5500,
.description = sTM25Desc,
.pocket = POCKET_TM_HM,
@@ -3788,10 +3788,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM26_EARTHQUAKE] =
[ITEM_TM_EARTHQUAKE] =
{
.name = _("TM26"),
.itemId = ITEM_TM26_EARTHQUAKE,
.itemId = ITEM_TM26,
.price = 3000,
.description = sTM26Desc,
.pocket = POCKET_TM_HM,
@@ -3799,10 +3799,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM27_RETURN] =
[ITEM_TM_RETURN] =
{
.name = _("TM27"),
.itemId = ITEM_TM27_RETURN,
.itemId = ITEM_TM27,
.price = 1000,
.description = sTM27Desc,
.pocket = POCKET_TM_HM,
@@ -3810,10 +3810,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM28_DIG] =
[ITEM_TM_DIG] =
{
.name = _("TM28"),
.itemId = ITEM_TM28_DIG,
.itemId = ITEM_TM28,
.price = 2000,
.description = sTM28Desc,
.pocket = POCKET_TM_HM,
@@ -3821,10 +3821,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM29_PSYCHIC] =
[ITEM_TM_PSYCHIC] =
{
.name = _("TM29"),
.itemId = ITEM_TM29_PSYCHIC,
.itemId = ITEM_TM29,
.price = 2000,
.description = sTM29Desc,
.pocket = POCKET_TM_HM,
@@ -3832,10 +3832,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM30_SHADOW_BALL] =
[ITEM_TM_SHADOW_BALL] =
{
.name = _("TM30"),
.itemId = ITEM_TM30_SHADOW_BALL,
.itemId = ITEM_TM30,
.price = 3000,
.description = sTM30Desc,
.pocket = POCKET_TM_HM,
@@ -3843,10 +3843,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM31_BRICK_BREAK] =
[ITEM_TM_BRICK_BREAK] =
{
.name = _("TM31"),
.itemId = ITEM_TM31_BRICK_BREAK,
.itemId = ITEM_TM31,
.price = 3000,
.description = sTM31Desc,
.pocket = POCKET_TM_HM,
@@ -3854,10 +3854,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM32_DOUBLE_TEAM] =
[ITEM_TM_DOUBLE_TEAM] =
{
.name = _("TM32"),
.itemId = ITEM_TM32_DOUBLE_TEAM,
.itemId = ITEM_TM32,
.price = 2000,
.description = sTM32Desc,
.pocket = POCKET_TM_HM,
@@ -3865,10 +3865,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM33_REFLECT] =
[ITEM_TM_REFLECT] =
{
.name = _("TM33"),
.itemId = ITEM_TM33_REFLECT,
.itemId = ITEM_TM33,
.price = 3000,
.description = sTM33Desc,
.pocket = POCKET_TM_HM,
@@ -3876,10 +3876,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM34_SHOCK_WAVE] =
[ITEM_TM_SHOCK_WAVE] =
{
.name = _("TM34"),
.itemId = ITEM_TM34_SHOCK_WAVE,
.itemId = ITEM_TM34,
.price = 3000,
.description = sTM34Desc,
.pocket = POCKET_TM_HM,
@@ -3887,10 +3887,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM35_FLAMETHROWER] =
[ITEM_TM_FLAMETHROWER] =
{
.name = _("TM35"),
.itemId = ITEM_TM35_FLAMETHROWER,
.itemId = ITEM_TM35,
.price = 3000,
.description = sTM35Desc,
.pocket = POCKET_TM_HM,
@@ -3898,10 +3898,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM36_SLUDGE_BOMB] =
[ITEM_TM_SLUDGE_BOMB] =
{
.name = _("TM36"),
.itemId = ITEM_TM36_SLUDGE_BOMB,
.itemId = ITEM_TM36,
.price = 1000,
.description = sTM36Desc,
.pocket = POCKET_TM_HM,
@@ -3909,10 +3909,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM37_SANDSTORM] =
[ITEM_TM_SANDSTORM] =
{
.name = _("TM37"),
.itemId = ITEM_TM37_SANDSTORM,
.itemId = ITEM_TM37,
.price = 2000,
.description = sTM37Desc,
.pocket = POCKET_TM_HM,
@@ -3920,10 +3920,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM38_FIRE_BLAST] =
[ITEM_TM_FIRE_BLAST] =
{
.name = _("TM38"),
.itemId = ITEM_TM38_FIRE_BLAST,
.itemId = ITEM_TM38,
.price = 5500,
.description = sTM38Desc,
.pocket = POCKET_TM_HM,
@@ -3931,10 +3931,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM39_ROCK_TOMB] =
[ITEM_TM_ROCK_TOMB] =
{
.name = _("TM39"),
.itemId = ITEM_TM39_ROCK_TOMB,
.itemId = ITEM_TM39,
.price = 3000,
.description = sTM39Desc,
.pocket = POCKET_TM_HM,
@@ -3942,10 +3942,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM40_AERIAL_ACE] =
[ITEM_TM_AERIAL_ACE] =
{
.name = _("TM40"),
.itemId = ITEM_TM40_AERIAL_ACE,
.itemId = ITEM_TM40,
.price = 3000,
.description = sTM40Desc,
.pocket = POCKET_TM_HM,
@@ -3953,10 +3953,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM41_TORMENT] =
[ITEM_TM_TORMENT] =
{
.name = _("TM41"),
.itemId = ITEM_TM41_TORMENT,
.itemId = ITEM_TM41,
.price = 3000,
.description = sTM41Desc,
.pocket = POCKET_TM_HM,
@@ -3964,10 +3964,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM42_FACADE] =
[ITEM_TM_FACADE] =
{
.name = _("TM42"),
.itemId = ITEM_TM42_FACADE,
.itemId = ITEM_TM42,
.price = 3000,
.description = sTM42Desc,
.pocket = POCKET_TM_HM,
@@ -3975,10 +3975,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM43_SECRET_POWER] =
[ITEM_TM_SECRET_POWER] =
{
.name = _("TM43"),
.itemId = ITEM_TM43_SECRET_POWER,
.itemId = ITEM_TM43,
.price = 3000,
.description = sTM43Desc,
.pocket = POCKET_TM_HM,
@@ -3986,10 +3986,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM44_REST] =
[ITEM_TM_REST] =
{
.name = _("TM44"),
.itemId = ITEM_TM44_REST,
.itemId = ITEM_TM44,
.price = 3000,
.description = sTM44Desc,
.pocket = POCKET_TM_HM,
@@ -3997,10 +3997,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM45_ATTRACT] =
[ITEM_TM_ATTRACT] =
{
.name = _("TM45"),
.itemId = ITEM_TM45_ATTRACT,
.itemId = ITEM_TM45,
.price = 3000,
.description = sTM45Desc,
.pocket = POCKET_TM_HM,
@@ -4008,10 +4008,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM46_THIEF] =
[ITEM_TM_THIEF] =
{
.name = _("TM46"),
.itemId = ITEM_TM46_THIEF,
.itemId = ITEM_TM46,
.price = 3000,
.description = sTM46Desc,
.pocket = POCKET_TM_HM,
@@ -4019,10 +4019,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM47_STEEL_WING] =
[ITEM_TM_STEEL_WING] =
{
.name = _("TM47"),
.itemId = ITEM_TM47_STEEL_WING,
.itemId = ITEM_TM47,
.price = 3000,
.description = sTM47Desc,
.pocket = POCKET_TM_HM,
@@ -4030,10 +4030,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM48_SKILL_SWAP] =
[ITEM_TM_SKILL_SWAP] =
{
.name = _("TM48"),
.itemId = ITEM_TM48_SKILL_SWAP,
.itemId = ITEM_TM48,
.price = 3000,
.description = sTM48Desc,
.pocket = POCKET_TM_HM,
@@ -4041,10 +4041,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM49_SNATCH] =
[ITEM_TM_SNATCH] =
{
.name = _("TM49"),
.itemId = ITEM_TM49_SNATCH,
.itemId = ITEM_TM49,
.price = 3000,
.description = sTM49Desc,
.pocket = POCKET_TM_HM,
@@ -4052,10 +4052,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_TM50_OVERHEAT] =
[ITEM_TM_OVERHEAT] =
{
.name = _("TM50"),
.itemId = ITEM_TM50_OVERHEAT,
.itemId = ITEM_TM50,
.price = 3000,
.description = sTM50Desc,
.pocket = POCKET_TM_HM,
@@ -4063,10 +4063,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM01_CUT] =
[ITEM_HM_CUT] =
{
.name = _("HM01"),
.itemId = ITEM_HM01_CUT,
.itemId = ITEM_HM01,
.price = 0,
.description = sHM01Desc,
.importance = 1,
@@ -4075,10 +4075,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM02_FLY] =
[ITEM_HM_FLY] =
{
.name = _("HM02"),
.itemId = ITEM_HM02_FLY,
.itemId = ITEM_HM02,
.price = 0,
.description = sHM02Desc,
.importance = 1,
@@ -4087,10 +4087,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM03_SURF] =
[ITEM_HM_SURF] =
{
.name = _("HM03"),
.itemId = ITEM_HM03_SURF,
.itemId = ITEM_HM03,
.price = 0,
.description = sHM03Desc,
.importance = 1,
@@ -4099,10 +4099,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM04_STRENGTH] =
[ITEM_HM_STRENGTH] =
{
.name = _("HM04"),
.itemId = ITEM_HM04_STRENGTH,
.itemId = ITEM_HM04,
.price = 0,
.description = sHM04Desc,
.importance = 1,
@@ -4111,10 +4111,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM05_FLASH] =
[ITEM_HM_FLASH] =
{
.name = _("HM05"),
.itemId = ITEM_HM05_FLASH,
.itemId = ITEM_HM05,
.price = 0,
.description = sHM05Desc,
.importance = 1,
@@ -4123,10 +4123,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM06_ROCK_SMASH] =
[ITEM_HM_ROCK_SMASH] =
{
.name = _("HM06"),
.itemId = ITEM_HM06_ROCK_SMASH,
.itemId = ITEM_HM06,
.price = 0,
.description = sHM06Desc,
.importance = 1,
@@ -4135,10 +4135,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM07_WATERFALL] =
[ITEM_HM_WATERFALL] =
{
.name = _("HM07"),
.itemId = ITEM_HM07_WATERFALL,
.itemId = ITEM_HM07,
.price = 0,
.description = sHM07Desc,
.importance = 1,
@@ -4147,10 +4147,10 @@ const struct Item gItems[] =
.fieldUseFunc = ItemUseOutOfBattle_TMHM,
},
[ITEM_HM08_DIVE] =
[ITEM_HM_DIVE] =
{
.name = _("HM08"),
.itemId = ITEM_HM08_DIVE,
.itemId = ITEM_HM08,
.price = 0,
.description = sHM08Desc,
.importance = 1,

View File

@@ -279,7 +279,7 @@ static const u16 sQuizLadyPrizes[] =
ITEM_BELUE_BERRY,
ITEM_DURIN_BERRY,
ITEM_LUXURY_BALL,
ITEM_TM15_HYPER_BEAM,
ITEM_TM_HYPER_BEAM,
ITEM_BIG_PEARL,
ITEM_STAR_PIECE,
ITEM_RARE_CANDY,

View File

@@ -1117,64 +1117,17 @@ static const u8 *const sUnused_StatStrings[] =
gText_Speed2
};
/* Expands to:
* static const u16 sTMHMMoves[] =
* {
* MOVE_FOCUS_PUNCH,
* ...
* MOVE_CUT,
* ...
* }; */
#define TMHM_MOVE(id) CAT(MOVE_, id),
static const u16 sTMHMMoves[] =
{
[ITEM_TM01 - ITEM_TM01] = MOVE_FOCUS_PUNCH,
[ITEM_TM02 - ITEM_TM01] = MOVE_DRAGON_CLAW,
[ITEM_TM03 - ITEM_TM01] = MOVE_WATER_PULSE,
[ITEM_TM04 - ITEM_TM01] = MOVE_CALM_MIND,
[ITEM_TM05 - ITEM_TM01] = MOVE_ROAR,
[ITEM_TM06 - ITEM_TM01] = MOVE_TOXIC,
[ITEM_TM07 - ITEM_TM01] = MOVE_HAIL,
[ITEM_TM08 - ITEM_TM01] = MOVE_BULK_UP,
[ITEM_TM09 - ITEM_TM01] = MOVE_BULLET_SEED,
[ITEM_TM10 - ITEM_TM01] = MOVE_HIDDEN_POWER,
[ITEM_TM11 - ITEM_TM01] = MOVE_SUNNY_DAY,
[ITEM_TM12 - ITEM_TM01] = MOVE_TAUNT,
[ITEM_TM13 - ITEM_TM01] = MOVE_ICE_BEAM,
[ITEM_TM14 - ITEM_TM01] = MOVE_BLIZZARD,
[ITEM_TM15 - ITEM_TM01] = MOVE_HYPER_BEAM,
[ITEM_TM16 - ITEM_TM01] = MOVE_LIGHT_SCREEN,
[ITEM_TM17 - ITEM_TM01] = MOVE_PROTECT,
[ITEM_TM18 - ITEM_TM01] = MOVE_RAIN_DANCE,
[ITEM_TM19 - ITEM_TM01] = MOVE_GIGA_DRAIN,
[ITEM_TM20 - ITEM_TM01] = MOVE_SAFEGUARD,
[ITEM_TM21 - ITEM_TM01] = MOVE_FRUSTRATION,
[ITEM_TM22 - ITEM_TM01] = MOVE_SOLAR_BEAM,
[ITEM_TM23 - ITEM_TM01] = MOVE_IRON_TAIL,
[ITEM_TM24 - ITEM_TM01] = MOVE_THUNDERBOLT,
[ITEM_TM25 - ITEM_TM01] = MOVE_THUNDER,
[ITEM_TM26 - ITEM_TM01] = MOVE_EARTHQUAKE,
[ITEM_TM27 - ITEM_TM01] = MOVE_RETURN,
[ITEM_TM28 - ITEM_TM01] = MOVE_DIG,
[ITEM_TM29 - ITEM_TM01] = MOVE_PSYCHIC,
[ITEM_TM30 - ITEM_TM01] = MOVE_SHADOW_BALL,
[ITEM_TM31 - ITEM_TM01] = MOVE_BRICK_BREAK,
[ITEM_TM32 - ITEM_TM01] = MOVE_DOUBLE_TEAM,
[ITEM_TM33 - ITEM_TM01] = MOVE_REFLECT,
[ITEM_TM34 - ITEM_TM01] = MOVE_SHOCK_WAVE,
[ITEM_TM35 - ITEM_TM01] = MOVE_FLAMETHROWER,
[ITEM_TM36 - ITEM_TM01] = MOVE_SLUDGE_BOMB,
[ITEM_TM37 - ITEM_TM01] = MOVE_SANDSTORM,
[ITEM_TM38 - ITEM_TM01] = MOVE_FIRE_BLAST,
[ITEM_TM39 - ITEM_TM01] = MOVE_ROCK_TOMB,
[ITEM_TM40 - ITEM_TM01] = MOVE_AERIAL_ACE,
[ITEM_TM41 - ITEM_TM01] = MOVE_TORMENT,
[ITEM_TM42 - ITEM_TM01] = MOVE_FACADE,
[ITEM_TM43 - ITEM_TM01] = MOVE_SECRET_POWER,
[ITEM_TM44 - ITEM_TM01] = MOVE_REST,
[ITEM_TM45 - ITEM_TM01] = MOVE_ATTRACT,
[ITEM_TM46 - ITEM_TM01] = MOVE_THIEF,
[ITEM_TM47 - ITEM_TM01] = MOVE_STEEL_WING,
[ITEM_TM48 - ITEM_TM01] = MOVE_SKILL_SWAP,
[ITEM_TM49 - ITEM_TM01] = MOVE_SNATCH,
[ITEM_TM50 - ITEM_TM01] = MOVE_OVERHEAT,
[ITEM_HM01 - ITEM_TM01] = MOVE_CUT,
[ITEM_HM02 - ITEM_TM01] = MOVE_FLY,
[ITEM_HM03 - ITEM_TM01] = MOVE_SURF,
[ITEM_HM04 - ITEM_TM01] = MOVE_STRENGTH,
[ITEM_HM05 - ITEM_TM01] = MOVE_FLASH,
[ITEM_HM06 - ITEM_TM01] = MOVE_ROCK_SMASH,
[ITEM_HM07 - ITEM_TM01] = MOVE_WATERFALL,
[ITEM_HM08 - ITEM_TM01] = MOVE_DIVE,
FOREACH_TMHM(TMHM_MOVE)
};
#undef TMHM_MOVE

File diff suppressed because it is too large Load Diff

View File

@@ -685,7 +685,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru
{
for (j = 0; j < NUM_TECHNICAL_MACHINES + NUM_HIDDEN_MACHINES; j++)
{
if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01_FOCUS_PUNCH + j) && CanMonLearnTMHM(egg, j))
if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01 + j) && CanMonLearnTMHM(egg, j))
{
if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES)
DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]);

View File

@@ -781,7 +781,7 @@ void ItemUseOutOfBattle_RareCandy(u8 taskId)
void ItemUseOutOfBattle_TMHM(u8 taskId)
{
if (gSpecialVar_ItemId >= ITEM_HM01_CUT)
if (gSpecialVar_ItemId >= ITEM_HM01)
DisplayItemMessage(taskId, FONT_NORMAL, gText_BootedUpHM, BootUpSoundTMHM); // HM
else
DisplayItemMessage(taskId, FONT_NORMAL, gText_BootedUpTM, BootUpSoundTMHM); // TM

View File

@@ -4775,7 +4775,7 @@ static void Task_LearnedMove(u8 taskId)
if (move[1] == 0)
{
AdjustFriendship(mon, FRIENDSHIP_EVENT_LEARN_TMHM);
if (item < ITEM_HM01_CUT)
if (item < ITEM_HM01)
RemoveBagItem(item, 1);
}
GetMonNickname(mon, gStringVar1);

View File

@@ -6199,15 +6199,26 @@ u32 CanMonLearnTMHM(struct Pokemon *mon, u8 tm)
{
return 0;
}
else if (tm < 32)
// Fewer than 64 moves, use GF's method (for matching).
if (sizeof(struct TMHMLearnset) <= 8)
{
u32 mask = 1 << tm;
return gTMHMLearnsets[species][0] & mask;
if (tm < 32)
{
u32 mask = 1 << tm;
return gTMHMLearnsets[species].as_u32s[0] & mask;
}
else
{
u32 mask = 1 << (tm - 32);
return gTMHMLearnsets[species].as_u32s[1] & mask;
}
}
else
{
u32 mask = 1 << (tm - 32);
return gTMHMLearnsets[species][1] & mask;
u32 index = tm / 32;
u32 mask = 1 << (tm % 32);
return gTMHMLearnsets[species].as_u32s[index] & mask;
}
}
@@ -6217,15 +6228,25 @@ u32 CanSpeciesLearnTMHM(u16 species, u8 tm)
{
return 0;
}
else if (tm < 32)
// Fewer than 64 moves, use GF's method (for matching).
if (sizeof(struct TMHMLearnset) <= 8)
{
u32 mask = 1 << tm;
return gTMHMLearnsets[species][0] & mask;
if (tm < 32)
{
u32 mask = 1 << tm;
return gTMHMLearnsets[species].as_u32s[0] & mask;
}
else
{
u32 mask = 1 << (tm - 32);
return gTMHMLearnsets[species].as_u32s[1] & mask;
}
}
else
{
u32 mask = 1 << (tm - 32);
return gTMHMLearnsets[species][1] & mask;
u32 index = tm / 32;
u32 mask = 1 << (tm % 32);
return gTMHMLearnsets[species].as_u32s[index] & mask;
}
}

View File

@@ -164,7 +164,7 @@ static const match_call_text_data_t sMrStoneTextScripts[] = {
{ MatchCall_Text_MrStone2, FLAG_ENABLE_MR_STONE_POKENAV, 0xFFFF },
{ MatchCall_Text_MrStone3, FLAG_DELIVERED_STEVEN_LETTER, 0xFFFF },
{ MatchCall_Text_MrStone4, FLAG_RECEIVED_EXP_SHARE, 0xFFFF },
{ MatchCall_Text_MrStone5, FLAG_RECEIVED_HM04, 0xFFFF },
{ MatchCall_Text_MrStone5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF },
{ MatchCall_Text_MrStone6, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ MatchCall_Text_MrStone7, FLAG_RECEIVED_CASTFORM, 0xFFFF },
{ MatchCall_Text_MrStone8, FLAG_GROUDON_AWAKENED_MAGMA_HIDEOUT, 0xFFFF },
@@ -260,7 +260,7 @@ static const match_call_text_data_t sMayTextScripts[] = {
{ MatchCall_Text_May2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
{ MatchCall_Text_May3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
{ MatchCall_Text_May4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
{ MatchCall_Text_May5, FLAG_RECEIVED_HM04, 0xFFFF },
{ MatchCall_Text_May5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF },
{ MatchCall_Text_May6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ MatchCall_Text_May7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ MatchCall_Text_May8, FLAG_RECEIVED_CASTFORM, 0xFFFF },
@@ -289,7 +289,7 @@ static const match_call_text_data_t sBrendanTextScripts[] = {
{ MatchCall_Text_Brendan2, FLAG_DEFEATED_DEWFORD_GYM, 0xFFFF },
{ MatchCall_Text_Brendan3, FLAG_DELIVERED_DEVON_GOODS, 0xFFFF },
{ MatchCall_Text_Brendan4, FLAG_HIDE_MAUVILLE_CITY_WALLY, 0xFFFF },
{ MatchCall_Text_Brendan5, FLAG_RECEIVED_HM04, 0xFFFF },
{ MatchCall_Text_Brendan5, FLAG_RECEIVED_HM_STRENGTH, 0xFFFF },
{ MatchCall_Text_Brendan6, FLAG_DEFEATED_LAVARIDGE_GYM, 0xFFFF },
{ MatchCall_Text_Brendan7, FLAG_DEFEATED_PETALBURG_GYM, 0xFFFF },
{ MatchCall_Text_Brendan8, FLAG_RECEIVED_CASTFORM, 0xFFFF },

View File

@@ -146,22 +146,22 @@ static const u16 sPrizeListLuxuryBall1[] = {ITEM_LUXURY_BALL, ITEM_ETHER, I
static const u16 sPrizeListMaxRevive1[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListMaxEther1[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListElixir1[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListRoar[] = {ITEM_TM05_ROAR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListSludgeBomb[] = {ITEM_TM36_SLUDGE_BOMB, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListToxic[] = {ITEM_TM06_TOXIC, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListSunnyDay[] = {ITEM_TM11_SUNNY_DAY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListEarthQuake[] = {ITEM_TM26_EARTHQUAKE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListRoar[] = {ITEM_TM_ROAR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListSludgeBomb[] = {ITEM_TM_SLUDGE_BOMB, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListToxic[] = {ITEM_TM_TOXIC, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListSunnyDay[] = {ITEM_TM_SUNNY_DAY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListEarthQuake[] = {ITEM_TM_EARTHQUAKE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListRareCandy2[] = {ITEM_RARE_CANDY, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListLuxuryBall2[] = {ITEM_LUXURY_BALL, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListMaxRevive2[] = {ITEM_MAX_REVIVE, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListMaxEther2[] = {ITEM_MAX_ETHER, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListElixir2[] = {ITEM_ELIXIR, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListBrickBreak[] = {ITEM_TM31_BRICK_BREAK, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListTorment[] = {ITEM_TM41_TORMENT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListSkillSwap[] = {ITEM_TM48_SKILL_SWAP, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListGigaDrain[] = {ITEM_TM19_GIGA_DRAIN, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListAttract[] = {ITEM_TM45_ATTRACT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListBrickBreak[] = {ITEM_TM_BRICK_BREAK, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListTorment[] = {ITEM_TM_TORMENT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListSkillSwap[] = {ITEM_TM_SKILL_SWAP, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListGigaDrain[] = {ITEM_TM_GIGA_DRAIN, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 sPrizeListAttract[] = {ITEM_TM_ATTRACT, ITEM_ETHER, ITEM_MAX_POTION, ITEM_REVIVE, ITEM_FLUFFY_TAIL, ITEM_GREAT_BALL};
static const u16 *const sPrizeLists1[NUM_TRAINER_HILL_PRIZE_LISTS] =
{
@@ -1066,10 +1066,10 @@ static u16 GetPrizeItemId(void)
// Which prize is given from the list depends on the time scored.
// The prize for any time after 12 minutes is the same in every list.
// The prizes for a time under 12 minutes are:
// - ITEM_TM11_SUNNY_DAY (Normal)
// - ITEM_TM_SUNNY_DAY (Normal)
// - ITEM_ELIXIR (Variety)
// - ITEM_TM19_GIGA_DRAIN (Unique)
// - ITEM_TM31_BRICK_BREAK (Expert)
// - ITEM_TM_GIGA_DRAIN (Unique)
// - ITEM_TM_BRICK_BREAK (Expert)
// As an additional note, if players were allowed to enter a Trainer Hill challenge before
// entering the Hall of Fame, there would be 1 additional prize possibility (ITEM_MAX_ETHER)
// as Normal / Unique modes would use sPrizeListSets[0][3] / sPrizeListSets[1][3] respectively.