Add map scripts from bank 45.

This commit is contained in:
IIMarckus
2018-09-20 20:31:09 -06:00
parent f5ce33c3dc
commit f7c1a2cd8f
10 changed files with 3326 additions and 31 deletions

View File

@@ -1712,9 +1712,9 @@
const EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
const EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC
const EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF
const EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
const EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL
const EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
const EVENT_TEAM_ROCKET_BASE_B3F_DIRE_HIT
const EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
const EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL
const EVENT_ILEX_FOREST_REVIVE
const EVENT_WAREHOUSE_ENTRANCE_COIN_CASE
@@ -1837,16 +1837,16 @@
const EVENT_DAY_CARE_MAN_ON_ROUTE_34
const EVENT_DAY_CARE_MON_1
const EVENT_DAY_CARE_MON_2
const EVENT_ILEX_FOREST_FARFETCHD
const EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_BEHIND_COUNTER
const EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
const EVENT_ROUTE_34_ILEX_FOREST_GATE_TEACHER_IN_WALKWAY
const EVENT_ILEX_FOREST_LASS
const EVENT_COPYCAT_1
const EVENT_COPYCAT_2
const EVENT_GOLDENROD_SALE_OFF
const EVENT_GOLDENROD_SALE_ON
const EVENT_6F2
const EVENT_ILEX_FOREST_FARFETCHD1
const EVENT_ILEX_FOREST_FARFETCHD2
const EVENT_ILEX_FOREST_FARFETCHD3
const EVENT_ILEX_FOREST_FARFETCHD4
const EVENT_ILEX_FOREST_FARFETCHD5
const EVENT_ILEX_FOREST_FARFETCHD6
const EVENT_ILEX_FOREST_FARFETCHD7
const EVENT_ILEX_FOREST_FARFETCHD8
const EVENT_ILEX_FOREST_FARFETCHD9
const EVENT_ILEX_FOREST_FARFETCHD10
const EVENT_ILEX_FOREST_APPRENTICE
const EVENT_ILEX_FOREST_CHARCOAL_MASTER
const EVENT_CHARCOAL_KILN_FARFETCH_D

View File

@@ -255,11 +255,10 @@ ENDM
map_const GOLDENROD_DEPT_STORE_5F, 4, 8 ; 16
map_const GOLDENROD_DEPT_STORE_6F, 4, 8 ; 17
map_const GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 18
map_const GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 19
map_const GOLDENROD_GAME_CORNER, 7, 10 ; 20
map_const ILEX_FOREST_AZALEA_GATE, 4, 5 ; 21
map_const ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 22
map_const DAYCARE, 4, 5 ; 23
map_const GOLDENROD_GAME_CORNER, 7, 10 ; 19
map_const ILEX_FOREST_AZALEA_GATE, 4, 5 ; 20
map_const ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 21
map_const DAYCARE, 4, 5 ; 22
newgroup ; 12

View File

@@ -697,19 +697,19 @@ appear: MACRO
db \1 ; object id
ENDM
enum follow_command ; $70
enum follow_command ; $6f
follow: MACRO
db follow_command
db \1 ; object2
db \2 ; object1
ENDM
enum stopfollow_command ; $71
enum stopfollow_command ; $70
stopfollow: MACRO
db stopfollow_command
ENDM
enum moveobject_command ; $72
enum moveobject_command ; $71
moveobject: MACRO
db moveobject_command
db \1 ; object id
@@ -717,13 +717,13 @@ moveobject: MACRO
db \3 ; y
ENDM
enum writeobjectxy_command ; $73
enum writeobjectxy_command ; $72
writeobjectxy: MACRO
db writeobjectxy_command
db \1 ; object id
ENDM
enum loademote_command ; $74
enum loademote_command ; $73
loademote: MACRO
db loademote_command
db \1 ; bubble
@@ -744,27 +744,27 @@ turnobject: MACRO
db \2 ; facing
ENDM
enum follownotexact_command ; $77
enum follownotexact_command ; $76
follownotexact: MACRO
db follownotexact_command
db \1 ; object2
db \2 ; object1
ENDM
enum earthquake_command ; $78
enum earthquake_command ; $77
earthquake: MACRO
db earthquake_command
db \1 ; param
ENDM
enum changemap_command ; $79
enum changemap_command ; $78
changemap: MACRO
db changemap_command
db \1 ; map_bank
dw \2 ; map_data_pointer
ENDM
enum changeblock_command ; $7a
enum changeblock_command ; $79
changeblock: MACRO
db changeblock_command
db \1 ; x
@@ -772,17 +772,17 @@ changeblock: MACRO
db \3 ; block
ENDM
enum reloadmap_command ; $7b
enum reloadmap_command ; $7a
reloadmap: MACRO
db reloadmap_command
ENDM
enum reloadmappart_command ; $7c
enum reloadmappart_command ; $7b
reloadmappart: MACRO
db reloadmappart_command
ENDM
enum writecmdqueue_command ; $7d
enum writecmdqueue_command ; $7c
writecmdqueue: MACRO
db writecmdqueue_command
dw \1 ; queue_pointer

View File

@@ -1579,7 +1579,11 @@ INCLUDE "maps/OlivineLighthouse5F.asm"
INCLUDE "maps/OlivineLighthouse6F.asm"
SECTION "bank45", ROMX, BANK[$45]
dr $114000, $118000
INCLUDE "maps/MahoganyMart1F.asm"
INCLUDE "maps/TeamRocketBaseB1F.asm"
INCLUDE "maps/TeamRocketBaseB2F.asm"
INCLUDE "maps/TeamRocketBaseB3F.asm"
INCLUDE "maps/IlexForest.asm"
SECTION "bank46", ROMX, BANK[$46]
dr $118000, $11c000

695
maps/IlexForest.asm Normal file
View File

@@ -0,0 +1,695 @@
const_def 2 ; object constants
const ILEXFOREST_FARFETCHD1
const ILEXFOREST_FARFETCHD2
const ILEXFOREST_FARFETCHD3
const ILEXFOREST_FARFETCHD4
const ILEXFOREST_FARFETCHD5
const ILEXFOREST_FARFETCHD6
const ILEXFOREST_FARFETCHD7
const ILEXFOREST_FARFETCHD8
const ILEXFOREST_FARFETCHD9
const ILEXFOREST_FARFETCHD10
const ILEXFOREST_YOUNGSTER1
const ILEXFOREST_BLACK_BELT
const ILEXFOREST_ROCKER
const ILEXFOREST_POKE_BALL1
const ILEXFOREST_YOUNGSTER2
const ILEXFOREST_POKE_BALL2
const ILEXFOREST_POKE_BALL3
const ILEXFOREST_POKE_BALL4
IlexForest_MapScripts:
db 0 ; scene scripts
db 0 ; callbacks
IlexForestCharcoalApprenticeScript:
faceplayer
opentext
checkevent EVENT_HERDED_FARFETCHD
iftrue .DoneFarfetchd
writetext IlexForestApprenticeIntroText
waitbutton
closetext
end
.DoneFarfetchd:
writetext IlexForestApprenticeAfterText
waitbutton
closetext
end
FarfetchdPosition1:
faceplayer
opentext
writetext Text_ItsTheMissingPokemon
buttonsound
writetext Text_Kwaaaa
cry FARFETCH_D
waitbutton
closetext
applymovement ILEXFOREST_FARFETCHD1, MovementData_Farfetchd_Pos1_Pos2
appear ILEXFOREST_FARFETCHD2
pause 5
disappear ILEXFOREST_FARFETCHD1
end
FarfetchdPosition2:
scall FarfetchdCryAndCheckFacing
ifequal DOWN, .Position2_Down
applymovement ILEXFOREST_FARFETCHD2, MovementData_Farfetchd_Pos2_Pos3
appear ILEXFOREST_FARFETCHD3
pause 5
disappear ILEXFOREST_FARFETCHD2
end
.Position2_Down:
applymovement ILEXFOREST_FARFETCHD2, MovementData_Farfetchd_Pos2_Pos8
appear ILEXFOREST_FARFETCHD8
pause 5
disappear ILEXFOREST_FARFETCHD2
end
FarfetchdPosition3:
scall FarfetchdCryAndCheckFacing
ifequal LEFT, .Position3_Left
applymovement ILEXFOREST_FARFETCHD3, MovementData_Farfetchd_Pos3_Pos4
appear ILEXFOREST_FARFETCHD4
pause 5
disappear ILEXFOREST_FARFETCHD3
end
.Position3_Left:
applymovement ILEXFOREST_FARFETCHD3, MovementData_Farfetchd_Pos3_Pos2
appear ILEXFOREST_FARFETCHD2
pause 5
disappear ILEXFOREST_FARFETCHD3
end
FarfetchdPosition4:
scall FarfetchdCryAndCheckFacing
ifequal UP, .Position4_Up
applymovement ILEXFOREST_FARFETCHD4, MovementData_Farfetchd_Pos4_Pos5
appear ILEXFOREST_FARFETCHD5
pause 5
disappear ILEXFOREST_FARFETCHD4
end
.Position4_Up:
applymovement ILEXFOREST_FARFETCHD4, MovementData_Farfetchd_Pos4_Pos3
appear ILEXFOREST_FARFETCHD3
pause 5
disappear ILEXFOREST_FARFETCHD4
end
FarfetchdPosition5:
scall FarfetchdCryAndCheckFacing
ifequal UP, .Position5_Up
ifequal LEFT, .Position5_Left
ifequal RIGHT, .Position5_Right
applymovement ILEXFOREST_FARFETCHD5, MovementData_Farfetchd_Pos5_Pos6
appear ILEXFOREST_FARFETCHD6
pause 5
disappear ILEXFOREST_FARFETCHD5
end
.Position5_Left:
applymovement ILEXFOREST_FARFETCHD5, MovementData_Farfetchd_Pos5_Pos7
appear ILEXFOREST_FARFETCHD7
pause 5
disappear ILEXFOREST_FARFETCHD5
end
.Position5_Up:
applymovement ILEXFOREST_FARFETCHD5, MovementData_Farfetched_Pos5_Pos4_Up
appear ILEXFOREST_FARFETCHD4
pause 5
disappear ILEXFOREST_FARFETCHD5
end
.Position5_Right:
applymovement ILEXFOREST_FARFETCHD5, MovementData_Farfetched_Pos5_Pos4_Right
appear ILEXFOREST_FARFETCHD4
pause 5
disappear ILEXFOREST_FARFETCHD5
end
FarfetchdPosition6:
scall FarfetchdCryAndCheckFacing
ifequal RIGHT, .Position6_Right
applymovement ILEXFOREST_FARFETCHD6, MovementData_Farfetched_Pos6_Pos7
appear ILEXFOREST_FARFETCHD7
pause 5
disappear ILEXFOREST_FARFETCHD6
end
.Position6_Right:
applymovement ILEXFOREST_FARFETCHD6, MovementData_Farfetched_Pos6_Pos5
appear ILEXFOREST_FARFETCHD5
pause 5
disappear ILEXFOREST_FARFETCHD6
end
FarfetchdPosition7:
scall FarfetchdCryAndCheckFacing
ifequal DOWN, .Position7_Down
ifequal LEFT, .Position7_Left
applymovement ILEXFOREST_FARFETCHD7, MovementData_Farfetched_Pos7_Pos8
appear ILEXFOREST_FARFETCHD8
pause 5
disappear ILEXFOREST_FARFETCHD7
end
.Position7_Left:
applymovement ILEXFOREST_FARFETCHD7, MovementData_Farfetched_Pos7_Pos6
appear ILEXFOREST_FARFETCHD6
pause 5
disappear ILEXFOREST_FARFETCHD7
end
.Position7_Down:
applymovement ILEXFOREST_FARFETCHD7, MovementData_Farfetched_Pos7_Pos5
appear ILEXFOREST_FARFETCHD5
pause 5
disappear ILEXFOREST_FARFETCHD7
end
FarfetchdPosition8:
scall FarfetchdCryAndCheckFacing
ifequal UP, .Position8_Up
ifequal LEFT, .Position8_Left
ifequal RIGHT, .Position8_Right
applymovement ILEXFOREST_FARFETCHD8, MovementData_Farfetched_Pos8_Pos9
appear ILEXFOREST_FARFETCHD9
pause 5
disappear ILEXFOREST_FARFETCHD8
end
.Position8_Right:
applymovement ILEXFOREST_FARFETCHD8, MovementData_Farfetched_Pos8_Pos7
appear ILEXFOREST_FARFETCHD7
pause 5
disappear ILEXFOREST_FARFETCHD8
end
.Position8_Up:
.Position8_Left:
applymovement ILEXFOREST_FARFETCHD8, MovementData_Farfetched_Pos8_Pos2
appear ILEXFOREST_FARFETCHD2
pause 5
disappear ILEXFOREST_FARFETCHD8
end
FarfetchdPosition9:
scall FarfetchdCryAndCheckFacing
ifequal DOWN, .Position9_Down
ifequal RIGHT, .Position9_Right
applymovement ILEXFOREST_FARFETCHD9, MovementData_Farfetched_Pos9_Pos10
appear ILEXFOREST_FARFETCHD10
pause 5
disappear ILEXFOREST_FARFETCHD9
appear 13 ; ILEXFOREST_BLACK_BELT
setevent EVENT_CHARCOAL_KILN_BOSS
setevent EVENT_HERDED_FARFETCHD
end
.Position9_Right:
applymovement ILEXFOREST_FARFETCHD9, MovementData_Farfetched_Pos9_Pos8_Right
appear ILEXFOREST_FARFETCHD8
pause 5
disappear ILEXFOREST_FARFETCHD9
end
.Position9_Down:
applymovement ILEXFOREST_FARFETCHD9, MovementData_Farfetched_Pos9_Pos8_Down
appear ILEXFOREST_FARFETCHD8
pause 5
disappear ILEXFOREST_FARFETCHD9
end
FarfetchdPosition10:
faceplayer
opentext
writetext Text_Kwaaaa
cry FARFETCH_D
waitbutton
closetext
end
FarfetchdCryAndCheckFacing:
faceplayer
opentext
writetext Text_Kwaaaa
cry FARFETCH_D
waitbutton
closetext
checkcode VAR_FACING
end
IlexForestCharcoalMasterScript:
faceplayer
opentext
checkevent EVENT_GOT_HM01_CUT
iftrue .AlreadyGotCut
writetext Text_CharcoalMasterIntro
buttonsound
verbosegiveitem HM_CUT
setevent EVENT_GOT_HM01_CUT
writetext Text_CharcoalMasterOutro
waitbutton
closetext
setevent EVENT_ILEX_FOREST_FARFETCHD10
setevent EVENT_ILEX_FOREST_APPRENTICE
setevent EVENT_ILEX_FOREST_CHARCOAL_MASTER
clearevent EVENT_CHARCOAL_KILN_FARFETCH_D
clearevent EVENT_CHARCOAL_KILN_APPRENTICE
clearevent EVENT_CHARCOAL_KILN_BOSS
end
.AlreadyGotCut:
writetext Text_CharcoalMasterTalkAfter
waitbutton
closetext
end
IlexForestHeadbuttGuyScript:
faceplayer
opentext
checkevent EVENT_GOT_TM02_HEADBUTT
iftrue .AlreadyGotHeadbutt
writetext Text_HeadbuttIntro
buttonsound
verbosegiveitem TM_HEADBUTT
iffalse .BagFull
setevent EVENT_GOT_TM02_HEADBUTT
.AlreadyGotHeadbutt:
writetext Text_HeadbuttOutro
waitbutton
.BagFull:
closetext
end
IlexForestRevive:
itemball REVIVE
IlexForestHiddenEther:
hiddenitem ETHER, EVENT_ILEX_FOREST_HIDDEN_ETHER
IlexForestHiddenSuperPotion:
hiddenitem SUPER_POTION, EVENT_ILEX_FOREST_HIDDEN_SUPER_POTION
IlexForestHiddenFullHeal:
hiddenitem FULL_HEAL, EVENT_ILEX_FOREST_HIDDEN_FULL_HEAL
IlexForestBoulder:
; unused
jumpstd strengthboulder
IlexForestSignpost:
jumptext IlexForestSignpostText
IlexForestShrineScript:
jumptext Text_IlexForestShrine
MovementData_Farfetchd_Pos1_Pos2:
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
step_end
MovementData_Farfetchd_Pos2_Pos3:
big_step UP
big_step UP
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step DOWN
step_end
MovementData_Farfetchd_Pos2_Pos8:
big_step DOWN
big_step DOWN
big_step DOWN
big_step DOWN
big_step DOWN
step_end
MovementData_Farfetchd_Pos3_Pos4:
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
step_end
MovementData_Farfetchd_Pos3_Pos2:
big_step UP
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
step_end
MovementData_Farfetchd_Pos4_Pos5:
big_step DOWN
big_step DOWN
big_step DOWN
big_step DOWN
big_step DOWN
step_end
MovementData_Farfetchd_Pos4_Pos3:
big_step LEFT
jump_step LEFT
big_step LEFT
big_step LEFT
step_end
MovementData_Farfetchd_Pos5_Pos6:
big_step DOWN
big_step DOWN
big_step DOWN
big_step DOWN
big_step DOWN
step_end
MovementData_Farfetchd_Pos5_Pos7:
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
step_end
MovementData_Farfetched_Pos5_Pos4_Up:
big_step UP
big_step UP
big_step UP
big_step RIGHT
big_step UP
step_end
MovementData_Farfetched_Pos5_Pos4_Right:
big_step RIGHT
turn_head UP
step_sleep 1
turn_head DOWN
step_sleep 1
turn_head UP
step_sleep 1
big_step DOWN
big_step DOWN
fix_facing
jump_step UP
step_sleep 8
step_sleep 8
remove_fixed_facing
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
step_end
MovementData_Farfetched_Pos6_Pos7:
big_step LEFT
big_step LEFT
big_step LEFT
big_step UP
big_step UP
big_step RIGHT
big_step UP
big_step UP
step_end
MovementData_Farfetched_Pos6_Pos5:
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step UP
big_step UP
big_step UP
big_step UP
step_end
MovementData_Farfetched_Pos7_Pos8:
big_step UP
big_step UP
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
step_end
MovementData_Farfetched_Pos7_Pos6:
big_step DOWN
big_step DOWN
big_step LEFT
big_step DOWN
big_step DOWN
big_step RIGHT
big_step RIGHT
big_step RIGHT
step_end
MovementData_Farfetched_Pos7_Pos5:
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
step_end
MovementData_Farfetched_Pos8_Pos9:
big_step DOWN
big_step LEFT
big_step DOWN
big_step DOWN
big_step DOWN
step_end
MovementData_Farfetched_Pos8_Pos7:
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
step_end
MovementData_Farfetched_Pos8_Pos2:
big_step UP
big_step UP
big_step UP
big_step UP
step_end
MovementData_Farfetched_Pos9_Pos10:
big_step LEFT
big_step LEFT
fix_facing
jump_step RIGHT
step_sleep 8
step_sleep 8
remove_fixed_facing
big_step LEFT
big_step LEFT
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
step_end
MovementData_Farfetched_Pos9_Pos8_Right:
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
step_end
MovementData_Farfetched_Pos9_Pos8_Down:
big_step LEFT
big_step LEFT
fix_facing
jump_step RIGHT
step_sleep 8
step_sleep 8
remove_fixed_facing
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
step_end
IlexForestApprenticeIntroText:
text "Oh, man… My boss"
line "is going to be"
cont "steaming…"
para "The FARFETCH'D"
line "that CUTS trees"
para "for charcoal took"
line "off on me."
para "I can't go looking"
line "for it here in the"
cont "ILEX FOREST."
para "It's too big, dark"
line "and scary for me…"
done
IlexForestApprenticeAfterText:
text "Wow! Thanks a"
line "whole bunch!"
para "My boss's #MON"
line "won't obey me be-"
cont "cause I don't have"
cont "a BADGE."
done
Text_ItsTheMissingPokemon:
text "It's the missing"
line "#MON!"
done
Text_Kwaaaa:
text "FARFETCH'D: Kwaa!"
done
Text_CharcoalMasterIntro:
text "Ah! My FARFETCH'D!"
para "You found it for"
line "us, kid?"
para "Without it, we"
line "wouldn't be able"
para "to CUT trees for"
line "charcoal."
para "Thanks, kid!"
para "Now, how can I"
line "thank you…"
para "I know! Here, take"
line "this."
done
Text_CharcoalMasterOutro:
text "That's the CUT HM."
line "Teach that to a"
para "#MON to clear"
line "small trees."
para "Of course, you"
line "have to have the"
para "GYM BADGE from"
line "AZALEA to use it."
done
Text_CharcoalMasterTalkAfter:
text "Do you want to"
line "apprentice as a"
para "charcoal maker"
line "with me?"
para "You'll be first-"
line "rate in ten years!"
done
Text_HeadbuttIntro:
text "What am I doing?"
para "I'm shaking trees"
line "using HEADBUTT."
para "It's fun. Here,"
line "you try it too!"
done
Text_HeadbuttOutro:
text "Rattle trees with"
line "HEADBUTT. Some-"
cont "times, sleeping"
cont "#MON fall out."
done
IlexForestSignpostText:
text "ILEX FOREST is"
line "so overgrown with"
para "trees that you"
line "can't see the sky."
para "Please watch out"
line "for items that may"
cont "have been dropped."
done
Text_IlexForestShrine:
text "ILEX FOREST"
line "SHRINE…"
para "It's in honor of"
line "the forest's"
cont "protector…"
done
IlexForest_MapEvents:
db 0, 0 ; filler
db 3 ; warp events
warp_event 1, 5, ROUTE_34_ILEX_FOREST_GATE, 3
warp_event 3, 42, ILEX_FOREST_AZALEA_GATE, 1
warp_event 3, 43, ILEX_FOREST_AZALEA_GATE, 2
db 0 ; coord events
db 5 ; bg events
bg_event 3, 17, BGEVENT_READ, IlexForestSignpost
bg_event 27, 1, BGEVENT_ITEM, IlexForestHiddenEther
bg_event 17, 7, BGEVENT_ITEM, IlexForestHiddenSuperPotion
bg_event 9, 17, BGEVENT_ITEM, IlexForestHiddenFullHeal
bg_event 8, 22, BGEVENT_READ, IlexForestShrineScript
db 14 ; object events
object_event 14, 31, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition1, EVENT_ILEX_FOREST_FARFETCHD1
object_event 15, 25, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition2, EVENT_ILEX_FOREST_FARFETCHD2
object_event 20, 24, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition3, EVENT_ILEX_FOREST_FARFETCHD3
object_event 29, 22, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition4, EVENT_ILEX_FOREST_FARFETCHD4
object_event 28, 31, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition5, EVENT_ILEX_FOREST_FARFETCHD5
object_event 24, 35, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition6, EVENT_ILEX_FOREST_FARFETCHD6
object_event 22, 31, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition7, EVENT_ILEX_FOREST_FARFETCHD7
object_event 15, 29, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition8, EVENT_ILEX_FOREST_FARFETCHD8
object_event 10, 35, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition9, EVENT_ILEX_FOREST_FARFETCHD9
object_event 6, 28, SPRITE_BIRD, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, PAL_NPC_BROWN, OBJECTTYPE_SCRIPT, 0, FarfetchdPosition10, EVENT_ILEX_FOREST_FARFETCHD10
object_event 7, 28, SPRITE_YOUNGSTER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, IlexForestCharcoalApprenticeScript, EVENT_ILEX_FOREST_APPRENTICE
object_event 5, 28, SPRITE_BLACK_BELT, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IlexForestCharcoalMasterScript, EVENT_ILEX_FOREST_CHARCOAL_MASTER
object_event 15, 14, SPRITE_ROCKER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IlexForestHeadbuttGuyScript, -1
object_event 20, 32, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, IlexForestRevive, EVENT_ILEX_FOREST_REVIVE

238
maps/MahoganyMart1F.asm Normal file
View File

@@ -0,0 +1,238 @@
const_def 2 ; object constants
const MAHOGANYMART1F_PHARMACIST
const MAHOGANYMART1F_BLACK_BELT
const MAHOGANYMART1F_LANCE
const MAHOGANYMART1F_DRAGON
const MAHOGANYMART1F_GRANNY
MahoganyMart1F_MapScripts:
db 2 ; scene scripts
scene_script .DummyScene0 ; SCENE_MAHOGANYMART1F_NOTHING
scene_script .LanceUncoversStaircase ; SCENE_MAHOGANYMART1F_LANCE_UNCOVERS_STAIRS
db 1 ; callbacks
callback MAPCALLBACK_TILES, .MahoganyMart1FStaircase
.DummyScene0:
end
.LanceUncoversStaircase:
priorityjump MahoganyMart1FLanceUncoversStaircaseScript
end
.MahoganyMart1FStaircase:
checkevent EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART
iftrue .ShowStairs
return
.ShowStairs:
changeblock 6, 2, $1e ; stairs
return
MahogayMart1FPharmacistScript:
faceplayer
opentext
checkevent EVENT_DECIDED_TO_HELP_LANCE
iftrue .LanceEntered
pokemart MARTTYPE_STANDARD, MART_MAHOGANY_1
closetext
end
.LanceEntered:
writetext MahogayMart1FPharmacistText_LanceEntered
waitbutton
closetext
end
MahogayMart1FBlackBeltScript:
faceplayer
opentext
checkevent EVENT_DECIDED_TO_HELP_LANCE
iftrue .LanceEntered
writetext MahogayMart1FBlackBeltText
waitbutton
closetext
end
.LanceEntered:
writetext MahogayMart1FBlackBeltText_LanceEntered
waitbutton
closetext
end
MahoganyMart1FLanceUncoversStaircaseScript:
pause 15
opentext
writetext UnknownText_0x6c52a
pause 15
closetext
playsound SFX_TACKLE
applymovement MAHOGANYMART1F_DRAGON, MovementData_0x6c3f6
applymovement MAHOGANYMART1F_BLACK_BELT, MovementData_0x6c3fb
pause 15
disappear MAHOGANYMART1F_DRAGON
pause 15
applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c407
opentext
writetext UnknownText_0x6c549
waitbutton
closetext
follow MAHOGANYMART1F_LANCE, PLAYER
applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c40a
applymovement MAHOGANYMART1F_PHARMACIST, MovementData_0x6c403
applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c40e
stopfollow
opentext
writetext UnknownText_0x6c59e
waitbutton
showemote EMOTE_SHOCK, MAHOGANYMART1F_PHARMACIST, 10
playsound SFX_FAINT
changeblock 6, 2, $1e ; stairs
reloadmappart
closetext
setevent EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART
turnobject MAHOGANYMART1F_LANCE, LEFT
opentext
writetext UnknownText_0x6c5ba
waitbutton
closetext
applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c412
playsound SFX_EXIT_BUILDING
disappear MAHOGANYMART1F_LANCE
setscene SCENE_MAHOGANYMART1F_NOTHING
waitsfx
end
MahogayMart1FGrannyScript:
faceplayer
opentext
pokemart MARTTYPE_STANDARD, MART_MAHOGANY_2
closetext
end
MovementData_0x6c3f6:
fix_facing
big_step LEFT
big_step RIGHT
remove_fixed_facing
step_end
MovementData_0x6c3fb:
fix_facing
big_step LEFT
remove_fixed_facing
turn_head DOWN
turn_head LEFT
turn_head UP
turn_head RIGHT
step_end
MovementData_0x6c403:
fix_facing
big_step LEFT
remove_fixed_facing
step_end
MovementData_0x6c407:
slow_step LEFT
turn_head DOWN
step_end
MovementData_0x6c40a:
slow_step RIGHT
slow_step UP
slow_step UP
step_end
MovementData_0x6c40e:
slow_step UP
slow_step RIGHT
slow_step RIGHT
step_end
MovementData_0x6c412:
slow_step RIGHT
step_end
UnknownText_0x6c414:
text "Hello, youngster!"
para "How would you like"
line "some RAGECANDYBAR?"
para "It's the thing to"
line "eat in MAHOGANY!"
done
MahogayMart1FPharmacistText_LanceEntered:
text "Arrgh… You found"
line "the secret stair-"
cont "way…"
done
MahogayMart1FBlackBeltText:
text "Heheh! The experi-"
line "ment worked like a"
cont "charm."
para "MAGIKARP are just"
line "worthless, but"
para "GYARADOS are big"
line "moneymakers."
done
MahogayMart1FBlackBeltText_LanceEntered:
text "Urrgh…"
para "That guy's dragon"
line "#MON are tough…"
done
UnknownText_0x6c52a:
text "LANCE: DRAGONITE,"
line "HYPER BEAM."
done
UnknownText_0x6c549:
text "What took you,"
line "<PLAYER>?"
para "Just as I thought,"
line "that strange radio"
para "signal is coming"
line "from here."
done
UnknownText_0x6c59e:
text "The stairs are"
line "right here."
done
UnknownText_0x6c5ba:
text "LANCE: <PLAYER>, we"
line "should split up to"
para "check this place."
line "I'll go first."
done
MahoganyMart1F_MapEvents:
db 0, 0 ; filler
db 3 ; warp events
warp_event 3, 7, MAHOGANY_TOWN, 1
warp_event 4, 7, MAHOGANY_TOWN, 1
warp_event 7, 3, TEAM_ROCKET_BASE_B1F, 1
db 0 ; coord events
db 0 ; bg events
db 5 ; object events
object_event 4, 3, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahogayMart1FPharmacistScript, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 1, 6, SPRITE_BLACK_BELT, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahogayMart1FBlackBeltScript, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 4, 6, SPRITE_LANCE, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
object_event 3, 6, SPRITE_DRAGON, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
object_event 1, 3, SPRITE_GRANNY, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahogayMart1FGrannyScript, EVENT_MAHOGANY_MART_OWNERS

View File

@@ -57,7 +57,7 @@ TrainerGruntM1:
variablesprite SPRITE_AZALEA_ROCKET, SPRITE_SILVER
setmapscene AZALEA_TOWN, SCENE_AZALEATOWN_RIVAL_BATTLE
clearevent EVENT_ILEX_FOREST_APPRENTICE
clearevent EVENT_ILEX_FOREST_FARFETCHD
clearevent EVENT_ILEX_FOREST_FARFETCHD1
setevent EVENT_CHARCOAL_KILN_FARFETCH_D
setevent EVENT_CHARCOAL_KILN_APPRENTICE
setevent EVENT_SLOWPOKE_WELL_SLOWPOKES

789
maps/TeamRocketBaseB1F.asm Normal file
View File

@@ -0,0 +1,789 @@
const_def 2 ; object constants
const TEAMROCKETBASEB1F_ROCKET1
const TEAMROCKETBASEB1F_ROCKET2
const TEAMROCKETBASEB1F_SCIENTIST
const TEAMROCKETBASEB1F_POKE_BALL1
const TEAMROCKETBASEB1F_POKE_BALL2
const TEAMROCKETBASEB1F_POKE_BALL3
TeamRocketBaseB1F_MapScripts:
db 1 ; scene scripts
scene_script .DummyScene ; SCENE_DEFAULT
db 1 ; callbacks
callback MAPCALLBACK_OBJECTS, .HideSecurityGrunt
.DummyScene:
end
.HideSecurityGrunt:
disappear TEAMROCKETBASEB1F_ROCKET1
return
SecurityCamera1a:
checkevent EVENT_SECURITY_CAMERA_1
iftrue NoSecurityCamera
scall PlaySecurityCameraSounds
checkevent EVENT_TEAM_ROCKET_BASE_POPULATION
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 2
appear TEAMROCKETBASEB1F_ROCKET1
turnobject PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
ifequal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 2
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt2
ifequal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_1
end
SecurityCamera1b:
checkevent EVENT_SECURITY_CAMERA_1
iftrue NoSecurityCamera
scall PlaySecurityCameraSounds
checkevent EVENT_TEAM_ROCKET_BASE_POPULATION
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 3
appear TEAMROCKETBASEB1F_ROCKET1
turnobject PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
ifequal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 3
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt2
ifequal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_1
end
SecurityCamera2a:
checkevent EVENT_SECURITY_CAMERA_2
iftrue NoSecurityCamera
scall PlaySecurityCameraSounds
checkevent EVENT_TEAM_ROCKET_BASE_POPULATION
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 4, 7
appear TEAMROCKETBASEB1F_ROCKET1
turnobject PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement2
scall TrainerCameraGrunt1
ifequal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
turnobject PLAYER, RIGHT
moveobject TEAMROCKETBASEB1F_ROCKET1, 12, 5
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement3
scall TrainerCameraGrunt2
ifequal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_2
end
SecurityCamera2b:
checkevent EVENT_SECURITY_CAMERA_2
iftrue NoSecurityCamera
scall PlaySecurityCameraSounds
checkevent EVENT_TEAM_ROCKET_BASE_POPULATION
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 4, 8
appear TEAMROCKETBASEB1F_ROCKET1
turnobject PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement4
scall TrainerCameraGrunt1
ifequal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
turnobject PLAYER, RIGHT
moveobject TEAMROCKETBASEB1F_ROCKET1, 12, 5
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement5
scall TrainerCameraGrunt2
ifequal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_2
end
SecurityCamera3a:
checkevent EVENT_SECURITY_CAMERA_3
iftrue NoSecurityCamera
scall PlaySecurityCameraSounds
checkevent EVENT_TEAM_ROCKET_BASE_POPULATION
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 6
appear TEAMROCKETBASEB1F_ROCKET1
turnobject PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
ifequal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
turnobject PLAYER, RIGHT
moveobject TEAMROCKETBASEB1F_ROCKET1, 25, 11
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement6
scall TrainerCameraGrunt2
ifequal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_3
end
SecurityCamera3b:
checkevent EVENT_SECURITY_CAMERA_3
iftrue NoSecurityCamera
scall PlaySecurityCameraSounds
checkevent EVENT_TEAM_ROCKET_BASE_POPULATION
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 7
appear TEAMROCKETBASEB1F_ROCKET1
turnobject PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
ifequal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
turnobject PLAYER, RIGHT
moveobject TEAMROCKETBASEB1F_ROCKET1, 25, 12
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement7
scall TrainerCameraGrunt2
ifequal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_3
end
SecurityCamera4:
checkevent EVENT_SECURITY_CAMERA_4
iftrue NoSecurityCamera
scall PlaySecurityCameraSounds
checkevent EVENT_TEAM_ROCKET_BASE_POPULATION
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 17, 16
appear TEAMROCKETBASEB1F_ROCKET1
turnobject PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
ifequal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
turnobject PLAYER, RIGHT
moveobject TEAMROCKETBASEB1F_ROCKET1, 25, 11
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement8
scall TrainerCameraGrunt2
ifequal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_4
end
SecurityCamera5:
checkevent EVENT_SECURITY_CAMERA_5
iftrue NoSecurityCamera
scall PlaySecurityCameraSounds
checkevent EVENT_TEAM_ROCKET_BASE_POPULATION
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
moveobject TEAMROCKETBASEB1F_ROCKET1, 3, 16
appear TEAMROCKETBASEB1F_ROCKET1
turnobject PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
ifequal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
turnobject PLAYER, RIGHT
moveobject TEAMROCKETBASEB1F_ROCKET1, 14, 16
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement9
scall TrainerCameraGrunt2
ifequal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_5
end
NoSecurityCamera:
end
TrainerCameraGrunt1:
opentext
writetext CameraGrunt1SeenText
waitbutton
closetext
winlosstext CameraGrunt1BeatenText, 0
setlasttalked TEAMROCKETBASEB1F_ROCKET1
loadtrainer GRUNTM, GRUNTM_20
startbattle
disappear TEAMROCKETBASEB1F_ROCKET1
reloadmapafterbattle
end
TrainerCameraGrunt2:
opentext
writetext CameraGrunt2SeenText
waitbutton
closetext
winlosstext CameraGrunt2BeatenText, 0
setlasttalked TEAMROCKETBASEB1F_ROCKET1
loadtrainer GRUNTM, GRUNTM_21
startbattle
disappear TEAMROCKETBASEB1F_ROCKET1
reloadmapafterbattle
end
PlaySecurityCameraSounds:
playsound SFX_LICK
pause 10
playsound SFX_LICK
pause 10
playsound SFX_LICK
pause 10
playsound SFX_LICK
pause 10
playsound SFX_LICK
pause 10
playsound SFX_LICK
end
ExplodingTrap1:
checkevent EVENT_EXPLODING_TRAP_1
iftrue NoExplodingTrap
scall KoffingExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_1
end
ExplodingTrap2:
checkevent EVENT_EXPLODING_TRAP_2
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_2
end
ExplodingTrap3:
checkevent EVENT_EXPLODING_TRAP_3
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_3
end
ExplodingTrap4:
checkevent EVENT_EXPLODING_TRAP_4
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_4
end
ExplodingTrap5:
checkevent EVENT_EXPLODING_TRAP_5
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_5
end
ExplodingTrap6:
checkevent EVENT_EXPLODING_TRAP_6
iftrue NoExplodingTrap
scall KoffingExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_6
end
ExplodingTrap7:
checkevent EVENT_EXPLODING_TRAP_7
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_7
end
ExplodingTrap8:
checkevent EVENT_EXPLODING_TRAP_8
iftrue NoExplodingTrap
scall KoffingExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_8
end
ExplodingTrap9:
checkevent EVENT_EXPLODING_TRAP_9
iftrue NoExplodingTrap
scall KoffingExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_9
end
ExplodingTrap10:
checkevent EVENT_EXPLODING_TRAP_10
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_10
end
ExplodingTrap11:
checkevent EVENT_EXPLODING_TRAP_11
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_11
end
ExplodingTrap12:
checkevent EVENT_EXPLODING_TRAP_12
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_12
end
ExplodingTrap13:
checkevent EVENT_EXPLODING_TRAP_13
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_13
end
ExplodingTrap14:
checkevent EVENT_EXPLODING_TRAP_14
iftrue NoExplodingTrap
scall KoffingExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_14
end
ExplodingTrap15:
checkevent EVENT_EXPLODING_TRAP_15
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_15
end
ExplodingTrap16:
checkevent EVENT_EXPLODING_TRAP_16
iftrue NoExplodingTrap
scall KoffingExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_16
end
ExplodingTrap17:
checkevent EVENT_EXPLODING_TRAP_17
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_17
end
ExplodingTrap18:
checkevent EVENT_EXPLODING_TRAP_18
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_18
end
ExplodingTrap19:
checkevent EVENT_EXPLODING_TRAP_19
iftrue NoExplodingTrap
scall GeodudeExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_19
end
ExplodingTrap20:
checkevent EVENT_EXPLODING_TRAP_20
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_20
end
ExplodingTrap21:
checkevent EVENT_EXPLODING_TRAP_21
iftrue NoExplodingTrap
scall KoffingExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_21
end
ExplodingTrap22:
checkevent EVENT_EXPLODING_TRAP_22
iftrue NoExplodingTrap
scall VoltorbExplodingTrap
reloadmapafterbattle
setevent EVENT_EXPLODING_TRAP_22
end
VoltorbExplodingTrap:
special FadeOutPalettes
cry VOLTORB
special FadeInPalettes
setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
loadwildmon VOLTORB, 23
startbattle
end
GeodudeExplodingTrap:
special FadeOutPalettes
cry GEODUDE
special FadeInPalettes
setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
loadwildmon GEODUDE, 21
startbattle
end
KoffingExplodingTrap:
special FadeOutPalettes
cry KOFFING
special FadeInPalettes
setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
loadwildmon KOFFING, 21
startbattle
end
NoExplodingTrap:
end
TrainerScientistJed:
trainer SCIENTIST, JED, EVENT_BEAT_SCIENTIST_JED, ScientistJedSeenText, ScientistJedBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext ScientistJedAfterBattleText
waitbutton
closetext
end
TrainerGruntM16:
trainer GRUNTM, GRUNTM_16, EVENT_BEAT_ROCKET_GRUNTM_16, GruntM16SeenText, GruntM16BeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext GruntM16AfterBattleText
waitbutton
closetext
end
TeamRocketBaseB1FSecurityCamera:
jumptext TeamRocketBaseB1FSecurityCameraText
TeamRocketBaseB1FBookshelf:
jumpstd teamrocketoath
TeamRocketBaseB1FSecretSwitch:
opentext
checkevent EVENT_TURNED_OFF_SECURITY_CAMERAS
iftrue .SecretSwitchOff
writetext TeamRocketBaseB1FSecretSwitchText
playsound SFX_TALLY
waitbutton
closetext
setevent EVENT_TURNED_OFF_SECURITY_CAMERAS
setevent EVENT_SECURITY_CAMERA_1
setevent EVENT_SECURITY_CAMERA_2
setevent EVENT_SECURITY_CAMERA_3
setevent EVENT_SECURITY_CAMERA_4
setevent EVENT_SECURITY_CAMERA_5
end
.SecretSwitchOff:
writetext TeamRocketBaseB1FSwitchOffText
waitbutton
closetext
end
TeamRocketBaseB1FHyperPotion:
itemball HYPER_POTION
TeamRocketBaseB1FNugget:
itemball NUGGET
TeamRocketBaseB1FXAccuracy:
itemball X_ACCURACY
TeamRocketBaseB1FHiddenRevive:
hiddenitem REVIVE, EVENT_TEAM_ROCKET_BASE_B1F_HIDDEN_REVIVE
SecurityCameraMovement1:
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
step_end
SecurityCameraMovement2:
big_step UP
big_step RIGHT
big_step UP
big_step UP
big_step UP
big_step UP
turn_head RIGHT
step_end
SecurityCameraMovement3:
big_step LEFT
big_step LEFT
big_step LEFT
big_step UP
big_step UP
big_step UP
big_step LEFT
big_step LEFT
step_end
SecurityCameraMovement4:
; he jumps over a trap
jump_step UP
big_step RIGHT
big_step UP
big_step UP
big_step UP
turn_head RIGHT
step_end
SecurityCameraMovement5:
big_step LEFT
big_step LEFT
big_step LEFT
big_step UP
big_step UP
big_step LEFT
big_step LEFT
step_end
SecurityCameraMovement6:
big_step UP
big_step UP
big_step RIGHT
big_step UP
big_step UP
big_step UP
big_step LEFT
step_end
SecurityCameraMovement7:
big_step UP
big_step UP
big_step UP
big_step RIGHT
big_step UP
big_step UP
big_step LEFT
step_end
SecurityCameraMovement8:
big_step DOWN
big_step DOWN
big_step RIGHT
big_step DOWN
big_step DOWN
big_step DOWN
big_step LEFT
big_step LEFT
big_step LEFT
step_end
SecurityCameraMovement9:
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
step_end
CameraGrunt1SeenText:
text "Hey!"
line "Intruder alert!"
done
CameraGrunt1BeatenText:
text "Dang… I failed…"
done
CameraGrunt2SeenText:
text "It's my turn!"
line "There's no escape!"
done
CameraGrunt2BeatenText:
text "Surveillance cams"
line "are in the #MON"
cont "statues."
para "We'll keep appear-"
line "ing until you trip"
cont "a secret switch."
done
ScientistJedSeenText:
text "This was once a"
line "ninja hideout."
para "There are traps to"
line "confound intruders"
cont "like you."
done
ScientistJedBeatenText:
text "I get it…"
done
ScientistJedAfterBattleText:
text "All right. I'll"
line "divulge a secret"
cont "about our hideout."
para "That thing on the"
line "floor up ahead is"
cont "a warp panel."
para "If you step on it,"
line "you'll be warped"
para "back to the en-"
line "trance."
done
GruntM16SeenText:
text "Heheh. Feeling"
line "lucky, punk?"
para "Go ahead, take"
line "another step."
para "We've got traps"
line "set in the floor!"
done
GruntM16BeatenText:
text "Kaboom!"
done
GruntM16AfterBattleText:
text "I don't even know"
line "where the traps"
cont "are planted."
para "You'll just have"
line "to collect your"
cont "courage and walk."
done
TeamRocketBaseB1FSecurityCameraText:
text "It's a PERSIAN"
line "statue…"
para "Its eyes are oddly"
line "shiny."
done
TeamRocketBaseB1FSecretSwitchText:
text "A secret switch!"
line "Better press it."
done
TeamRocketBaseB1FSwitchOffText:
text "The switch is"
line "turned off."
done
TeamRocketBaseB1F_MapEvents:
db 0, 0 ; filler
db 4 ; warp events
warp_event 27, 2, MAHOGANY_MART_1F, 3
warp_event 3, 14, TEAM_ROCKET_BASE_B2F, 1
warp_event 5, 15, TEAM_ROCKET_BASE_B1F, 4
warp_event 25, 2, TEAM_ROCKET_BASE_B1F, 3
db 30 ; coord events
; There are five security cameras in the base.
; Walking in front of one triggers two Rocket Grunts.
coord_event 24, 2, SCENE_DEFAULT, SecurityCamera1a
coord_event 24, 3, SCENE_DEFAULT, SecurityCamera1b
coord_event 6, 2, SCENE_DEFAULT, SecurityCamera2a
coord_event 6, 3, SCENE_DEFAULT, SecurityCamera2b
coord_event 24, 6, SCENE_DEFAULT, SecurityCamera3a
coord_event 24, 7, SCENE_DEFAULT, SecurityCamera3b
coord_event 22, 16, SCENE_DEFAULT, SecurityCamera4
coord_event 8, 16, SCENE_DEFAULT, SecurityCamera5
; There are spots on the floor that trigger a Pokémon battle.
; Each Pokémon (Voltorb, Koffing, Geodude) knows Selfdestruct.
coord_event 2, 7, SCENE_DEFAULT, ExplodingTrap1
coord_event 3, 7, SCENE_DEFAULT, ExplodingTrap2
coord_event 4, 7, SCENE_DEFAULT, ExplodingTrap3
coord_event 1, 8, SCENE_DEFAULT, ExplodingTrap4
coord_event 3, 8, SCENE_DEFAULT, ExplodingTrap5
coord_event 5, 8, SCENE_DEFAULT, ExplodingTrap6
coord_event 3, 9, SCENE_DEFAULT, ExplodingTrap7
coord_event 4, 9, SCENE_DEFAULT, ExplodingTrap8
coord_event 1, 10, SCENE_DEFAULT, ExplodingTrap9
coord_event 2, 10, SCENE_DEFAULT, ExplodingTrap10
coord_event 3, 10, SCENE_DEFAULT, ExplodingTrap11
coord_event 5, 10, SCENE_DEFAULT, ExplodingTrap12
coord_event 2, 11, SCENE_DEFAULT, ExplodingTrap13
coord_event 4, 11, SCENE_DEFAULT, ExplodingTrap14
coord_event 1, 12, SCENE_DEFAULT, ExplodingTrap15
coord_event 2, 12, SCENE_DEFAULT, ExplodingTrap16
coord_event 4, 12, SCENE_DEFAULT, ExplodingTrap17
coord_event 5, 12, SCENE_DEFAULT, ExplodingTrap18
coord_event 1, 13, SCENE_DEFAULT, ExplodingTrap19
coord_event 3, 13, SCENE_DEFAULT, ExplodingTrap20
coord_event 4, 13, SCENE_DEFAULT, ExplodingTrap21
coord_event 5, 13, SCENE_DEFAULT, ExplodingTrap22
db 9 ; bg events
bg_event 19, 11, BGEVENT_READ, TeamRocketBaseB1FSecretSwitch
bg_event 24, 1, BGEVENT_UP, TeamRocketBaseB1FSecurityCamera
bg_event 6, 1, BGEVENT_UP, TeamRocketBaseB1FSecurityCamera
bg_event 8, 15, BGEVENT_UP, TeamRocketBaseB1FSecurityCamera
bg_event 22, 15, BGEVENT_UP, TeamRocketBaseB1FSecurityCamera
bg_event 24, 5, BGEVENT_UP, TeamRocketBaseB1FSecurityCamera
bg_event 20, 11, BGEVENT_READ, TeamRocketBaseB1FBookshelf
bg_event 21, 11, BGEVENT_READ, TeamRocketBaseB1FBookshelf
bg_event 3, 11, BGEVENT_ITEM, TeamRocketBaseB1FHiddenRevive
db 6 ; object events
object_event 0, 0, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_SECURITY_GRUNTS
object_event 2, 4, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM16, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 18, 12, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerScientistJed, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 27, 6, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB1FHyperPotion, EVENT_TEAM_ROCKET_BASE_B1F_HYPER_POTION
object_event 14, 15, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB1FNugget, EVENT_TEAM_ROCKET_BASE_B1F_NUGGET
object_event 21, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB1FXAccuracy, EVENT_TEAM_ROCKET_BASE_B1F_GUARD_SPEC

968
maps/TeamRocketBaseB2F.asm Normal file
View File

@@ -0,0 +1,968 @@
const_def 2 ; object constants
const TEAMROCKETBASEB2F_ROCKET1
const TEAMROCKETBASEB2F_ROCKET_GIRL
const TEAMROCKETBASEB2F_LANCE
const TEAMROCKETBASEB2F_DRAGON
const TEAMROCKETBASEB2F_ELECTRODE1
const TEAMROCKETBASEB2F_ELECTRODE2
const TEAMROCKETBASEB2F_ELECTRODE3
const TEAMROCKETBASEB2F_ELECTRODE4
const TEAMROCKETBASEB2F_ELECTRODE5
const TEAMROCKETBASEB2F_ELECTRODE6
const TEAMROCKETBASEB2F_ROCKET2
const TEAMROCKETBASEB2F_ROCKET3
const TEAMROCKETBASEB2F_ROCKET4
const TEAMROCKETBASEB2F_POKE_BALL
TeamRocketBaseB2F_MapScripts:
db 4 ; scene scripts
scene_script .DummyScene0 ; SCENE_DEFAULT
scene_script .DummyScene1 ; SCENE_TEAMROCKETBASEB2F_ROCKET_BOSS
scene_script .DummyScene2 ; SCENE_TEAMROCKETBASEB2F_ELECTRODES
scene_script .DummyScene3 ; SCENE_TEAMROCKETBASEB2F_NOTHING
db 1 ; callbacks
callback MAPCALLBACK_TILES, .TransmitterDoorCallback
.DummyScene0:
end
.DummyScene1:
end
.DummyScene2:
end
.DummyScene3:
end
.TransmitterDoorCallback:
checkevent EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER
iftrue .OpenDoor
return
.OpenDoor:
changeblock 14, 12, $07 ; floor
return
RocketBaseBossFLeft:
moveobject TEAMROCKETBASEB2F_LANCE, 9, 13
jump RocketBaseBossFScript
RocketBaseBossFRight:
moveobject TEAMROCKETBASEB2F_ROCKET_GIRL, 21, 16
moveobject TEAMROCKETBASEB2F_ROCKET1, 21, 16
moveobject TEAMROCKETBASEB2F_DRAGON, 10, 13
moveobject TEAMROCKETBASEB2F_LANCE, 10, 13
RocketBaseBossFScript:
appear TEAMROCKETBASEB2F_ROCKET_GIRL
appear TEAMROCKETBASEB2F_ROCKET1
opentext
writetext UnknownText_0x6d2ad
waitbutton
closetext
turnobject PLAYER, DOWN
showemote EMOTE_SHOCK, PLAYER, 15
applymovement PLAYER, MovementData_0x6d21f
playmusic MUSIC_ROCKET_ENCOUNTER
applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d224
turnobject PLAYER, UP
applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d22f
opentext
writetext UnknownText_0x6d2c3
waitbutton
closetext
cry DRAGONITE
turnobject TEAMROCKETBASEB2F_ROCKET_GIRL, LEFT
turnobject PLAYER, LEFT
appear TEAMROCKETBASEB2F_DRAGON
applymovement TEAMROCKETBASEB2F_DRAGON, MovementData_0x6d236
applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d23b
applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d24c
appear TEAMROCKETBASEB2F_LANCE
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d244
opentext
writetext UnknownText_0x6d38c
waitbutton
closetext
turnobject PLAYER, RIGHT
applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d241
opentext
writetext UnknownText_0x6d3bd
waitbutton
closetext
applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d24a
applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d248
winlosstext UnknownText_0x6d45c, 0
setlasttalked TEAMROCKETBASEB2F_ROCKET_GIRL
loadtrainer EXECUTIVEF, EXECUTIVEF_2
startbattle
disappear TEAMROCKETBASEB2F_DRAGON
setevent EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
setevent EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
setevent EVENT_TEAM_ROCKET_BASE_B2F_LANCE
reloadmapafterbattle
setevent EVENT_BEAT_ROCKET_EXECUTIVEF_2
opentext
writetext UnknownText_0x6d4c6
waitbutton
closetext
special FadeBlackQuickly
special ReloadSpritesNoPalettes
disappear TEAMROCKETBASEB2F_ROCKET1
disappear TEAMROCKETBASEB2F_ROCKET_GIRL
disappear TEAMROCKETBASEB2F_ROCKET2
disappear TEAMROCKETBASEB2F_ROCKET3
disappear TEAMROCKETBASEB2F_ROCKET4
pause 15
special FadeInQuickly
setscene SCENE_TEAMROCKETBASEB2F_ELECTRODES
clearevent EVENT_TEAM_ROCKET_BASE_B2F_LANCE
turnobject TEAMROCKETBASEB2F_LANCE, DOWN
opentext
writetext UnknownText_0x6d5d8
waitbutton
closetext
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d250
turnobject PLAYER, UP
opentext
writetext UnknownText_0x6d64e
waitbutton
closetext
follow TEAMROCKETBASEB2F_LANCE, PLAYER
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d254
stopfollow
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d258
opentext
writetext UnknownText_0x6d6cf
waitbutton
closetext
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d267
disappear TEAMROCKETBASEB2F_LANCE
RocketBaseCantLeaveScript:
applymovement PLAYER, MovementData_0x6d271
end
RocketBaseLancesSideScript:
opentext
writetext UnknownText_0x6d7ea
waitbutton
closetext
applymovement PLAYER, MovementData_0x6d278
end
LanceHealsScript1:
turnobject PLAYER, UP
jump LanceHealsCommon
LanceHealsScript2:
turnobject PLAYER, RIGHT
turnobject TEAMROCKETBASEB2F_LANCE, LEFT
LanceHealsCommon:
opentext
writetext LanceHealsText1
waitbutton
closetext
special FadeOutPalettes
playsound SFX_FULL_HEAL
special HealParty
special FadeInPalettes
opentext
writetext LanceHealsText2
waitbutton
closetext
setscene SCENE_TEAMROCKETBASEB2F_ROCKET_BOSS
setevent EVENT_LANCE_HEALED_YOU_IN_TEAM_ROCKET_BASE
checkcode VAR_FACING
ifequal RIGHT, .FacingRight
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d212
disappear TEAMROCKETBASEB2F_LANCE
end
.FacingRight:
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d219
disappear TEAMROCKETBASEB2F_LANCE
end
TrainerGruntM17:
trainer GRUNTM, GRUNTM_17, EVENT_BEAT_ROCKET_GRUNTM_17, GruntM17SeenText, GruntM17BeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext GruntM17AfterBattleText
waitbutton
closetext
end
TrainerGruntM18:
trainer GRUNTM, GRUNTM_18, EVENT_BEAT_ROCKET_GRUNTM_18, GruntM18SeenText, GruntM18BeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext GruntM18AfterBattleText
waitbutton
closetext
end
TrainerGruntM19:
trainer GRUNTM, GRUNTM_19, EVENT_BEAT_ROCKET_GRUNTM_19, GruntM19SeenText, GruntM19BeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext GruntM19AfterBattleText
waitbutton
closetext
end
RocketElectrode1:
cry ELECTRODE
loadwildmon ELECTRODE, 23
startbattle
iftrue TeamRocketBaseB2FReloadMap
disappear TEAMROCKETBASEB2F_ELECTRODE1
disappear TEAMROCKETBASEB2F_ELECTRODE4
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
iffalse TeamRocketBaseB2FReloadMap
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
iffalse TeamRocketBaseB2FReloadMap
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
iffalse TeamRocketBaseB2FReloadMap
reloadmapafterbattle
special PlayMapMusic
applymovement PLAYER, MovementData_0x6d28c
jump RocketBaseElectrodeScript
RocketElectrode2:
cry ELECTRODE
loadwildmon ELECTRODE, 23
startbattle
iftrue TeamRocketBaseB2FReloadMap
disappear TEAMROCKETBASEB2F_ELECTRODE2
disappear TEAMROCKETBASEB2F_ELECTRODE5
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
iffalse TeamRocketBaseB2FReloadMap
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
iffalse TeamRocketBaseB2FReloadMap
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
iffalse TeamRocketBaseB2FReloadMap
reloadmapafterbattle
special PlayMapMusic
applymovement PLAYER, MovementData_0x6d299
jump RocketBaseElectrodeScript
RocketElectrode3:
cry ELECTRODE
loadwildmon ELECTRODE, 23
startbattle
iftrue TeamRocketBaseB2FReloadMap
disappear TEAMROCKETBASEB2F_ELECTRODE3
disappear TEAMROCKETBASEB2F_ELECTRODE6
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
iffalse TeamRocketBaseB2FReloadMap
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
iffalse TeamRocketBaseB2FReloadMap
checkevent EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
iffalse TeamRocketBaseB2FReloadMap
reloadmapafterbattle
special PlayMapMusic
applymovement PLAYER, MovementData_0x6d2a4
jump RocketBaseElectrodeScript
TeamRocketBaseB2FReloadMap:
reloadmapafterbattle
end
RocketBaseElectrodeScript:
moveobject TEAMROCKETBASEB2F_LANCE, 18, 6
appear TEAMROCKETBASEB2F_LANCE
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d27a
turnobject PLAYER, RIGHT
opentext
writetext UnknownText_0x6d809
buttonsound
verbosegiveitem HM_WHIRLPOOL
setevent EVENT_GOT_HM06_WHIRLPOOL
writetext UnknownText_0x6d8f8
waitbutton
closetext
turnobject TEAMROCKETBASEB2F_LANCE, DOWN
opentext
writetext UnknownText_0x6d994
waitbutton
closetext
turnobject PLAYER, DOWN
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d283
disappear TEAMROCKETBASEB2F_LANCE
setevent EVENT_CLEARED_ROCKET_HIDEOUT
clearflag ENGINE_ROCKET_SIGNAL_ON_CH20
setevent EVENT_ROUTE_43_GATE_ROCKETS
setevent EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM
setscene SCENE_TEAMROCKETBASEB2F_NOTHING
clearevent EVENT_LAKE_OF_RAGE_CIVILIANS
setevent EVENT_TURNED_OFF_SECURITY_CAMERAS
setevent EVENT_SECURITY_CAMERA_1
setevent EVENT_SECURITY_CAMERA_2
setevent EVENT_SECURITY_CAMERA_3
setevent EVENT_SECURITY_CAMERA_4
setevent EVENT_SECURITY_CAMERA_5
end
TeamRocketBaseB2FLockedDoor:
conditional_event EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER, .Script
.Script:
opentext
checkevent EVENT_LEARNED_HAIL_GIOVANNI
iftrue .KnowsPassword
writetext UnknownText_0x6dd39
waitbutton
closetext
end
.KnowsPassword:
writetext UnknownText_0x6dd6b
waitbutton
playsound SFX_ENTER_DOOR
changeblock 14, 12, $07 ; floor
reloadmappart
closetext
setevent EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER
waitsfx
end
TeamRocketBaseB2FTransmitterScript:
opentext
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .Deactivated
writetext UnknownText_0x6dda7
waitbutton
closetext
end
.Deactivated:
writetext UnknownText_0x6de03
waitbutton
closetext
end
TeamRocketBaseB2FTMThief:
itemball TM_THIEF
TeamRocketBaseB2FHiddenFullHeal:
hiddenitem FULL_HEAL, EVENT_TEAM_ROCKET_BASE_B2F_HIDDEN_FULL_HEAL
MovementData_0x6d212:
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step_end
MovementData_0x6d219:
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step_end
MovementData_0x6d21f:
step DOWN
step DOWN
step DOWN
turn_head RIGHT
step_end
MovementData_0x6d224:
big_step LEFT
big_step LEFT
big_step UP
big_step UP
big_step UP
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
turn_head DOWN
step_end
MovementData_0x6d22f:
big_step LEFT
big_step LEFT
big_step UP
big_step UP
big_step LEFT
big_step LEFT
step_end
MovementData_0x6d236:
big_step RIGHT
big_step RIGHT
big_step RIGHT
big_step RIGHT
step_end
MovementData_0x6d23b:
fix_facing
set_sliding
jump_step RIGHT
remove_sliding
remove_fixed_facing
step_end
MovementData_0x6d241:
slow_step DOWN
turn_head LEFT
step_end
MovementData_0x6d244:
step RIGHT
step RIGHT
step RIGHT
step_end
MovementData_0x6d248:
big_step LEFT
step_end
MovementData_0x6d24a:
big_step LEFT
step_end
MovementData_0x6d24c:
big_step LEFT
big_step UP
turn_head LEFT
step_end
MovementData_0x6d250:
step RIGHT
step RIGHT
turn_head DOWN
step_end
MovementData_0x6d254:
step UP
step UP
step UP
step_end
MovementData_0x6d258:
step_sleep 8
step LEFT
step LEFT
turn_head UP
step_sleep 8
step RIGHT
step RIGHT
step RIGHT
step RIGHT
turn_head UP
step_sleep 8
step LEFT
step LEFT
turn_head DOWN
step_end
MovementData_0x6d267:
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step UP
step UP
step UP
step UP
step UP
step_end
MovementData_0x6d271:
step UP
step LEFT
step LEFT
step LEFT
step LEFT
turn_head UP
step_end
MovementData_0x6d278:
step LEFT
step_end
MovementData_0x6d27a:
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step LEFT
step LEFT
step LEFT
step_end
MovementData_0x6d283:
step DOWN
step DOWN
step LEFT
step LEFT
step LEFT
step LEFT
step LEFT
step LEFT
step_end
MovementData_0x6d28c:
step RIGHT
step RIGHT
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step_end
MovementData_0x6d299:
step RIGHT
step RIGHT
step DOWN
step DOWN
step DOWN
step DOWN
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step_end
MovementData_0x6d2a4:
step RIGHT
step RIGHT
step DOWN
step DOWN
step RIGHT
step RIGHT
step RIGHT
step RIGHT
step_end
UnknownText_0x6d2ad:
text "Hold it right"
line "there!"
done
UnknownText_0x6d2c3:
text "We can't have a"
line "brat like you on"
cont "the loose."
para "It's harmful to"
line "TEAM ROCKET's"
cont "pride, you see."
para "However strong you"
line "may be, you can't"
para "take both of us at"
line "the same time."
para "Sorry, baby. Now"
line "get ready to be"
cont "thrashed."
done
UnknownText_0x6d38c:
text "Hey! Don't be so"
line "selfish. Spread"
cont "the fun around."
done
UnknownText_0x6d3bd:
text "What? You had an"
line "accomplice?"
para "Where is your"
line "sense of honor?"
para "As the interim"
line "boss in place of"
para "GIOVANNI, I'll"
line "show you how wrong"
para "it is to meddle"
line "with TEAM ROCKET!"
done
UnknownText_0x6d45c:
text "Tch, you really"
line "are strong."
para "It's too bad."
para "If you were to"
line "join TEAM ROCKET,"
para "you could become"
line "an EXECUTIVE."
done
UnknownText_0x6d4c6:
text "…This hideout is"
line "done for…"
para "But that's fine."
line "The broadcast ex-"
cont "periment was a"
cont "total success."
para "It doesn't matter"
line "what happens to"
cont "this hideout now."
para "We have much big-"
line "ger plans."
para "You'll come to"
line "appreciate TEAM"
para "ROCKET's true"
line "power soon enough."
para "Enjoy yourself"
line "while you can…"
para "Fufufufu…"
done
UnknownText_0x6d5d8:
text "LANCE: That did"
line "it. We defeated"
para "all the ROCKETS"
line "here."
para "But I'm concerned"
line "about the young"
para "guy I battled in"
line "the process…"
done
UnknownText_0x6d64e:
text "Sorry, <PLAYER>."
line "I saw how well you"
para "were doing, so I"
line "just hung back."
para "Now all there is"
line "left to do is to"
para "turn off that odd"
line "radio signal."
done
UnknownText_0x6d6cf:
text "It's this machine"
line "that's causing all"
cont "the problems."
para "I don't see a"
line "switch on it…"
para "We have no choice."
line "We have to make"
para "all the ELECTRODE"
line "faint."
para "That should stop"
line "this machine from"
para "transmitting that"
line "strange signal."
para "It's no fault of"
line "the #MON, so it"
para "makes me feel"
line "guilty."
para "<PLAYER>, let's"
line "split the job."
done
UnknownText_0x6d7ea:
text "LANCE: Leave this"
line "side to me."
done
UnknownText_0x6d809:
text "LANCE: That odd"
line "signal has finally"
cont "stopped."
para "The LAKE should be"
line "back to normal."
para "You're the hero!"
line "Let me thank you"
para "on behalf of all"
line "the #MON."
para "Oh, yes. You"
line "should take this."
para "I found it here,"
line "but I don't have"
cont "any need for it."
done
UnknownText_0x6d8e6:
text "<PLAYER> received"
line "HM06."
done
UnknownText_0x6d8f8:
text "That's WHIRLPOOL."
line "Teach it to a"
para "#MON to get"
line "across wild water."
para "But keep this in"
line "mind."
para "You can use that"
line "out of battle only"
para "with the BADGE"
line "from MAHOGANY GYM."
done
UnknownText_0x6d994:
text "<PLAYER>…"
para "The journey to be-"
line "coming the #MON"
para "MASTER is long and"
line "difficult."
para "Knowing that, will"
line "you keep going?"
para "…"
para "I see. No, you're"
line "right."
para "If you would give"
line "up that easily,"
para "you would have"
line "never chased that"
para "dream in the first"
line "place."
para "I look forward to"
line "seeing you again!"
done
LanceHealsText1:
text "LANCE: Are you all"
line "right?"
para "Your #MON are"
line "hurt and tired."
para "Here, give them"
line "some of my medi-"
cont "cine."
done
LanceHealsText2:
text "LANCE: <PLAYER>,"
line "let's give it our"
cont "best for #MON."
done
GruntM17SeenText:
text "The door won't"
line "open?"
para "Well, duh."
line "It has to have a"
para "password that only"
line "TEAM ROCKET knows."
done
GruntM17BeatenText:
text "What? I lost?"
done
GruntM17AfterBattleText:
text "Heh, I'm just a"
line "GRUNT."
para "I don't know the"
line "password. Too bad"
cont "for you."
done
GruntM18SeenText:
text "Oh, a kid? I don't"
line "really like this,"
para "but eliminate you"
line "I must."
done
GruntM18BeatenText:
text "I knew I'd lose…"
done
GruntM18AfterBattleText:
text "I got wiped out on"
line "the last mission"
cont "by a kid too."
para "When we were ab-"
line "ducting #MON,"
para "this kid with long"
line "red hair and mean-"
para "looking eyes just"
line "creamed me…"
done
GruntM19SeenText:
text "You rotten little"
line "pest!"
done
GruntM19BeatenText:
text "Grrrr…"
done
GruntM19AfterBattleText:
text "Heh, only the boss"
line "knows the password"
cont "for that door."
para "Where's the boss?"
line "Who knows? Go look"
cont "for yourself."
done
UnknownText_0x6dd39:
text "The door's closed…"
para "It needs a pass-"
line "word to open."
done
UnknownText_0x6dd6b:
text "The door's closed…"
para "<PLAYER> entered"
line "the password."
para "The door opened!"
done
UnknownText_0x6dda7:
text "It's the radio"
line "transmitter that's"
para "sending the"
line "sinister signal."
para "It's working at"
line "full capacity."
done
UnknownText_0x6de03:
text "The radio trans-"
line "mitter has finally"
para "stopped its evil"
line "broadcast."
done
TeamRocketBaseB2F_MapEvents:
db 0, 0 ; filler
db 5 ; warp events
warp_event 3, 14, TEAM_ROCKET_BASE_B1F, 2
warp_event 3, 2, TEAM_ROCKET_BASE_B3F, 1
warp_event 27, 2, TEAM_ROCKET_BASE_B3F, 2
warp_event 3, 6, TEAM_ROCKET_BASE_B3F, 3
warp_event 27, 14, TEAM_ROCKET_BASE_B3F, 4
db 9 ; coord events
coord_event 5, 14, SCENE_DEFAULT, LanceHealsScript1
coord_event 4, 13, SCENE_DEFAULT, LanceHealsScript2
coord_event 14, 11, SCENE_TEAMROCKETBASEB2F_ROCKET_BOSS, RocketBaseBossFLeft
coord_event 15, 11, SCENE_TEAMROCKETBASEB2F_ROCKET_BOSS, RocketBaseBossFRight
coord_event 14, 12, SCENE_TEAMROCKETBASEB2F_ELECTRODES, RocketBaseCantLeaveScript
coord_event 15, 12, SCENE_TEAMROCKETBASEB2F_ELECTRODES, RocketBaseCantLeaveScript
coord_event 12, 3, SCENE_TEAMROCKETBASEB2F_ELECTRODES, RocketBaseLancesSideScript
coord_event 12, 10, SCENE_TEAMROCKETBASEB2F_ELECTRODES, RocketBaseLancesSideScript
coord_event 12, 11, SCENE_TEAMROCKETBASEB2F_ELECTRODES, RocketBaseLancesSideScript
db 23 ; bg events
bg_event 14, 12, BGEVENT_IFNOTSET, TeamRocketBaseB2FLockedDoor
bg_event 15, 12, BGEVENT_IFNOTSET, TeamRocketBaseB2FLockedDoor
bg_event 17, 9, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 16, 9, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 15, 9, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 14, 9, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 13, 9, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 12, 9, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 12, 8, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 12, 7, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 12, 6, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 12, 5, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 12, 4, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 13, 4, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 14, 4, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 15, 4, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 16, 4, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 17, 4, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 17, 5, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 17, 6, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 17, 7, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 17, 8, BGEVENT_READ, TeamRocketBaseB2FTransmitterScript
bg_event 26, 7, BGEVENT_ITEM, TeamRocketBaseB2FHiddenFullHeal
db 14 ; object events
object_event 20, 16, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_GRUNT_WITH_EXECUTIVE
object_event 20, 16, SPRITE_ROCKET_GIRL, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_EXECUTIVE
object_event 5, 13, SPRITE_LANCE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_LANCE
object_event 9, 13, SPRITE_DRAGON, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_DRAGONITE
object_event 7, 5, SPRITE_VOLTORB, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RocketElectrode1, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
object_event 7, 7, SPRITE_VOLTORB, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RocketElectrode2, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
object_event 7, 9, SPRITE_VOLTORB, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, RocketElectrode3, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
object_event 22, 5, SPRITE_VOLTORB, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_1
object_event 22, 7, SPRITE_VOLTORB, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_2
object_event 22, 9, SPRITE_VOLTORB, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B2F_ELECTRODE_3
object_event 25, 13, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM17, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 2, 1, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM18, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 21, 14, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerGruntM19, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 3, 10, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB2FTMThief, EVENT_TEAM_ROCKET_BASE_B2F_TM_THIEF

602
maps/TeamRocketBaseB3F.asm Normal file
View File

@@ -0,0 +1,602 @@
const_def 2 ; object constants
const TEAMROCKETBASEB3F_LANCE
const TEAMROCKETBASEB3F_ROCKET1
const TEAMROCKETBASEB3F_MOLTRES
const TEAMROCKETBASEB3F_ROCKET_GIRL
const TEAMROCKETBASEB3F_ROCKET2
const TEAMROCKETBASEB3F_SCIENTIST1
const TEAMROCKETBASEB3F_SCIENTIST2
const TEAMROCKETBASEB3F_ROCKET3
const TEAMROCKETBASEB3F_SILVER
const TEAMROCKETBASEB3F_POKE_BALL1
const TEAMROCKETBASEB3F_POKE_BALL2
const TEAMROCKETBASEB3F_POKE_BALL3
const TEAMROCKETBASEB3F_POKE_BALL4
const TEAMROCKETBASEB3F_POKE_BALL5
TeamRocketBaseB3F_MapScripts:
db 4 ; scene scripts
scene_script .LanceGetsPassword ; SCENE_DEFAULT
scene_script .DummyScene1 ; SCENE_TEAMROCKETBASEB3F_RIVAL_ENCOUNTER
scene_script .DummyScene2 ; SCENE_TEAMROCKETBASEB3F_ROCKET_BOSS
scene_script .DummyScene3 ; SCENE_TEAMROCKETBASEB3F_NOTHING
db 1 ; callbacks
callback MAPCALLBACK_TILES, .CheckGiovanniDoor
.LanceGetsPassword:
priorityjump LanceGetPasswordScript
end
.DummyScene1:
end
.DummyScene2:
end
.DummyScene3:
end
.CheckGiovanniDoor:
checkevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
iftrue .OpenSesame
return
.OpenSesame:
changeblock 10, 8, $07 ; floor
return
LanceGetPasswordScript:
turnobject PLAYER, LEFT
pause 5
turnobject TEAMROCKETBASEB3F_MOLTRES, RIGHT
pause 20
applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12a
opentext
writetext LanceGetPasswordText
waitbutton
closetext
applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12c
disappear TEAMROCKETBASEB3F_LANCE
setscene SCENE_TEAMROCKETBASEB3F_RIVAL_ENCOUNTER
end
RocketBaseRival:
turnobject PLAYER, LEFT
showemote EMOTE_SHOCK, PLAYER, 15
special FadeOutMusic
appear TEAMROCKETBASEB3F_SILVER
applymovement TEAMROCKETBASEB3F_SILVER, RocketBaseRivalEnterMovement
turnobject PLAYER, LEFT
playmusic MUSIC_RIVAL_ENCOUNTER
opentext
writetext RocketBaseRivalText
waitbutton
closetext
playsound SFX_TACKLE
applymovement PLAYER, RocketBaseRivalShovesPlayerMovement
applymovement TEAMROCKETBASEB3F_SILVER, RocketBaseRivalLeaveMovement
disappear TEAMROCKETBASEB3F_SILVER
setscene SCENE_TEAMROCKETBASEB3F_ROCKET_BOSS
special RestartMapMusic
end
TeamRocketBaseB3FRocketScript:
jumptextfaceplayer TeamRocketBaseB3FRocketText
RocketBaseBossLeft:
applymovement PLAYER, MovementData_0x6e133
jump RocketBaseBoss
RocketBaseBossRight:
applymovement PLAYER, MovementData_0x6e13a
RocketBaseBoss:
pause 30
showemote EMOTE_SHOCK, TEAMROCKETBASEB3F_ROCKET1, 15
playmusic MUSIC_ROCKET_ENCOUNTER
turnobject TEAMROCKETBASEB3F_ROCKET1, DOWN
opentext
writetext ExecutiveM4BeforeText
waitbutton
closetext
applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e142
winlosstext ExecutiveM4BeatenText, 0
setlasttalked TEAMROCKETBASEB3F_ROCKET1
loadtrainer EXECUTIVEM, EXECUTIVEM_4
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_ROCKET_EXECUTIVEM_4
opentext
writetext ExecutiveM4AfterText
waitbutton
closetext
applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e144
playsound SFX_TACKLE
applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e147
disappear TEAMROCKETBASEB3F_ROCKET1
setscene SCENE_TEAMROCKETBASEB3F_NOTHING
end
RocketBaseMurkrow:
opentext
writetext RocketBaseMurkrowText
waitbutton
closetext
setevent EVENT_LEARNED_HAIL_GIOVANNI
end
SlowpokeTailGrunt:
trainer GRUNTF, GRUNTF_5, EVENT_BEAT_ROCKET_GRUNTF_5, GruntF5SeenText, GruntF5BeatenText, 0, GruntF5Script
GruntF5Script:
endifjustbattled
opentext
writetext GruntF5AfterBattleText
waitbutton
closetext
setevent EVENT_LEARNED_SLOWPOKETAIL
end
RaticateTailGrunt:
trainer GRUNTM, GRUNTM_28, EVENT_BEAT_ROCKET_GRUNTM_28, GruntM28SeenText, GruntM28BeatenText, 0, GruntM28Script
GruntM28Script:
endifjustbattled
opentext
writetext GruntM28AfterBattleText
waitbutton
closetext
setevent EVENT_LEARNED_RATICATE_TAIL
end
TrainerScientistRoss:
trainer SCIENTIST, ROSS, EVENT_BEAT_SCIENTIST_ROSS, ScientistRossSeenText, ScientistRossBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext ScientistRossAfterBattleText
waitbutton
closetext
end
TrainerScientistMitch:
trainer SCIENTIST, MITCH, EVENT_BEAT_SCIENTIST_MITCH, ScientistMitchSeenText, ScientistMitchBeatenText, 0, .Script
.Script:
endifjustbattled
opentext
writetext ScientistMitchAfterBattleText
waitbutton
closetext
end
TeamRocketBaseB3FLockedDoor:
conditional_event EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE, .Script
.Script:
opentext
checkevent EVENT_LEARNED_SLOWPOKETAIL
iffalse .NeedsPassword
checkevent EVENT_LEARNED_RATICATE_TAIL
iffalse .NeedsPassword
jump .OpenSesame
.NeedsPassword:
writetext TeamRocketBaseB3FLockedDoorNeedsPasswordText
waitbutton
closetext
end
.OpenSesame:
writetext TeamRocketBaseB3FLockedDoorOpenSesameText
waitbutton
playsound SFX_ENTER_DOOR
changeblock 10, 8, $07 ; floor
reloadmappart
closetext
setevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
waitsfx
end
TeamRocketBaseB3FOathScript:
jumpstd teamrocketoath
TeamRocketBaseB3FFullHeal:
itemball FULL_HEAL
TeamRocketBaseB3FDireHit:
itemball DIRE_HIT
TeamRocketBaseB3FProtein:
itemball PROTEIN
TeamRocketBaseB3FIceHeal:
itemball ICE_HEAL
MovementData_0x6e12a:
step RIGHT
step_end
MovementData_0x6e12c:
step DOWN
step LEFT
step LEFT
step LEFT
step LEFT
step LEFT
step_end
MovementData_0x6e133:
step UP
step UP
step UP
step LEFT
step LEFT
turn_head UP
step_end
MovementData_0x6e13a:
step UP
step UP
step LEFT
step UP
step LEFT
step LEFT
turn_head UP
step_end
MovementData_0x6e142:
step DOWN
step_end
MovementData_0x6e144:
big_step RIGHT
big_step RIGHT
step_end
MovementData_0x6e147:
fix_facing
fast_jump_step LEFT
remove_fixed_facing
step_sleep 8
step_sleep 8
slow_step RIGHT
big_step DOWN
big_step DOWN
big_step DOWN
big_step RIGHT
big_step DOWN
big_step DOWN
big_step DOWN
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
big_step LEFT
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step UP
big_step LEFT
big_step LEFT
step_end
RocketBaseRivalEnterMovement:
step DOWN
step DOWN
step DOWN
step DOWN
step DOWN
step RIGHT
step RIGHT
step RIGHT
step_end
RocketBaseRivalLeaveMovement:
step LEFT
step LEFT
step UP
step UP
step UP
step UP
step UP
step_end
RocketBaseRivalShovesPlayerMovement:
fix_facing
big_step RIGHT
remove_fixed_facing
step_end
LanceGetPasswordText:
text "LANCE: It takes"
line "two passwords to"
para "get into the"
line "boss's quarters."
para "Those passwords"
line "are known only to"
cont "a few ROCKETS."
para "That ROCKET there"
line "very graciously"
cont "told me so."
para "<PLAYER>, let's go"
line "get the passwords."
done
TeamRocketBaseB3FRocketText:
text "Urrggh… The guy"
line "in the cape is"
cont "incredibly tough…"
done
RocketBaseRivalText:
text "…"
para "Didn't I tell you"
line "that I was going"
para "to destroy TEAM"
line "ROCKET?"
para "…Tell me, who was"
line "the guy in the"
para "cape who used"
line "dragon #MON?"
para "My #MON were no"
line "match at all."
para "I don't care that"
line "I lost. I can beat"
para "him by getting"
line "stronger #MON."
para "It's what he said"
line "that bothers me…"
para "He told me that"
line "I don't love and"
para "trust my #MON"
line "enough."
para "I'm furious that I"
line "lost to a bleeding"
cont "heart like him."
para "…Humph! I don't"
line "have the time for"
cont "the likes of you!"
done
ExecutiveM4BeforeText:
text "What? Who are you?"
line "This is the office"
para "of our leader,"
line "GIOVANNI."
para "Since disbanding"
line "TEAM ROCKET three"
para "years ago, he has"
line "been in training."
para "But we're certain"
line "he will be back"
para "some day to assume"
line "command again."
para "That's why we're"
line "standing guard."
para "I won't let any-"
line "one disturb this"
cont "place!"
done
ExecutiveM4BeatenText:
text "I… I couldn't do a"
line "thing…"
para "GIOVANNI, please"
line "forgive me…"
done
ExecutiveM4AfterText:
text "No, I can't let"
line "this affect me."
para "I have to inform"
line "the others…"
done
RocketBaseMurkrowText:
text "MURKROW: The"
line "password is…"
para "HAIL GIOVANNI."
done
GruntF5SeenText:
text "Do I know the"
line "password?"
para "Maybe."
para "But no weakling's"
line "going to get it!"
done
GruntF5BeatenText:
text "All right. Stop."
line "I'll tell you."
done
GruntF5AfterBattleText:
text "The password to"
line "the boss's room is"
para "SLOWPOKETAIL."
para "But it's useless"
line "unless you have"
cont "two passwords."
done
GruntM28SeenText:
text "Hyuck-hyuck-hyuck!"
para "You're challenging"
line "me to a battle?"
para "Hah! You're nuts,"
line "but you have guts!"
para "I like that!"
para "If you can beat"
line "me, I'll tell you"
para "a password to the"
line "boss's room!"
done
GruntM28BeatenText:
text "Hyuck-hyuck-hyuck!"
line "You're good!"
done
GruntM28AfterBattleText:
text "Hyuck-hyuck-hyuck!"
para "The password to"
line "the boss's room…"
para "Uh…, I think it is"
line "RATICATE TAIL."
done
ScientistRossSeenText:
text "I used to work for"
line "SILPH, but now I"
para "run research for"
line "TEAM ROCKET."
para "A meddlesome child"
line "like you needs to"
cont "be punished."
done
ScientistRossBeatenText:
text "A mere tactical"
line "error cost me…"
done
ScientistRossAfterBattleText:
text "A radio signal"
line "that drives #-"
cont "MON mad…"
para "My experiment is a"
line "complete success."
para "My promotion is"
line "assured. This loss"
para "means absolutely"
line "nothing."
done
ScientistMitchSeenText:
text "I don't care that"
line "#MON are hurt"
cont "by our experiment."
done
ScientistMitchBeatenText:
text "Thinking is my"
line "strong suit, not"
cont "battling."
done
ScientistMitchAfterBattleText:
text "If we turn up the"
line "power of our radio"
para "signal for broad-"
line "cast nationwide…"
para "The very thought"
line "excites me!"
done
TeamRocketBaseB3FLockedDoorNeedsPasswordText:
text "The door's closed…"
para "It needs two"
line "passwords to open."
done
TeamRocketBaseB3FLockedDoorOpenSesameText:
text "The door's closed…"
para "<PLAYER> entered"
line "the two passwords."
para "The door opened!"
done
TeamRocketBaseB3F_MapEvents:
db 0, 0 ; filler
db 4 ; warp events
warp_event 3, 2, TEAM_ROCKET_BASE_B2F, 2
warp_event 27, 2, TEAM_ROCKET_BASE_B2F, 3
warp_event 3, 6, TEAM_ROCKET_BASE_B2F, 4
warp_event 27, 14, TEAM_ROCKET_BASE_B2F, 5
db 3 ; coord events
coord_event 10, 8, SCENE_TEAMROCKETBASEB3F_ROCKET_BOSS, RocketBaseBossLeft
coord_event 11, 8, SCENE_TEAMROCKETBASEB3F_ROCKET_BOSS, RocketBaseBossRight
coord_event 8, 10, SCENE_TEAMROCKETBASEB3F_RIVAL_ENCOUNTER, RocketBaseRival
db 10 ; bg events
bg_event 10, 9, BGEVENT_IFNOTSET, TeamRocketBaseB3FLockedDoor
bg_event 11, 9, BGEVENT_IFNOTSET, TeamRocketBaseB3FLockedDoor
bg_event 10, 1, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 11, 1, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 12, 1, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 13, 1, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 4, 13, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 5, 13, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 6, 13, BGEVENT_READ, TeamRocketBaseB3FOathScript
bg_event 7, 13, BGEVENT_READ, TeamRocketBaseB3FOathScript
db 13 ; object events
object_event 25, 14, SPRITE_LANCE, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, LanceGetPasswordScript, EVENT_TEAM_ROCKET_BASE_B3F_LANCE_PASSWORDS
object_event 8, 3, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_TEAM_ROCKET_BASE_B3F_EXECUTIVE
object_event 7, 2, SPRITE_MOLTRES, SPRITEMOVEDATA_POKEMON, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, RocketBaseMurkrow, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 21, 7, SPRITE_ROCKET_GIRL, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_TRAINER, 0, SlowpokeTailGrunt, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 5, 15, SPRITE_ROCKET, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, RaticateTailGrunt, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 25, 12, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 4, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 14, 15, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 3, TrainerScientistMitch, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 24, 14, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, TeamRocketBaseB3FRocketScript, EVENT_TEAM_ROCKET_BASE_POPULATION
object_event 4, 5, SPRITE_SILVER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_RIVAL_TEAM_ROCKET_BASE
object_event 1, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FFullHeal, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL
object_event 3, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FDireHit, EVENT_TEAM_ROCKET_BASE_B3F_DIRE_HIT
object_event 28, 9, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FProtein, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN
object_event 17, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FIceHeal, EVENT_TEAM_ROCKET_BASE_B3F_ICE_HEAL