pmd-red/src/data/ground/ground_data_d09p03_station.h
2025-12-01 23:43:07 -05:00

452 lines
16 KiB
C

static const struct ScriptCommand s_gs197_g0_s0_station_sref_script[] = { /* 0x82496fc */
DEBUGINFO_O(11),
SELECT_MAP(MAP_MT_BLAZE_END),
BGM_STOP,
JUMP_SCRIPT(COMMON_ENTER),
};
static const ScriptRef s_gs197_g0_s0_station_sref = { ENTER_CONTROL, SCRIPT_TYPE_01, NULL, s_gs197_g0_s0_station_sref_script }; /* 0x8249768 */
static const struct ScriptCommand s_gs197_g1_s0_station_sref_script[] = { /* 0x8249774 */
DEBUGINFO_O(20),
SELECT_MAP(MAP_MT_BLAZE_END),
SELECT_ENTITIES(-1, 0),
BGM_SWITCH(MUS_IN_THE_DEPTHS_OF_THE_PIT),
{ 0x22, 0x01, 0x001e, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(3),
{ 0x23, 0x01, 0x001e, 0x00000000, 0x00000000, NULL },
RET,
};
static const ScriptRef s_gs197_g1_s0_station_sref = { EVENT_CONTROL, SCRIPT_TYPE_07, NULL, s_gs197_g1_s0_station_sref_script }; /* 0x82497f4 */
static const struct ScriptCommand s_gs197_g1_s0_eff0_script[] = { /* 0x8249800 */
DEBUGINFO_O(33),
CAMERA_END_PAN,
WAIT(1),
AWAIT_CUE(4),
CAMERA_INIT_PAN,
{ 0x89, 0x18, 0x0200, 0x00000004, 0x00000000, NULL },
AWAIT_CUE(4),
{ 0x89, 0x30, 0x0100, 0x00000000, 0x00000000, NULL },
ALERT_CUE(5),
AWAIT_CUE(4),
END_DELETE,
};
static const struct ScriptCommand s_gs197_g1_s0_lives0_dlg0[] = { /* 0x82498b0 */
DEBUGINFO_O(47),
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0000, 0x00000000, 0x00000000, NULL },
{ 0xdf, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
WAIT(30),
PORTRAIT(PLACEMENT_MIDRIGHT_TOP_FLIP, 0x0002, 0x00000000),
MSG_NPC(2, _("Urggggh!")),
MSG_NPC(2, _(" I'm not done!\nI'm not finished yet!")),
TEXTBOX_CLEAR,
FANFARE_PLAY2(460),
ALERT_CUE(7),
AWAIT_CUE(5),
FANFARE_PLAY2(455),
ALERT_CUE(6),
CALL_SCRIPT(NOTICE_FUNC),
PORTRAIT(PLACEMENT_LEFT_BOTTOM_2, 0x0001, 0x00000007),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Wait!\nHold it!")),
VARIANT(/* == */ 1, _(" We didn't come to cause any\ntrouble.")),
VARIANT(/* == */ 3, _(" Wait! Please listen!")),
VARIANT(/* == */ 3, _(" We're not here to cause\nany trouble.")),
VARIANT_DEFAULT(_(" Wait! Listen!")),
VARIANT_DEFAULT(_(" We're not here to cause\ntrouble.")),
TEXTBOX_CLEAR,
PORTRAIT_REP(0x0001, 0x00000005),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" We came here because we\nwere chased here.")),
VARIANT(/* == */ 1, _(" And listen, this mountain\nisn't the only place that is suffering.")),
VARIANT(/* == */ 1, _(" Natural disasters are\nbreaking out all over the place.")),
VARIANT(/* == */ 1, _(" We can't do anything to help\nbecause we're on the run now...")),
VARIANT(/* == */ 1, _(" But we want to help\nPokémon that are suffering from these\nnatural disasters.")),
VARIANT(/* == */ 3, _(" We were chased to this\nmountain...")),
VARIANT(/* == */ 3, _(" And you should know, this\nmountain isn't the only place that is\nsuffering.")),
VARIANT(/* == */ 3, _(" Natural calamities are\nhappening in all sorts of places.")),
VARIANT(/* == */ 3, _(" We can't do anything\nbecause we're fugitives now.")),
VARIANT(/* == */ 3, _(" But we want to help\nPokémon in these times of natural\ndisasters.")),
VARIANT_DEFAULT(_(" We're here only because\nwe were chased here.")),
VARIANT_DEFAULT(_(" You have to realize, this\nmountain isn't the only place that's\nsuffering.")),
VARIANT_DEFAULT(_(" Natural calamities are\noccurring all over the place.")),
VARIANT_DEFAULT(_(" We're fugitives now, so\nwe can't do anything...")),
VARIANT_DEFAULT(_(" But we want to help other\nPokémon that are suffering from these\nnatural disasters.")),
TEXTBOX_CLEAR,
WAIT(15),
ALERT_CUE(7),
AWAIT_CUE(5),
MSG_NPC(2, _(" ..................{WAIT_PRESS}\nDo you say that sincerely?")),
TEXTBOX_CLEAR,
WAIT(15),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" I'm not lying to you.\nBelieve me.")),
VARIANT(/* == */ 1, _(" If you think I'm lying...{WAIT_PRESS}\nLook at my eyes!")),
VARIANT(/* == */ 3, _(" It's true!\nPlease believe me!")),
VARIANT(/* == */ 3, _(" If you think I'm lying...{WAIT_PRESS}\nPlease, look at my eyes!")),
VARIANT_DEFAULT(_(" It's true!\nPlease believe me!")),
VARIANT_DEFAULT(_(" If you think I'm lying...{WAIT_PRESS}\nLook at my eyes!")),
TEXTBOX_CLEAR,
WAIT(15),
MSG_NPC(2, _(" ......")),
TEXTBOX_CLEAR,
WAIT(4),
MSG_NPC(1, _(" ............")),
TEXTBOX_CLEAR,
WAIT(4),
MSG_NPC(2, _(" ........................")),
TEXTBOX_CLEAR,
WAIT(4),
MSG_NPC(1, _(" ....................................")),
TEXTBOX_CLEAR,
WAIT(15),
ALERT_CUE(7),
MSG_OVERHEARD(_("Gyaaaaaah!")),
WAIT(10),
ALERT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
FANFARE_PLAY2(492),
ALERT_CUE(8),
ALERT_CUE(9),
FLASH_TO(TRUE, PALUTIL_KIND_05, 5, RGB_U32(0xFF, 0xFF, 0xFF)),
FLASH_FROM(TRUE, PALUTIL_KIND_05, 10, RGB_U32(0xFF, 0xFF, 0xFF)),
WAIT(10),
FLASH_TO(TRUE, PALUTIL_KIND_05, 5, RGB_U32(0xFF, 0xFF, 0xFF)),
FLASH_FROM(TRUE, PALUTIL_KIND_05, 10, RGB_U32(0xFF, 0xFF, 0xFF)),
WAIT(90),
TEXTBOX_CLEAR2,
ALERT_CUE(6),
WAIT(5),
CALL_SCRIPT(SPREE_START_FUNC),
PORTRAIT_REP(0x0001, 0x0000000c),
MSG_NPC(1, _(" Aiyiyiyi!")),
TEXTBOX_CLEAR,
CALL_SCRIPT(SPREE_END_FUNC),
WAIT(15),
MSG_NPC(2, _(" ............{WAIT_PRESS}Fine.")),
MSG_NPC(2, _(" I trust that you aren't lying.")),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
FANFARE_PLAY2(470),
ALERT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
PORTRAIT_REP(0x0001, 0x00000002),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Whew... That was rough...")),
VARIANT(/* == */ 1, _(" I thought I would keel over.")),
VARIANT(/* == */ 3, _(" Whew... My gosh...")),
VARIANT(/* == */ 3, _(" I thought my knees turned\nto jelly.")),
VARIANT_DEFAULT(_(" Whew... That was scary...")),
VARIANT_DEFAULT(_(" It felt like my knees turned\nto jelly.")),
TEXTBOX_CLEAR,
WAIT(15),
MSG_NPC(2, _(" You may pass.")),
MSG_NPC(2, _(" Get through Mt. Blaze.")),
MSG_NPC(2, _(" And...{WAIT_PRESS}\nPromise me this.")),
MSG_NPC(2, _(" Promise me that you will\nfind the cause of the calamities that\nwrack our world...")),
MSG_NPC(2, _(" And stop the disasters\nfrom sowing more destruction and\nsuffering.")),
TEXTBOX_CLEAR,
WAIT(4),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" All right.\nI promise.")),
VARIANT(/* == */ 1, _(" ...Of course, we can't get\nto that right away, but...")),
VARIANT_DEFAULT(_(" OK. I promise.")),
VARIANT_DEFAULT(_(" ...Of course, that's not\npossible right now, but...")),
TEXTBOX_CLEAR,
ALERT_CUE(7),
MSG_OVERHEARD(_("Gyaaaaah!")),
WAIT(10),
ALERT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
FANFARE_PLAY2(492),
ALERT_CUE(8),
ALERT_CUE(9),
FLASH_TO(TRUE, PALUTIL_KIND_05, 5, RGB_U32(0xFF, 0xFF, 0xFF)),
FLASH_FROM(TRUE, PALUTIL_KIND_05, 10, RGB_U32(0xFF, 0xFF, 0xFF)),
WAIT(10),
FLASH_TO(TRUE, PALUTIL_KIND_05, 5, RGB_U32(0xFF, 0xFF, 0xFF)),
FLASH_FROM(TRUE, PALUTIL_KIND_05, 10, RGB_U32(0xFF, 0xFF, 0xFF)),
WAIT(90),
TEXTBOX_CLEAR2,
WAIT(10),
ALERT_CUE(6),
PORTRAIT_REP(0x0001, 0x00000007),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Whoa, whoa, whoa!\nWe'll get to it! Right away!")),
VARIANT(/* == */ 3, _(" Aiyiyi!\nWe will! We will do it right away!")),
VARIANT_DEFAULT(_(" Waaah!\nWe will! We'll get on it!")),
PORTRAIT_REP(0x0001, 0x00000002),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" We're fugitives, so we can't\nget to it right away...")),
VARIANT(/* == */ 1, _(" But we're a rescue team.")),
VARIANT(/* == */ 1, _(" We'll get to the bottom of\nwhat's causing the natural disasters.{WAIT_PRESS}\nI promise.")),
VARIANT(/* == */ 3, _(" We're being chased, so we\ncan't get on it right away...")),
VARIANT(/* == */ 3, _(" But we're a rescue team.")),
VARIANT(/* == */ 3, _(" We'll get to the bottom of\nwhat's causing the natural calamities.{WAIT_PRESS}\nI promise.")),
VARIANT_DEFAULT(_(" We're being hunted, so we\ncan't get to it right away...")),
VARIANT_DEFAULT(_(" But we're a rescue team.")),
VARIANT_DEFAULT(_(" We'll investigate what's\nbehind the natural calamities.{WAIT_PRESS}\nI promise.")),
TEXTBOX_CLEAR,
WAIT(15),
ALERT_CUE(7),
AWAIT_CUE(5),
MSG_NPC(2, _(" ............{WAIT_PRESS}\nI will hold you to that promise.")),
MSG_NPC(2, _(" You've made me believe that\nyou will honor that promise.")),
MSG_NPC(2, _(" If you do not forget...{WAIT_PRESS}\nthe courage you showed in facing me.")),
TEXTBOX_CLEAR,
WAIT(15),
ALERT_CUE(7),
FANFARE_PLAY2(474),
MSG_OVERHEARD(_("Gyaaaaaaaaaah!")),
WAIT(10),
ALERT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
WAIT(80),
TEXTBOX_CLEAR2,
WAIT(15),
ALERT_CUE(6),
PORTRAIT_REP(0x0001, 0x0000000c),
MSG_NPC(1, _(" Waaaah!\nIs...is there anything else?")),
TEXTBOX_CLEAR,
CALL_SCRIPT(SPREE_END_FUNC),
WAIT(15),
MSG_NPC(2, _(" No.")),
MSG_NPC(2, _(" I was only preparing to\ntake off.")),
TEXTBOX_CLEAR,
FANFARE_PLAY2(470),
ALERT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
WAIT(15),
PORTRAIT_REP(0x0001, 0x00000002),
MSG_NPC(1, _(" Oh...\n(Does it need to do that?)")),
TEXTBOX_CLEAR,
WAIT(30),
MSG_NPC(2, _(" Farewell!")),
TEXTBOX_CLEAR,
ALERT_CUE(7),
AWAIT_CUE(5),
MSG_OVERHEARD(_("Gyaaaaaaaah!")),
FANFARE_PLAY2(459),
ALERT_CUE(7),
ALERT_CUE(4),
WAIT(100),
TEXTBOX_CLEAR2,
WAIT(90),
ALERT_CUE(4),
AWAIT_CUE(5),
WAIT(30),
FANFARE_PLAY2(470),
ALERT_CUE(6),
AWAIT_CUE(5),
ROTATE_TO(4, DIR_TRANS_11, DIRECTION_WEST),
PORTRAIT_REP(0x0001, 0x00000002),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
MSG_NPC(1, _(" Whew...")),
ALERT_CUE(6),
PORTRAIT_REP(0x0001, 0x00000007),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" Awww, sheesh, that was\nscary!")),
VARIANT_DEFAULT(_(" Ewwwwwww, that was\nscary!")),
WAIT(10),
PORTRAIT_REP(0x0001, 0x00000000),
MSG_VAR(2, PARTNER_TALK_KIND, 1),
VARIANT(/* == */ 1, _(" But I'm glad {NAME_2}\nunderstood us. Really.")),
VARIANT(/* == */ 1, _(" So, anyway...{WAIT_PRESS}\nWe should get off Mt. Blaze ourselves.")),
VARIANT(/* == */ 3, _(" But it's really great that\n{NAME_2} understood us.")),
VARIANT(/* == */ 3, _(" Anyway...{WAIT_PRESS}\nWe should get off Mt. Blaze, too.")),
VARIANT_DEFAULT(_(" But I'm glad {NAME_2}\nunderstood us. That was key.")),
VARIANT_DEFAULT(_(" Anyway...{WAIT_PRESS}\nLet's get off Mt. Blaze ourselves.")),
TEXTBOX_CLEAR,
WAIT(15),
BGM_FADEOUT(150),
{ 0x23, 0x00, 0x0050, 0x00000000, 0x00000000, NULL },
ALERT_CUE(6),
WAIT(10),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_GRID(256, 0),
ALERT_CUE(3),
HALT,
};
static const struct ScriptCommand s_gs197_g1_s0_lives1_dlg0[] = { /* 0x824b53c */
DEBUGINFO_O(307),
SELECT_ANIMATION(2),
{ 0x2d, 0x07, 0x0001, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(SPREE_START_FUNC),
WAIT(15),
CALL_SCRIPT(SPREE_END_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
AWAIT_CUE(6),
CALL_SCRIPT(SWEAT_FUNC),
WAIT(30),
CMD_UNK_93(4, DIR_TRANS_11, 0),
ALERT_CUE(5),
AWAIT_CUE(6),
CALL_SCRIPT(JUMP_SURPRISE_FUNC),
AWAIT_CUE(6),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
WALK_GRID(256, 0),
HALT,
};
static const struct ScriptCommand s_gs197_g1_s0_lives2_dlg0[] = { /* 0x824b75c */
DEBUGINFO_O(344),
SELECT_ANIMATION(22),
{ 0x2d, 0x07, 0x0002, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(7),
SELECT_ANIMATION(23),
STOP_ANIMATION_ON_CURRENT_FRAME,
ALERT_CUE(5),
AWAIT_CUE(7),
SELECT_ANIMATION(24),
STOP_ANIMATION_ON_CURRENT_FRAME,
ALERT_CUE(5),
AWAIT_CUE(7),
SELECT_ANIMATION(25),
STOP_ANIMATION_ON_CURRENT_FRAME,
AWAIT_CUE(7),
SELECT_ANIMATION(24),
STOP_ANIMATION_ON_CURRENT_FRAME,
ALERT_CUE(5),
AWAIT_CUE(7),
SELECT_ANIMATION(25),
STOP_ANIMATION_ON_CURRENT_FRAME,
AWAIT_CUE(7),
SELECT_ANIMATION(24),
STOP_ANIMATION_ON_CURRENT_FRAME,
ALERT_CUE(5),
AWAIT_CUE(7),
SELECT_ANIMATION(25),
STOP_ANIMATION_ON_CURRENT_FRAME,
AWAIT_CUE(7),
{ 0x53, 0x00, 0x0000, 0x0000001f, 0x00000000, NULL },
FANFARE_PLAY2(475),
SELECT_ANIMATION(5),
WAIT(45),
FANFARE_PLAY2(475),
{ 0x70, 0x00, 0x0099, 0x00000010, 0x00000000, NULL },
WAIT(16),
ALERT_CUE(5),
AWAIT_CUE(7),
FANFARE_PLAY2(459),
{ 0x70, 0x00, 0x0400, 0x00000080, 0x00000000, NULL },
END_DELETE,
};
static const struct ScriptCommand s_gs197_g1_s0_eff1_script[] = { /* 0x824b9ec */
DEBUGINFO_O(388),
AWAIT_CUE(8),
{ 0x56, 0x00, 0x0000, 0x00000172, 0x00000000, NULL },
{ 0xde, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
{ 0x56, 0x00, 0x0000, 0x00000172, 0x00000000, NULL },
{ 0xde, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(8),
HALT,
};
static const struct ScriptCommand s_gs197_g1_s0_eff2_script[] = { /* 0x824ba7c */
DEBUGINFO_O(400),
AWAIT_CUE(9),
{ 0x56, 0x00, 0x0000, 0x00000172, 0x00000000, NULL },
{ 0xde, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(9),
{ 0x56, 0x00, 0x0000, 0x00000172, 0x00000000, NULL },
{ 0xde, 0x00, 0x0000, 0x00000000, 0x00000000, NULL },
AWAIT_CUE(9),
HALT,
};
static const struct GroundLivesData s_gs197_g1_s0_lives[] = { /* 0x824bb0c */
/* 0 */ { 0, 4, 0, 0, { 37, 26, CPOS_HALFTILE, CPOS_HALFTILE }, {
[0] = s_gs197_g1_s0_lives0_dlg0,
} },
/* 1 */ { 34, 4, 0, 0, { 32, 26, 0, CPOS_HALFTILE }, {
[0] = s_gs197_g1_s0_lives1_dlg0,
} },
/* 2 */ { 101, 0, 0, 0, { 34, 22, CPOS_HALFTILE, CPOS_HALFTILE }, {
[0] = s_gs197_g1_s0_lives2_dlg0,
} },
};
static const struct GroundEffectData s_gs197_g1_s0_effs[] = { /* 0x824bb54 */
/* 0 */ { 0, 0, 1, 1, { 34, 24, 0, CPOS_HALFTILE }, s_gs197_g1_s0_eff0_script },
/* 1 */ { 4, 0, 1, 1, { 29, 18, CPOS_HALFTILE, CPOS_HALFTILE }, s_gs197_g1_s0_eff1_script },
/* 2 */ { 4, 0, 1, 1, { 39, 18, CPOS_HALFTILE, CPOS_HALFTILE }, s_gs197_g1_s0_eff2_script },
};
static const ScriptRef * const (sStationScripts[]) = { /* 0x824bb78 */
&s_gs197_g0_s0_station_sref,
&s_gs197_g1_s0_station_sref,
};
static const struct GroundScriptSector s_gs197_g0_sectors[] = { /* 0x824bb80 */
{ 0,NULL, 0,NULL, 0,NULL, 0,NULL, 1,&sStationScripts[0], },
};
static const struct GroundScriptSector s_gs197_g1_sectors[] = { /* 0x824bba8 */
{ LPARRAY(s_gs197_g1_s0_lives), 0,NULL, LPARRAY(s_gs197_g1_s0_effs), 0,NULL, 1,&sStationScripts[1], },
};
static const struct GroundScriptGroup s_gs197_groups[] = { /* 0x824bbd0 */
{ LPARRAY(s_gs197_g0_sectors) },
{ LPARRAY(s_gs197_g1_sectors) },
};
static const struct GroundLink s_gs197_links[] = { /* 0x824bbe0 */
/* link 0 */ { { /*x*/ 21, /*y*/ 26, /*flags*/ CPOS_HALFTILE, CPOS_HALFTILE }, /*w*/ 1, /*h*/ 1, /*ret*/ 1, /*?*/ 0 },
};
const GroundScriptHeader gGroundScript_gs197 = { LPARRAY(s_gs197_groups), s_gs197_links }; /* 0x824bbe8 */