1417 lines
72 KiB
C
1417 lines
72 KiB
C
//
|
|
// WAR!
|
|
//
|
|
|
|
#include "../include/setup.h"
|
|
|
|
// Characters
|
|
#define CHR_MAIAN_LEADER 0x3d
|
|
#define CHR_MAIAN_TEMPLATE 0x3e
|
|
#define CHR_SKEDAR_TEMPLATE 0x3f
|
|
#define CHR_KING1 0x40
|
|
#define CHR_KING2 0x41
|
|
#define CHR_KING3 0x42
|
|
#define CHR_BLONDE 0x43
|
|
#define CHR_MAIAN1 0x44
|
|
#define CHR_MAIAN2 0x45
|
|
#define CHR_MAIAN3 0x46
|
|
#define CHR_MAIAN4 0x47
|
|
#define CHR_MAIAN5 0x48
|
|
|
|
// Objects
|
|
#define OBJ_BRIDGE 0x05
|
|
#define OBJ_MINE1 0x2f
|
|
#define OBJ_MINE2 0x30
|
|
#define OBJ_MINE3 0x31
|
|
#define OBJ_MINE4 0x32
|
|
#define OBJ_MINE5 0x33
|
|
#define OBJ_MINE6 0x40
|
|
|
|
// Stage flags
|
|
#define STAGEFLAG_LEADER_DEAD 0x00000100
|
|
#define STAGEFLAG_KING1_DEAD 0x00000200
|
|
#define STAGEFLAG_KING2_DEAD 0x00000400
|
|
#define STAGEFLAG_KING3_DEAD 0x00000800
|
|
|
|
// Functions
|
|
#define FUNC_DEFEND 0x0401
|
|
#define FUNC_INIT_KING 0x0402
|
|
#define FUNC_INIT_LEADER 0x0403
|
|
#define FUNC_MAIAN 0x0404
|
|
#define FUNC_INIT_MAIAN 0x0405
|
|
#define FUNC_SKEDAR 0x0406
|
|
#define FUNC_KING1_SKEDAR 0x0407
|
|
#define FUNC_KING2_SKEDAR 0x0408
|
|
#define FUNC_KING3_SKEDAR 0x0409
|
|
#define FUNC_INTRO 0x040a
|
|
#define FUNC_OUTRO 0x040b
|
|
#define FUNC_HIDE 0x040c
|
|
#define FUNC_BLOW_MINES 0x040d
|
|
|
|
// Other
|
|
#define GROUP_MAIANS 1
|
|
#define GROUP_KING1_SKEDAR 2
|
|
#define GROUP_KING2_SKEDAR 3
|
|
#define GROUP_KING3_SKEDAR 4
|
|
|
|
u8 intro[];
|
|
u8 props[];
|
|
struct aipaths paths[];
|
|
struct ailists functions[];
|
|
|
|
void *setup[] = {
|
|
NULL,
|
|
NULL,
|
|
NULL,
|
|
intro,
|
|
props,
|
|
paths,
|
|
functions,
|
|
NULL,
|
|
};
|
|
|
|
u8 props[] = {
|
|
briefing(0, 0x4601)
|
|
briefing(1, 0x4600)
|
|
briefing(2, 0x4602)
|
|
briefing(3, 0x4603)
|
|
|
|
beginobjective(0, 0x4604, (DIFFBIT_A | DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Kill Skedar King."
|
|
complete_flags(STAGEFLAG_KING1_DEAD)
|
|
fail_flags(STAGEFLAG_LEADER_DEAD)
|
|
endobjective
|
|
|
|
beginobjective(1, 0x4605, (DIFFBIT_SA | DIFFBIT_PA | DIFFBIT_PD)) // "Kill Skedar King 2."
|
|
complete_flags(STAGEFLAG_KING2_DEAD)
|
|
endobjective
|
|
|
|
beginobjective(2, 0x4606, (DIFFBIT_PA | DIFFBIT_PD)) // "Kill Skedar King 3."
|
|
complete_flags(STAGEFLAG_KING3_DEAD)
|
|
endobjective
|
|
|
|
chr(0x00000000, CHR_MAIAN_LEADER, 0x004f, BODY_ELVIS1, HEAD_MAIAN_S, FUNC_INIT_LEADER, 0x004e, -1, 1000, 200, 0x00002000, 0xc0304000, TEAM_ALLY, SQUADRON_01, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRMAIANSMG, 0x003d, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CALLISTONTG, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000000, CHR_MAIAN_TEMPLATE, 0x0045, BODY_CISOLDIER, HEAD_RANDOM, FUNC_HIDE, -1, -1, 200, 100, 0x00012000, 0xc0300000, TEAM_ALLY, SQUADRON_01, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRAR34, 0x003e, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_AR34, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000000, CHR_KING1, 0x007c, BODY_SKEDARKING, HEAD_RANDOM, FUNC_INIT_KING, 0x007c, -1, 1000, 200, 0x00002000, 0xc0304008, TEAM_ENEMY, SQUADRON_02, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRSKMINIGUN, 0x0040, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_REAPER, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x000000c0, CHR_KING2, 0x0110, BODY_SKEDARKING, HEAD_RANDOM, FUNC_INIT_KING, 0x0091, -1, 1000, 200, 0x00002000, 0xc0304000, TEAM_ENEMY, SQUADRON_03, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRSKROCKET, 0x0041, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_SLAYER, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000080, CHR_KING3, 0x0094, BODY_SKEDARKING, HEAD_RANDOM, FUNC_INIT_KING, 0x0094, -1, 1000, 200, 0x00002000, 0xc0304000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_KINGSCEPTRE, 0x0042, 0x10006000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_ROCKETLAUNCHER_34, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000300, CHR_BLONDE, 0x0077, BODY_SKEDAR, HEAD_MRBLONDE, FUNC_KING1_SKEDAR, 0x0022, -1, 1000, 200, 0x00002000, 0xc0304000, TEAM_ENEMY, SQUADRON_04, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRMAULER, 0x0043, 0x10004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_MAULER, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000000, CHR_SKEDAR_TEMPLATE, 0x007d, BODY_CISOLDIER, HEAD_RANDOM, FUNC_HIDE, -1, -1, 200, 100, 0x00012000, 0xc0300000, TEAM_ENEMY, SQUADRON_02, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRAR34, 0x003f, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_AR34, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000000, CHR_MAIAN1, 0x0009, BODY_ELVIS1, HEAD_MAIAN_S, GFUNC_IDLE, -1, -1, 200, 100, 0x00012000, 0xc0300000, TEAM_ALLY, SQUADRON_01, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRMAIANSMG, 0x0044, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CALLISTONTG, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000000, CHR_MAIAN2, 0x00a4, BODY_ELVIS1, HEAD_MAIAN_S, GFUNC_IDLE, -1, -1, 200, 100, 0x00012000, 0xc0300000, TEAM_ALLY, SQUADRON_01, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRMAIANSMG, 0x0045, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CALLISTONTG, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000000, CHR_MAIAN3, 0x0008, BODY_ELVIS1, HEAD_MAIAN_S, FUNC_HIDE, -1, -1, 200, 100, 0x00012000, 0xc0300000, TEAM_01, SQUADRON_01, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRMAIANSMG, 0x0046, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CALLISTONTG, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000000, CHR_MAIAN4, 0x000c, BODY_ELVIS1, HEAD_MAIAN_S, FUNC_HIDE, -1, -1, 200, 100, 0x00012000, 0xc0300000, TEAM_01, SQUADRON_01, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRMAIANSMG, 0x0047, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CALLISTONTG, 0x00ffffff, 0x00000000)
|
|
|
|
chr(0x00000000, CHR_MAIAN5, 0x000d, BODY_ELVIS1, HEAD_MAIAN_S, FUNC_HIDE, -1, -1, 200, 100, 0x00012000, 0xc0300000, TEAM_01, SQUADRON_01, -1, 0, 0x00000000)
|
|
weapon(0x0100, MODEL_CHRMAIANSMG, 0x0048, 0x00004000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, WEAPON_CALLISTONTG, 0x00ffffff, 0x00000000)
|
|
|
|
link_scenery(1, 0, 2)
|
|
debris(0x0100, MODEL_SKCREV_UNEXP1, 0x00e5, 0x035005e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
debris(0x0100, MODEL_SKCREV_EXP1, 0x00e6, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
link_scenery(1, 0, 2)
|
|
door(0x0100, MODEL_SKTNL_UNEXP1, 0x00e7, 0x13500d00, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00010000, 0x03e80000, 0x03e80000, 0x00010000, 0x00000000, 0x00000080, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
debris(0x0100, MODEL_SKTNL_EXP1, 0x00e8, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x1e, 5)
|
|
tag(0x1f, 5)
|
|
tag(0x20, 5)
|
|
tag(0x21, 5)
|
|
tag(0x22, 5)
|
|
stdobject(0x0100, MODEL_SK_FL_NOSHAD_ML, 0x014b, 0x035004e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0100, MODEL_SK_FL_NOSHAD_MR, 0x014c, 0x035004e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0100, MODEL_SK_FL_NOSHAD_BL, 0x014d, 0x035004e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0100, MODEL_SK_FL_NOSHAD_BR, 0x014e, 0x035004e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0100, MODEL_SK_FL_NOSHAD_T, 0x014a, 0x035004e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x01, 3)
|
|
tag(0x2a, 2)
|
|
link_scenery(1, 0, 0)
|
|
debris(0x0100, MODEL_SK_TEMPLECOLUMN4, 0x0111, 0x035005e8, 0x80106300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x02, 3)
|
|
tag(0x2b, 2)
|
|
link_scenery(1, 0, 0)
|
|
debris(0x0100, MODEL_SK_TEMPLECOLUMN2, 0x010a, 0x035005e8, 0x80106300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x03, 3)
|
|
tag(0x2c, 2)
|
|
link_scenery(1, 0, 0)
|
|
debris(0x0100, MODEL_SK_TEMPLECOLUMN3, 0x010b, 0x035005e8, 0x80106300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x2d, 2)
|
|
link_scenery(1, 0, 0)
|
|
debris(0x0100, MODEL_SK_TEMPLECOLUMN2, 0x010c, 0x035005e1, 0x80106300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x2e, 2)
|
|
link_scenery(1, 0, 0)
|
|
debris(0x0100, MODEL_SK_TEMPLECOLUMN3, 0x010d, 0x035005e1, 0x80106300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x27, 1)
|
|
tag(0x28, 1)
|
|
tag(0x29, 1)
|
|
tag(0x2f, 5)
|
|
tag(0x30, 5)
|
|
tag(0x31, 5)
|
|
tag(0x32, 5)
|
|
tag(0x33, 5)
|
|
stdobject(0x0019, MODEL_CHRREMOTEMINE, 0x00d5, 0x012004e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0019, MODEL_CHRREMOTEMINE, 0x010a, 0x012004e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0019, MODEL_CHRREMOTEMINE, 0x010b, 0x012004e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0019, MODEL_CHRREMOTEMINE, 0x010c, 0x012004e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0019, MODEL_CHRREMOTEMINE, 0x010d, 0x012004e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x3d, 1)
|
|
stdobject(0x0019, MODEL_CHRREMOTEMINE, 0x003b, 0x012004e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0100, MODEL_SK_SUNNOSHAD1, 0x014f, 0x035004e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
stdobject(0x0100, MODEL_SK_SUNNOSHAD2, 0x0150, 0x035004e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00eb, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00ec, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00ed, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00ee, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
tag(0x3e, 2)
|
|
tag(0x3f, 2)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00ef, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000040, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f0, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000040, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
tag(0x09, 2)
|
|
tag(0x0a, 2)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f1, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f2, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
tag(0x0d, 2)
|
|
tag(0x0e, 2)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f3, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f4, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f5, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f6, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
tag(0x0f, 2)
|
|
tag(0x10, 2)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f7, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f8, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
tag(0x11, 2)
|
|
tag(0x12, 2)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00f9, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_DOOR1, 0x00fa, 0x10000000, 0x00000000, 0x00000004, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000e666, 0x00010000, 0x00001999, 0x00014000, 0x00000666, 0x00000000, 0x00000000, 0x0000012c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000400, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
tag(0x0c, 1)
|
|
vent_fan(0x0100, MODEL_SK_UNDER_GENERATOR, 0x0126, 0x000204e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000444, 0x00000000, 0x00000002, 0x01000000)
|
|
vent_fan(0x0100, MODEL_SK_UNDER_TRANS, 0x0127, 0x000204e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000444, 0x00000000, 0x00000002, 0x01000000)
|
|
vent_fan(0x0100, MODEL_SK_UNDER_TRANS, 0x0128, 0x000204e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000444, 0x00000000, 0x00000002, 0x01000000)
|
|
tag(0x04, 1)
|
|
stdobject(0x0080, MODEL_SKPUZZLEOBJECT, 0x00d4, 0x000201e1, 0x00004100, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x05, 1)
|
|
lift(0x0100, MODEL_SKEDARBRIDGE, 0x0136, 0x035204e8, 0x00304300, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0136, 0x0136, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000071c, 0x0010aaaa, 0x00000000, 0x00000000, 0x00000000, 0x00000000)
|
|
tag(0x0b, 1)
|
|
multimonitor(0x0099, MODEL_COMHUB, 0x0137, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03030300)
|
|
tag(0x23, 1)
|
|
stdobject(0x0019, MODEL_RUBBLE1, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x24, 1)
|
|
stdobject(0x0019, MODEL_RUBBLE2, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x25, 1)
|
|
stdobject(0x0019, MODEL_RUBBLE3, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x26, 1)
|
|
stdobject(0x0019, MODEL_RUBBLE4, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x37, 1)
|
|
stdobject(0x0019, MODEL_SK_JONRUBBLE3, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x38, 1)
|
|
stdobject(0x0019, MODEL_SK_JONRUBBLE4, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x39, 1)
|
|
stdobject(0x0019, MODEL_SK_JONRUBBLE5, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x3a, 1)
|
|
stdobject(0x0019, MODEL_SK_JONRUBBLE6, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x3b, 1)
|
|
stdobject(0x0019, MODEL_SK_JONRUBBLE3, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x3c, 1)
|
|
stdobject(0x0019, MODEL_SK_JONRUBBLE3, 0xffff, 0x000215e1, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
tag(0x36, 1)
|
|
stdobject(0x0100, MODEL_SK_SHUTTLE, 0xffff, 0x00021401, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_BOT, 0x00fc, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000eb68, 0x0000eb68, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_TOP, 0x00fb, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00010000, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_BOT, 0x00fd, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000eb68, 0x0000eb68, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_TOP, 0x00fe, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00010000, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_BOT, 0x0100, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000eb68, 0x0000eb68, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_TOP, 0x00ff, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00010000, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_BOT, 0x0101, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000eb68, 0x0000eb68, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_TOP, 0x0102, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00010000, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_BOT, 0x0104, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000eb68, 0x0000eb68, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_TOP, 0x0103, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00010000, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_BOT, 0x0106, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000eb68, 0x0000eb68, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_TOP, 0x0105, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00010000, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_BOT, 0x0107, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x0000eb68, 0x0000eb68, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
door(0x0100, MODEL_SK_CRYOPOD1_TOP, 0x0108, 0x10000400, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000, 0x00010000, 0x00010000, 0x0001aaaa, 0x00002aaa, 0x00002aaa, 0x00000004, 0x00000000, 0x00000384, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xffffffff, 0x00000000, 0x00000000, 0x00000000, 0xff000000, 0x00000000, 0x00000000, 0x00000000)
|
|
tag(0x40, 1)
|
|
stdobject(0x0019, MODEL_CHRREMOTEMINE, 0x003b, 0x012004e8, 0x00086000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000003e8, 0x00000000, 0x00000000, 0x0fff0000)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0112)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0117)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0113)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0114)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0115)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0116)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0118)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0119)
|
|
pad_effect(PADEFFECT_SPARKS, 0x011a)
|
|
pad_effect(PADEFFECT_SPARKS, 0x011b)
|
|
pad_effect(PADEFFECT_SPARKS, 0x011c)
|
|
pad_effect(PADEFFECT_SPARKS, 0x011d)
|
|
pad_effect(PADEFFECT_SPARKS, 0x011e)
|
|
pad_effect(PADEFFECT_SPARKS, 0x011f)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0120)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0121)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0122)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0123)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0124)
|
|
pad_effect(PADEFFECT_SPARKS, 0x0125)
|
|
endprops
|
|
};
|
|
|
|
u8 intro[] = {
|
|
outfit(OUTFIT_MAIAN)
|
|
intro_weapon(WEAPON_PHOENIX, -1)
|
|
ammo(AMMOTYPE_PISTOL, 300)
|
|
ammo(AMMOTYPE_ROCKET, 3)
|
|
ammo(AMMOTYPE_SMG, 100)
|
|
spawn(0x00d7)
|
|
endintro
|
|
};
|
|
|
|
struct aipaths paths[] = {
|
|
{ NULL, 0, 0 },
|
|
};
|
|
|
|
u8 func1001_objectives_failed_msg[] = {
|
|
yield
|
|
set_function(CHR_SELF, GFUNC_SHOW_OBJ_FAILED_MSG)
|
|
endfunction
|
|
};
|
|
|
|
u8 func1000_counterop[] = {
|
|
yield
|
|
set_chr_team(CHR_COUNTEROP, TEAM_ENEMY)
|
|
set_function(CHR_SELF, GFUNC_REBUILD_GROUPS)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0403_init_maian_leader[] = {
|
|
stop_chr
|
|
yield
|
|
set_alertness(100)
|
|
set_accuracy(100)
|
|
set_reaction_speed(100)
|
|
set_chr_health(CHR_SELF, 40)
|
|
set_armor(300)
|
|
set_recovery_speed(100)
|
|
set_shield(0)
|
|
set_function(CHR_SELF, FUNC_DEFEND)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0402_init_king[] = {
|
|
set_self_flag_bank3(CHRFLAG3_00000020)
|
|
set_alertness(100)
|
|
set_accuracy(100)
|
|
set_reaction_speed(100)
|
|
set_chr_health(CHR_SELF, 40)
|
|
set_armor(300)
|
|
set_recovery_speed(100)
|
|
set_shield(0)
|
|
set_self_flag_bank3(CHRFLAG3_UNEXPLODABLE)
|
|
set_function(CHR_SELF, FUNC_DEFEND)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0401_defend[] = {
|
|
set_onshot_function(FUNC_DEFEND)
|
|
set_self_flag_bank3(CHRFLAG3_NOAUTOAIM)
|
|
if_chr_dying(CHR_SELF, /*goto*/ 0x2d)
|
|
if_chr_death_animation_finished(CHR_SELF, /*goto*/ 0x2d)
|
|
if_chr_unloaded(CHR_SELF, /*goto*/ 0x2d)
|
|
goto_next(0x06)
|
|
|
|
// Dying
|
|
label(0x2d)
|
|
set_onshot_function(GFUNC_IDLE)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
|
|
// Not dying - go to pad
|
|
label(0x06)
|
|
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
|
if_chr_distance_to_pad_lt(CHR_SELF, 200, TARGET_PAD, /*goto*/ 0x06)
|
|
|
|
label(0x03)
|
|
restart_timer
|
|
if_chr_distance_to_pad_gt(CHR_SELF, 500, TARGET_PAD, /*goto*/ 0x06)
|
|
go_to_target_pad(SPEED_JOG)
|
|
|
|
label(0x06)
|
|
go_to_target_pad(SPEED_RUN)
|
|
|
|
// Wait until at pad or 1 second has passed
|
|
beginloop(0x04)
|
|
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
|
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
|
if_chr_distance_to_pad_lt(CHR_SELF, 200, TARGET_PAD, /*goto*/ 0x06)
|
|
if_timer_gt(60, /*goto*/ 0x2d)
|
|
endloop(0x04)
|
|
|
|
// Timer expired - loop again
|
|
label(0x2d)
|
|
goto_first(0x03)
|
|
|
|
// At pad
|
|
label(0x06)
|
|
stop_chr
|
|
|
|
// Wait for enemy to come into sight, or to be pushed away from pad
|
|
beginloop(0x09)
|
|
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
|
if_chr_distance_to_pad_gt(CHR_SELF, 300, TARGET_PAD, /*goto*/ 0x06)
|
|
endloop(0x09)
|
|
|
|
// Pushed away from pad - return to it
|
|
label(0x06)
|
|
goto_first(0x03)
|
|
|
|
// Line of sight to enemy
|
|
label(0x08)
|
|
if_self_flag_bankx_eq(CHRFLAG1_00000008, TRUE, BANK_1, /*goto*/ 0x2d)
|
|
restart_timer
|
|
|
|
beginloop(0x8f)
|
|
if_timer_gt(120, /*goto*/ 0x2d)
|
|
endloop(0x8f)
|
|
|
|
label(0x2d)
|
|
if_chr_unloaded(TARGET_CHR, /*goto*/ 0x2d)
|
|
if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x2d)
|
|
if_chr_dying(TARGET_CHR, /*goto*/ 0x2d)
|
|
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
|
set_return_function(CHR_SELF, FUNC_DEFEND)
|
|
set_onshot_function(FUNC_DEFEND)
|
|
set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR)
|
|
|
|
label(0x2d)
|
|
goto_first(0x03)
|
|
|
|
endfunction
|
|
};
|
|
|
|
u8 func1003_spawn_maians[] = {
|
|
yield
|
|
|
|
// Wait for intro to finish
|
|
beginloop(0x58)
|
|
if_camera_animating(/*goto*/ 0x2d)
|
|
goto_next(0x2e)
|
|
label(0x2d)
|
|
endloop(0x58)
|
|
|
|
label(0x2e)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
label(0x04)
|
|
yield
|
|
label(0x06)
|
|
set_morale(50)
|
|
|
|
// Loop until a Maian is able to be spawned or counter depleted
|
|
beginloop(0x8d)
|
|
if_morale_lt(1, /*goto*/ 0x06)
|
|
try_spawn_chr(BODY_ELVIS1, HEAD_MAIAN_S, 0x0053, FUNC_INIT_MAIAN, 0x00000000, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_ELVIS1, HEAD_MAIAN_S, 0x0050, FUNC_INIT_MAIAN, 0x00000000, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_ELVIS1, HEAD_MAIAN_S, 0x004d, FUNC_INIT_MAIAN, 0x00000000, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_ELVIS1, HEAD_MAIAN_S, 0x004c, FUNC_INIT_MAIAN, 0x00000000, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_ELVIS1, HEAD_MAIAN_S, 0x004e, FUNC_INIT_MAIAN, 0x00000000, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_ELVIS1, HEAD_MAIAN_S, 0x004a, FUNC_INIT_MAIAN, 0x00000000, /*goto*/ 0x8e)
|
|
reloop(0x8d)
|
|
|
|
// Successful spawn
|
|
label(0x8e)
|
|
dprint 'C','R','E','A','T','E','D',' ','1','\n',0,
|
|
yield
|
|
subtract_morale(1)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
if_num_chrs_in_squadron_gt(7, GROUP_MAIANS, /*goto*/ 0x2d)
|
|
reloop(0x8d)
|
|
|
|
// Wait 5 seconds
|
|
label(0x2d)
|
|
restart_timer
|
|
|
|
beginloop(0x08)
|
|
dprint 'S','Q','U','A','D',' ','F','U','L','L','\n',0,
|
|
if_timer_gt(300, /*goto*/ 0x2d)
|
|
endloop(0x08)
|
|
|
|
// If a spot has freed up, go back to the spawning part to spawn another
|
|
label(0x2d)
|
|
if_num_chrs_in_squadron_gt(7, GROUP_MAIANS, /*goto*/ 0x2d)
|
|
endloop(0x8d)
|
|
|
|
// Still no free spot, so go back to the 5 second wait
|
|
label(0x2d)
|
|
goto_first(0x08)
|
|
|
|
// Counter depleted
|
|
label(0x06)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0405_init_maian[] = {
|
|
set_self_flag_bank3(CHRFLAG3_00040000)
|
|
set_self_flag_bank3(CHRFLAG3_00080000)
|
|
set_chr_team(CHR_SELF, TEAM_ALLY)
|
|
set_squadron(GROUP_MAIANS)
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
try_draw_weapon(MODEL_CHRMAIANSMG, WEAPON_CALLISTONTG, 0x00000000, /*goto*/ 0x06)
|
|
label(0x06)
|
|
try_inherit_properties(CHR_MAIAN_TEMPLATE, /*goto*/ 0x2d)
|
|
label(0x2d)
|
|
set_accuracy(100)
|
|
set_reaction_speed(100)
|
|
set_chr_health(CHR_SELF, 200)
|
|
set_armor(0)
|
|
set_recovery_speed(100)
|
|
set_shield(0)
|
|
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_function(CHR_SELF, FUNC_MAIAN)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0404_maian[] = {
|
|
set_return_function(CHR_SELF, FUNC_MAIAN)
|
|
set_onshot_function(FUNC_MAIAN)
|
|
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
|
|
|
label(0x03)
|
|
set_target_chr(CHR_KING1)
|
|
if_chr_dying(CHR_KING1, /*goto*/ 0x8f)
|
|
if_chr_death_animation_finished(CHR_KING1, /*goto*/ 0x8f)
|
|
if_chr_unloaded(CHR_KING1, /*goto*/ 0x8f)
|
|
goto_next(0x2d)
|
|
|
|
// King 1 dead
|
|
label(0x8f)
|
|
set_target_chr(CHR_KING2)
|
|
if_chr_dying(CHR_KING2, /*goto*/ 0x90)
|
|
if_chr_death_animation_finished(CHR_KING2, /*goto*/ 0x90)
|
|
if_chr_unloaded(CHR_KING2, /*goto*/ 0x90)
|
|
goto_next(0x2d)
|
|
|
|
// King 2 dead
|
|
label(0x90)
|
|
set_target_chr(CHR_KING3)
|
|
run_to_pad(0x0094)
|
|
goto_next(0x04)
|
|
|
|
// Go to king
|
|
label(0x2d)
|
|
try_run_to_target_chr(/*goto*/ 0x04)
|
|
|
|
beginloop(0x04)
|
|
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
|
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
|
if_chr_dying(TARGET_CHR, /*goto*/ 0x06)
|
|
if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x06)
|
|
if_chr_unloaded(TARGET_CHR, /*goto*/ 0x06)
|
|
endloop(0x04)
|
|
|
|
// King died while running to him
|
|
label(0x06)
|
|
goto_first(0x03)
|
|
|
|
// Maian has line of sight to king
|
|
label(0x08)
|
|
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
|
if_chr_dying(TARGET_CHR, /*goto*/ 0x06)
|
|
if_chr_death_animation_finished(TARGET_CHR, /*goto*/ 0x06)
|
|
if_chr_unloaded(TARGET_CHR, /*goto*/ 0x06)
|
|
set_return_function(CHR_SELF, FUNC_MAIAN)
|
|
set_onshot_function(FUNC_MAIAN)
|
|
set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR)
|
|
|
|
// King died while fighting
|
|
label(0x06)
|
|
goto_first(0x03)
|
|
|
|
endfunction
|
|
};
|
|
|
|
u8 func1004_spawn_king1_skedar[] = {
|
|
// Wait for intro to finish
|
|
beginloop(0x58)
|
|
if_camera_animating(/*goto*/ 0x2d)
|
|
goto_next(0x2e)
|
|
label(0x2d)
|
|
endloop(0x58)
|
|
|
|
label(0x2e)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
label(0x04)
|
|
yield
|
|
label(0x06)
|
|
set_morale(65)
|
|
|
|
// Loop until a Skedar is able to be spawned or counter depleted
|
|
beginloop(0x8d)
|
|
if_stage_flag_eq(STAGEFLAG_KING1_DEAD, TRUE, /*goto*/ 0x0e)
|
|
if_morale_lt(1, /*goto*/ 0x06)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x0079, FUNC_KING1_SKEDAR, 0x00000200, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x007d, FUNC_KING1_SKEDAR, 0x00000200, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x0083, FUNC_KING1_SKEDAR, 0x00000200, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x0085, FUNC_KING1_SKEDAR, 0x00000200, /*goto*/ 0x8e)
|
|
reloop(0x8d)
|
|
|
|
// Successful spawn
|
|
label(0x8e)
|
|
dprint 'C','R','E','A','T','E','D',' ','1','\n',0,
|
|
yield
|
|
subtract_morale(1)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
if_num_chrs_in_squadron_gt(5, 0x02, /*goto*/ 0x2d)
|
|
reloop(0x8d)
|
|
|
|
// Wait for 10 seconds if Maian squad is somewhat full,
|
|
// or wait 1 second if Maian squad is somewhat empty.
|
|
label(0x2d)
|
|
restart_timer
|
|
|
|
beginloop(0x08)
|
|
if_stage_flag_eq(STAGEFLAG_KING1_DEAD, TRUE, /*goto*/ 0x0e)
|
|
dprint 'S','Q','U','A','D',' ','F','U','L','L','\n',0,
|
|
if_num_chrs_in_squadron_gt(3, GROUP_MAIANS, /*goto*/ 0x2e)
|
|
if_timer_gt(60, /*goto*/ 0x2d)
|
|
label(0x2e)
|
|
if_timer_gt(600, /*goto*/ 0x2d)
|
|
endloop(0x08)
|
|
|
|
// If squad is still full, wait another 1 or 10 seconds
|
|
label(0x2d)
|
|
if_num_chrs_in_squadron_gt(5, GROUP_KING1_SKEDAR, /*goto*/ 0x2d)
|
|
goto_first(0x8d)
|
|
|
|
// Spawn more
|
|
label(0x2d)
|
|
goto_first(0x08)
|
|
|
|
// Counter depleted
|
|
label(0x06)
|
|
|
|
// King 1 dead
|
|
label(0x0e)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func1008_spawn_king2_skedar[] = {
|
|
// Wait for intro to finish
|
|
beginloop(0x58)
|
|
if_camera_animating(/*goto*/ 0x2d)
|
|
goto_next(0x2e)
|
|
label(0x2d)
|
|
endloop(0x58)
|
|
|
|
// Wait for king 1 to die
|
|
label(0x2e)
|
|
yield
|
|
|
|
beginloop(0x04)
|
|
if_stage_flag_eq(STAGEFLAG_KING1_DEAD, TRUE, /*goto*/ 0x06)
|
|
endloop(0x04)
|
|
|
|
// Loop until a Skedar is able to be spawned or counter depleted
|
|
label(0x06)
|
|
set_morale(50)
|
|
|
|
beginloop(0x8d)
|
|
if_stage_flag_eq(STAGEFLAG_KING2_DEAD, TRUE, /*goto*/ 0x0e)
|
|
if_morale_lt(1, /*goto*/ 0x06)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x008e, FUNC_KING2_SKEDAR, 0x00000210, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x0090, FUNC_KING2_SKEDAR, 0x00000210, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x008f, FUNC_KING2_SKEDAR, 0x00000210, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x0091, FUNC_KING2_SKEDAR, 0x00000210, /*goto*/ 0x8e)
|
|
reloop(0x8d)
|
|
|
|
// Successful spawn
|
|
label(0x8e)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
subtract_morale(1)
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
if_num_chrs_in_squadron_gt(3, GROUP_KING2_SKEDAR, /*goto*/ 0x2d)
|
|
reloop(0x8d)
|
|
|
|
// Wait 15 seconds or until king 2 dead
|
|
label(0x2d)
|
|
restart_timer
|
|
|
|
beginloop(0x08)
|
|
if_stage_flag_eq(STAGEFLAG_KING2_DEAD, TRUE, /*goto*/ 0x0e)
|
|
if_timer_gt(900, /*goto*/ 0x2d)
|
|
endloop(0x08)
|
|
|
|
// If squad still full, wait another 15 seconds, otherwise loop back to
|
|
// the spawning code.
|
|
label(0x2d)
|
|
if_num_chrs_in_squadron_gt(3, GROUP_KING2_SKEDAR, /*goto*/ 0x2d)
|
|
endloop(0x8d)
|
|
|
|
label(0x2d)
|
|
goto_first(0x08)
|
|
|
|
// Counter depleted
|
|
label(0x06)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
label(0x0e)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func100c_spawn_king3_skedar[] = {
|
|
// Wait for intro to finish
|
|
beginloop(0x58)
|
|
if_camera_animating(/*goto*/ 0x2d)
|
|
goto_next(0x2e)
|
|
label(0x2d)
|
|
endloop(0x58)
|
|
|
|
// Wait for king 2 to die
|
|
label(0x2e)
|
|
yield
|
|
|
|
beginloop(0x04)
|
|
if_stage_flag_eq(STAGEFLAG_KING2_DEAD, TRUE, /*goto*/ 0x06)
|
|
endloop(0x04)
|
|
|
|
// Loop until a Skedar is able to be spawned or counter depleted
|
|
label(0x06)
|
|
set_morale(50)
|
|
|
|
beginloop(0x8d)
|
|
if_stage_flag_eq(STAGEFLAG_KING3_DEAD, TRUE, /*goto*/ 0x0e)
|
|
if_morale_lt(1, /*goto*/ 0x06)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x0095, FUNC_KING3_SKEDAR, 0x00000200, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x0096, FUNC_KING3_SKEDAR, 0x00000200, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x012e, FUNC_KING3_SKEDAR, 0x00000200, /*goto*/ 0x8e)
|
|
try_spawn_chr(BODY_SKEDAR, HEAD_RANDOM, 0x0132, FUNC_KING3_SKEDAR, 0x00000200, /*goto*/ 0x8e)
|
|
reloop(0x8d)
|
|
|
|
// Successful spawn
|
|
label(0x8e)
|
|
yield
|
|
subtract_morale(1)
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
if_num_chrs_in_squadron_gt(5, 0x04, /*goto*/ 0x2d)
|
|
reloop(0x8d)
|
|
|
|
// Squad full - wait 15 seconds or for king 3 to die
|
|
label(0x2d)
|
|
restart_timer
|
|
|
|
beginloop(0x08)
|
|
if_stage_flag_eq(STAGEFLAG_KING3_DEAD, TRUE, /*goto*/ 0x0e)
|
|
if_timer_gt(900, /*goto*/ 0x2d)
|
|
endloop(0x08)
|
|
|
|
// Spawn more or wait another 15 seconds
|
|
label(0x2d)
|
|
if_num_chrs_in_squadron_gt(5, GROUP_KING3_SKEDAR, /*goto*/ 0x2d)
|
|
endloop(0x8d)
|
|
|
|
label(0x2d)
|
|
goto_first(0x08)
|
|
|
|
// Countdown depleted
|
|
label(0x06)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
label(0x0e)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0407_king1_skedar[] = {
|
|
try_draw_weapon(MODEL_CHRMAULER, WEAPON_MAULER, 0x00000000, /*goto*/ 0x06)
|
|
label(0x06)
|
|
try_inherit_properties(CHR_SKEDAR_TEMPLATE, /*goto*/ 0x2d)
|
|
label(0x2d)
|
|
set_squadron(GROUP_KING1_SKEDAR)
|
|
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
|
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
|
set_accuracy(10)
|
|
set_reaction_speed(50)
|
|
set_chr_health(CHR_SELF, 150)
|
|
set_armor(80)
|
|
set_recovery_speed(100)
|
|
set_shield(0)
|
|
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_function(CHR_SELF, FUNC_SKEDAR)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0408_king2_skedar[] = {
|
|
try_draw_weapon(MODEL_CHRMAULER, WEAPON_MAULER, 0x00000000, /*goto*/ 0x06)
|
|
label(0x06)
|
|
try_inherit_properties(CHR_SKEDAR_TEMPLATE, /*goto*/ 0x2d)
|
|
label(0x2d)
|
|
set_squadron(GROUP_KING2_SKEDAR)
|
|
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
|
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
|
set_accuracy(10)
|
|
set_reaction_speed(50)
|
|
set_chr_health(CHR_SELF, 150)
|
|
set_armor(80)
|
|
set_recovery_speed(100)
|
|
set_shield(0)
|
|
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_function(CHR_SELF, FUNC_SKEDAR)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0409_king3_skedar[] = {
|
|
try_draw_weapon(MODEL_CHRMAULER, WEAPON_MAULER, 0x00000000, /*goto*/ 0x06)
|
|
label(0x06)
|
|
try_inherit_properties(CHR_SKEDAR_TEMPLATE, /*goto*/ 0x2d)
|
|
label(0x2d)
|
|
set_squadron(GROUP_KING3_SKEDAR)
|
|
set_chr_team(CHR_SELF, TEAM_ENEMY)
|
|
set_chr_flag_bank2(CHR_SELF, CHRFLAG2_00400000)
|
|
set_accuracy(10)
|
|
set_reaction_speed(50)
|
|
set_chr_health(CHR_SELF, 150)
|
|
set_armor(80)
|
|
set_recovery_speed(100)
|
|
set_shield(0)
|
|
set_self_flag_bankx(CHRFLAG1_00080000, BANK_1)
|
|
rebuild_teams
|
|
rebuild_squadrons
|
|
set_function(CHR_SELF, FUNC_SKEDAR)
|
|
endfunction
|
|
};
|
|
|
|
u8 func0406_skedar[] = {
|
|
set_onshot_function(FUNC_SKEDAR)
|
|
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
|
label(0x03)
|
|
|
|
// Go to Maian leader
|
|
set_target_chr(CHR_MAIAN_LEADER)
|
|
try_run_to_target_chr(/*goto*/ 0x04)
|
|
|
|
beginloop(0x04)
|
|
dprint 'G','O',' ','T','O',' ','P','A','D','\n',0,
|
|
if_enemy_distance_lt_and_los(2540, /*goto*/ 0x08)
|
|
endloop(0x04)
|
|
|
|
label(0x08)
|
|
dprint 'D','E','T','E','C','T','E','D','\n',0,
|
|
set_return_function(CHR_SELF, FUNC_SKEDAR)
|
|
set_onshot_function(FUNC_SKEDAR)
|
|
set_function(CHR_SELF, GFUNC_COMBAT_WITH_TARGET_CHR)
|
|
endfunction
|
|
};
|
|
|
|
u8 func1005_check_leader_dead[] = {
|
|
beginloop(0x03)
|
|
if_chr_death_animation_finished(CHR_MAIAN_LEADER, /*goto*/ 0x2d)
|
|
if_chr_dying(CHR_MAIAN_LEADER, /*goto*/ 0x2d)
|
|
if_chr_unloaded(CHR_MAIAN_LEADER, /*goto*/ 0x2d)
|
|
endloop(0x03)
|
|
|
|
label(0x2d)
|
|
message(CHR_JOANNA, 0x4607) // "Maian leader has been killed."
|
|
set_stage_flag(STAGEFLAG_LEADER_DEAD)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func1009_check_king1_dead[] = {
|
|
set_object_flag_bank0(OBJ_BRIDGE, OBJECTFLAG0_DEACTIVATED)
|
|
|
|
beginloop(0x03)
|
|
if_chr_death_animation_finished(CHR_KING1, /*goto*/ 0x2d)
|
|
if_chr_dying(CHR_KING1, /*goto*/ 0x2d)
|
|
if_chr_unloaded(CHR_KING1, /*goto*/ 0x2d)
|
|
endloop(0x03)
|
|
|
|
label(0x2d)
|
|
message(CHR_JOANNA, 0x4608) // "Skedar King has been killed."
|
|
set_stage_flag(STAGEFLAG_KING1_DEAD)
|
|
unlock_door(0x3e, 0x40)
|
|
unlock_door(0x3f, 0x40)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func100a_check_king2_dead[] = {
|
|
set_object_flag_bank0(OBJ_BRIDGE, OBJECTFLAG0_DEACTIVATED)
|
|
if_difficulty_lt(DIFF_SA, /*goto*/ 0x0e)
|
|
|
|
beginloop(0x03)
|
|
if_chr_death_animation_finished(CHR_KING2, /*goto*/ 0x2d)
|
|
if_chr_dying(CHR_KING2, /*goto*/ 0x2d)
|
|
if_chr_unloaded(CHR_KING2, /*goto*/ 0x2d)
|
|
endloop(0x03)
|
|
|
|
label(0x2d)
|
|
message(CHR_JOANNA, 0x4608) // "Skedar King has been killed."
|
|
set_stage_flag(STAGEFLAG_KING2_DEAD)
|
|
label(0x0e)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func100b_check_king3_dead[] = {
|
|
set_object_flag_bank0(OBJ_BRIDGE, OBJECTFLAG0_DEACTIVATED)
|
|
if_difficulty_lt(DIFF_PA, /*goto*/ 0x0e)
|
|
|
|
beginloop(0x03)
|
|
if_chr_death_animation_finished(CHR_KING3, /*goto*/ 0x2d)
|
|
if_chr_dying(CHR_KING3, /*goto*/ 0x2d)
|
|
if_chr_unloaded(CHR_KING3, /*goto*/ 0x2d)
|
|
endloop(0x03)
|
|
|
|
label(0x2d)
|
|
message(CHR_JOANNA, 0x4608) // "Skedar King has been killed."
|
|
set_stage_flag(STAGEFLAG_KING3_DEAD)
|
|
label(0x0e)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func1007_check_end_level[] = {
|
|
// Wait for all objectives complete
|
|
beginloop(0x03)
|
|
if_all_objectives_complete(/*goto*/ 0x2d)
|
|
endloop(0x03)
|
|
|
|
// Wait 2 seconds
|
|
label(0x2d)
|
|
restart_timer
|
|
|
|
beginloop(0x08)
|
|
if_timer_gt(120, /*goto*/ 0x2d)
|
|
endloop(0x08)
|
|
|
|
// Check Jo not dead
|
|
label(0x2d)
|
|
if_chr_death_animation_finished(CHR_JOANNA, /*goto*/ 0x2d)
|
|
if_chr_dying(CHR_JOANNA, /*goto*/ 0x2d)
|
|
if_chr_unloaded(CHR_JOANNA, /*goto*/ 0x2d)
|
|
goto_next(0x06)
|
|
|
|
// Check Velvet not dead
|
|
label(0x2d)
|
|
if_chr_death_animation_finished(CHR_VELVET, /*goto*/ 0x2d)
|
|
if_chr_dying(CHR_VELVET, /*goto*/ 0x2d)
|
|
if_chr_unloaded(CHR_VELVET, /*goto*/ 0x2d)
|
|
goto_next(0x06)
|
|
|
|
// Mission failed
|
|
label(0x2d)
|
|
end_level
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
|
|
// Mission complete
|
|
label(0x06)
|
|
set_function(CHR_SELF, FUNC_OUTRO)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func040c_hide[] = {
|
|
label(0x03)
|
|
set_self_flag_bank3(CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
|
set_self_flag_bank3(CHRFLAG3_HIDDEN)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func100d_king1_invincible[] = {
|
|
beginloop(0x03)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0070, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0071, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0072, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0073, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0074, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0075, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0076, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0077, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0078, /*goto*/ 0x2d)
|
|
if_chr_in_room(CHR_JOANNA, 0x00, 0x0079, /*goto*/ 0x2d)
|
|
set_chr_flag_bank3(CHR_KING1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
|
reloop(0x03)
|
|
|
|
label(0x2d)
|
|
unset_chr_flag_bank3(CHR_KING1, CHRFLAG3_INVINCIBLE_TO_GUNFIRE)
|
|
endloop(0x03)
|
|
|
|
endfunction
|
|
};
|
|
|
|
u8 unregistered_function[] = {
|
|
yield
|
|
|
|
// Wait for intro to finish
|
|
beginloop(0x58)
|
|
if_camera_animating(/*goto*/ 0x2d)
|
|
goto_next(0x2e)
|
|
label(0x2d)
|
|
endloop(0x58)
|
|
|
|
label(0x2e)
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
yield
|
|
|
|
// Remove Blonde if counterop doesn't exist
|
|
label(0x03)
|
|
if_chr_death_animation_finished(CHR_COUNTEROP, /*goto*/ 0x2d)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
label(0x2d)
|
|
remove_chr(CHR_BLONDE)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func1002_intro[] = {
|
|
set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN)
|
|
set_music_track(MUSIC_G5_INTRO)
|
|
set_chr_flag_bank2(CHR_COUNTEROP, CHRFLAG2_00020000)
|
|
set_chr_flag_bank2(CHR_BLONDE, CHRFLAG2_00020000)
|
|
camera_movement(0x047c)
|
|
cmd0175(60)
|
|
|
|
set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000)
|
|
animation(0x047d, -1, -1, 0x0600, CHR_JOANNA, 4)
|
|
|
|
unset_chr_flag_bank3(CHR_MAIAN1, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank3(CHR_MAIAN1, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_MAIAN1, CHRFLAG2_00020000)
|
|
animation(0x047e, -1, -1, 0x0600, CHR_MAIAN1, 4)
|
|
|
|
unset_chr_flag_bank3(CHR_MAIAN2, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank3(CHR_MAIAN2, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_MAIAN2, CHRFLAG2_00020000)
|
|
animation(0x047f, -1, -1, 0x0600, CHR_MAIAN2, 4)
|
|
|
|
restart_timer
|
|
fade_to_color(0x000000ff, 0)
|
|
fade_to_color(0x00000000, 110)
|
|
set_cutscene_weapon(CHR_JOANNA, WEAPON_NONE, WEAPON_NONE)
|
|
yield
|
|
set_cutscene_weapon(CHR_JOANNA, WEAPON_PHOENIX, WEAPON_NONE)
|
|
|
|
// Wait 200 frames (3.3 secs) or until button pressed
|
|
beginloop(0x96)
|
|
if_controller_button_pressed(/*goto*/ 0x82)
|
|
if_timer_gt(200, /*goto*/ 0x06)
|
|
endloop(0x96)
|
|
|
|
// Timer expired - play a sound (explosion?)
|
|
label(0x06)
|
|
play_sound(0x05e2, CHANNEL_10)
|
|
|
|
// Wait for camera to finish or button to be pressed
|
|
beginloop(0x08)
|
|
if_camera_animating(/*goto*/ 0x2d)
|
|
goto_next(0x82)
|
|
label(0x2d)
|
|
if_controller_button_pressed(/*goto*/ 0x82)
|
|
label(0x2d)
|
|
endloop(0x08)
|
|
|
|
// Outro done
|
|
label(0x82)
|
|
mute_channel(CHANNEL_10)
|
|
unset_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN)
|
|
unset_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank2(CHR_COUNTEROP, CHRFLAG2_00020000)
|
|
|
|
unset_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000)
|
|
animation(0x047d, -2, -1, 0x0600, CHR_JOANNA, 2)
|
|
|
|
unset_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_MAIAN3, CHRFLAG2_00020000)
|
|
animation(0x047e, -2, -1, 0x0600, CHR_MAIAN3, 2)
|
|
|
|
unset_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_MAIAN4, CHRFLAG2_00020000)
|
|
animation(0x047f, -2, -1, 0x0600, CHR_MAIAN4, 2)
|
|
|
|
set_function(CHR_MAIAN1, FUNC_INIT_MAIAN)
|
|
set_function(CHR_MAIAN2, FUNC_INIT_MAIAN)
|
|
restart_default_music
|
|
reset_ambience
|
|
enter_firstperson
|
|
yield
|
|
label(0x2d)
|
|
set_function(CHR_SELF, FUNC_BLOW_MINES)
|
|
endfunction
|
|
};
|
|
|
|
u8 func040b_outro[] = {
|
|
set_invincible(CHR_JOANNA)
|
|
set_chr_flag_bank3(CHR_VELVET, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank3(CHR_COUNTEROP, CHRFLAG3_HIDDEN)
|
|
set_music_track(MUSIC_G5_OUTRO)
|
|
camera_movement(0x0480)
|
|
set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_JOANNA, CHRFLAG2_00020000)
|
|
set_chr_flag_bank3(CHR_JOANNA, CHRFLAG3_HIDDEN)
|
|
|
|
unset_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank3(CHR_MAIAN3, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_MAIAN3, CHRFLAG2_00020000)
|
|
animation(0x0481, -1, -1, 0x0600, CHR_MAIAN3, 4)
|
|
|
|
unset_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank3(CHR_MAIAN4, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_MAIAN4, CHRFLAG2_00020000)
|
|
animation(0x0482, -1, -1, 0x0600, CHR_MAIAN4, 4)
|
|
|
|
unset_chr_flag_bank3(CHR_MAIAN5, CHRFLAG3_HIDDEN)
|
|
set_chr_flag_bank3(CHR_MAIAN5, CHRFLAG3_UNPLAYABLE)
|
|
set_chr_flag_bank2(CHR_MAIAN5, CHRFLAG2_00020000)
|
|
animation(0x0483, -1, -1, 0x0600, CHR_MAIAN5, 4)
|
|
|
|
show_nonessential_chrs(FALSE)
|
|
|
|
// Wait 10 frames or for button press
|
|
restart_timer
|
|
|
|
beginloop(0x96)
|
|
if_controller_button_pressed(/*goto*/ 0x82)
|
|
if_timer_gt(10, /*goto*/ 0x06)
|
|
endloop(0x96)
|
|
|
|
// Play sound
|
|
label(0x06)
|
|
play_sound(0x05e3, CHANNEL_10)
|
|
|
|
// Wait 70 frames or for button press
|
|
beginloop(0x97)
|
|
if_controller_button_pressed(/*goto*/ 0x82)
|
|
if_timer_gt(70, /*goto*/ 0x06)
|
|
endloop(0x97)
|
|
|
|
// Play sound
|
|
label(0x06)
|
|
play_sound(0x05e5, CHANNEL_10)
|
|
|
|
// Wait 180 frames or for button press
|
|
beginloop(0x98)
|
|
if_controller_button_pressed(/*goto*/ 0x82)
|
|
if_timer_gt(180, /*goto*/ 0x06)
|
|
endloop(0x98)
|
|
|
|
// Play sound
|
|
label(0x06)
|
|
play_sound(0x05e7, CHANNEL_10)
|
|
|
|
// Wait for outro to finish
|
|
beginloop(0x08)
|
|
if_camera_animating(/*goto*/ 0x2d)
|
|
goto_next(0x82)
|
|
label(0x2d)
|
|
if_controller_button_pressed(/*goto*/ 0x82)
|
|
label(0x2d)
|
|
endloop(0x08)
|
|
|
|
label(0x82)
|
|
label(0x06)
|
|
mute_channel(CHANNEL_10)
|
|
end_level
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func100f_blow_mines[] = {
|
|
yield
|
|
|
|
#define wait(loopid) \
|
|
restart_timer \
|
|
\
|
|
beginloop(loopid) \
|
|
if_timer_gt(120, /*goto*/ 0x2d) \
|
|
endloop(loopid) \
|
|
\
|
|
label(0x2d)
|
|
|
|
|
|
|
|
wait(0x94)
|
|
destroy_object(OBJ_MINE6)
|
|
wait(0x95)
|
|
destroy_object(OBJ_MINE1)
|
|
wait(0x8f)
|
|
destroy_object(OBJ_MINE2)
|
|
wait(0x90)
|
|
destroy_object(OBJ_MINE3)
|
|
wait(0x91)
|
|
destroy_object(OBJ_MINE4)
|
|
wait(0x92)
|
|
destroy_object(OBJ_MINE5)
|
|
wait(0x93)
|
|
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
u8 func1010_init_lighting[] = {
|
|
yield
|
|
set_lighting(0x0004, 0x05, 0x01)
|
|
set_lighting(0x0004, 0x06, 0x01)
|
|
set_lighting(0x0005, 0x05, 0x01)
|
|
set_lighting(0x0005, 0x06, 0x01)
|
|
set_lighting(0x0006, 0x05, 0x01)
|
|
set_lighting(0x0006, 0x06, 0x01)
|
|
set_lighting(0x0007, 0x05, 0x01)
|
|
set_lighting(0x0007, 0x06, 0x01)
|
|
set_lighting(0x0008, 0x05, 0x01)
|
|
set_lighting(0x0008, 0x06, 0x01)
|
|
set_lighting(0x0009, 0x05, 0x01)
|
|
set_lighting(0x0009, 0x06, 0x01)
|
|
set_lighting(0x000a, 0x05, 0x01)
|
|
set_lighting(0x000a, 0x06, 0x01)
|
|
set_lighting(0x000b, 0x05, 0x01)
|
|
set_lighting(0x000b, 0x06, 0x01)
|
|
set_lighting(0x000c, 0x05, 0x01)
|
|
set_lighting(0x000c, 0x06, 0x01)
|
|
set_lighting(0x000d, 0x05, 0x01)
|
|
set_lighting(0x000d, 0x06, 0x01)
|
|
set_lighting(0x000e, 0x05, 0x01)
|
|
set_lighting(0x000e, 0x06, 0x01)
|
|
set_lighting(0x000f, 0x05, 0x01)
|
|
set_lighting(0x000f, 0x06, 0x01)
|
|
set_lighting(0x0010, 0x05, 0x01)
|
|
set_lighting(0x0010, 0x06, 0x01)
|
|
set_lighting(0x0011, 0x05, 0x01)
|
|
set_lighting(0x0011, 0x06, 0x01)
|
|
set_lighting(0x0012, 0x05, 0x01)
|
|
set_lighting(0x0012, 0x06, 0x01)
|
|
set_lighting(0x0013, 0x05, 0x01)
|
|
set_lighting(0x0013, 0x06, 0x01)
|
|
set_lighting(0x0014, 0x05, 0x01)
|
|
set_lighting(0x0014, 0x06, 0x01)
|
|
set_lighting(0x0015, 0x05, 0x01)
|
|
set_lighting(0x0015, 0x06, 0x01)
|
|
set_lighting(0x0016, 0x05, 0x01)
|
|
set_lighting(0x0016, 0x06, 0x01)
|
|
set_lighting(0x0017, 0x05, 0x01)
|
|
set_lighting(0x0017, 0x06, 0x01)
|
|
set_lighting(0x0018, 0x05, 0x01)
|
|
set_lighting(0x0018, 0x06, 0x01)
|
|
set_lighting(0x0019, 0x05, 0x01)
|
|
set_lighting(0x0019, 0x06, 0x01)
|
|
set_lighting(0x001a, 0x05, 0x01)
|
|
set_lighting(0x001b, 0x05, 0x01)
|
|
set_lighting(0x001b, 0x06, 0x01)
|
|
set_lighting(0x001d, 0x05, 0x01)
|
|
set_lighting(0x001d, 0x06, 0x01)
|
|
set_lighting(0x001e, 0x05, 0x01)
|
|
set_lighting(0x001e, 0x06, 0x01)
|
|
set_lighting(0x001f, 0x05, 0x01)
|
|
set_lighting(0x001f, 0x06, 0x01)
|
|
set_lighting(0x0020, 0x05, 0x01)
|
|
set_lighting(0x0020, 0x06, 0x01)
|
|
set_lighting(0x0021, 0x05, 0x01)
|
|
set_lighting(0x0021, 0x06, 0x01)
|
|
set_lighting(0x0022, 0x05, 0x01)
|
|
set_lighting(0x0022, 0x06, 0x01)
|
|
set_lighting(0x0023, 0x05, 0x01)
|
|
set_lighting(0x0023, 0x06, 0x01)
|
|
set_lighting(0x0024, 0x05, 0x01)
|
|
set_lighting(0x0024, 0x06, 0x01)
|
|
set_lighting(0x0025, 0x05, 0x01)
|
|
set_lighting(0x0025, 0x06, 0x01)
|
|
set_lighting(0x0026, 0x05, 0x01)
|
|
set_lighting(0x0026, 0x06, 0x01)
|
|
set_lighting(0x0027, 0x05, 0x01)
|
|
set_lighting(0x0027, 0x06, 0x01)
|
|
set_lighting(0x0028, 0x05, 0x01)
|
|
set_lighting(0x0028, 0x06, 0x01)
|
|
set_lighting(0x0029, 0x05, 0x01)
|
|
set_lighting(0x0029, 0x06, 0x01)
|
|
set_lighting(0x002a, 0x05, 0x01)
|
|
set_lighting(0x002a, 0x06, 0x01)
|
|
set_lighting(0x002b, 0x05, 0x01)
|
|
set_lighting(0x002b, 0x06, 0x01)
|
|
set_lighting(0x002c, 0x05, 0x01)
|
|
set_lighting(0x002c, 0x06, 0x01)
|
|
set_lighting(0x002d, 0x05, 0x01)
|
|
set_lighting(0x002d, 0x06, 0x01)
|
|
set_lighting(0x002e, 0x05, 0x01)
|
|
set_lighting(0x002e, 0x06, 0x01)
|
|
set_lighting(0x002f, 0x05, 0x01)
|
|
set_lighting(0x002f, 0x06, 0x01)
|
|
set_lighting(0x0030, 0x05, 0x01)
|
|
set_lighting(0x0030, 0x06, 0x01)
|
|
set_lighting(0x0031, 0x05, 0x01)
|
|
set_lighting(0x0031, 0x06, 0x01)
|
|
set_lighting(0x003b, 0x05, 0x01)
|
|
set_lighting(0x003b, 0x06, 0x01)
|
|
set_lighting(0x003c, 0x05, 0x01)
|
|
set_lighting(0x003c, 0x06, 0x01)
|
|
set_lighting(0x003d, 0x05, 0x01)
|
|
set_lighting(0x003d, 0x06, 0x01)
|
|
set_lighting(0x003e, 0x05, 0x01)
|
|
set_lighting(0x003e, 0x06, 0x01)
|
|
set_lighting(0x003f, 0x05, 0x01)
|
|
set_lighting(0x003f, 0x06, 0x01)
|
|
set_lighting(0x0040, 0x05, 0x01)
|
|
set_lighting(0x0040, 0x06, 0x01)
|
|
set_lighting(0x0041, 0x05, 0x01)
|
|
set_lighting(0x0041, 0x06, 0x01)
|
|
set_lighting(0x0042, 0x05, 0x01)
|
|
set_lighting(0x0042, 0x06, 0x01)
|
|
set_lighting(0x0043, 0x05, 0x01)
|
|
set_lighting(0x0043, 0x06, 0x01)
|
|
set_lighting(0x0044, 0x05, 0x01)
|
|
set_lighting(0x0044, 0x06, 0x01)
|
|
set_lighting(0x0045, 0x05, 0x01)
|
|
set_lighting(0x0046, 0x05, 0x01)
|
|
set_lighting(0x0047, 0x05, 0x01)
|
|
set_lighting(0x0047, 0x06, 0x01)
|
|
set_lighting(0x0049, 0x05, 0x01)
|
|
set_lighting(0x0049, 0x06, 0x01)
|
|
set_lighting(0x004a, 0x05, 0x01)
|
|
set_lighting(0x004a, 0x06, 0x01)
|
|
set_lighting(0x004b, 0x06, 0x01)
|
|
set_lighting(0x0048, 0x06, 0x01)
|
|
set_lighting(0x004f, 0x05, 0x01)
|
|
set_lighting(0x0058, 0x05, 0x01)
|
|
set_lighting(0x0059, 0x05, 0x01)
|
|
set_lighting(0x0059, 0x06, 0x01)
|
|
set_function(CHR_SELF, GFUNC_IDLE)
|
|
endfunction
|
|
};
|
|
|
|
struct ailists functions[] = {
|
|
{ func1000_counterop, 0x1000 },
|
|
{ func1001_objectives_failed_msg, 0x1001 },
|
|
{ func1002_intro, 0x1002 },
|
|
{ func1003_spawn_maians, 0x1003 },
|
|
{ func1004_spawn_king1_skedar, 0x1004 },
|
|
{ func1005_check_leader_dead, 0x1005 },
|
|
{ func1007_check_end_level, 0x1007 },
|
|
{ func1008_spawn_king2_skedar, 0x1008 },
|
|
{ func1009_check_king1_dead, 0x1009 },
|
|
{ func100a_check_king2_dead, 0x100a },
|
|
{ func100b_check_king3_dead, 0x100b },
|
|
{ func100c_spawn_king3_skedar, 0x100c },
|
|
{ func100d_king1_invincible, 0x100d },
|
|
{ func100f_blow_mines, 0x100f },
|
|
{ func1010_init_lighting, 0x1010 },
|
|
{ func100f_blow_mines, 0x040d },
|
|
{ func040c_hide, 0x040c },
|
|
{ func0401_defend, 0x0401 },
|
|
{ func0402_init_king, 0x0402 },
|
|
{ func0403_init_maian_leader, 0x0403 },
|
|
{ func0404_maian, 0x0404 },
|
|
{ func0405_init_maian, 0x0405 },
|
|
{ func0406_skedar, 0x0406 },
|
|
{ func0407_king1_skedar, 0x0407 },
|
|
{ func0408_king2_skedar, 0x0408 },
|
|
{ func0409_king3_skedar, 0x0409 },
|
|
{ func1002_intro, 0x040a },
|
|
{ func040b_outro, 0x040b },
|
|
{ func1002_intro, 0x0c00 },
|
|
{ func040b_outro, 0x0c01 },
|
|
{ NULL, 0 },
|
|
};
|
|
|