object_const_def ; object_event 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: prioritysjump LanceGetPasswordScript end .DummyScene1: end .DummyScene2: end .DummyScene3: end .CheckGiovanniDoor: checkevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE iftrue .OpenSesame endcallback .OpenSesame: changeblock 10, 8, $07 ; floor endcallback 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 sjump 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 sjump .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 TeamRocketOathScript TeamRocketBaseB3FProtein: itemball PROTEIN TeamRocketBaseB3FXSpecial: itemball X_SPECIAL TeamRocketBaseB3FFullHeal: itemball FULL_HEAL TeamRocketBaseB3FIceHeal: itemball ICE_HEAL TeamRocketBaseB3FUltraBall: itemball ULTRA_BALL 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 ", 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 " 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 14 ; 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, 14, SPRITE_ROCKET, SPRITEMOVEDATA_SPINRANDOM_FAST, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, RaticateTailGrunt, EVENT_TEAM_ROCKET_BASE_POPULATION object_event 23, 11, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_TRAINER, 0, TrainerScientistRoss, EVENT_TEAM_ROCKET_BASE_POPULATION object_event 11, 15, SPRITE_SCIENTIST, SPRITEMOVEDATA_STANDING_RIGHT, 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, TeamRocketBaseB3FProtein, EVENT_TEAM_ROCKET_BASE_B3F_PROTEIN object_event 3, 12, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FXSpecial, EVENT_TEAM_ROCKET_BASE_B3F_X_SPECIAL object_event 28, 9, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FFullHeal, EVENT_TEAM_ROCKET_BASE_B3F_FULL_HEAL 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 object_event 14, 10, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, TeamRocketBaseB3FUltraBall, EVENT_TEAM_ROCKET_BASE_B3F_ULTRA_BALL