diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 5889c427..8f7bb3ac 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -387,6 +387,8 @@ ITEMMENU_CLOSE EQU 6 const MART_ASCORBIA const MART_KUMQUAT const MART_PUMMELO + const MART_TROVITOPOLIS_SEWER_TM + const MART_UNNAMED_ISLAND_2_TM ; PartyMenuActionText const_def diff --git a/items/item_attributes.asm b/items/item_attributes.asm index 1fadd741..a6466dea 100644 --- a/items/item_attributes.asm +++ b/items/item_attributes.asm @@ -344,17 +344,17 @@ Item2Attributes: ; KANTO STONE item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM01 - item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 10000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM02 item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM03 item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM04 - item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 15000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM05 - item_attribute 1000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 12000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM06 - item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 12000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM07 item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM08 @@ -362,7 +362,7 @@ Item2Attributes: ; TM09 item_attribute 1000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM10 - item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 50000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM11 item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM12 @@ -396,9 +396,9 @@ Item2Attributes: ; TM26 item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM27 - item_attribute 1000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 65535, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM28 - item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 5000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM29 item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM30 @@ -408,9 +408,9 @@ Item2Attributes: ; TM32 item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM33 - item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 20000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM34 - item_attribute 1000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 50000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM35 item_attribute 30000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM36 @@ -420,17 +420,17 @@ Item2Attributes: ; TM38 item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM39 - item_attribute 2000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 30000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM40 item_attribute 1000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM41 - item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 30000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM42 item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM43 - item_attribute 1000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 10000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM44 - item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE + item_attribute 12000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM45 item_attribute 3000, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE ; TM46 diff --git a/items/marts.asm b/items/marts.asm index 265678c2..b66d7942 100644 --- a/items/marts.asm +++ b/items/marts.asm @@ -16,6 +16,8 @@ Marts: ; 160a9 dw AscorbiaMart dw KumquatMart dw PummeloMart + dw TrovitopolisSewerTMMart + dw UnnamedIsland2TMMart MartsEnd: ; 160ed @@ -203,12 +205,17 @@ TrovitopolisMedicineMart: db $ff TrovitopolisTMMart: - db 5 + db 10 db TM_FLAMETHROWER db TM_THUNDERBOLT db TM_ICE_BEAM db TM_SOLARBEAM - db TM_HYPER_BEAM + db TM_POWERUPPUNCH + db TM_DIG + db TM_EARTH_POWER + db TM_GIGA_IMPACT + db TM_DAZZLINGLEAM + db TM_FLASH_CANNON db $ff AscorbiaMart: @@ -251,6 +258,21 @@ PummeloMart: db X_ATTACK db X_SPEED db $ff + +TrovitopolisSewerTMMart: + db 4 + db TM_DARK_PULSE + db TM_TOXIC + db TM_VENOSHOCK + db TM_ZAP_CANNON + db $ff + +UnnamedIsland2TMMart: + db 3 + db TM_REST + db TM_RETURN + db TM_FISSURE + db $ff DefaultMart: ; 16214 db 2 ; # items diff --git a/maps/FishingContest.asm b/maps/FishingContest.asm index abc55782..20338616 100644 --- a/maps/FishingContest.asm +++ b/maps/FishingContest.asm @@ -1,5 +1,6 @@ const_value = 1 const FISHING_CONTEST_GRAMPS + const FISHING_CONTEST_SCIENTIST FishingContest_MapScriptHeader:: @@ -40,6 +41,13 @@ FishingContestNatPagleText: line "a great excuse to" cont "drink. Heavily." done + +UnnamedIslandTMScript: + faceplayer + opentext + pokemart MARTTYPE_STANDARD, MART_UNNAMED_ISLAND_2_TM + closetext + end FishingContest_MapEventHeader:: @@ -50,6 +58,7 @@ FishingContest_MapEventHeader:: .BGEvents: db 1 signpost 15, 11, SIGNPOST_READ, FishingContestSign -.ObjectEvents: db 1 +.ObjectEvents: db 2 person_event SPRITE_GRAMPS, 14, 17, SPRITEMOVEDATA_STANDING_RIGHT, 0, 1, -1, -1, PAL_OW_BROWN, PERSONTYPE_SCRIPT, 0, FishingContestNatPagleScript, -1 + person_event SPRITE_SUPER_NERD, 12, 9, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 1, -1, -1, PAL_OW_PURPLE, PERSONTYPE_SCRIPT, 0, UnnamedIslandTMScript, -1 diff --git a/maps/TrovitopolisSewer.asm b/maps/TrovitopolisSewer.asm index bfde4998..def350b0 100644 --- a/maps/TrovitopolisSewer.asm +++ b/maps/TrovitopolisSewer.asm @@ -1,180 +1,188 @@ -const_value = 1 - const TROVTOPOLIS_SEWER_TM_SLUDGE_BOMB - const TROVTOPOLIS_SEWER_TRADE_STONE - const TROVTOPOLIS_SEWER_PROTEIN - const TROVTOPOLIS_SEWER_ESCAPE_ROPE - const TROVTOPOLIS_SEWER_NERD - -TrovitopolisSewer_MapScriptHeader:: - -.Triggers: db 0 - -.Callbacks: db 0 - -TrovitopolisSewerSludgeBomb: - itemball TM_SLUDGE_BOMB - -TrovitopolisSewerTradeStone: - itemball TRADE_STONE - -TrovitopolisSewerProtein: - itemball PROTEIN - -TrovitopolisSewerEscapeRope: - itemball ESCAPE_ROPE - -SewerNerdScript: - faceplayer - opentext - checkevent EVENT_RECEIVED_SEWER_STARTER - iftrue .AlreadyReceivedSewerNerdGift - checkevent EVENT_GOT_BULBASAUR_FROM_IVY - iftrue .ObtainSewerSquirtleScript - checkevent EVENT_GOT_SQUIRTLE_FROM_IVY - iftrue .ObtainSewerCharmanderScript - writetext SewerBulbasaurText - yesorno - iffalse .DeclinedFreeSewerPokemon - checkcode VAR_PARTYCOUNT - if_equal 6, .PartyFull - writetext PlayerReceivedBulbasaurText - playsound SFX_CAUGHT_MON - waitsfx - givepoke BULBASAUR, 15 - special SpecialBulbasaur - setevent EVENT_RECEIVED_SEWER_STARTER - writetext AlreadyReceivedSewerNerdGiftText - waitbutton - closetext - end - -.ObtainSewerSquirtleScript: - writetext SewerSquirtleText - yesorno - iffalse .DeclinedFreeSewerPokemon - checkcode VAR_PARTYCOUNT - if_equal 6, .PartyFull - writetext PlayerReceivedSquirtleText - playsound SFX_CAUGHT_MON - waitsfx - givepoke SQUIRTLE, 15, BLACKGLASSES - special SpecialSquirtle - setevent EVENT_RECEIVED_SEWER_STARTER - writetext AlreadyReceivedSewerNerdGiftText - waitbutton - closetext - end - -.ObtainSewerCharmanderScript: - writetext SewerCharmanderText - yesorno - iffalse .DeclinedFreeSewerPokemon - checkcode VAR_PARTYCOUNT - if_equal 6, .PartyFull - writetext PlayerReceivedCharmanderText - playsound SFX_CAUGHT_MON - waitsfx - givepoke CHARMANDER, 15 - special SpecialCharmander - setevent EVENT_RECEIVED_SEWER_STARTER - writetext AlreadyReceivedSewerNerdGiftText - waitbutton - closetext - end - -.AlreadyReceivedSewerNerdGift: - writetext AlreadyReceivedSewerNerdGiftText - waitbutton - closetext - end - -.DeclinedFreeSewerPokemon: - writetext DeclinedFreeSewerPokemonText - waitbutton - closetext - end - -.PartyFull: - writetext SewerPartyFullText - waitbutton - closetext - end - -SewerPartyFullText: - text "Your #MON" - line "party is full." - done - -SewerBulbasaurText: - text "Ah! You did well" - line "to find this" - cont "place<...>" - - para "Let's see<...>" - - para "I bet you started" - line "with the #MON" - cont "CHARMANDER!" - - para "How would you like" - line "a BULBASAUR?" - done - -SewerSquirtleText: - text "Ah! You did well" - line "to find this" - cont "place<...>" - - para "Let's see<...>" - - para "I bet you started" - line "with the #MON" - cont "BULBASAUR!" - - para "How would you like" - line "a SQUIRTLE?" - done - -SewerCharmanderText: - text "Ah! You did well" - line "to find this" - cont "place<...>" - - para "Let's see<...>" - - para "I bet you started" - line "with the #MON" - cont "SQUIRTLE!" - - para "How would you like" - line "a CHARMANDER?" - done - -DeclinedFreeSewerPokemonText: - text "Very well. Leave" - line "then<...>" - done - -AlreadyReceivedSewerNerdGiftText: - text "May that #MON" - line "serve you well." - done - -PlayerReceivedBulbasaurText: - text " received" - line "BULBASAUR!" - done - -PlayerReceivedCharmanderText: - text " received" - line "CHARMANDER!" - done - -PlayerReceivedSquirtleText: - text " received" - line "SQUIRTLE!" - done - +const_value = 1 + const TROVTOPOLIS_SEWER_TM_SLUDGE_BOMB + const TROVTOPOLIS_SEWER_TRADE_STONE + const TROVTOPOLIS_SEWER_PROTEIN + const TROVTOPOLIS_SEWER_ESCAPE_ROPE + const TROVTOPOLIS_SEWER_NERD + const TROVTOPOLIS_SEWER_SCIENTIST + +TrovitopolisSewer_MapScriptHeader:: + +.Triggers: db 0 + +.Callbacks: db 0 + +TrovitopolisSewerSludgeBomb: + itemball TM_SLUDGE_BOMB + +TrovitopolisSewerTradeStone: + itemball TRADE_STONE + +TrovitopolisSewerProtein: + itemball PROTEIN + +TrovitopolisSewerEscapeRope: + itemball ESCAPE_ROPE + +SewerNerdScript: + faceplayer + opentext + checkevent EVENT_RECEIVED_SEWER_STARTER + iftrue .AlreadyReceivedSewerNerdGift + checkevent EVENT_GOT_BULBASAUR_FROM_IVY + iftrue .ObtainSewerSquirtleScript + checkevent EVENT_GOT_SQUIRTLE_FROM_IVY + iftrue .ObtainSewerCharmanderScript + writetext SewerBulbasaurText + yesorno + iffalse .DeclinedFreeSewerPokemon + checkcode VAR_PARTYCOUNT + if_equal 6, .PartyFull + writetext PlayerReceivedBulbasaurText + playsound SFX_CAUGHT_MON + waitsfx + givepoke BULBASAUR, 15 + special SpecialBulbasaur + setevent EVENT_RECEIVED_SEWER_STARTER + writetext AlreadyReceivedSewerNerdGiftText + waitbutton + closetext + end + +.ObtainSewerSquirtleScript: + writetext SewerSquirtleText + yesorno + iffalse .DeclinedFreeSewerPokemon + checkcode VAR_PARTYCOUNT + if_equal 6, .PartyFull + writetext PlayerReceivedSquirtleText + playsound SFX_CAUGHT_MON + waitsfx + givepoke SQUIRTLE, 15, BLACKGLASSES + special SpecialSquirtle + setevent EVENT_RECEIVED_SEWER_STARTER + writetext AlreadyReceivedSewerNerdGiftText + waitbutton + closetext + end + +.ObtainSewerCharmanderScript: + writetext SewerCharmanderText + yesorno + iffalse .DeclinedFreeSewerPokemon + checkcode VAR_PARTYCOUNT + if_equal 6, .PartyFull + writetext PlayerReceivedCharmanderText + playsound SFX_CAUGHT_MON + waitsfx + givepoke CHARMANDER, 15 + special SpecialCharmander + setevent EVENT_RECEIVED_SEWER_STARTER + writetext AlreadyReceivedSewerNerdGiftText + waitbutton + closetext + end + +.AlreadyReceivedSewerNerdGift: + writetext AlreadyReceivedSewerNerdGiftText + waitbutton + closetext + end + +.DeclinedFreeSewerPokemon: + writetext DeclinedFreeSewerPokemonText + waitbutton + closetext + end + +.PartyFull: + writetext SewerPartyFullText + waitbutton + closetext + end + +SewerPartyFullText: + text "Your #MON" + line "party is full." + done + +SewerBulbasaurText: + text "Ah! You did well" + line "to find this" + cont "place<...>" + + para "Let's see<...>" + + para "I bet you started" + line "with the #MON" + cont "CHARMANDER!" + + para "How would you like" + line "a BULBASAUR?" + done + +SewerSquirtleText: + text "Ah! You did well" + line "to find this" + cont "place<...>" + + para "Let's see<...>" + + para "I bet you started" + line "with the #MON" + cont "BULBASAUR!" + + para "How would you like" + line "a SQUIRTLE?" + done + +SewerCharmanderText: + text "Ah! You did well" + line "to find this" + cont "place<...>" + + para "Let's see<...>" + + para "I bet you started" + line "with the #MON" + cont "SQUIRTLE!" + + para "How would you like" + line "a CHARMANDER?" + done + +DeclinedFreeSewerPokemonText: + text "Very well. Leave" + line "then<...>" + done + +AlreadyReceivedSewerNerdGiftText: + text "May that #MON" + line "serve you well." + done + +PlayerReceivedBulbasaurText: + text " received" + line "BULBASAUR!" + done + +PlayerReceivedCharmanderText: + text " received" + line "CHARMANDER!" + done + +PlayerReceivedSquirtleText: + text " received" + line "SQUIRTLE!" + done + +SewerTMScript: + faceplayer + opentext + pokemart MARTTYPE_STANDARD, MART_TROVITOPOLIS_SEWER_TM + closetext + end + TrovitopolisSewer_MapEventHeader:: .Warps: db 7 @@ -190,10 +198,11 @@ TrovitopolisSewer_MapEventHeader:: .BGEvents: db 0 -.ObjectEvents: db 5 +.ObjectEvents: db 6 person_event SPRITE_POKE_BALL, 14, 49, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TrovitopolisSewerSludgeBomb, EVENT_TROVITOPOLIS_SEWER_SLUDGE_BOMB person_event SPRITE_POKE_BALL, 36, 51, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TrovitopolisSewerTradeStone, EVENT_TROVITOPOLIS_SEWER_TRADE_STONE person_event SPRITE_POKE_BALL, 14, 11, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TrovitopolisSewerProtein, EVENT_TROVITOPOLIS_SEWER_PROTEIN person_event SPRITE_POKE_BALL, 17, 30, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, PERSONTYPE_ITEMBALL, 0, TrovitopolisSewerEscapeRope, EVENT_TROVITOPOLIS_SEWER_ESCAPE_ROPE person_event SPRITE_SUPER_NERD, 49, 27, SPRITEMOVEDATA_SPINRANDOM_FAST, 2, 2, -1, -1, (1 << 3) | PAL_OW_BLUE, PERSONTYPE_SCRIPT, 0, SewerNerdScript, -1 + person_event SPRITE_SCIENTIST, 50, 15, SPRITEMOVEDATA_SPINRANDOM_FAST, 2, 2, -1, -1, (1 << 3) | PAL_OW_PURPLE, PERSONTYPE_SCRIPT, 0, SewerTMScript, -1 diff --git a/maps/TrovitopolisSewer.blk b/maps/TrovitopolisSewer.blk index 8a291615..3ab890b6 100644 Binary files a/maps/TrovitopolisSewer.blk and b/maps/TrovitopolisSewer.blk differ