diff --git a/include/enums.h b/include/enums.h index 9d569a4c10..a7a48f02e4 100644 --- a/include/enums.h +++ b/include/enums.h @@ -235,6 +235,35 @@ enum StoryProgress { STORY_61 = 97, }; +enum KoopaKootFavors { + KOOT_FAVOR_CH1_1 = 0, + KOOT_FAVOR_CH1_2 = 1, + KOOT_FAVOR_CH2_1 = 2, + KOOT_FAVOR_CH2_2 = 3, + KOOT_FAVOR_CH2_3 = 4, + KOOT_FAVOR_CH3_1 = 5, + KOOT_FAVOR_CH3_2 = 6, + KOOT_FAVOR_CH3_3 = 7, + KOOT_FAVOR_CH4_1 = 8, + KOOT_FAVOR_CH4_2 = 9, + KOOT_FAVOR_CH4_3 = 10, + KOOT_FAVOR_CH5_1 = 11, + KOOT_FAVOR_CH5_2 = 12, + KOOT_FAVOR_CH5_3 = 13, + KOOT_FAVOR_CH6_1 = 14, + KOOT_FAVOR_CH6_2 = 15, + KOOT_FAVOR_CH6_3 = 16, + KOOT_FAVOR_CH7_1 = 17, + KOOT_FAVOR_CH7_2 = 18, + KOOT_FAVOR_CH7_3 = 19, +}; + +enum KoopaKootFavorStates { + KOOT_FAVOR_STATE_0 = 0, + KOOT_FAVOR_STATE_1 = 1, + KOOT_FAVOR_STATE_2 = 2, +}; + enum EncounterTriggers { ENCOUNTER_TRIGGER_NONE = 1, ENCOUNTER_TRIGGER_JUMP = 2, @@ -451,7 +480,7 @@ enum Abilities { ABILITY_FLOWER_FINDER = 0x0000002C, ABILITY_DIZZY_ATTACK = 0x0000002D, ABILITY_FINAL_GOOMPA = 0x0000002E, - ABILITY_FINAL_BOMBOMB = 0x0000002F, + ABILITY_FINAL_BOBOMB = 0x0000002F, ABILITY_DEEP_FOCUS = 0x00000030, ABILITY_SUPER_FOCUS = 0x00000031, ABILITY_KAIDEN = 0x00000032, @@ -526,6 +555,7 @@ enum SoundIDs { SOUND_36 = 0x00000036, SOUND_37 = 0x00000037, SOUND_38 = 0x00000038, + SOUND_39 = 0x00000039, SOUND_3F = 0x0000003F, SOUND_40 = 0x00000040, SOUND_41 = 0x00000041, @@ -824,6 +854,8 @@ enum SoundIDs { SOUND_227 = 0x00000227, SOUND_228 = 0x00000228, SOUND_229 = 0x00000229, + SOUND_22A = 0x0000022A, + SOUND_22B = 0x0000022B, SOUND_22C = 0x0000022C, SOUND_22D = 0x0000022D, SOUND_230 = 0x00000230, @@ -1249,6 +1281,7 @@ enum SoundIDs { SOUND_2085 = 0x00002085, SOUND_2086 = 0x00002086, SOUND_2087 = 0x00002087, + SOUND_2088 = 0x00002088, SOUND_2089 = 0x00002089, SOUND_208A = 0x0000208A, SOUND_208B = 0x0000208B, @@ -1382,6 +1415,7 @@ enum SoundIDs { SOUND_212D = 0x0000212D, SOUND_212E = 0x0000212E, SOUND_8161 = 0x00008161, + SOUND_80000000 = 0x80000000, SOUND_80000001 = 0x80000001, SOUND_80000002 = 0x80000002, @@ -1476,6 +1510,9 @@ enum SoundIDs { SOUND_8000006B = 0x8000006B, SOUND_8000006C = 0x8000006C, + SOUND_ROOM_DOOR_OPEN = 0xA0000000, + SOUND_ROOM_DOOR_CLOSE = 0xA0000001, + SOUND_FIRE_BAR_0 = 0xB0000000, SOUND_FIRE_BAR_1 = 0xB0000001, SOUND_FIRE_BAR_2 = 0xB0000002, @@ -1509,6 +1546,8 @@ enum SoundIDs { }; enum SoundInstanceFlags { + SOUND_INSTANCE_FLAG_1 = 0x00000001, + SOUND_INSTANCE_FLAG_2 = 0x00000002, SOUND_INSTANCE_FLAG_4 = 0x00000004, }; @@ -1530,9 +1569,9 @@ enum SoundSpatializationFlags { enum SoundType { SOUND_TYPE_SPECIAL = 0x80000000, SOUND_TYPE_LOOPING = 0, - SOUND_TYPE_DOOR1 = 1, - SOUND_TYPE_DOOR2 = 2, - SOUND_TYPE_ALTERNATING = 3 + SOUND_TYPE_EXIT_DOOR = 1, // 0x90000000 (with SOUND_TYPE_SPECIAL) + SOUND_TYPE_ROOM_DOOR = 2, // 0xA0000000 (with SOUND_TYPE_SPECIAL) + SOUND_TYPE_ALTERNATING = 3, // 0xB0000000 (with SOUND_TYPE_SPECIAL) }; enum SoundIDBits { @@ -1664,39 +1703,39 @@ enum ItemIDs { ITEM_SNOWMAN_SCARF = 0x00000032, ITEM_RED_KEY = 0x00000033, ITEM_BLUE_KEY = 0x00000034, - ITEM_UNUSED_LETTER01 = 0x00000035, - ITEM_LETTER01 = 0x00000036, - ITEM_LETTER02 = 0x00000037, - ITEM_LETTER03 = 0x00000038, - ITEM_LETTER04 = 0x00000039, + ITEM_UNUSED_LETTER_1 = 0x00000035, + ITEM_LETTER_TO_MERLON = 0x00000036, + ITEM_LETTER_TO_GOOMPA = 0x00000037, + ITEM_LETTER_TO_MORT_T = 0x00000038, + ITEM_LETTER_TO_RUSS_T = 0x00000039, ITEM_LETTER_TO_MAYOR_PENGUIN = 0x0000003A, ITEM_LETTER_TO_MERLOW = 0x0000003B, - ITEM_LETTER07 = 0x0000003C, - ITEM_LETTER08 = 0x0000003D, + ITEM_LETTER_TO_FICE_T = 0x0000003C, + ITEM_LETTER_TO_NOMADIMOUSE = 0x0000003D, ITEM_LETTER_TO_MINHT = 0x0000003E, - ITEM_UNUSED_LETTER02 = 0x0000003F, - ITEM_LETTER10 = 0x00000040, + ITEM_UNUSED_LETTER_2 = 0x0000003F, + ITEM_LETTER_CHAIN_GOOMPAPA_1 = 0x00000040, ITEM_LETTER_TO_IGOR = 0x00000041, - ITEM_UNUSED_LETTER03 = 0x00000042, - ITEM_UNUSED_LETTER04 = 0x00000043, - ITEM_UNUSED_LETTER05 = 0x00000044, - ITEM_LETTER_TO_FRANKY = 0x00000045, - ITEM_LETTER13 = 0x00000046, - ITEM_LETTER14 = 0x00000047, - ITEM_LETTER15 = 0x00000048, - ITEM_LETTER16 = 0x00000049, - ITEM_LETTER17 = 0x0000004A, - ITEM_LETTER18 = 0x0000004B, - ITEM_LETTER19 = 0x0000004C, - ITEM_UNUSED_LETTER06 = 0x0000004D, - ITEM_LETTER20 = 0x0000004E, - ITEM_LETTER_TO_RED_YOSHI_KID = 0x0000004F, - ITEM_LETTER_TO_DANE_T = 0x00000050, - ITEM_LETTER_TO_FROST_T = 0x00000051, - ITEM_LETTER24 = 0x00000052, + ITEM_UNUSED_LETTER_3 = 0x00000042, + ITEM_UNUSED_LETTER_4 = 0x00000043, + ITEM_UNUSED_LETTER_5 = 0x00000044, + ITEM_LETTER_CHAIN_FRANKY = 0x00000045, + ITEM_LETTER_CHAIN_MUSS_T = 0x00000046, + ITEM_LETTER_CHAIN_KOOVER_1 = 0x00000047, + ITEM_LETTER_CHAIN_FISHMAEL = 0x00000048, + ITEM_LETTER_CHAIN_KOOVER_2 = 0x00000049, + ITEM_LETTER_CHAIN_MR_E = 0x0000004A, + ITEM_LETTER_CHAIN_MISS_T = 0x0000004B, + ITEM_LETTER_CHAIN_LITTLE_MOUSER = 0x0000004C, + ITEM_UNUSED_LETTER_6 = 0x0000004D, + ITEM_LETTER_CHAIN_DANE_T_1 = 0x0000004E, + ITEM_LETTER_CHAIN_YOSHI_KID = 0x0000004F, + ITEM_LETTER_CHAIN_DANE_T_2 = 0x00000050, + ITEM_LETTER_CHAIN_FROST_T = 0x00000051, + ITEM_LETTER_CHAIN_GOOMPAPA_2 = 0x00000052, ITEM_ARTIFACT = 0x00000053, ITEM_LETTER_TO_KOLORADO = 0x00000054, - ITEM_UNUSED_LETTER07 = 0x00000055, + ITEM_UNUSED_LETTER_7 = 0x00000055, ITEM_DOLLY = 0x00000056, ITEM_WATER_STONE = 0x00000057, ITEM_MAGICAL_BEAN = 0x00000058, @@ -2433,7 +2472,7 @@ enum AmbientSounds { AMBIENT_RADIO = 16, // radio songs for nok // the following 4 IDs are reserved for additional radio songs, // and no more are expected to follow after that - // see: func_80053F80 + // see: au_ambient_load }; enum EncounterOutcomes { @@ -3049,6 +3088,12 @@ enum EntityCollisionFlags { ENTITY_COLLISION_PLAYER_LAST_FLOOR = 0x00000100 }; +enum EntityHideMode { + ENTITY_HIDE_MODE_0 = 0, + ENTITY_HIDE_MODE_1 = 1, + ENTITY_HIDE_MODE_2 = 2, +}; + typedef enum PushGridOccupant { PUSH_GRID_EMPTY = 0, PUSH_GRID_BLOCK = 1, @@ -3067,9 +3112,9 @@ enum TriggerFlags { TRIGGER_WALL_TOUCH = 0x00000400, TRIGGER_FLOOR_PRESS_A = 0x00000800, TRIGGER_WALL_HAMMER = 0x00001000, - TRIGGER_FLAG_2000 = 0x00002000, - TRIGGER_FLAG_4000 = 0x00004000, - TRIGGER_FLAG_8000 = 0x00008000, + TRIGGER_FLAG_2000 = 0x00002000, + TRIGGER_FLAG_4000 = 0x00004000, + TRIGGER_FLAG_8000 = 0x00008000, TRIGGER_GAME_FLAG_SET = 0x00010000, TRIGGER_AREA_FLAG_SET = 0x00020000, TRIGGER_CEILING_TOUCH = 0x00040000, @@ -3309,13 +3354,13 @@ enum NpcPalSwapState { }; enum NpcFlags { - NPC_FLAG_PASSIVE = 0x00000001, ///< Collision does not trigger battle + NPC_FLAG_1 = 0x00000001, NPC_FLAG_2 = 0x00000002, NPC_FLAG_4 = 0x00000004, - NPC_FLAG_ENABLE_HIT_SCRIPT = 0x00000008, + NPC_FLAG_8 = 0x00000008, NPC_FLAG_HAS_SHADOW = 0x00000010, ///< Set by default and by enable_npc_shadow - NPC_FLAG_NO_AI = 0x00000020, ///< Disable movement AI and collision (idle animation plays) - NPC_FLAG_40 = 0x00000040, + NPC_FLAG_20 = 0x00000020, + NPC_FLAG_IGNORE_WORLD_COLLISION = 0x00000040, NPC_FLAG_UPSIDE_DOWN = 0x00000080, ///< Render NPCs upside-down NPC_FLAG_100 = 0x00000100, // TODO NPC_FLAG_GRAVITY = 0x00000200, ///< Enables gravity. Does nothing if NPC_FLAG_JUMPING is set. @@ -3332,14 +3377,14 @@ enum NpcFlags { NPC_FLAG_MOTION_BLUR = 0x00100000, ///< Gives motion blur effect as NPC moves. Set by enable_npc_blur NPC_FLAG_200000 = 0x00200000, NPC_FLAG_400000 = 0x00400000, - NPC_FLAG_NO_DROPS = 0x00800000, ///< Do not drop hearts, flowers, or coins on defeat + NPC_FLAG_HIDING = 0x00800000, NPC_FLAG_1000000 = 0x01000000, // TODO. fails assert in set_npc_sprite NPC_FLAG_SIMPLIFIED_PHYSICS = 0x02000000, /// Use simpler, faster physics calculations: /// - Perform only one lateral collision test during motion /// - Allow falling below Y=-2000 (by default, NPC_FLAG_JUMPING is set when an NPC falls out-of-bounds) NPC_FLAG_PARTICLE = 0x04000000, - NPC_FLAG_8000000 = 0x08000000, + NPC_FLAG_WORLD_COLLISION_DIRTY = 0x08000000, NPC_FLAG_10000000 = 0x10000000, NPC_FLAG_20000000 = 0x20000000, NPC_FLAG_NO_ANIMS_LOADED = 0x40000000, ///< Npc has no animations loaded @@ -3885,7 +3930,7 @@ enum MoveIDs { MOVE_SPEEDY_SPIN = 0x0000006D, MOVE_REFUND = 0x0000006E, MOVE_UNUSED_FINAL_GOOMPA = 0x0000006F, - MOVE_UNUSED_FINAL_BOMBOMB = 0x00000070, + MOVE_UNUSED_FINAL_BOBOMB = 0x00000070, MOVE_DEEP_FOCUS = 0x00000071, MOVE_SUPER_FOCUS = 0x00000072, MOVE_KAIDEN = 0x00000073, @@ -4830,39 +4875,82 @@ enum ModelAnimUnit { MDL_ANIMATOR_F = 0xF, }; +enum MapRoomFlags { + ROOM_FLAGS_VISGROUP_MASK = 0xF000, + ROOM_FLAGS_MASK = 0x0F00, + ROOM_FLAGS_DOOR_TYPE_MASK = 0x00FF, + ROOM_DOOR_RIGHT_HINGE_OPENS_OUT = 0, // left --> center (hinge on right) + ROOM_DOOR_RIGHT_HINGE_OPENS_IN = 1, // center --> left + ROOM_DOOR_LEFT_HINGE_OPENS_OUT = 2, // right --> center (hinge on left) + ROOM_DOOR_LEFT_HINGE_OPENS_IN = 3, // center --> right + ROOM_DOOR_STRAIGHT_THROUGH = 4, // center --> center + ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT = 5, // deep left --> center (hinge on right) + ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_IN = 6, // center --> deep left + ROOM_LARGE_DOOR_LEFT_HINGE_OPENS_OUT = 7, // deep right --> center (hinge on left) + ROOM_FLAG_CUSTOM_ANIM_OPEN_DOOR = 0x100, + ROOM_FLAG_CUSTOM_ANIM_WALL_ROT = 0x200, + ROOM_FLAG_CUSTOM_ANIM_DROP_DOOR = 0x400, + ROOM_FLAG_EXIT_DOOR_DROPS = 0x800, // for internal use +}; + +enum MapRoomNotifications { + // dispatched to listener script during interactions with the room door + ROOM_UPDATE_ENTER_BEGIN = 0, + ROOM_UPDATE_ENTER_DONE = 1, + ROOM_UPDATE_EXIT_BEGIN = 2, + ROOM_UPDATE_EXIT_END = 3, + // when handling ROOM_UPDATE_ENTER_BEGIN, listener may return this to cancel the door opening. useful for locked doors. + ROOM_UPDATE_REQUEST_CANCEL = -1, + // anim move door updates + ROOM_MOVE_DOOR_ENTER_OPEN = 0, + ROOM_MOVE_DOOR_ENTER_CLOSE = 1, + ROOM_MOVE_DOOR_EXIT_OPEN = 2, + ROOM_MOVE_DOOR_EXIT_CLOSE = 3, + // anim move walls update + ROOM_MOVE_WALL_OPEN = 0, + ROOM_MOVE_WALL_1 = 1, // unused + ROOM_MOVE_WALL_2 = 2, // unused + ROOM_MOVE_WALL_CLOSE = 3, + // anim drop droor updates + ROOM_DROP_DOOR_ENTER = 0, + ROOM_DROP_DOOR_1 = 1, // unused + ROOM_DROP_DOOR_2 = 2, // unused + ROOM_DROP_DOOR_EXIT = 3, +}; + enum EnemyFlags { - ENEMY_FLAG_1 = 0x00000001, - ENEMY_FLAG_2 = 0x00000002, - ENEMY_FLAG_4 = 0x00000004, - ENEMY_FLAG_8 = 0x00000008, - ENEMY_FLAG_FLED = 0x00000010, - ENEMY_FLAG_20 = 0x00000020, - ENEMY_FLAG_40 = 0x00000040, - ENEMY_FLAG_80 = 0x00000080, - ENEMY_FLAG_100 = 0x00000100, - ENEMY_FLAG_200 = 0x00000200, - ENEMY_FLAG_400 = 0x00000400, - ENEMY_FLAG_800 = 0x00000800, - ENEMY_FLAG_GRAVITY = 0x00001000, - ENEMY_FLAG_2000 = 0x00002000, - ENEMY_FLAG_4000 = 0x00004000, - ENEMY_FLAG_8000 = 0x00008000, - ENEMY_FLAG_10000 = 0x00010000, - ENEMY_FLAG_20000 = 0x00020000, - ENEMY_FLAG_40000 = 0x00040000, - ENEMY_FLAG_80000 = 0x00080000, - ENEMY_FLAG_100000 = 0x00100000, - ENEMY_FLAG_200000 = 0x00200000, - ENEMY_FLAG_400000 = 0x00400000, - ENEMY_FLAG_800000 = 0x00800000, - ENEMY_FLAG_IGNORE_TOUCH = 0x01000000, - ENEMY_FLAG_IGNORE_JUMP = 0x02000000, - ENEMY_FLAG_IGNORE_HAMMER = 0x04000000, - ENEMY_FLAG_8000000 = 0x08000000, - ENEMY_FLAG_10000000 = 0x10000000, - ENEMY_FLAG_20000000 = 0x20000000, - ENEMY_FLAG_40000000 = 0x40000000, // spawn in AI_STATE_CHASE_INIT - ENEMY_FLAG_80000000 = 0x80000000, + ENEMY_FLAG_PASSIVE = 0x00000001, ///< Collision does not trigger battle + ENEMY_FLAG_2 = 0x00000002, + ENEMY_FLAG_4 = 0x00000004, + ENEMY_FLAG_ENABLE_HIT_SCRIPT = 0x00000008, + ENEMY_FLAG_FLED = 0x00000010, + ENEMY_FLAG_DISABLE_AI = 0x00000020, ///< Disable movement AI and collision (idle animation plays) + ENEMY_FLAG_40 = 0x00000040, + ENEMY_FLAG_80 = 0x00000080, + ENEMY_FLAG_100 = 0x00000100, + ENEMY_FLAG_200 = 0x00000200, + ENEMY_FLAG_400 = 0x00000400, + ENEMY_FLAG_800 = 0x00000800, + ENEMY_FLAG_GRAVITY = 0x00001000, + ENEMY_FLAG_2000 = 0x00002000, + ENEMY_FLAG_4000 = 0x00004000, + ENEMY_FLAG_8000 = 0x00008000, + ENEMY_FLAG_10000 = 0x00010000, + ENEMY_FLAG_20000 = 0x00020000, + ENEMY_FLAG_40000 = 0x00040000, + ENEMY_FLAG_80000 = 0x00080000, + ENEMY_FLAG_100000 = 0x00100000, + ENEMY_FLAG_200000 = 0x00200000, + ENEMY_FLAG_400000 = 0x00400000, + ENEMY_FLAG_NO_DROPS = 0x00800000, ///< Do not drop hearts, flowers, or coins on defeat + ENEMY_FLAG_IGNORE_TOUCH = 0x01000000, + ENEMY_FLAG_IGNORE_JUMP = 0x02000000, + ENEMY_FLAG_IGNORE_HAMMER = 0x04000000, + ENEMY_FLAG_8000000 = 0x08000000, + ENEMY_FLAG_10000000 = 0x10000000, + ENEMY_FLAG_20000000 = 0x20000000, + ENEMY_FLAG_40000000 = 0x40000000, // spawn in AI_STATE_CHASE_INIT + ENEMY_FLAG_80000000 = 0x80000000, }; // used with enemy->aiFlags diff --git a/include/macros.h b/include/macros.h index bf9a565a72..fc1e38e83d 100644 --- a/include/macros.h +++ b/include/macros.h @@ -153,7 +153,7 @@ #define ASCII_TO_U32(a, b, c, d) ((u32)((a << 24) | (b << 16) | (c << 8) | (d << 0))) #define ITEM_VIS_GROUP(itemID, visGroupID) ((visGroupID) << 16 | (itemID)) -#define VIS_GROUP_PAIR(group1, group2) ((group1) << 12 | (group2)) +#define PACK_ROOM_FLAGS(itemVisGroup, roomFlags) ((itemVisGroup) << 12 | (roomFlags)) // loads integrator with standard parameter set used for falling diff --git a/include/saved_flag_names.h b/include/saved_flag_names.h index 00c276867b..a9a2e4b170 100644 --- a/include/saved_flag_names.h +++ b/include/saved_flag_names.h @@ -568,8 +568,8 @@ enum GameFlags { GF_Unused_HOS_21 = GameFlag(0x234), GF_Unused_HOS_22 = GameFlag(0x235), GF_NOK01_RecoveredShellA = GameFlag(0x236), - GF_NOK01_RecoveredShellB = GameFlag(0x237), - GF_NOK01_RecoveredShellC = GameFlag(0x238), + GF_NOK01_RecoveredBlockShell = GameFlag(0x237), + GF_NOK01_RecoveredTreeShell = GameFlag(0x238), GF_NOK02_StolenShellComplaintA = GameFlag(0x239), GF_NOK02_RecoveredShellA = GameFlag(0x23A), GF_NOK02_StolenShellComplaintB = GameFlag(0x23B), @@ -1007,7 +1007,7 @@ enum GameFlags { GF_ARN02_ItemBlock_CoinB = GameFlag(0x3EB), GF_ARN02_ItemBlock_RepelGel = GameFlag(0x3EC), GF_ARN02_Item_DizzyDial = GameFlag(0x3ED), - GF_ARN02_Item_Letter07 = GameFlag(0x3EE), + GF_ARN02_Item_LetterFiceT = GameFlag(0x3EE), GF_ARN03_ItemBlock_Coin = GameFlag(0x3EF), GF_ARN04_ItemBlock_SuperShroom = GameFlag(0x3F0), GF_ARN04_ItemBlock_Coin = GameFlag(0x3F1), diff --git a/include/script_api/common.h b/include/script_api/common.h index a5b2f9c3e9..c22de5137f 100644 --- a/include/script_api/common.h +++ b/include/script_api/common.h @@ -246,7 +246,7 @@ ApiStatus PlaySoundWithVolume(Evt* script, s32 isInitialCall); ApiStatus PlaySoundAt(Evt* script, s32 isInitialCall); ApiStatus StopSound(Evt* script, s32 isInitialCall); ApiStatus UseDoorSounds(Evt* script, s32 isInitialCall); -ApiStatus UseAdvancedDoorSounds(Evt* script, s32 isInitialCall); +ApiStatus UseRoomDoorSounds(Evt* script, s32 isInitialCall); ApiStatus PlaySoundAtF(Evt* script, s32 isInitialCall); ApiStatus RemoveKeyItemAt(Evt* script, s32 isInitialCall); ApiStatus RemoveItemAt(Evt* script, s32 isInitialCall); diff --git a/include/script_api/map.h b/include/script_api/map.h index 15bc1a55c5..d12cb12092 100644 --- a/include/script_api/map.h +++ b/include/script_api/map.h @@ -11,7 +11,7 @@ ApiStatus BasicAI_Main(Evt* script, s32 isInitialCall); ApiStatus ResetFromLava(Evt* script, s32 isInitialCall); ApiStatus MakeShop(Evt* script, s32 isInitialCall); ApiStatus MakeShopOwner(Evt* script, s32 isInitialCall); -ApiStatus MakeDoorAdvanced(Evt* script, s32 isInitialCall); +ApiStatus CreateMapRoom(Evt* script, s32 isInitialCall); ApiStatus CheckActionState(Evt* script, s32 isInitialCall); ApiStatus CreatePushBlockGrid(Evt* script, s32 isInitialCall); ApiStatus SetPushBlock(Evt* script, s32 isInitialCall); diff --git a/include/variables.h b/include/variables.h index 3769adbf3c..1726c3d99f 100644 --- a/include/variables.h +++ b/include/variables.h @@ -57,7 +57,7 @@ extern s8 D_800A0900; extern f32 GravityParamsStartFall[]; extern s16 FootstepSoundSelector; extern u8* gBackgroundFogModePtr; -extern u16 D_80151308; +extern u16 gCurrentRoomDoorSounds; extern s32 gEntityHideMode; extern s32 D_8010C92C; @@ -143,7 +143,7 @@ extern f32 gCurtainFade; extern f32 gCurtainFadeGoal; extern UNK_FUN_PTR(gCurtainDrawCallback); -extern u16 gCurrentDoorSoundsSet; +extern u16 gCurrentDoorSounds; extern s32 D_800D9620; extern UNK_TYPE D_800E92D8; diff --git a/src/23680.c b/src/23680.c index 421c02509f..dfe3d98f0b 100644 --- a/src/23680.c +++ b/src/23680.c @@ -147,7 +147,7 @@ void spawn_drops(Enemy* enemy) { s32 temp = var_s1 + 1; var_s1 = temp + rand_int(2); } - if (enemy->flags & ENEMY_FLAG_800000) { + if (enemy->flags & ENEMY_FLAG_NO_DROPS) { var_s1 = 0; } if (var_s1 != 0) { @@ -204,7 +204,7 @@ void spawn_drops(Enemy* enemy) { s32 temp = var_s1 + 1; var_s1 = temp + rand_int(2); } - if (enemy->flags & ENEMY_FLAG_800000) { + if (enemy->flags & ENEMY_FLAG_NO_DROPS) { var_s1 = 0; } if (var_s1 != 0) { @@ -274,7 +274,7 @@ void spawn_drops(Enemy* enemy) { if (var_s1 > 20) { var_s1 = 20; } - if (enemy->flags & ENEMY_FLAG_800000) { + if (enemy->flags & ENEMY_FLAG_NO_DROPS) { var_s1 = 0; } if (var_s1 * 2 > sp28) { @@ -334,7 +334,7 @@ s32 get_coin_drop_amount(Enemy* enemy) { amt += currentEncounter->coinsEarned; - if (enemy->flags & (ENEMY_FLAG_800000 | ENEMY_FLAG_40000)) { + if (enemy->flags & (ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_40000)) { amt = 0; } @@ -389,7 +389,7 @@ s32 func_80048F0C(void) { for (j = 0; j < encounter->count; j++) { Enemy* enemy = encounter->enemy[j]; - if (enemy != NULL && !(enemy->flags & ENEMY_FLAG_20)) { + if (enemy != NULL && !(enemy->flags & ENEMY_FLAG_DISABLE_AI)) { get_npc_unsafe(enemy->npcID); } } @@ -867,10 +867,10 @@ ApiStatus BasicAI_Main(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/38F00.c b/src/38F00.c index bc936ed215..4929c4f85b 100644 --- a/src/38F00.c +++ b/src/38F00.c @@ -64,7 +64,7 @@ EvtScript D_800939B4 = { EVT_CALL(SetSelfVar, 0, 1) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(D_800939A4)) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY | NPC_FLAG_40000, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_JUMPING, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_JUMPING, FALSE) EVT_CALL(SetNpcAnimation, NPC_SELF, LVar2) EVT_SET(LVar0, 0) EVT_LOOP(30) diff --git a/src/7E9D0.c b/src/7E9D0.c index 62c86bc181..1845073e28 100644 --- a/src/7E9D0.c +++ b/src/7E9D0.c @@ -631,7 +631,7 @@ Npc* peach_make_disguise_npc(s32 peachDisguise) { playerStatus->peachDisguise = peachDisguise; gGameStatusPtr->peachDisguise = peachDisguise; - bpPtr->flags = NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_100 | NPC_FLAG_40000; + bpPtr->flags = NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100 | NPC_FLAG_40000; bpPtr->initialAnim = BasicPeachDisguiseAnims[playerStatus->peachDisguise].idle; bpPtr->onUpdate = NULL; bpPtr->onRender = NULL; diff --git a/src/80850_len_3060.c b/src/80850_len_3060.c index e2179e4eee..0b8b667f40 100644 --- a/src/80850_len_3060.c +++ b/src/80850_len_3060.c @@ -1777,8 +1777,8 @@ s32 is_ability_active(s32 ability) { ret++; } break; - case ABILITY_FINAL_BOMBOMB: - if (badgeMoveID == MOVE_UNUSED_FINAL_BOMBOMB) { + case ABILITY_FINAL_BOBOMB: + if (badgeMoveID == MOVE_UNUSED_FINAL_BOBOMB) { ret++; } break; diff --git a/src/a5dd0_len_114e0.c b/src/a5dd0_len_114e0.c index aa004b3d8a..99ed17e117 100644 --- a/src/a5dd0_len_114e0.c +++ b/src/a5dd0_len_114e0.c @@ -1409,7 +1409,7 @@ void render_entities(void) { if (entity != NULL) { if (!gGameStatusPtr->isBattle) { - if (gEntityHideMode != 0 && + if (gEntityHideMode != ENTITY_HIDE_MODE_0 && !(entity->flags & ENTITY_FLAG_IGNORE_DISTANCE_CULLING) && dist2D(gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z, @@ -1419,11 +1419,11 @@ void render_entities(void) { continue; } - if (gEntityHideMode == 1) { + if (gEntityHideMode == ENTITY_HIDE_MODE_1) { if (!(entity->flags & ENTITY_FLAG_DRAW_IF_CLOSE_HIDE_MODE1)) { continue; } - } else if (gEntityHideMode == 2) { + } else if (gEntityHideMode == ENTITY_HIDE_MODE_2) { if (!(entity->flags & ENTITY_FLAG_DRAW_IF_CLOSE_HIDE_MODE2)) { continue; } @@ -1859,7 +1859,7 @@ void clear_entity_data(s32 arg0) { D_80151304 = 0; if (!gGameStatusPtr->isBattle) { - gEntityHideMode = 0; + gEntityHideMode = ENTITY_HIDE_MODE_0; } entity_area_specific_data_is_loaded = FALSE; diff --git a/src/audio/2e230_len_2190.c b/src/audio/2e230_len_2190.c index a8a7af545e..c74c8332e8 100644 --- a/src/audio/2e230_len_2190.c +++ b/src/audio/2e230_len_2190.c @@ -642,7 +642,7 @@ BGMPlayer* func_80053F64(s32 arg0) { #define SBN_LOOKUP(i,fmt,e) (au_fetch_SBN_file(globals->mseqFileList[AmbientSoundIDtoMSEQFileIndex[i]], fmt, &e)) -AuResult func_80053F80(u32 ambSoundID) { +AuResult au_ambient_load(u32 ambSoundID) { AuAmbienceManager* manager; SBNFileEntry fileEntry; AuGlobals* globals; @@ -651,7 +651,7 @@ AuResult func_80053F80(u32 ambSoundID) { globals = gSoundGlobals; manager = gAuAmbienceManager; - if (ambSoundID < 16) { + if (ambSoundID < AMBIENT_RADIO) { if (manager->mseqPlayers[0].mseqName == 0 && SBN_LOOKUP(ambSoundID, AU_FMT_MSEQ, fileEntry) == AU_RESULT_OK) { au_read_rom(fileEntry.offset, globals->dataMSEQ[0], fileEntry.data & 0xFFFFFF); manager->mseqFiles[0] = globals->dataMSEQ[0]; diff --git a/src/audio/30450.c b/src/audio/30450.c index 821436461f..1f2382b777 100644 --- a/src/audio/30450.c +++ b/src/audio/30450.c @@ -269,8 +269,8 @@ void snd_start_sound_raw(s32 soundID, s16 volume, s16 pitchShift, s32 pan) { au_sfx_enqueue_event(soundManager, soundID, volume, pitchShift, pan); } -AuResult snd_ambient_80055448(s32 ambSoundID) { - return func_80053F80(ambSoundID); +AuResult snd_ambient_load(s32 ambSoundID) { + return au_ambient_load(ambSoundID); } AuResult snd_ambient_80055464(s32 arg0, s32 arg1) { @@ -333,7 +333,7 @@ AuResult snd_ambient_800555E4(s32 arg0) { return func_80051050(arg0); } -//TODO au_ambience_disable? -- sets a flag which tells the manager to mute players +//TODO sets a flag which tells the manager to mute players AuResult snd_ambient_80055618(s32 index, s32 arg1) { AuResult status = func_80050C30(index); @@ -344,7 +344,7 @@ AuResult snd_ambient_80055618(s32 index, s32 arg1) { return status; } -AuResult au_ambience_set_volume(s32 index, s32 time, s32 volume) { +AuResult snd_ambient_set_volume(s32 index, s32 time, s32 volume) { AuResult status = func_80050C30(index); if (status == AU_RESULT_OK) { @@ -354,7 +354,7 @@ AuResult au_ambience_set_volume(s32 index, s32 time, s32 volume) { return status; } -AuResult au_ambience_disable(s32 index) { +AuResult snd_ambient_disable(s32 index) { AuResult status = func_80050C30(index); if (status == AU_RESULT_OK) { @@ -364,7 +364,7 @@ AuResult au_ambience_disable(s32 index) { return status; } -AuResult au_ambience_enable(s32 index) { +AuResult snd_ambient_enable(s32 index) { AuResult status = func_80050C30(index); if (status == AU_RESULT_OK) { @@ -374,7 +374,8 @@ AuResult au_ambience_enable(s32 index) { return status; } -void snd_ambient_80055760(s32 arg0) { +// snd_ambient_init_tracks? +void snd_ambient_80055760(s32 trackIdx) { u32 i; s32 lim = 4; @@ -386,17 +387,17 @@ void snd_ambient_80055760(s32 arg0) { } } - snd_ambient_80055848(arg0); + snd_ambient_set_track(trackIdx); } -AuResult snd_ambient_800557CC(s32 arg0) { +AuResult snd_ambient_800557CC(s32 fadeTime) { AuResult status = AU_RESULT_OK; s32 lim = 4; u32 i; for (i = 0; i < lim; i++) { if (i == D_80078DB6) { - status = snd_ambient_slow_fade_out(i, arg0); + status = snd_ambient_slow_fade_out(i, fadeTime); } else { status = snd_ambient_quick_fade_out(i); } @@ -407,8 +408,7 @@ AuResult snd_ambient_800557CC(s32 arg0) { return status; } -// play only -AuResult snd_ambient_80055848(s32 index) { +AuResult snd_ambient_set_track(s32 index) { AuResult status = AU_RESULT_OK; s32 lim = 4; @@ -417,9 +417,9 @@ AuResult snd_ambient_80055848(s32 index) { for (i = 0; i < lim; i++) { if (i == index) { - status = au_ambience_enable(index); + status = snd_ambient_enable(i); } else { - status = au_ambience_disable(i); // mute + status = snd_ambient_disable(i); // mute } if (status != AU_RESULT_OK) { diff --git a/src/audio/ambience.c b/src/audio/ambience.c index f27f25b253..c5596a1d78 100644 --- a/src/audio/ambience.c +++ b/src/audio/ambience.c @@ -59,7 +59,7 @@ void update_ambient_sounds(void) { } if (ambientSoundState->soundID < 0) { ambientSoundState->fadeState = AMBIENT_SOUND_IDLE; - } else if (snd_ambient_80055448(ambientSoundState->soundID) == AU_RESULT_OK) { + } else if (snd_ambient_load(ambientSoundState->soundID) == AU_RESULT_OK) { if (snd_ambient_80055464(0, 0) == AU_RESULT_OK) { ambientSoundState->fadeState = AMBIENT_SOUND_IDLE; ambientSoundState->flags |= 1; diff --git a/src/audio/private.h b/src/audio/private.h index 8da8669845..b7b133666f 100644 --- a/src/audio/private.h +++ b/src/audio/private.h @@ -56,7 +56,7 @@ void au_get_bgm_player(u32 playerIndex, BGMPlayer** outPlayer); AuResult au_load_song_files(u32 arg0, BGMHeader* arg1, BGMPlayer* arg2); AuResult func_80053E58(s32 arg0, BGMHeader* arg1); BGMPlayer* func_80053F64(s32 arg0); -AuResult func_80053F80(u32 arg0); +AuResult au_ambient_load(u32 arg0); BGMPlayer* func_80054248(u8 arg0); void au_load_INIT(AuGlobals* arg0, s32 romAddr, ALHeap* heap); AuResult au_fetch_SBN_file(u32 fileIdx, AuFileFormat format, SBNFileEntry* arg2); @@ -181,7 +181,7 @@ void snd_adjust_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift) void snd_stop_sound(s32 soundID); void func_800553F4(void); void snd_start_sound_raw(s32 soundID, s16 volume, s16 pitchShift, s32 pan); -AuResult snd_ambient_80055448(s32 arg0); +AuResult snd_ambient_load(s32 arg0); AuResult snd_ambient_80055464(s32 arg0, s32 arg1); AuResult snd_ambient_quick_fade_out(s32 arg0); AuResult snd_ambient_slow_fade_out(s32 arg0, s32 arg1); @@ -189,12 +189,12 @@ AuResult snd_ambient_8005553C(s32 arg0, s32 arg1); AuResult snd_ambient_80055590(s32 arg0, s32 arg1); AuResult snd_ambient_800555E4(s32 arg0); AuResult snd_ambient_80055618(s32 arg0, s32 arg1); -AuResult au_ambience_set_volume(s32 arg0, s32 arg1, s32 arg2); -AuResult au_ambience_disable(s32 arg0); -AuResult au_ambience_enable(s32 arg0); +AuResult snd_ambient_set_volume(s32 arg0, s32 arg1, s32 arg2); +AuResult snd_ambient_disable(s32 arg0); +AuResult snd_ambient_enable(s32 arg0); void snd_ambient_80055760(s32 arg0); AuResult snd_ambient_800557CC(s32 arg0); -AuResult snd_ambient_80055848(s32 arg0); +AuResult snd_ambient_set_track(s32 arg0); AuResult au_song_load(s32 songID, s32 playerIndex); AuResult au_song_start(s32 songName); AuResult au_song_start_variation(s32 songName, s32 variation); diff --git a/src/audio/public.h b/src/audio/public.h index 844f0c88e0..fc5f8e8c5c 100644 --- a/src/audio/public.h +++ b/src/audio/public.h @@ -13,7 +13,7 @@ void snd_adjust_sound_with_shift(s32 soundID, u8 volume, u8 pan, s16 pitchShift) void snd_stop_sound(s32 soundID); void func_800553F4(void); void snd_start_sound_raw(s32 soundID, s16 volume, s16 pitchShift, s32 pan); -AuResult snd_ambient_80055448(s32 arg0); +AuResult snd_ambient_load(s32 arg0); AuResult snd_ambient_80055464(s32 arg0, s32 arg1); AuResult snd_ambient_quick_fade_out(s32 arg0); AuResult snd_ambient_slow_fade_out(s32 arg0, s32 arg1); @@ -21,12 +21,12 @@ AuResult snd_ambient_8005553C(s32 arg0, s32 arg1); AuResult snd_ambient_80055590(s32 arg0, s32 arg1); AuResult snd_ambient_800555E4(s32 arg0); AuResult snd_ambient_80055618(s32 arg0, s32 arg1); -AuResult au_ambience_set_volume(s32 arg0, s32 arg1, s32 arg2); -AuResult au_ambience_disable(s32 arg0); -AuResult au_ambience_enable(s32 arg0); +AuResult snd_ambient_set_volume(s32 arg0, s32 arg1, s32 arg2); +AuResult snd_ambient_disable(s32 arg0); +AuResult snd_ambient_enable(s32 arg0); void snd_ambient_80055760(s32 arg0); AuResult snd_ambient_800557CC(s32 arg0); -AuResult snd_ambient_80055848(s32 arg0); +AuResult snd_ambient_set_track(s32 arg0); AuResult au_song_load(s32 songID, s32 playerIndex); AuResult au_song_start(s32 songName); AuResult au_song_start_variation(s32 songName, s32 variation); diff --git a/src/audio/sfx.c b/src/audio/sfx.c index 3f2234fcfc..00b157d5ef 100644 --- a/src/audio/sfx.c +++ b/src/audio/sfx.c @@ -293,8 +293,8 @@ void sfx_compute_spatialized_sound_params_full(f32 x, f32 y, f32 z, s16* volume, } void sfx_reset_door_sounds(void) { - gCurrentDoorSoundsSet = 0; - D_80151308 = 0; + gCurrentDoorSounds = 0; + gCurrentRoomDoorSounds = 0; } void sfx_clear_sounds(void) { @@ -318,7 +318,7 @@ void sfx_clear_env_sounds(s16 playSounds) { s32 i; for (i = 0; i < MAX_SOUND_INSTANCES; i++, sound++) { - if (sound->flags & 1) { + if (sound->flags & SOUND_INSTANCE_FLAG_1) { snd_start_sound_with_shift(sound->soundID, sound->volume, sound->pan, sound->pitchShift); } } @@ -333,9 +333,9 @@ void sfx_update_looping_sound_params(void) { u16 pan; s32 i; - for (i = 0; i < 10; i++, sound++) { - if (sound->flags & 1) { - if (sound->flags & 2) { + for (i = 0; i < MAX_SOUND_INSTANCES; i++, sound++) { + if (sound->flags & SOUND_INSTANCE_FLAG_1) { + if (sound->flags & SOUND_INSTANCE_FLAG_2) { sfx_get_spatialized_sound_params(sound->position.x, sound->position.y, sound->position.z, &volume, &pan, sound->sourceFlags); sound->volume = volume; sound->pan = pan; @@ -366,7 +366,7 @@ void sfx_stop_env_sounds(void) { sound = D_80159AD0; for (i = 0; i < MAX_SOUND_INSTANCES; i++, sound++) { - if (sound->flags & 1) { + if (sound->flags & SOUND_INSTANCE_FLAG_1) { snd_stop_sound(sound->soundID); } } @@ -377,7 +377,7 @@ SoundInstance* sfx_get_env_sound_instance(s32 soundID) { s32 i; for (i = 0; i < MAX_SOUND_INSTANCES; i++, sound++) { - if (sound->flags & 1 && sound->soundID == soundID) { + if (sound->flags & SOUND_INSTANCE_FLAG_1 && sound->soundID == soundID) { return sound; } } @@ -390,7 +390,7 @@ void sfx_play_sound_looping(s32 soundId, u8 volume, u8 pan, s16 pitchShift) { s32 i; for (i = 0; i < MAX_SOUND_INSTANCES; i++, sound++) { - if (!(sound->flags & 1)) { + if (!(sound->flags & SOUND_INSTANCE_FLAG_1)) { break; } } @@ -399,7 +399,7 @@ void sfx_play_sound_looping(s32 soundId, u8 volume, u8 pan, s16 pitchShift) { sound->soundID = soundId; sound->volume = volume; sound->pitchShift = pitchShift; - sound->flags |= 1; + sound->flags |= SOUND_INSTANCE_FLAG_1; snd_start_sound_with_shift(soundId, volume, pan, pitchShift); } @@ -409,7 +409,7 @@ void sfx_register_looping_sound_at_position(s32 soundID, s32 flags, f32 x, f32 y s32 i; for (i = 0; i < MAX_SOUND_INSTANCES; i++, sound++) { - if (!(sound->flags & 1)) { + if (!(sound->flags & SOUND_INSTANCE_FLAG_1)) { break; } } @@ -419,7 +419,7 @@ void sfx_register_looping_sound_at_position(s32 soundID, s32 flags, f32 x, f32 y sound->position.y = y; sound->position.z = z; sound->soundID = soundID; - sound->flags |= 3; + sound->flags |= (SOUND_INSTANCE_FLAG_1 | SOUND_INSTANCE_FLAG_2); sfx_play_sound_at_position(soundID, flags, x, y, z); } @@ -436,7 +436,7 @@ s32 sfx_adjust_env_sound_pos(s32 soundID, s32 sourceFlags, f32 x, f32 y, f32 z) sound->position.y = y; sound->position.z = z; sound->soundID = soundID; - sound->flags |= 3; + sound->flags |= (SOUND_INSTANCE_FLAG_1 | SOUND_INSTANCE_FLAG_2); return TRUE; } @@ -444,7 +444,7 @@ void func_80149A6C(s32 soundID, s32 keepPlaying) { SoundInstance* sound = sfx_get_env_sound_instance(soundID); if (sound != NULL) { - sound->flags &= -SOUND_INSTANCE_FLAG_4; + sound->flags &= -SOUND_INSTANCE_FLAG_4; //TODO use logical negate here if (!keepPlaying) { snd_stop_sound(sound->soundID); } @@ -460,16 +460,16 @@ void sfx_play_sound_with_params(s32 soundID, u8 volume, u8 pan, s16 pitchShift) if (soundID & SOUND_TYPE_SPECIAL) { s32 soundIndex = soundID & 0xFF; - s32 soundType = ((u32)soundID >> 0x1C) & 7; + s32 soundType = (soundID & 0x70000000) >> 0x1C; switch (soundType) { case SOUND_TYPE_LOOPING: sfx_play_sound_looping(LoopingSounds[soundIndex], volume, pan, pitchShift); return; - case SOUND_TYPE_DOOR1: - soundID = OpenCloseSounds[gCurrentDoorSoundsSet][soundIndex]; + case SOUND_TYPE_EXIT_DOOR: + soundID = OpenCloseSounds[gCurrentDoorSounds][soundIndex]; break; - case SOUND_TYPE_DOOR2: - soundID = OpenCloseSounds[D_80151308][soundIndex]; + case SOUND_TYPE_ROOM_DOOR: + soundID = OpenCloseSounds[gCurrentRoomDoorSounds][soundIndex]; break; case SOUND_TYPE_ALTERNATING: alternatingSet = &AlternatingSounds[soundIndex]; diff --git a/src/encounter.c b/src/encounter.c index f2d309de50..06c5907202 100644 --- a/src/encounter.c +++ b/src/encounter.c @@ -544,7 +544,7 @@ void update_encounters_neutral(void) { } for (i = 0; i < encounter->count; i++) { enemy = encounter->enemy[i]; - if (enemy == NULL || (enemy->flags & ENEMY_FLAG_20)) { + if (enemy == NULL || (enemy->flags & ENEMY_FLAG_DISABLE_AI)) { continue; } npc = get_npc_unsafe(enemy->npcID); @@ -583,7 +583,7 @@ void update_encounters_neutral(void) { } } else if (!(enemy->flags & ENEMY_FLAG_200000)) { get_screen_coords(gCurrentCameraID, npc->pos.x, npc->pos.y, npc->pos.z, &screenX, &screenY, &screenZ); - if ((screenX < -160 || screenX > 480 || screenY < -120 || screenY > 360 || screenZ < 0) && !(enemy->flags & ENEMY_FLAG_1)) { + if ((screenX < -160 || screenX > 480 || screenY < -120 || screenY > 360 || screenZ < 0) && !(enemy->flags & ENEMY_FLAG_PASSIVE)) { npc->flags |= NPC_FLAG_80000000; enemy->flags |= ENEMY_FLAG_80000000; script = get_script_by_id(enemy->auxScriptID); @@ -622,7 +622,7 @@ void update_encounters_neutral(void) { if (enemy->flags & ENEMY_FLAG_80000000) { continue; } - if (enemy->flags & ENEMY_FLAG_1) { + if (enemy->flags & ENEMY_FLAG_PASSIVE) { if (!(enemy->flags & ENEMY_FLAG_400000)) { if (npc == playerStatus->encounteredNPC) { enemy->unk_E0 = npc->yaw; @@ -654,7 +654,7 @@ void update_encounters_neutral(void) { (playerStatus->flags & PS_FLAG_ARMS_RAISED) || (gOverrideFlags & GLOBAL_OVERRIDES_40) || gPartnerActionStatus.actingPartner == PARTNER_BOW || - (enemy->flags & ENEMY_FLAG_1) || + (enemy->flags & ENEMY_FLAG_PASSIVE) || (gOverrideFlags & (GLOBAL_OVERRIDES_DISABLE_BATTLES | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_800)) || is_picking_up_item()) { continue; @@ -950,10 +950,10 @@ START_BATTLE: if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } if ((currentEnemy->flags & ENEMY_FLAG_40) && enemy != currentEncounter->currentEnemy) { @@ -1004,10 +1004,10 @@ START_BATTLE: if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } if ((currentEnemy->flags & ENEMY_FLAG_40) && enemy != currentEncounter->currentEnemy) { @@ -1051,10 +1051,10 @@ START_BATTLE: if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } if ((currentEnemy->flags & ENEMY_FLAG_40) && enemy != currentEncounter->currentEnemy) { @@ -1074,7 +1074,7 @@ START_BATTLE: testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); testZ = playerStatus->position.z + ((npc->pos.z - playerStatus->position.z) * 0.5f); fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); - } else if (!(enemy->flags & ENEMY_FLAG_1)) { + } else if (!(enemy->flags & ENEMY_FLAG_PASSIVE)) { npc = get_npc_unsafe(enemy->npcID); cond2 = TRUE; testX = playerStatus->position.x + ((npc->pos.x - playerStatus->position.x) * 0.5f); @@ -1111,10 +1111,10 @@ START_BATTLE: if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } if ((currentEnemy->flags & ENEMY_FLAG_40) && enemy != currentEncounter->currentEnemy) { @@ -1133,7 +1133,7 @@ START_BATTLE: testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); testZ = playerStatus->position.z + ((npc->pos.z - playerStatus->position.z) * 0.5f); fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); - } else if (!(enemy->flags & ENEMY_FLAG_1)) { + } else if (!(enemy->flags & ENEMY_FLAG_PASSIVE)) { npc = get_npc_unsafe(enemy->npcID); testX = playerStatus->position.x + ((npc->pos.x - playerStatus->position.x) * 0.5f); testY = playerStatus->position.y + (((npc->pos.y + npc->collisionHeight) - (playerStatus->position.y + playerStatus->colliderHeight)) * 0.5f); @@ -1193,10 +1193,10 @@ START_BATTLE: if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } if ((currentEnemy->flags & ENEMY_FLAG_40) && enemy != currentEncounter->currentEnemy) { @@ -1215,7 +1215,7 @@ START_BATTLE: testY = npc->pos.y + npc->collisionHeight; testZ = npc->pos.z; fx_damage_stars(3, testX, testY, testZ, 0.0f, -1.0f, 0.0f, 3); - } else if (!(enemy->flags & ENEMY_FLAG_1)) { + } else if (!(enemy->flags & ENEMY_FLAG_PASSIVE)) { npc = get_npc_unsafe(enemy->npcID); testX = npc->pos.x; testY = npc->pos.y + npc->collisionHeight; @@ -1264,7 +1264,7 @@ void update_encounters_pre_battle(void) { if (encounter != NULL) { for (j = 0; j < encounter->count; j++) { enemy = encounter->enemy[j]; - if (enemy != NULL && !(enemy->flags & ENEMY_FLAG_20)) { + if (enemy != NULL && !(enemy->flags & ENEMY_FLAG_DISABLE_AI)) { if (enemy->aiScript != NULL) { suspend_all_script(enemy->aiScriptID); } @@ -1360,8 +1360,8 @@ void update_encounters_pre_battle(void) { for (i = 0; i < encounter->count; i++) { enemy = encounter->enemy[i]; if (enemy != NULL && - ((!(enemy->flags & ENEMY_FLAG_8) || enemy == currentEncounter->currentEnemy)) && - !(enemy->flags & ENEMY_FLAG_20) && + ((!(enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) || enemy == currentEncounter->currentEnemy)) && + !(enemy->flags & ENEMY_FLAG_DISABLE_AI) && enemy->hitScript != NULL) { kill_script_by_ID(enemy->hitScriptID); @@ -1411,8 +1411,8 @@ void update_encounters_pre_battle(void) { for (i = 0; i < encounter->count; i++) { enemy = encounter->enemy[i]; if (enemy != NULL && - (!(enemy->flags & ENEMY_FLAG_8) || enemy == currentEncounter->currentEnemy) && - !(enemy->flags & ENEMY_FLAG_20) && + (!(enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) || enemy == currentEncounter->currentEnemy) && + !(enemy->flags & ENEMY_FLAG_DISABLE_AI) && (enemy->hitScript != 0)) { kill_script_by_ID(enemy->hitScriptID); @@ -1657,10 +1657,10 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } if (enemy->defeatBytecode != NULL) { @@ -1704,10 +1704,10 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } if (does_script_exist(enemy->defeatScriptID)) { @@ -1730,10 +1730,10 @@ void update_encounters_post_battle(void) { if (enemy->flags & ENEMY_FLAG_4) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (!(enemy->flags & ENEMY_FLAG_1)) { + if (!(enemy->flags & ENEMY_FLAG_PASSIVE)) { if (!(enemy->flags & ENEMY_FLAG_FLED)) { set_defeated(currentEncounter->mapID, encounter->encounterID + i); } @@ -1764,7 +1764,7 @@ void update_encounters_post_battle(void) { } for (j = 0; j < encounter->count; j++) { enemy = encounter->enemy[j]; - if (enemy == NULL || (enemy->flags & ENEMY_FLAG_20)) { + if (enemy == NULL || (enemy->flags & ENEMY_FLAG_DISABLE_AI)) { continue; } if (enemy->aiScript != NULL) { @@ -1795,11 +1795,11 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } @@ -1834,7 +1834,7 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if (!(enemy->flags & ENEMY_FLAG_20)) { + if (!(enemy->flags & ENEMY_FLAG_DISABLE_AI)) { if (does_script_exist(enemy->defeatScriptID)) { cond = TRUE; } else { @@ -1850,7 +1850,7 @@ void update_encounters_post_battle(void) { } for (j = 0; j < encounter->count; j++) { enemy = encounter->enemy[j]; - if (enemy == NULL || (enemy->flags & ENEMY_FLAG_20)) { + if (enemy == NULL || (enemy->flags & ENEMY_FLAG_DISABLE_AI)) { continue; } if (enemy->aiScript != NULL) { @@ -1872,10 +1872,10 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } - if (enemy->flags & ENEMY_FLAG_8) { + if (enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) { continue; } enemy->aiPaused = 45; @@ -1929,11 +1929,11 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } @@ -1967,7 +1967,7 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if (!(enemy->flags & ENEMY_FLAG_20)) { + if (!(enemy->flags & ENEMY_FLAG_DISABLE_AI)) { if (does_script_exist(enemy->defeatScriptID)) { cond = TRUE; } else { @@ -1983,7 +1983,7 @@ void update_encounters_post_battle(void) { } for (j = 0; j < encounter->count; j++) { enemy = encounter->enemy[j]; - if (enemy == NULL || (enemy->flags & ENEMY_FLAG_20)) { + if (enemy == NULL || (enemy->flags & ENEMY_FLAG_DISABLE_AI)) { continue; } if (enemy->aiScript != NULL) { @@ -2021,7 +2021,7 @@ void update_encounters_post_battle(void) { } for (j = 0; j < encounter->count; j++) { enemy = encounter->enemy[j]; - if (enemy == NULL || (enemy->flags & ENEMY_FLAG_20)) { + if (enemy == NULL || (enemy->flags & ENEMY_FLAG_DISABLE_AI)) { continue; } if (enemy->aiScript != NULL) { @@ -2047,11 +2047,11 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if ((enemy->flags & ENEMY_FLAG_8) && enemy != currentEncounter->currentEnemy) { + if ((enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) && enemy != currentEncounter->currentEnemy) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } @@ -2085,7 +2085,7 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if (!(enemy->flags & ENEMY_FLAG_20)) { + if (!(enemy->flags & ENEMY_FLAG_DISABLE_AI)) { if (does_script_exist(enemy->defeatScriptID)) { cond = TRUE; } else { @@ -2101,7 +2101,7 @@ void update_encounters_post_battle(void) { } for (j = 0; j < encounter->count; j++) { enemy = encounter->enemy[j]; - if (enemy == NULL || (enemy->flags & ENEMY_FLAG_20)) { + if (enemy == NULL || (enemy->flags & ENEMY_FLAG_DISABLE_AI)) { continue; } if (enemy->aiScript != NULL) { @@ -2123,10 +2123,10 @@ void update_encounters_post_battle(void) { if (enemy == NULL) { continue; } - if (enemy->flags & ENEMY_FLAG_20) { + if (enemy->flags & ENEMY_FLAG_DISABLE_AI) { continue; } - if (enemy->flags & ENEMY_FLAG_8) { + if (enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) { continue; } enemy->aiPaused = 45; @@ -2153,7 +2153,7 @@ void update_encounters_post_battle(void) { } for (j = 0; j < encounter->count; j++) { enemy = encounter->enemy[j]; - if (enemy == NULL || (enemy->flags & ENEMY_FLAG_20)) { + if (enemy == NULL || (enemy->flags & ENEMY_FLAG_DISABLE_AI)) { continue; } @@ -2294,11 +2294,11 @@ s32 check_conversation_trigger(void) { continue; } - if (encounterEnemy->flags & (ENEMY_FLAG_80000000 | ENEMY_FLAG_20)) { + if (encounterEnemy->flags & (ENEMY_FLAG_80000000 | ENEMY_FLAG_DISABLE_AI)) { continue; } - if (!(encounterEnemy->flags & ENEMY_FLAG_1)) { + if (!(encounterEnemy->flags & ENEMY_FLAG_PASSIVE)) { continue; } @@ -2551,7 +2551,7 @@ void create_encounters(void) { newNpc->shadowScale = 1.0f; } if (enemy->flags & ENEMY_FLAG_100) { - newNpc->flags |= NPC_FLAG_40; + newNpc->flags |= NPC_FLAG_IGNORE_WORLD_COLLISION; } if (enemy->flags & ENEMY_FLAG_200) { newNpc->flags |= NPC_FLAG_100; @@ -2560,19 +2560,19 @@ void create_encounters(void) { newNpc->flags |= NPC_FLAG_8000; } if (enemy->flags & ENEMY_FLAG_800) { - newNpc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + newNpc->flags |= NPC_FLAG_8; } if (enemy->flags & ENEMY_FLAG_GRAVITY) { newNpc->flags |= NPC_FLAG_GRAVITY; } - if (!(enemy->flags & ENEMY_FLAG_1)) { + if (!(enemy->flags & ENEMY_FLAG_PASSIVE)) { newNpc->flags |= NPC_FLAG_100; } if (enemy->flags & ENEMY_FLAG_4000) { newNpc->flags |= NPC_FLAG_1000000; } if (enemy->flags & ENEMY_FLAG_2000) { - newNpc->flags |= NPC_FLAG_NO_AI; + newNpc->flags |= NPC_FLAG_20; } if (enemy->flags & ENEMY_FLAG_8000) { newNpc->flags |= NPC_FLAG_10000000; @@ -2584,7 +2584,7 @@ void create_encounters(void) { newNpc->flags |= NPC_FLAG_LOCK_ANIMS; } enemy->scriptGroup = EVT_GROUP_08 | EVT_GROUP_02 | EVT_GROUP_01; - if (enemy->flags & ENEMY_FLAG_1) { + if (enemy->flags & ENEMY_FLAG_PASSIVE) { enemy->scriptGroup = EVT_GROUP_08 | EVT_GROUP_02; } if (npcSettings->otherAI != NULL) { @@ -2687,7 +2687,7 @@ void create_encounters(void) { if (enemy == NULL) { continue; } - if (!(enemy->flags & ENEMY_FLAG_20)) { + if (!(enemy->flags & ENEMY_FLAG_DISABLE_AI)) { if (enemy->aiBytecode != NULL) { script = start_script(enemy->aiBytecode, EVT_PRIORITY_A, 0); enemy->aiScript = script; @@ -2711,7 +2711,7 @@ void create_encounters(void) { if (enemy == NULL) { continue; } - if (!(enemy->flags & ENEMY_FLAG_20)) { + if (!(enemy->flags & ENEMY_FLAG_DISABLE_AI)) { if (enemy->auxBytecode != NULL) { script = start_script(enemy->auxBytecode, EVT_PRIORITY_A, 0); enemy->auxScript = script; diff --git a/src/encounter_api.c b/src/encounter_api.c index 86eb5ef1b8..d507541237 100644 --- a/src/encounter_api.c +++ b/src/encounter_api.c @@ -212,7 +212,7 @@ void start_battle(Evt* script, s32 songID) { for (i = 0; i < encounter->count; i++) { enemy = encounter->enemy[i]; if ((enemy != NULL && ( - !(enemy->flags & ENEMY_FLAG_8) || enemy == currentEncounter->currentEnemy) + !(enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) || enemy == currentEncounter->currentEnemy) ) && enemy->hitBytecode != NULL) { Evt* hitEvtInstance; enemy->encountered = TRUE; @@ -280,7 +280,7 @@ ApiStatus StartBossBattle(Evt* script, s32 isInitialCall) { for (i = 0; i < encounter->count; i++) { enemy = encounter->enemy[i]; if ((enemy != NULL && ( - !(enemy->flags & ENEMY_FLAG_8) || enemy == currentEncounter->currentEnemy) + !(enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) || enemy == currentEncounter->currentEnemy) ) && enemy->hitBytecode != NULL) { enemy->encountered = TRUE; @@ -344,7 +344,7 @@ ApiStatus BindNpcAI(Evt* script, s32 isInitialCall) { enemy = get_enemy(id); } - if (enemy->flags & ENEMY_FLAG_1) { + if (enemy->flags & ENEMY_FLAG_PASSIVE) { groupFlags = EVT_GROUP_08 | EVT_GROUP_02; } else { groupFlags = EVT_GROUP_08 | EVT_GROUP_02 | EVT_GROUP_01; @@ -394,7 +394,7 @@ ApiStatus RestartNpcAI(Evt* script, s32 isInitialCall) { enemy = get_enemy(npcID); - if (enemy->flags & ENEMY_FLAG_1) { + if (enemy->flags & ENEMY_FLAG_PASSIVE) { groupFlags = EVT_GROUP_08 | EVT_GROUP_02; } else { groupFlags = EVT_GROUP_08 | EVT_GROUP_02 | EVT_GROUP_01; @@ -512,7 +512,7 @@ ApiStatus RestartNpcAux(Evt* script, s32 isInitialCall) { enemy = get_enemy(npcID); - if (enemy->flags & ENEMY_FLAG_1) { + if (enemy->flags & ENEMY_FLAG_PASSIVE) { groupFlags = EVT_GROUP_08 | EVT_GROUP_02; } else { groupFlags = EVT_GROUP_08 | EVT_GROUP_02 | EVT_GROUP_01; @@ -819,7 +819,7 @@ ApiStatus OnPlayerFled(Evt* script, s32 isInitialCall) { fx_emote(EMOTE_QUESTION, npc, 0.0f, npc->collisionHeight, 1.0f, 0.0f, -20.0f, 40, &unk); } - if ((npc->flags & (NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING | NPC_FLAG_ENABLE_HIT_SCRIPT)) == (NPC_FLAG_JUMPING | NPC_FLAG_ENABLE_HIT_SCRIPT)) { + if ((npc->flags & (NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING | NPC_FLAG_8)) == (NPC_FLAG_JUMPING | NPC_FLAG_8)) { f32 x = npc->pos.x; f32 y = npc->pos.y + npc->collisionHeight; f32 z = npc->pos.z; diff --git a/src/entity/HiddenPanel.c b/src/entity/HiddenPanel.c index 751c9d5147..0228fd0e86 100644 --- a/src/entity/HiddenPanel.c +++ b/src/entity/HiddenPanel.c @@ -80,8 +80,8 @@ void entity_HiddenPanel_idle(Entity* entity) { Npc* npc = get_npc_by_index(npcIndex); dist2D(entity->position.x, entity->position.z, npc->pos.x, npc->pos.z); data->standingNpcIndex = npcIndex; - data->npcFlags = npc->flags & (NPC_FLAG_GRAVITY | NPC_FLAG_ENABLE_HIT_SCRIPT); - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + data->npcFlags = npc->flags & (NPC_FLAG_GRAVITY | NPC_FLAG_8); + npc->flags &= ~NPC_FLAG_8; npc->flags |= NPC_FLAG_GRAVITY; data->riseVelocity = 0.5f; exec_entity_commandlist(entity); @@ -237,7 +237,7 @@ void entity_HiddenPanel_flip_over(Entity* entity) { entity->flags &= ~ENTITY_FLAG_DISABLE_COLLISION; if (data->standingNpcIndex >= 0) { Npc* npc = get_npc_by_index(data->standingNpcIndex); - npc->flags &= ~(NPC_FLAG_GRAVITY | NPC_FLAG_ENABLE_HIT_SCRIPT); + npc->flags &= ~(NPC_FLAG_GRAVITY | NPC_FLAG_8); npc->flags |= data->npcFlags; } } diff --git a/src/evt/fa4c0_len_3bf0.c b/src/evt/fa4c0_len_3bf0.c index e815736a78..27bf49bdda 100644 --- a/src/evt/fa4c0_len_3bf0.c +++ b/src/evt/fa4c0_len_3bf0.c @@ -244,14 +244,14 @@ ApiStatus func_802D62E4(Evt* script, s32 isInitialCall) { ApiStatus UseDoorSounds(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - gCurrentDoorSoundsSet = evt_get_variable(script, *args++); + gCurrentDoorSounds = evt_get_variable(script, *args++); return ApiStatus_DONE2; } -ApiStatus UseAdvancedDoorSounds(Evt* script, s32 isInitialCall) { +ApiStatus UseRoomDoorSounds(Evt* script, s32 isInitialCall) { Bytecode* args = script->ptrReadPos; - D_80151308 = evt_get_variable(script, *args++); + gCurrentRoomDoorSounds = evt_get_variable(script, *args++); return ApiStatus_DONE2; } diff --git a/src/evt/npc_api.c b/src/evt/npc_api.c index 3a2a91f4c0..486d981b4a 100644 --- a/src/evt/npc_api.c +++ b/src/evt/npc_api.c @@ -888,7 +888,7 @@ ApiStatus PutPartnerAway(Evt* script, s32 isInitialCall) { if (isInitialCall) { if (wExtraPartnerID != 0) { partner->flags &= ~NPC_FLAG_GRAVITY; - partner->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + partner->flags &= ~NPC_FLAG_8; targetX = playerStatus->position.x; partner->moveToPos.x = targetX; partnerX = partner->pos.x; diff --git a/src/npc.c b/src/npc.c index c7f21225fb..d345d2a452 100644 --- a/src/npc.c +++ b/src/npc.c @@ -106,7 +106,7 @@ s32 _create_npc(NpcBlueprint* blueprint, AnimID* animList, s32 skipLoadingAnims) gNpcCount++; ASSERT(npc != NULL); - npc->flags = blueprint->flags | (NPC_FLAG_400000 | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_HAS_SHADOW | NPC_FLAG_PASSIVE); + npc->flags = blueprint->flags | (NPC_FLAG_400000 | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_HAS_SHADOW | NPC_FLAG_1); if (skipLoadingAnims) { npc->flags |= NPC_FLAG_NO_ANIMS_LOADED; } @@ -284,11 +284,11 @@ void npc_do_world_collision(Npc* npc) { f32 temp_y; f32 temp_z; - if (npc->flags & NPC_FLAG_40) { - npc->flags |= NPC_FLAG_8000000; + if (npc->flags & NPC_FLAG_IGNORE_WORLD_COLLISION) { + npc->flags |= NPC_FLAG_WORLD_COLLISION_DIRTY; } else if ((npc->pos.x != npc->colliderPos.x) || (npc->pos.y != npc->colliderPos.y) - || (npc->pos.z != npc->colliderPos.z) || npc->flags & NPC_FLAG_8000000) { - npc->flags &= ~NPC_FLAG_8000000; + || (npc->pos.z != npc->colliderPos.z) || npc->flags & NPC_FLAG_WORLD_COLLISION_DIRTY) { + npc->flags &= ~NPC_FLAG_WORLD_COLLISION_DIRTY; temp_f0 = clamp_angle(npc->yaw); temp_x = npc->pos.x; temp_y = npc->pos.y; @@ -488,7 +488,7 @@ void npc_do_gravity(Npc* npc) { } s32 func_800397E8(Npc* npc, f32 arg1) { - if (!(npc->flags & (NPC_FLAG_GRAVITY | NPC_FLAG_ENABLE_HIT_SCRIPT))) { + if (!(npc->flags & (NPC_FLAG_GRAVITY | NPC_FLAG_8))) { f32 x; f32 y; f32 z; @@ -598,7 +598,7 @@ void update_npcs(void) { x = npc->pos.x; y = npc->pos.y; z = npc->pos.z; - if (!(npc->flags & NPC_FLAG_NO_AI)) { + if (!(npc->flags & NPC_FLAG_20)) { if ( x != npc->colliderPos.x || y != npc->colliderPos.y || @@ -873,19 +873,19 @@ void render_npcs(void) { renderTaskPtr->appendGfx = appendGfx_npc; renderTaskPtr->renderMode = npc->renderMode; - if (npc->flags & NPC_FLAG_NO_DROPS) { + if (npc->flags & NPC_FLAG_HIDING) { u8 r, g, b, a; get_background_color_blend(&r, &g, &b, &a); - npc->alpha2 = 0xFF - a; + npc->alpha2 = 255 - a; } else { - npc->alpha2 = 0xFF; + npc->alpha2 = 255; } if (npc->alpha2 != 0) { queue_render_task(renderTaskPtr); } - if ((npc->flags & NPC_FLAG_MOTION_BLUR) != 0) { + if (npc->flags & NPC_FLAG_MOTION_BLUR) { renderTaskPtr->distance = -phi_f20; renderTaskPtr->appendGfx = appendGfx_npc_blur; renderTaskPtr->appendGfxArg = npc; @@ -1947,7 +1947,7 @@ s32 npc_find_standing_on_entity(s32 entityIndex) { if (npc->pos.y < y) { continue; } - if (npc->flags & (NPC_FLAG_8000 | NPC_FLAG_ENABLE_HIT_SCRIPT)) { + if (npc->flags & (NPC_FLAG_8000 | NPC_FLAG_8)) { var_v1 = npc_get_collider_below(npc); if (var_v1 != 0) { if (idx == var_v1) { @@ -2535,8 +2535,8 @@ void kill_enemy(Enemy* enemy) { do { if (!(enemy->flags & ENEMY_FLAG_4)) { - if (!(enemy->flags & ENEMY_FLAG_8) || (enemy == encounterStatus->currentEnemy)) { - if (!(enemy->flags & ENEMY_FLAG_1)) { + if (!(enemy->flags & ENEMY_FLAG_ENABLE_HIT_SCRIPT) || (enemy == encounterStatus->currentEnemy)) { + if (!(enemy->flags & ENEMY_FLAG_PASSIVE)) { if (!(enemy->flags & ENEMY_FLAG_FLED)) { COPY_set_defeated(encounterStatus->mapID, encounter->encounterID + i); } diff --git a/src/world/area_arn/arn_02/arn_02_3_entity.c b/src/world/area_arn/arn_02/arn_02_3_entity.c index ab7fb296c6..a3944cb684 100644 --- a/src/world/area_arn/arn_02/arn_02_3_entity.c +++ b/src/world/area_arn/arn_02/arn_02_3_entity.c @@ -3,7 +3,7 @@ EvtScript N(EVS_MakeEntities) = { EVT_CALL(MakeItemEntity, ITEM_DIZZY_DIAL, -248, 193, 45, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_ARN02_Item_DizzyDial) - EVT_CALL(MakeItemEntity, ITEM_LETTER07, 536, 260, 227, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_ARN02_Item_Letter07) + EVT_CALL(MakeItemEntity, ITEM_LETTER_TO_FICE_T, 536, 260, 227, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_ARN02_Item_LetterFiceT) EVT_CALL(MakeEntity, EVT_PTR(Entity_YellowBlock), -350, 172, 170, 0, ITEM_COIN, MAKE_ENTITY_END) EVT_CALL(AssignBlockFlag, GF_ARN02_ItemBlock_CoinA) EVT_CALL(MakeEntity, EVT_PTR(Entity_YellowBlock), 225, 265, 30, 0, ITEM_COIN, MAKE_ENTITY_END) diff --git a/src/world/area_arn/arn_03/arn_03_3_npc.c b/src/world/area_arn/arn_03/arn_03_3_npc.c index 4baed240a7..ef1dd4f67a 100644 --- a/src/world/area_arn/arn_03/arn_03_3_npc.c +++ b/src/world/area_arn/arn_03/arn_03_3_npc.c @@ -6,14 +6,7 @@ #include "world/common/complete/GiveReward.inc.c" #include "world/common/complete/KeyItemChoice.inc.c" -EvtScript N(EVS_PlayerReact) = { - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) - EVT_WAIT(20) - EVT_RETURN - EVT_END -}; +#include "world/common/atomic/MarioSalute.inc.c" EvtScript N(EVS_NpcInteract_Boo_01) = { EVT_SWITCH(GB_StoryProgress) @@ -125,7 +118,7 @@ EvtScript N(EVS_NpcInteract_Boo_02) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Tan_Talk, ANIM_Boo_Tan_Idle, 0, MSG_CH3_0081) EVT_SET(LVar0, 118) EVT_SET(LVar1, 1) - EVT_EXEC_WAIT(N(GiveKeyReward)) + EVT_EXEC_WAIT(N(GiveItemReward)) EVT_CALL(AddKeyItem, ITEM_KOOT_PACKAGE) EVT_SET(MV_Unk_00, 0) EVT_SET(GF_ARN03_RecievedPackage, TRUE) @@ -155,8 +148,8 @@ EvtScript N(EVS_NpcInteract_Boo_02) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Tan_Talk, ANIM_Boo_Tan_Idle, 0, MSG_CH3_007E) EVT_END_SWITCH EVT_IF_EQ(GF_ARN03_RecievedPackage, FALSE) - EVT_IF_EQ(GB_KootFavor_Current, 18) - EVT_EXEC_WAIT(N(EVS_PlayerReact)) + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH7_2) + EVT_EXEC_WAIT(N(EVS_MarioSalute)) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Tan_Talk, ANIM_Boo_Tan_Idle, 0, MSG_CH3_007F) EVT_CALL(EndSpeech, NPC_SELF, ANIM_Boo_Tan_Talk, ANIM_Boo_Tan_Idle, 0) EVT_SET(MV_Unk_00, 0) @@ -380,7 +373,7 @@ StaticNpc N(NpcData_Boo_01) = { .settings = &N(NpcSettings_Boo_Patrol), .pos = { 36.0f, 185.0f, 140.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_01), .drops = BOO_DROPS, .territory = { @@ -406,7 +399,7 @@ StaticNpc N(NpcData_Boo_02) = { .settings = &N(NpcSettings_Boo), .pos = { 209.0f, 185.0f, 217.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_02), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -418,7 +411,7 @@ StaticNpc N(NpcData_Boo_03) = { .settings = &N(NpcSettings_Boo_Patrol), .pos = { 379.0f, 186.0f, 186.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_03), .drops = BOO_DROPS, .territory = { @@ -444,7 +437,7 @@ StaticNpc N(NpcData_Boo_04) = { .settings = &N(NpcSettings_Boo), .pos = { 544.0f, 235.0f, 128.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_04), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -456,7 +449,7 @@ StaticNpc N(NpcData_Boo_05) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_05), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -520,7 +513,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 36.0f, 277.0f, 140.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_06), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -530,7 +523,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 180.0f, 285.0f, 182.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_07), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -540,7 +533,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 349.0f, 286.0f, 152.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_08), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -550,7 +543,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 490.0f, 324.0f, 128.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_09), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, diff --git a/src/world/area_arn/arn_05/arn_05_3_npc.c b/src/world/area_arn/arn_05/arn_05_3_npc.c index 0e32b0defd..cebf8da727 100644 --- a/src/world/area_arn/arn_05/arn_05_3_npc.c +++ b/src/world/area_arn/arn_05/arn_05_3_npc.c @@ -234,7 +234,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo_Patrol), .pos = { 55.0f, 195.0f, 160.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_01), .drops = BOO_DROPS, .territory = { @@ -259,7 +259,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo), .pos = { 160.0f, 191.0f, 250.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_02), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -270,7 +270,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo), .pos = { 390.0f, 190.0f, 255.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_03), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -281,7 +281,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo), .pos = { 503.0f, 206.0f, 210.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_04), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -292,7 +292,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo_Patrol), .pos = { 350.0f, 185.0f, 197.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_05), .drops = BOO_DROPS, .territory = { @@ -639,7 +639,7 @@ StaticNpc N(NpcData_Tubba) = { .settings = &N(NpcSettings_TubbaBlubba), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Tubba), .drops = TUBBA_DROPS, .animations = TUBBA_ANIMS, @@ -704,7 +704,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 36.0f, 277.0f, 140.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_06), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -714,7 +714,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 200.0f, 275.0f, 182.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_07), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -724,7 +724,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 379.0f, 300.0f, 192.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_08), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -734,7 +734,7 @@ StaticNpc N(NpcData_Boo_06)[] = { .settings = &N(NpcSettings_Boo), .pos = { 525.0f, 286.0f, 178.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_09), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, diff --git a/src/world/area_arn/arn_07/arn_07_5_npc.c b/src/world/area_arn/arn_07/arn_07_5_npc.c index 65a291c5f4..6b44fe953a 100644 --- a/src/world/area_arn/arn_07/arn_07_5_npc.c +++ b/src/world/area_arn/arn_07/arn_07_5_npc.c @@ -575,7 +575,7 @@ StaticNpc N(NpcData_Tubba)[] = { .settings = &N(NpcSettings_TubbasHeart), .pos = { -10.0f, 50.0f, -170.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, @@ -588,7 +588,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -599,7 +599,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -610,7 +610,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -621,7 +621,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -632,7 +632,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -643,7 +643,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Boo), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -656,7 +656,7 @@ StaticNpc N(NpcData_Bow) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Bow), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -688,7 +688,7 @@ StaticNpc N(NpcData_Bootler) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Bootler), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -803,7 +803,7 @@ StaticNpc N(NpcData_Skolar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Skolar), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, diff --git a/src/world/area_arn/arn_08/arn_08_6_npc.c b/src/world/area_arn/arn_08/arn_08_6_npc.c index 94a0360668..6ec26d9c9a 100644 --- a/src/world/area_arn/arn_08/arn_08_6_npc.c +++ b/src/world/area_arn/arn_08/arn_08_6_npc.c @@ -50,7 +50,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { -23.0f, 75.0f, 31.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, @@ -61,7 +61,7 @@ StaticNpc N(NpcData_Yakkey) = { .settings = &N(NpcSettings_Yakkey), .pos = { 38.0f, 0.0f, 97.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Yakkey), .drops = YAKKEY_DROPS, .animations = YAKKEY_ANIMS, diff --git a/src/world/area_arn/arn_09/arn_09_5_npc.c b/src/world/area_arn/arn_09/arn_09_5_npc.c index 9280b5c011..ebcaa02797 100644 --- a/src/world/area_arn/arn_09/arn_09_5_npc.c +++ b/src/world/area_arn/arn_09/arn_09_5_npc.c @@ -50,7 +50,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 0.0f, 25.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, diff --git a/src/world/area_arn/arn_10/arn_10_3_npc.c b/src/world/area_arn/arn_10/arn_10_3_npc.c index 0971747dcb..2f6ed6f7e4 100644 --- a/src/world/area_arn/arn_10/arn_10_3_npc.c +++ b/src/world/area_arn/arn_10/arn_10_3_npc.c @@ -64,7 +64,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 80.0f, 50.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, diff --git a/src/world/area_arn/arn_11/arn_11_3_npc.c b/src/world/area_arn/arn_11/arn_11_3_npc.c index 06d728e37f..858cc09cc0 100644 --- a/src/world/area_arn/arn_11/arn_11_3_npc.c +++ b/src/world/area_arn/arn_11/arn_11_3_npc.c @@ -154,7 +154,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 119.0f, 60.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, diff --git a/src/world/area_arn/arn_12/arn_12_3_npc.c b/src/world/area_arn/arn_12/arn_12_3_npc.c index 4117e86018..9b4d134ef4 100644 --- a/src/world/area_arn/arn_12/arn_12_3_npc.c +++ b/src/world/area_arn/arn_12/arn_12_3_npc.c @@ -65,7 +65,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 80.0f, 50.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, diff --git a/src/world/area_arn/arn_13/arn_13_3_npc.c b/src/world/area_arn/arn_13/arn_13_3_npc.c index b8ebe566f5..6d448d5d57 100644 --- a/src/world/area_arn/arn_13/arn_13_3_npc.c +++ b/src/world/area_arn/arn_13/arn_13_3_npc.c @@ -65,7 +65,7 @@ StaticNpc N(NpcData_TubbasHeart) = { .settings = &N(NpcSettings_TubbasHeart), .pos = { 80.0f, 50.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TubbasHeart), .drops = TUBBAS_HEART_DROPS, .animations = TUBBAS_HEART_ANIMS, diff --git a/src/world/area_dgb/dgb_00/dgb_00_3_npc.c b/src/world/area_dgb/dgb_00/dgb_00_3_npc.c index ceed185cdc..a9930aacaf 100644 --- a/src/world/area_dgb/dgb_00/dgb_00_3_npc.c +++ b/src/world/area_dgb/dgb_00/dgb_00_3_npc.c @@ -17,7 +17,7 @@ NpcSettings N(NpcSettings_Sentinel) = { .level = 99, }; -EvtScript N(EVS_OpenDoors) = { +EvtScript N(EVS_SetDoorRots) = { EVT_SET(LVar3, 0) EVT_SUB(LVar3, LVar2) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deiliwt, COLLIDER_FLAGS_UPPER_MASK) @@ -262,7 +262,7 @@ EvtScript N(EVS_Scene_BoosApproachManor) = { EVT_CALL(InterpPlayerYaw, 270, 1) EVT_CALL(SetNpcPos, NPC_PARTNER, 350, 10, -150) EVT_SET(LVar2, 1) - EVT_EXEC_WAIT(N(EVS_OpenDoors)) + EVT_EXEC_WAIT(N(EVS_SetDoorRots)) EVT_RETURN EVT_END }; @@ -445,7 +445,7 @@ StaticNpc N(NpcData_Boo_01) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Boo_01), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -457,7 +457,7 @@ StaticNpc N(NpcData_Boo_02) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_02), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -468,7 +468,7 @@ StaticNpc N(NpcData_Boo_03) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_03), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -479,7 +479,7 @@ StaticNpc N(NpcData_Boo_04) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_04), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -490,7 +490,7 @@ StaticNpc N(NpcData_Boo_05) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_05), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -501,7 +501,7 @@ StaticNpc N(NpcData_Boo_06) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo_06), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -534,7 +534,7 @@ EvtScript N(EVS_Scene_ThrownOutBySentinel) = { EVT_WAIT(20) EVT_THREAD EVT_SET(LVar2, 1) - EVT_EXEC(N(EVS_OpenDoors)) + EVT_EXEC(N(EVS_SetDoorRots)) EVT_END_THREAD EVT_WAIT(15) EVT_THREAD @@ -658,7 +658,7 @@ StaticNpc N(NpcData_Sentinel) = { .settings = &N(NpcSettings_Sentinel), .pos = { 0.0f, 0.0f, -1000.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Sentinel), .drops = SENTINEL_DROPS, .animations = SENTINEL_ANIMS, diff --git a/src/world/area_dgb/dgb_01/dgb_01_5_npc.c b/src/world/area_dgb/dgb_01/dgb_01_5_npc.c index ddef49120d..50c7cfb7d4 100644 --- a/src/world/area_dgb/dgb_01/dgb_01_5_npc.c +++ b/src/world/area_dgb/dgb_01/dgb_01_5_npc.c @@ -190,7 +190,7 @@ EvtScript N(EVS_NpcInit_Tubba_Floor1) = { EvtScript N(EVS_NpcInit_Sentinel_01) = { EVT_SET(LVar0, GB_StoryProgress) EVT_IF_GE(LVar0, -29) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Sentinel_Anim01) EVT_CALL(SetNpcPos, NPC_SELF, -33, -3, 8) @@ -204,7 +204,7 @@ EvtScript N(EVS_NpcInit_Sentinel_01) = { EvtScript N(EVS_NpcInit_Sentinel_02) = { EVT_SET(LVar0, GB_StoryProgress) EVT_IF_GE(LVar0, -29) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Sentinel_Anim01) EVT_CALL(SetNpcPos, NPC_SELF, -486, 182, 28) @@ -218,7 +218,7 @@ EvtScript N(EVS_NpcInit_Sentinel_02) = { EvtScript N(EVS_NpcInit_Sentinel_03) = { EVT_SET(LVar0, GB_StoryProgress) EVT_IF_GE(LVar0, -29) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Sentinel_Anim01) EVT_CALL(SetNpcPos, NPC_SELF, -201, 0, -143) @@ -232,7 +232,7 @@ EvtScript N(EVS_NpcInit_Sentinel_03) = { EvtScript N(EVS_NpcInit_Sentinel_04) = { EVT_SET(LVar0, GB_StoryProgress) EVT_IF_GE(LVar0, -29) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Sentinel_Anim01) EVT_CALL(SetNpcPos, NPC_SELF, -305, -1, -80) diff --git a/src/world/area_dgb/dgb_06/dgb_06_4_npc.c b/src/world/area_dgb/dgb_06/dgb_06_4_npc.c index 772d60a07d..9ae0c9e025 100644 --- a/src/world/area_dgb/dgb_06/dgb_06_4_npc.c +++ b/src/world/area_dgb/dgb_06/dgb_06_4_npc.c @@ -28,7 +28,7 @@ StaticNpc N(NpcData_Boo) = { .settings = &N(NpcSettings_Boo), .pos = { -300.0f, 10.0f, 150.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Boo), .drops = NPC_NO_DROPS, .animations = GUSTY_BOO_ANIMS, diff --git a/src/world/area_dgb/dgb_08/dgb_08_3_npc.c b/src/world/area_dgb/dgb_08/dgb_08_3_npc.c index 338d091bc2..b3e5f8bdaf 100644 --- a/src/world/area_dgb/dgb_08/dgb_08_3_npc.c +++ b/src/world/area_dgb/dgb_08/dgb_08_3_npc.c @@ -175,7 +175,7 @@ StaticNpc N(NpcData_Tubba) = { .settings = &N(NpcSettings_TubbaBlubba), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Tubba), .drops = CLUBBA_DROPS, .territory = { @@ -399,7 +399,7 @@ StaticNpc N(NpcData_LastClubba) = { .settings = &N(NpcSettings_LastClubba), .pos = { 426.0f, 0.0f, 38.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_LastClubba), .drops = NPC_NO_DROPS, .territory = { @@ -436,7 +436,7 @@ StaticNpc N(NpcData_Clubba_Unused) = { .settings = &N(NpcSettings_Clubba_Wander), .pos = { -250.0f, 0.0f, 135.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_400, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_400, .init = &N(EVS_NpcInit_Clubba_Unused), .drops = CLUBBA_DROPS, .territory = { diff --git a/src/world/area_dgb/dgb_15/dgb_15_3_npc.c b/src/world/area_dgb/dgb_15/dgb_15_3_npc.c index 286e229aa1..8e5136aa0d 100644 --- a/src/world/area_dgb/dgb_15/dgb_15_3_npc.c +++ b/src/world/area_dgb/dgb_15/dgb_15_3_npc.c @@ -167,7 +167,7 @@ StaticNpc N(NpcData_Tubba) = { .settings = &N(NpcSettings_TubbaBlubba), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Tubba), .drops = CLUBBA_DROPS, .territory = { diff --git a/src/world/area_dgb/dgb_18/dgb_18_3_npc.c b/src/world/area_dgb/dgb_18/dgb_18_3_npc.c index 345dcbd912..87adcb43d0 100644 --- a/src/world/area_dgb/dgb_18/dgb_18_3_npc.c +++ b/src/world/area_dgb/dgb_18/dgb_18_3_npc.c @@ -491,7 +491,7 @@ StaticNpc N(NpcData_Tubba) = { .settings = &N(NpcSettings_TubbaBlubba), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Tubba), .drops = TUBBA_DROPS, .territory = { @@ -519,7 +519,7 @@ StaticNpc N(NpcData_Yakkey) = { .settings = &N(NpcSettings_Yakkey), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Yakkey), .drops = NPC_NO_DROPS, .animations = { diff --git a/src/world/area_dro/dro_01/dro_01.h b/src/world/area_dro/dro_01/dro_01.h index ea00d90ddf..37dcf100c1 100644 --- a/src/world/area_dro/dro_01/dro_01.h +++ b/src/world/area_dro/dro_01/dro_01.h @@ -43,7 +43,7 @@ extern EvtScript N(EVS_MakeEntities); extern NpcGroupList N(DefaultNPCs); extern NpcGroupList N(Chapter3NPCs); -extern EvtScript N(EVS_SetupBuildings); +extern EvtScript N(EVS_SetupRooms); extern EvtScript N(EVS_SwingSign_Shop); extern EvtScript N(EVS_OpenShopDoor); extern EvtScript N(EVS_CloseShopDoor); diff --git a/src/world/area_dro/dro_01/dro_01_2_main.c b/src/world/area_dro/dro_01/dro_01_2_main.c index 19852e95dc..71fadd0d52 100644 --- a/src/world/area_dro/dro_01/dro_01_2_main.c +++ b/src/world/area_dro/dro_01/dro_01_2_main.c @@ -114,7 +114,7 @@ EvtScript N(EVS_Main) = { EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_CALL(MakeShop, EVT_PTR(N(Shop_ItemPositions)), EVT_PTR(N(Shop_Inventory)), EVT_PTR(N(Shop_PriceList)), 0) EVT_CALL(MakeShopOwner, EVT_PTR(N(Shop_Owner))) - EVT_EXEC_WAIT(N(EVS_SetupBuildings)) + EVT_EXEC_WAIT(N(EVS_SetupRooms)) EVT_EXEC(N(EVS_SwingSign_Shop)) EVT_EXEC(N(EVS_SetupMusic)) EVT_EXEC(N(EVS_EnterMap)) diff --git a/src/world/area_dro/dro_01/dro_01_3_npc.c b/src/world/area_dro/dro_01/dro_01_3_npc.c index be10d61b16..8bb2cfcec0 100644 --- a/src/world/area_dro/dro_01/dro_01_3_npc.c +++ b/src/world/area_dro/dro_01/dro_01_3_npc.c @@ -20,14 +20,14 @@ MAP_STATIC_PAD(1,post_quizmo); // or pre_key_item? #include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList)[] = { - ITEM_LETTER19, + ITEM_LETTER_CHAIN_LITTLE_MOUSER, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_ShopOwner) = { EVT_CALL(N(LetterDelivery_Init), NPC_Mouser_ShopOwner, ANIM_Mouser_Purple_Talk, ANIM_Mouser_Purple_Idle, - ITEM_LETTER19, ITEM_LETTER_TO_FRANKY, + ITEM_LETTER_CHAIN_LITTLE_MOUSER, ITEM_LETTER_CHAIN_FRANKY, MSG_CH2_0089, MSG_CH2_008A, MSG_CH2_008B, MSG_CH2_008C, EVT_PTR(N(LetterList))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -194,7 +194,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_01, .settings = &N(NpcSettings_Mouser), .pos = { -332.0f, 0.0f, 188.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Mouser_01), .yaw = 90, .drops = MOUSER_DROPS, @@ -205,7 +205,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_01, .settings = &N(NpcSettings_Dryite_Wander), .pos = { -235.0f, 0.0f, 160.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Dryite_01), .yaw = 90, .drops = DRYITE_DROPS, @@ -228,7 +228,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_02, .settings = &N(NpcSettings_Dryite), .pos = { -380.0f, 0.0f, -15.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Dryite_02), .yaw = 61, .drops = DRYITE_DROPS, @@ -239,7 +239,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_03, .settings = &N(NpcSettings_Dryite), .pos = { 195.0f, 0.0f, -75.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_HintDryite), .yaw = 74, .drops = DRYITE_DROPS, @@ -250,7 +250,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_04, .settings = &N(NpcSettings_Dryite), .pos = { 225.0f, 0.0f, -83.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Dryite_04), .yaw = 257, .drops = DRYITE_DROPS, @@ -261,7 +261,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_ArtistToad, .settings = &N(NpcSettings_Dryite), .pos = { 285.0f, 0.0f, -274.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Composer), .yaw = 271, .drops = { @@ -293,7 +293,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_ShopOwner, .settings = &N(NpcSettings_Mouser), .pos = { 31.0f, 0.0f, -374.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ShopOwner), .yaw = 180, .drops = MOUSER_DROPS, @@ -304,7 +304,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_ChuckQuizmo, .settings = &N(NpcSettings_ChuckQuizmo), .pos = { -400.0f, 0.0f, 100.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_DRO, QUIZ_COUNT_DRO, QUIZ_MAP_DRO_01 }}, .yaw = 263, @@ -338,7 +338,7 @@ StaticNpc N(PassiveNPCs)[] = { .settings = &N(NpcSettings_Dryite_Wander), .pos = { -120.0f, 0.0f, 134.0f }, .yaw = 257, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_DojoGrad), .drops = DRYITE_DROPS, .territory = { @@ -361,7 +361,7 @@ StaticNpc N(PassiveNPCs)[] = { .settings = &N(NpcSettings_Dryite_Patrol), .pos = { 40.0f, 0.0f, 105.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Dryite_06), .drops = DRYITE_DROPS, .territory = { @@ -388,7 +388,7 @@ StaticNpc N(ThreeSisterNPCs)[] = { .id = NPC_ThreeSisters_01, .settings = &N(NpcSettings_Toad_Stationary), .pos = { -141.0f, 0.0f, -18.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 62, .drops = TOADETTE_DROPS, @@ -399,7 +399,7 @@ StaticNpc N(ThreeSisterNPCs)[] = { .id = NPC_ThreeSisters_02, .settings = &N(NpcSettings_Toad_Stationary), .pos = { -124.0f, 0.0f, -61.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 63, .drops = TOADETTE_DROPS, @@ -410,7 +410,7 @@ StaticNpc N(ThreeSisterNPCs)[] = { .id = NPC_ThreeSisters_03, .settings = &N(NpcSettings_Toad_Stationary), .pos = { -80.0f, 0.0f, -35.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ThreeSisters), .yaw = 244, .drops = TOADETTE_DROPS, diff --git a/src/world/area_dro/dro_01/dro_01_5_building.c b/src/world/area_dro/dro_01/dro_01_5_rooms.c similarity index 81% rename from src/world/area_dro/dro_01/dro_01_5_building.c rename to src/world/area_dro/dro_01/dro_01_5_rooms.c index 4c74b56654..feb0075f8d 100644 --- a/src/world/area_dro/dro_01/dro_01_5_building.c +++ b/src/world/area_dro/dro_01/dro_01_5_rooms.c @@ -6,7 +6,7 @@ EvtScript N(EVS_SetDoorRot_LeftHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_LeftHouse) = { +EvtScript N(EVS_SetWallRot_LeftHouse) = { EVT_SET(LVar1, LVar0) EVT_DIVF(LVar1, 50) EVT_CALL(TranslateModel, MODEL_1_m_kabe, 0, LVar1, 0) @@ -34,7 +34,7 @@ EvtScript N(EVS_SetDoorRot_Shop) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Shop) = { +EvtScript N(EVS_SetWallRot_Shop) = { EVT_SET(LVar1, LVar0) EVT_DIVF(LVar1, 50) EVT_CALL(TranslateModel, MODEL_m_m_kabe, 0, LVar1, 0) @@ -65,7 +65,7 @@ EvtScript N(EVS_DropDoor_RightHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_RightHouse) = { +EvtScript N(EVS_SetWallRot_RightHouse) = { EVT_IF_EQ(LVar0, 90) EVT_CALL(EnableModel, MODEL_nuno, FALSE) EVT_ELSE @@ -88,20 +88,20 @@ EvtScript N(EVS_MoveWalls_RightHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_LeftHouse) = { +EvtScript N(EVS_RoomListener_LeftHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_ie_naka, TRUE) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_ie_naka, FALSE) EVT_END_SWITCH EVT_RETURN EVT_END }; -EvtScript N(EVS_ToggleVis_Shop) = { +EvtScript N(EVS_RoomListener_Shop) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SWITCH(GB_StoryProgress) EVT_CASE_LT(STORY_CH2_SPOKE_WITH_SHEEK) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_017B, 160, 40) @@ -112,13 +112,13 @@ EvtScript N(EVS_ToggleVis_Shop) = { EVT_RETURN EVT_END_SWITCH EVT_CALL(SetGroupEnabled, MODEL_mise_naka, 1) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_THREAD EVT_WAIT(45) EVT_CALL(SetNpcPos, NPC_Mouser_ShopOwner, 33, 0, -375) EVT_CALL(SetNpcYaw, NPC_Mouser_ShopOwner, 180) EVT_END_THREAD - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_mise_naka, 0) EVT_SET(AB_DRO_SHOP_PREV1, 0) EVT_SET(AB_DRO_SHOP_PREV2, 0) @@ -127,12 +127,13 @@ EvtScript N(EVS_ToggleVis_Shop) = { EVT_END }; -EvtScript N(EVS_ToggleVis_RightHouse) = { +EvtScript N(EVS_RoomListener_RightHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_ie2_naka, 1) - EVT_CASE_EQ(2) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_ie2_naka, 0) EVT_END_SWITCH EVT_RETURN @@ -154,41 +155,41 @@ s32 N(InteriorNPCs_RightHouse)[] = { -1 }; -EvtScript N(EVS_SetupBuildings) = { - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_5), +EvtScript N(EVS_SetupRooms) = { + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_LeftHouse)), - EVT_PTR(N(EVS_MoveWalls_LeftHouse)), + EVT_PTR(N(EVS_SetWallRot_LeftHouse)), EVT_PTR(N(EVS_DropDoor_LeftHouse)), - EVT_PTR(N(EVS_ToggleVis_LeftHouse)), + EVT_PTR(N(EVS_RoomListener_LeftHouse)), COLLIDER_ei1_1, COLLIDER_ei1_2, MODEL_k_i1, EVT_PTR(N(InteriorNPCs_LeftHouse))) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_5), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Shop)), - EVT_PTR(N(EVS_MoveWalls_Shop)), + EVT_PTR(N(EVS_SetWallRot_Shop)), NULL, - EVT_PTR(N(EVS_ToggleVis_Shop)), + EVT_PTR(N(EVS_RoomListener_Shop)), COLLIDER_em_1, COLLIDER_em_2, MODEL_k_m1, EVT_PTR(N(InteriorNPCs_Shop))) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_5), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_RightHouse)), - EVT_PTR(N(EVS_MoveWalls_RightHouse)), + EVT_PTR(N(EVS_SetWallRot_RightHouse)), EVT_PTR(N(EVS_DropDoor_RightHouse)), - EVT_PTR(N(EVS_ToggleVis_RightHouse)), + EVT_PTR(N(EVS_RoomListener_RightHouse)), COLLIDER_ei2_1, COLLIDER_ei_2, MODEL_k_i2, EVT_PTR(N(InteriorNPCs_RightHouse))) - EVT_SET(LVar0, 3) - EVT_EXEC(N(EVS_ToggleVis_LeftHouse)) - EVT_EXEC(N(EVS_ToggleVis_Shop)) - EVT_EXEC(N(EVS_ToggleVis_RightHouse)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_LeftHouse)) + EVT_EXEC(N(EVS_RoomListener_Shop)) + EVT_EXEC(N(EVS_RoomListener_RightHouse)) EVT_RETURN EVT_END }; diff --git a/src/world/area_dro/dro_02/dro_02.h b/src/world/area_dro/dro_02/dro_02.h index b3de3b5065..0f03ec1013 100644 --- a/src/world/area_dro/dro_02/dro_02.h +++ b/src/world/area_dro/dro_02/dro_02.h @@ -48,7 +48,7 @@ extern EvtScript N(EVS_SetupMusic); extern EvtScript N(EVS_PlayRestMusic); extern EvtScript N(EVS_PlayMoustafaMusic); -extern EvtScript N(EVS_SetupBuildings); +extern EvtScript N(EVS_SetupRooms); extern EvtScript N(8024D434); #endif diff --git a/src/world/area_dro/dro_02/dro_02_2_entity.c b/src/world/area_dro/dro_02/dro_02_2_entity.c index c61dc0792e..9d500ae7d0 100644 --- a/src/world/area_dro/dro_02/dro_02_2_entity.c +++ b/src/world/area_dro/dro_02/dro_02_2_entity.c @@ -2,7 +2,7 @@ #include "entity.h" EvtScript N(EVS_MakeEntities) = { - EVT_CALL(MakeItemEntity, ITEM_LETTER08, -135, 160, -245, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_DRO02_Item_Letter08) + EVT_CALL(MakeItemEntity, ITEM_LETTER_TO_NOMADIMOUSE, -135, 160, -245, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_DRO02_Item_Letter08) EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 180, 173, -200, 0, MODEL_1_yane, MAKE_ENTITY_END) EVT_CALL(AssignPanelFlag, GF_DRO02_HiddenPanel) EVT_RETURN diff --git a/src/world/area_dro/dro_02/dro_02_3_main.c b/src/world/area_dro/dro_02/dro_02_3_main.c index bb7ef3a9f7..f651fa4baa 100644 --- a/src/world/area_dro/dro_02/dro_02_3_main.c +++ b/src/world/area_dro/dro_02/dro_02_3_main.c @@ -54,7 +54,7 @@ EvtScript N(EVS_Main) = { EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(DefaultNPCs))) EVT_CALL(InitVirtualEntityList) EVT_EXEC_WAIT(N(EVS_MakeEntities)) - EVT_EXEC_WAIT(N(EVS_SetupBuildings)) + EVT_EXEC_WAIT(N(EVS_SetupRooms)) EVT_EXEC(N(EVS_SetupMusic)) EVT_CALL(GetEntryID, LVar0) EVT_SWITCH(LVar0) diff --git a/src/world/area_dro/dro_02/dro_02_4_building.c b/src/world/area_dro/dro_02/dro_02_4_rooms.c similarity index 86% rename from src/world/area_dro/dro_02/dro_02_4_building.c rename to src/world/area_dro/dro_02/dro_02_4_rooms.c index b99e140fa3..a42b0c17aa 100644 --- a/src/world/area_dro/dro_02/dro_02_4_building.c +++ b/src/world/area_dro/dro_02/dro_02_4_rooms.c @@ -31,14 +31,14 @@ EvtScript N(EVS_UnusedDoorSetup) = { EVT_END }; -EvtScript N(EVS_OpenDoor_Hideout) = { +EvtScript N(EVS_SetDoorRot_Hideout) = { EVT_CALL(RotateModel, MODEL_o769, LVar0, 0, -1, 0) EVT_CALL(RotateModel, MODEL_o770, LVar0, 0, 1, 0) EVT_RETURN EVT_END }; -EvtScript N(EVS_MoveWalls_Hideout) = { +EvtScript N(EVS_SetWallRot_Hideout) = { EVT_SET(LVar1, LVar0) EVT_DIVF(LVar1, 50) EVT_CALL(TranslateModel, MODEL_6_kabe, 0, LVar1, 0) @@ -62,13 +62,13 @@ EvtScript N(EVS_DropDoor_Hideout) = { EVT_END }; -EvtScript N(EVS_OpenDoor_ToadHouse) = { +EvtScript N(EVS_SetDoorRot_ToadHouse) = { EVT_CALL(RotateModel, MODEL_4_doa, LVar0, 0, 1, 0) EVT_RETURN EVT_END }; -EvtScript N(EVS_MoveWalls_ToadHouse) = { +EvtScript N(EVS_SetWallRot_ToadHouse) = { EVT_SET(LVar1, LVar0) EVT_DIVF(LVar1, 50) EVT_CALL(RotateGroup, MODEL_mobe, LVar0, 0, 0, -1) @@ -87,12 +87,12 @@ EvtScript N(EVS_SetupCamSpeed) = { EVT_END }; -EvtScript N(EVS_ToggleVis_ToadHouse) = { +EvtScript N(EVS_RoomListener_ToadHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_ie4_naka, 1) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_ie4_naka, 0) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.334)) EVT_END_SWITCH @@ -100,9 +100,9 @@ EvtScript N(EVS_ToggleVis_ToadHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Hideout) = { +EvtScript N(EVS_RoomListener_Hideout) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_ie5_naka, 1) EVT_CALL(SetCamType, CAM_DEFAULT, 0, FALSE) EVT_CALL(SetCamDistance, CAM_DEFAULT, 260) @@ -113,13 +113,13 @@ EvtScript N(EVS_ToggleVis_Hideout) = { EVT_CALL(SetPanTarget, CAM_DEFAULT, -395, 140, -150) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(4.0)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_CALL(SetPanTarget, CAM_DEFAULT, -365, 140, -145) EVT_CALL(SetCamPitch, CAM_DEFAULT, 20, -7) EVT_CALL(SetCamDistance, CAM_DEFAULT, 400) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(4.0)) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_ie5_naka, 0) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.334)) @@ -207,19 +207,19 @@ s32 N(InsideNPCs_ToadHouse)[] = { -1 }; -EvtScript N(EVS_SetupBuildings) = { +EvtScript N(EVS_SetupRooms) = { EVT_EXEC(N(EVS_SwingToadHouseSign)) EVT_CALL(ParentColliderToModel, COLLIDER_o1287, MODEL_1_doa) EVT_IF_GE(GB_StoryProgress, STORY_CH2_BOUGHT_SECRET_ITEMS) EVT_CALL(RotateModel, MODEL_1_doa, 18, 0, 1, 0) EVT_CALL(UpdateColliderTransform, COLLIDER_o1287) EVT_END_IF - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_4), - EVT_PTR(N(EVS_OpenDoor_Hideout)), - EVT_PTR(N(EVS_MoveWalls_Hideout)), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_STRAIGHT_THROUGH), + EVT_PTR(N(EVS_SetDoorRot_Hideout)), + EVT_PTR(N(EVS_SetWallRot_Hideout)), EVT_PTR(N(EVS_DropDoor_Hideout)), - EVT_PTR(N(EVS_ToggleVis_Hideout)), + EVT_PTR(N(EVS_RoomListener_Hideout)), COLLIDER_o1252, COLLIDER_o1253, MODEL_k_i5, @@ -228,20 +228,20 @@ EvtScript N(EVS_SetupBuildings) = { EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OpenSecretDoor_FromOutside)), TRIGGER_WALL_PRESS_A, COLLIDER_o1287, 1, 0) EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OpenSecretDoor_FromInside)), TRIGGER_WALL_PRESS_A, COLLIDER_o1289, 1, 0) EVT_END_IF - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_1, VIS_GROUP_5), - EVT_PTR(N(EVS_OpenDoor_ToadHouse)), - EVT_PTR(N(EVS_MoveWalls_ToadHouse)), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_1, ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_ToadHouse)), + EVT_PTR(N(EVS_SetWallRot_ToadHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_ToadHouse)), + EVT_PTR(N(EVS_RoomListener_ToadHouse)), COLLIDER_o1204, COLLIDER_o1261, MODEL_k_i4, EVT_PTR(N(InsideNPCs_ToadHouse))) - EVT_SET(LVar0, 3) - EVT_EXEC(N(EVS_ToggleVis_Hideout)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_Hideout)) EVT_EXEC(N(EVS_SetupCamSpeed)) - EVT_EXEC(N(EVS_ToggleVis_ToadHouse)) + EVT_EXEC(N(EVS_RoomListener_ToadHouse)) EVT_RETURN EVT_END }; diff --git a/src/world/area_dro/dro_02/dro_02_5_npc.c b/src/world/area_dro/dro_02/dro_02_5_npc.c index 24ee875c10..77cfedf045 100644 --- a/src/world/area_dro/dro_02/dro_02_5_npc.c +++ b/src/world/area_dro/dro_02/dro_02_5_npc.c @@ -62,14 +62,14 @@ MAP_STATIC_PAD(1,key_item); #include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList)[] = { - ITEM_LETTER17, + ITEM_LETTER_CHAIN_MR_E, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_MrE) = { EVT_CALL(N(LetterDelivery_Init), NPC_Dryite_01, ANIM_Dryite_Blue_Talk, ANIM_Dryite_Blue_Idle, - ITEM_LETTER17, ITEM_LETTER18, + ITEM_LETTER_CHAIN_MR_E, ITEM_LETTER_CHAIN_MISS_T, MSG_CH2_0095, MSG_CH2_0096, MSG_CH2_0097, MSG_CH2_0098, EVT_PTR(N(LetterList))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -359,7 +359,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Archeologist, .settings = &N(NpcSettings_Archeologist), .pos = { -320.0f, 0.0f, -14.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Archeologist), .yaw = 90, .drops = { @@ -392,7 +392,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_01, .settings = &N(NpcSettings_Dryite_Wander), .pos = { -20.0f, 0.0f, 40.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_MrE), .yaw = 270, .drops = DRYITE_DROPS, @@ -404,7 +404,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_DisguisedMoustafa, .settings = &N(NpcSettings_Mouser), .pos = { 245.0f, 0.0f, -35.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_DisguisedMoustafa), .yaw = 90, .drops = MOUSER_DROPS, @@ -415,7 +415,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Toad, .settings = &N(NpcSettings_Toad_Stationary), .pos = { -143.0f, 0.0f, -170.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadHouseKeeper), .yaw = 180, .drops = TOAD_DROPS, @@ -426,7 +426,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Merlee, .settings = &N(NpcSettings_Merlee), .pos = { -130.0f, 0.0f, -400.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcAuxAI_Merlee), .yaw = 180, .drops = { @@ -458,7 +458,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Moustafa, .settings = &N(NpcSettings_Mouser), .pos = { NPC_DISPOSE_LOCATION }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Moustafa), .yaw = 0, .drops = MOUSER_DROPS, @@ -469,7 +469,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_02, .settings = &N(NpcSettings_Dryite), .pos = { 25.0f, 0.0f, -38.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Dryite_02), .yaw = 270, .drops = DRYITE_DROPS, @@ -480,7 +480,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Dryite_03, .settings = &N(NpcSettings_Dryite), .pos = { -375.0f, 0.0f, -10.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Dryite_03), .yaw = 270, .drops = DRYITE_DROPS, @@ -491,7 +491,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_01, .settings = &N(NpcSettings_Mouser), .pos = { -50.0f, 0.0f, -470.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Mouser_01), .yaw = 180, .drops = { @@ -506,7 +506,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_02, .settings = &N(NpcSettings_Mouser), .pos = { -270.0f, 0.0f, 91.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Mouser_02), .yaw = 270, .drops = MOUSER_DROPS, @@ -517,7 +517,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_Mouser_03, .settings = &N(NpcSettings_Mouser), .pos = { 210.0f, 0.0f, -35.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Mouser_03), .yaw = 90, .drops = MOUSER_DROPS, @@ -527,7 +527,7 @@ StaticNpc N(PassiveNPCs)[] = { .id = NPC_ChuckQuizmo, .settings = &N(NpcSettings_ChuckQuizmo), .pos = { -335.0f, 0.0f, 90.0f }, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_DRO, QUIZ_COUNT_DRO, QUIZ_MAP_DRO_02 } }, .yaw = 270, diff --git a/src/world/area_dro/dro_02/npc_merlee.c b/src/world/area_dro/dro_02/npc_merlee.c index e285cff326..f945741443 100644 --- a/src/world/area_dro/dro_02/npc_merlee.c +++ b/src/world/area_dro/dro_02/npc_merlee.c @@ -119,7 +119,7 @@ API_CALLABLE(N(DarkenWorld)) { for (i = 0; i < MAX_NPCS; i++) { Npc* npc = get_npc_by_index(i); if (npc != 0 && npc->flags != 0 && npc->npcID != NPC_PARTNER && npc->npcID != NPC_Merlee) { - npc->flags |= NPC_FLAG_NO_DROPS; + npc->flags |= NPC_FLAG_HIDING; } } script->functionTemp[0] = 0; @@ -157,7 +157,7 @@ API_CALLABLE(N(UndarkenWorld)) { Npc* npc = get_npc_by_index(i); if (npc != NULL && npc->flags != 0 && npc->npcID != NPC_PARTNER && npc->npcID != NPC_Merlee) { - npc->flags &= ~NPC_FLAG_NO_DROPS; + npc->flags &= ~NPC_FLAG_HIDING; } } return ApiStatus_DONE2; @@ -763,7 +763,7 @@ EvtScript N(EVS_NpcInteract_Merlee) = { EVT_CALL(func_802D2C14, 1) EVT_EXEC_WAIT(N(EVS_BeginMerleeCamera)) EVT_SET(LVar0, 0) - EVT_IF_EQ(GB_KootFavor_Current, 8) + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH4_1) EVT_ADD(LVar0, 1) EVT_END_IF EVT_IF_EQ(GF_HOS06_MerluvleeRequestedCrystalBall, 1) @@ -776,7 +776,7 @@ EvtScript N(EVS_NpcInteract_Merlee) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldMerlee_Talk, ANIM_WorldMerlee_Idle, 0, MSG_CH2_00DC) EVT_SET(LVar0, ITEM_CRYSTAL_BALL) EVT_SET(LVar1, 1) - EVT_EXEC_WAIT(N(GiveKeyReward)) + EVT_EXEC_WAIT(N(GiveItemReward)) EVT_CALL(AddKeyItem, ITEM_CRYSTAL_BALL) EVT_SET(GF_DRO01_Gift_CrystalBall, 1) EVT_WAIT(20) diff --git a/src/world/area_end/end_00/end_00_5_koopas.c b/src/world/area_end/end_00/end_00_5_koopas.c index 4aadd7801b..0b2bca6046 100644 --- a/src/world/area_end/end_00/end_00_5_koopas.c +++ b/src/world/area_end/end_00/end_00_5_koopas.c @@ -105,7 +105,7 @@ EvtScript N(EVS_KoopaBros_Green) = { }; EvtScript N(EVS_Bobomb1) = { - EVT_CALL(SetNpcFlagBits, NPC_Bobomb1, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Bobomb1, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_WAIT(180) EVT_CALL(NpcMoveTo, NPC_Bobomb1, -1900, 43, 70) EVT_CALL(SetNpcAnimation, NPC_Bobomb1, ANIM_Bobomb_Anim0B) @@ -127,7 +127,7 @@ EvtScript N(EVS_Bobomb1) = { }; EvtScript N(EVS_Bobomb2) = { - EVT_CALL(SetNpcFlagBits, NPC_Bobomb2, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Bobomb2, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_WAIT(180) EVT_CALL(NpcMoveTo, NPC_Bobomb2, -1870, 43, 70) EVT_CALL(SetNpcAnimation, NPC_Bobomb2, ANIM_Bobomb_Anim0B) @@ -149,7 +149,7 @@ EvtScript N(EVS_Bobomb2) = { }; EvtScript N(EVS_Bobomb3) = { - EVT_CALL(SetNpcFlagBits, NPC_Bobomb3, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Bobomb3, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_WAIT(180) EVT_CALL(NpcMoveTo, NPC_Bobomb3, -1840, 43, 70) EVT_CALL(SetNpcAnimation, NPC_Bobomb3, ANIM_Bobomb_Anim0B) @@ -171,7 +171,7 @@ EvtScript N(EVS_Bobomb3) = { }; EvtScript N(EVS_Bobomb4) = { - EVT_CALL(SetNpcFlagBits, NPC_Bobomb4, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Bobomb4, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_WAIT(180) EVT_CALL(NpcMoveTo, NPC_Bobomb4, -1810, 43, 70) EVT_CALL(SetNpcAnimation, NPC_Bobomb4, ANIM_Bobomb_Anim0B) diff --git a/src/world/area_end/end_01/end_01_4_opera_float.c b/src/world/area_end/end_01/end_01_4_opera_float.c index 02319c2e8c..e5edea7d3f 100644 --- a/src/world/area_end/end_01/end_01_4_opera_float.c +++ b/src/world/area_end/end_01/end_01_4_opera_float.c @@ -308,7 +308,7 @@ EvtScript N(EVS_ParadePhase_Opera) = { EVT_SET(LVar0, 1) EVT_EXEC_GET_TID(N(EVS_TexPan_OperaFloat_MainStageLights), LVarA) EVT_EXEC_GET_TID(N(EVS_UpdateLightshow), LVarC) - EVT_CALL(SetNpcFlagBits, NPC_Singer, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Singer, NPC_FLAG_8, TRUE) EVT_CALL(MakeLerp, 0, 55, 90, EASING_LINEAR) EVT_LOOP(0) EVT_CALL(UpdateLerp) diff --git a/src/world/area_flo/flo_00/flo_00_3_npc.c b/src/world/area_flo/flo_00/flo_00_3_npc.c index aa605a1644..feda36f13e 100644 --- a/src/world/area_flo/flo_00/flo_00_3_npc.c +++ b/src/world/area_flo/flo_00/flo_00_3_npc.c @@ -623,7 +623,7 @@ StaticNpc N(NpcData_Wisterwood) = { .settings = &N(NpcSettings_Dummy), .pos = { -72.0f, 60.0f, -100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Wisterwood), .drops = BUBULB_DROPS, .animations = BUBULB_PINK_ANIMS, @@ -635,7 +635,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { -59.0f, 0.0f, -40.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb_01), .drops = BUBULB_DROPS, .territory = { @@ -660,7 +660,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 67.0f, 0.0f, 85.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb_02), .drops = BUBULB_DROPS, .territory = { @@ -685,7 +685,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 90.0f, 0.0f, 410.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb_03), .drops = BUBULB_DROPS, .territory = { @@ -710,7 +710,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 200.0f, 0.0f, 430.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb_04), .drops = BUBULB_DROPS, .territory = { @@ -737,7 +737,7 @@ StaticNpc N(NpcData_Tolielup) = { .settings = &N(NpcSettings_Tolielup), .pos = { -400.0f, 0.0f, 190.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Tolielup), .drops = TOLIELUP_DROPS, .animations = TOLIELUP_ANIMS, @@ -749,7 +749,7 @@ StaticNpc N(NpcData_Klevar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Klevar), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -760,7 +760,7 @@ StaticNpc N(NpcData_Lakilulu) = { .settings = &N(NpcSettings_Dummy), .pos = { 198.0f, 0.0f, 363.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilulu), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_flo/flo_00/flo_00_4_epilogue.c b/src/world/area_flo/flo_00/flo_00_4_epilogue.c index 27567c1499..e9520aa677 100644 --- a/src/world/area_flo/flo_00/flo_00_4_epilogue.c +++ b/src/world/area_flo/flo_00/flo_00_4_epilogue.c @@ -81,7 +81,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Lakilester_Epilogue), .pos = { 144.0f, 0.0f, 374.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilester_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -112,7 +112,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Lakilester_Epilogue), .pos = { 198.0f, 0.0f, 363.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilulu_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -143,7 +143,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Parakarry), .pos = { 266.0f, 0.0f, 322.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Parakarry_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_flo/flo_03/flo_03_3_npc.c b/src/world/area_flo/flo_03/flo_03_3_npc.c index 61c32dcba3..d592b0b713 100644 --- a/src/world/area_flo/flo_03/flo_03_3_npc.c +++ b/src/world/area_flo/flo_03/flo_03_3_npc.c @@ -232,11 +232,11 @@ EvtScript N(EVS_NpcInteract_Petunia) = { EVT_SET(LVar4, EVT_FLOAT(90.0)) EVT_EXEC_WAIT(N(EVS_FocusCamBetween)) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Petunia_AngryTalk, ANIM_Petunia_Angry, 0, MSG_CH6_0057) - EVT_CALL(SetEnemyFlagBits, NPC_Dayzee, ENEMY_FLAG_1, 0) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_01, ENEMY_FLAG_1, 0) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_02, ENEMY_FLAG_1, 0) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_03, ENEMY_FLAG_1, 0) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_04, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_Dayzee, ENEMY_FLAG_PASSIVE, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_01, ENEMY_FLAG_PASSIVE, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_02, ENEMY_FLAG_PASSIVE, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_03, ENEMY_FLAG_PASSIVE, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_04, ENEMY_FLAG_PASSIVE, 0) EVT_CALL(BindNpcAI, NPC_Dayzee, EVT_PTR(N(EVS_NpcAI_Dayzee))) EVT_SET(MV_PauseBurrowing, FALSE) EVT_SET(MV_NextBurrowTriggerRadius, 60) @@ -296,7 +296,7 @@ EvtScript N(EVS_NpcInit_Dayzee) = { EVT_CALL(SetNpcPos, NPC_Dayzee, NPC_DISPOSE_LOCATION) EVT_CASE_DEFAULT EVT_IF_EQ(GF_FLO03_Defeated_Dayzee, FALSE) - EVT_CALL(SetEnemyFlagBits, NPC_Dayzee, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_Dayzee, ENEMY_FLAG_PASSIVE, 0) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcAI_Dayzee))) EVT_ELSE EVT_CALL(SetNpcPos, NPC_Dayzee, NPC_DISPOSE_LOCATION) @@ -390,7 +390,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_01) = { EVT_END_IF EVT_IF_EQ(LV_ShouldBurrow, TRUE) EVT_IF_EQ(AF_FLO_IsUnderground_Mole_01, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_01, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_01, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_01, 1) EVT_WAIT(1) EVT_SET(AF_FLO_IsUnderground_Mole_01, TRUE) @@ -424,7 +424,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_01) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_MontyMole_01, LVar1, LVar2, LVar3) EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_01, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_01, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_SET(AF_FLO_IsUnderground_Mole_01, FALSE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_01, 1) EVT_WAIT(1) @@ -469,7 +469,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_02) = { EVT_END_IF EVT_IF_EQ(LV_ShouldBurrow, TRUE) EVT_IF_EQ(AF_FLO_IsUnderground_Mole_02, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_02, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_02, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_02, 1) EVT_WAIT(1) EVT_SET(AF_FLO_IsUnderground_Mole_02, TRUE) @@ -503,7 +503,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_02) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_MontyMole_02, LVar1, LVar2, LVar3) EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_02, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_02, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_SET(AF_FLO_IsUnderground_Mole_02, FALSE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_02, 1) EVT_WAIT(1) @@ -548,7 +548,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_03) = { EVT_END_IF EVT_IF_EQ(LV_ShouldBurrow, TRUE) EVT_IF_EQ(AF_FLO_IsUnderground_Mole_03, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_03, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_03, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_03, 1) EVT_WAIT(1) EVT_SET(AF_FLO_IsUnderground_Mole_03, TRUE) @@ -582,7 +582,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_03) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_MontyMole_03, LVar1, LVar2, LVar3) EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_03, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_03, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_SET(AF_FLO_IsUnderground_Mole_03, FALSE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_03, 1) EVT_WAIT(1) @@ -627,7 +627,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_04) = { EVT_END_IF EVT_IF_EQ(LV_ShouldBurrow, TRUE) EVT_IF_EQ(AF_FLO_IsUnderground_Mole_04, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_04, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_04, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_04, 1) EVT_WAIT(1) EVT_SET(AF_FLO_IsUnderground_Mole_04, TRUE) @@ -661,7 +661,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_04) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_MontyMole_04, LVar1, LVar2, LVar3) EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_04, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_04, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_SET(AF_FLO_IsUnderground_Mole_04, FALSE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_04, 1) EVT_WAIT(1) @@ -696,7 +696,7 @@ EvtScript N(EVS_NpcInit_MontyMole_01) = { EVT_IF_EQ(GF_FLO03_Defeated_MontyMoleA, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MontyMole_01))) EVT_CALL(SetNpcAnimation, NPC_MontyMole_01, ANIM_MontyMole_Dark_Anim10) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_01, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_01, ENEMY_FLAG_PASSIVE, 0) EVT_ELSE EVT_CALL(SetNpcPos, NPC_MontyMole_01, NPC_DISPOSE_LOCATION) EVT_END_IF @@ -719,7 +719,7 @@ EvtScript N(EVS_NpcInit_MontyMole_02) = { EVT_IF_EQ(GF_FLO03_Defeated_MontyMoleB, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MontyMole_02))) EVT_CALL(SetNpcAnimation, NPC_MontyMole_02, ANIM_MontyMole_Dark_Anim10) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_02, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_02, ENEMY_FLAG_PASSIVE, 0) EVT_ELSE EVT_CALL(SetNpcPos, NPC_MontyMole_02, NPC_DISPOSE_LOCATION) EVT_END_IF @@ -742,7 +742,7 @@ EvtScript N(EVS_NpcInit_MontyMole_03) = { EVT_IF_EQ(GF_FLO03_Defeated_MontyMoleC, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MontyMole_03))) EVT_CALL(SetNpcAnimation, NPC_MontyMole_03, ANIM_MontyMole_Dark_Anim10) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_03, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_03, ENEMY_FLAG_PASSIVE, 0) EVT_ELSE EVT_CALL(SetNpcPos, NPC_MontyMole_03, NPC_DISPOSE_LOCATION) EVT_END_IF @@ -765,7 +765,7 @@ EvtScript N(EVS_NpcInit_MontyMole_04) = { EVT_IF_EQ(GF_FLO03_Defeated_MontyMoleD, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MontyMole_04))) EVT_CALL(SetNpcAnimation, NPC_MontyMole_04, ANIM_MontyMole_Dark_Anim10) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_04, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_04, ENEMY_FLAG_PASSIVE, 0) EVT_ELSE EVT_CALL(SetNpcPos, NPC_MontyMole_04, NPC_DISPOSE_LOCATION) EVT_END_IF @@ -781,7 +781,7 @@ StaticNpc N(NpcData_Petunia) = { .settings = &N(NpcSettings_Petunia), .pos = { -30.0f, 0.0f, 100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Petunia), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -814,7 +814,7 @@ StaticNpc N(NpcData_Dayzee) = { .settings = &N(NpcSettings_Dayzee), .pos = { -233.0f, 0.0f, -217.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Dayzee), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -846,7 +846,7 @@ StaticNpc N(NpcData_MontyMole_01) = { .settings = &N(NpcSettings_Dayzee), .pos = { -100.0f, 0.0f, 210.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_MontyMole_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -878,7 +878,7 @@ StaticNpc N(NpcData_MontyMole_02) = { .settings = &N(NpcSettings_Dayzee), .pos = { -130.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_MontyMole_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -910,7 +910,7 @@ StaticNpc N(NpcData_MontyMole_03) = { .settings = &N(NpcSettings_Dayzee), .pos = { 75.0f, 0.0f, 20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_MontyMole_03), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -942,7 +942,7 @@ StaticNpc N(NpcData_MontyMole_04) = { .settings = &N(NpcSettings_Dayzee), .pos = { 71.0f, 0.0f, 200.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_MontyMole_04), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_flo/flo_07/flo_07_3_npc.c b/src/world/area_flo/flo_07/flo_07_3_npc.c index 302ce2b047..e63ee940c9 100644 --- a/src/world/area_flo/flo_07/flo_07_3_npc.c +++ b/src/world/area_flo/flo_07/flo_07_3_npc.c @@ -66,7 +66,7 @@ EvtScript N(EVS_MakeCrystalBerry) = { EVT_SET(GF_FLO07_CrystalBerryFellOnLeftSide, TRUE) EVT_END_IF EVT_CALL(PlaySound, SOUND_7BC) - EVT_CALL(func_802D62E4, 956) + EVT_CALL(func_802D62E4, SOUND_3BC) EVT_SET(AF_FLO_MadeCrystalBerry, TRUE) EVT_WAIT(20) EVT_CALL(SpeakToPlayer, NPC_Posie, ANIM_Posie_Talk, ANIM_Posie_Idle, 0, MSG_CH6_006A) @@ -236,7 +236,7 @@ StaticNpc N(NpcData_Posie) = { .settings = &N(NpcSettings_Posie), .pos = { -260.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Posie), .drops = POSIE_DROPS, .animations = POSIE_ANIMS, diff --git a/src/world/area_flo/flo_08/flo_08_4_npc.c b/src/world/area_flo/flo_08/flo_08_4_npc.c index 3f9a410fdd..2ae1ac4d06 100644 --- a/src/world/area_flo/flo_08/flo_08_4_npc.c +++ b/src/world/area_flo/flo_08/flo_08_4_npc.c @@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = { .settings = &N(NpcSettings_GateFlower), .pos = { -695.0f, 0.0f, -30.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_GateFlower), .drops = GATE_FLOWER_DROPS, .animations = GATE_FLOWER_YELLOW_ANIMS, diff --git a/src/world/area_flo/flo_10/flo_10_5_npc.c b/src/world/area_flo/flo_10/flo_10_5_npc.c index 24bf3827e3..5a72f9163e 100644 --- a/src/world/area_flo/flo_10/flo_10_5_npc.c +++ b/src/world/area_flo/flo_10/flo_10_5_npc.c @@ -203,7 +203,7 @@ StaticNpc N(NpcData_Lily) = { .settings = &N(NpcSettings_Lily), .pos = { 80.0f, -60.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lily), .drops = LILY_DROPS, .animations = LILY_ANIMS, diff --git a/src/world/area_flo/flo_11/flo_11_3_npc.c b/src/world/area_flo/flo_11/flo_11_3_npc.c index 1f32da6754..3b9dfd7d14 100644 --- a/src/world/area_flo/flo_11/flo_11_3_npc.c +++ b/src/world/area_flo/flo_11/flo_11_3_npc.c @@ -374,7 +374,7 @@ StaticNpc N(NpcData_Lakitus)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 553.0f, 60.0f, 52.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Lakitu_01), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -384,7 +384,7 @@ StaticNpc N(NpcData_Lakitus)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 553.0f, 60.0f, 52.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Lakitu_02), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, diff --git a/src/world/area_flo/flo_12/flo_12_3_npc.c b/src/world/area_flo/flo_12/flo_12_3_npc.c index 1d223b41e4..841a9296cc 100644 --- a/src/world/area_flo/flo_12/flo_12_3_npc.c +++ b/src/world/area_flo/flo_12/flo_12_3_npc.c @@ -194,7 +194,7 @@ StaticNpc N(NpcData_Rosie)[] = { .settings = &N(NpcSettings_Rosie), .pos = { -70.0f, 0.0f, 20.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Rosie), .drops = ROSIE_DROPS, .animations = ROSIE_ANIMS, @@ -205,7 +205,7 @@ StaticNpc N(NpcData_Rosie)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -70.0f, 0.0f, 20.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .drops = ROSIE_DROPS, .animations = ROSIE_ANIMS, }, diff --git a/src/world/area_flo/flo_13/flo_13_4_npc.c b/src/world/area_flo/flo_13/flo_13_4_npc.c index cf95be63a4..22f813df39 100644 --- a/src/world/area_flo/flo_13/flo_13_4_npc.c +++ b/src/world/area_flo/flo_13/flo_13_4_npc.c @@ -597,7 +597,7 @@ StaticNpc N(NpcData_Lakilester) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Lakilester), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -629,7 +629,7 @@ StaticNpc N(NpcData_Lakilulu) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilulu), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -662,7 +662,7 @@ StaticNpc N(NpcData_Lakilulu_Spiny) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilulu_Spiny), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_flo/flo_14/flo_14_4_npc.c b/src/world/area_flo/flo_14/flo_14_4_npc.c index c88396abb0..8405dccb52 100644 --- a/src/world/area_flo/flo_14/flo_14_4_npc.c +++ b/src/world/area_flo/flo_14/flo_14_4_npc.c @@ -83,7 +83,7 @@ StaticNpc N(NpcData_BubbleFlower) = { .settings = &N(NpcSettings_BubbleFlower), .pos = { 617.0f, 0.0f, 108.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, .init = &N(EVS_NpcInit_BubbleFlower), .drops = BUBULB_DROPS, .animations = BUBULB_PINK_ANIMS, diff --git a/src/world/area_flo/flo_15/flo_15_3_npc.c b/src/world/area_flo/flo_15/flo_15_3_npc.c index 22a590605c..86a9692696 100644 --- a/src/world/area_flo/flo_15/flo_15_3_npc.c +++ b/src/world/area_flo/flo_15/flo_15_3_npc.c @@ -203,7 +203,7 @@ StaticNpc N(NpcData_Sun)[] = { .settings = &N(NpcSettings_Sun), .pos = { 0.0f, 250.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Sun_01), .drops = SUN_DROPS, .animations = SUN_ANIMS, @@ -214,7 +214,7 @@ StaticNpc N(NpcData_Sun)[] = { .settings = &N(NpcSettings_Sun), .pos = { 0.0f, 250.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_8000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_8000, .init = &N(EVS_NpcInit_Sun_02), .drops = SUN_DROPS, .animations = SUN_ANIMS, diff --git a/src/world/area_flo/flo_18/flo_18_4_npc.c b/src/world/area_flo/flo_18/flo_18_4_npc.c index 5c536035e3..acb8e0d692 100644 --- a/src/world/area_flo/flo_18/flo_18_4_npc.c +++ b/src/world/area_flo/flo_18/flo_18_4_npc.c @@ -603,7 +603,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 0.0f, 15.0f, 60.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Lakitu_01), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -614,7 +614,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 65.0f, 15.0f, 60.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Lakitu_02), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -625,7 +625,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 135.0f, 15.0f, 35.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Lakitu_03), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -636,7 +636,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Magikoopa), .pos = { -60.0f, 0.0f, 50.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Magikoopa), .drops = MAGIKOOPA_DROPS, .animations = MAGIKOOPA_YELLOW_ANIMS, @@ -647,7 +647,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Magikoopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_FlyingMagikoopa), .drops = MAGIKOOPA_DROPS, .animations = FLYING_MAGIKOOPA_YELLOW_ANIMS, diff --git a/src/world/area_flo/flo_21/flo_21_4_npc.c b/src/world/area_flo/flo_21/flo_21_4_npc.c index 66792faee6..9536a9cf57 100644 --- a/src/world/area_flo/flo_21/flo_21_4_npc.c +++ b/src/world/area_flo/flo_21/flo_21_4_npc.c @@ -592,7 +592,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = { .settings = &N(NpcSettings_HuffNPuff), .pos = { 650.0f, NPC_DISPOSE_POS_Y, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_HuffNPuff_Face), .drops = HUFF_N_PUFF_NO_DROPS, .animations = HUFF_N_PUFF_ANIMS, @@ -603,7 +603,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = { .settings = &N(NpcSettings_HuffNPuff), .pos = { 650.0f, 100.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_HuffNPuff_Body), .drops = HUFF_N_PUFF_NO_DROPS, .animations = HUFF_N_PUFF_ANIMS, @@ -614,7 +614,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = { .settings = &N(NpcSettings_HuffNPuff), .pos = { 650.0f, NPC_DISPOSE_POS_Y, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_HuffNPuff_Arms), .drops = HUFF_N_PUFF_NO_DROPS, .animations = HUFF_N_PUFF_ANIMS, @@ -633,7 +633,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -644,7 +644,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -655,7 +655,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -666,7 +666,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -677,7 +677,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -688,7 +688,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -699,7 +699,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -710,7 +710,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -721,7 +721,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -732,7 +732,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -743,7 +743,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -754,7 +754,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -765,7 +765,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -776,7 +776,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, @@ -787,7 +787,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = { .settings = &N(NpcSettings_TuffPuff), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff), .drops = TUFF_PUFF_NO_DROPS, .animations = TUFF_PUFF_ANIMS, diff --git a/src/world/area_flo/flo_23/flo_23_3_npc.c b/src/world/area_flo/flo_23/flo_23_3_npc.c index 7847c6918d..ab7f8edd20 100644 --- a/src/world/area_flo/flo_23/flo_23_3_npc.c +++ b/src/world/area_flo/flo_23/flo_23_3_npc.c @@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = { .settings = &N(NpcSettings_GateFlower), .pos = { 385.0f, 0.0f, -35.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_GateFlower), .drops = GATE_FLOWER_DROPS, .animations = GATE_FLOWER_BLUE_ANIMS, diff --git a/src/world/area_flo/flo_25/flo_25_3_npc.c b/src/world/area_flo/flo_25/flo_25_3_npc.c index c748e82647..03ebb19d8b 100644 --- a/src/world/area_flo/flo_25/flo_25_3_npc.c +++ b/src/world/area_flo/flo_25/flo_25_3_npc.c @@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = { .settings = &N(NpcSettings_GateFlower), .pos = { 505.0f, 0.0f, -25.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_GateFlower), .drops = GATE_FLOWER_DROPS, .animations = GATE_FLOWER_RED_ANIMS, diff --git a/src/world/area_hos/hos_00/hos_00_4_npc.c b/src/world/area_hos/hos_00/hos_00_4_npc.c index 27c0dd6dad..1ff3c601a5 100644 --- a/src/world/area_hos/hos_00/hos_00_4_npc.c +++ b/src/world/area_hos/hos_00/hos_00_4_npc.c @@ -128,7 +128,7 @@ StaticNpc N(NpcData_Twink) = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Twink), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -139,7 +139,7 @@ StaticNpc N(NpcData_FlyingMagikoopa) = { .settings = &N(NpcSettings_FlyingMagikoopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_FlyingMagikoopa), .drops = NPC_NO_DROPS, .animations = FLYING_MAGIKOOPA_ANIMS, @@ -151,7 +151,7 @@ StaticNpc N(NpcData_Wishing)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 280.0f, -10.0f, -50.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .drops = NPC_NO_DROPS, .animations = TOADETTE_PINK_ANIMS, }, @@ -160,7 +160,7 @@ StaticNpc N(NpcData_Wishing)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 330.0f, -10.0f, -40.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .drops = NPC_NO_DROPS, .animations = TOAD_KID_RED_ANIMS, }, diff --git a/src/world/area_hos/hos_01/hos_01_4_npc.c b/src/world/area_hos/hos_01/hos_01_4_npc.c index de8fa9c0c7..e84f6cd0ab 100644 --- a/src/world/area_hos/hos_01/hos_01_4_npc.c +++ b/src/world/area_hos/hos_01/hos_01_4_npc.c @@ -445,7 +445,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -30.0f, 260.0f, -170.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar), .drops = NPC_NO_DROPS, .animations = ELDSTAR_ANIMS, @@ -456,7 +456,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { 100.0f, 260.0f, -215.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NPC_NO_DROPS, .animations = MAMAR_ANIMS, }, @@ -465,7 +465,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -145.0f, 260.0f, -225.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NPC_NO_DROPS, .animations = SKOLAR_ANIMS, }, @@ -474,7 +474,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { 20.0f, 260.0f, -45.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NPC_NO_DROPS, .animations = MUSKULAR_ANIMS, }, @@ -483,7 +483,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -155.0f, 260.0f, -125.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NPC_NO_DROPS, .animations = MISSTAR_ANIMS, }, @@ -492,7 +492,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { 90.0f, 260.0f, -110.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NPC_NO_DROPS, .animations = KLEVAR_ANIMS, }, @@ -501,7 +501,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -75.0f, 260.0f, -290.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NPC_NO_DROPS, .animations = KALMAR_ANIMS, }, diff --git a/src/world/area_hos/hos_01/hos_01_6_star_way.c b/src/world/area_hos/hos_01/hos_01_6_star_way.c index a5b9a973cf..112a4219b0 100644 --- a/src/world/area_hos/hos_01/hos_01_6_star_way.c +++ b/src/world/area_hos/hos_01/hos_01_6_star_way.c @@ -92,7 +92,7 @@ EvtScript N(EVS_AscendStarBeam) = { EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(SetMusicTrack, 0, SONG_STAR_WAY_OPENS, 1, 8) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(1.0)) EVT_CALL(NpcJump0, NPC_PARTNER, -30, 250, -170, 15) EVT_THREAD diff --git a/src/world/area_hos/hos_02/hos_02_6_descent.c b/src/world/area_hos/hos_02/hos_02_6_descent.c index dd70c7de8a..7a8a1e8316 100644 --- a/src/world/area_hos/hos_02/hos_02_6_descent.c +++ b/src/world/area_hos/hos_02/hos_02_6_descent.c @@ -6,7 +6,7 @@ EvtScript N(EVS_DescendStarBeam) = { EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0)) EVT_CALL(PlayerMoveTo, -1105, 230, 0) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(0.5)) EVT_CALL(NpcJump0, NPC_PARTNER, -1105, -171, 220, 5) EVT_THREAD diff --git a/src/world/area_hos/hos_03/hos_03_2_main.c b/src/world/area_hos/hos_03/hos_03_2_main.c index 64a0a43eb5..1bf2be6969 100644 --- a/src/world/area_hos/hos_03/hos_03_2_main.c +++ b/src/world/area_hos/hos_03/hos_03_2_main.c @@ -71,7 +71,7 @@ EvtScript N(EVS_Main) = { EVT_WAIT(1) EVT_END_IF EVT_EXEC(N(EVS_SetupAurora)) - EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_UNUSED) + EVT_CALL(UseRoomDoorSounds, DOOR_SOUNDS_UNUSED) EVT_EXEC(N(EVS_SetupMusic)) EVT_CALL(PlaySound, SOUND_80000063) EVT_EXEC(N(EVS_SetupRooms)) diff --git a/src/world/area_hos/hos_03/hos_03_4_rooms.c b/src/world/area_hos/hos_03/hos_03_4_rooms.c index 163b5c4eda..37d67379b1 100644 --- a/src/world/area_hos/hos_03/hos_03_4_rooms.c +++ b/src/world/area_hos/hos_03/hos_03_4_rooms.c @@ -6,7 +6,7 @@ EvtScript N(EVS_SetDoorRot_House) = { EVT_END }; -EvtScript N(EVS_MoveWalls_House) = { +EvtScript N(EVS_SetWallRot_House) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(-1.0)) EVT_CALL(RotateGroup, MODEL_g71, LVar1, 0, 0, 1) @@ -32,7 +32,7 @@ EvtScript N(EVS_SetDoorRot_Shop) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Shop) = { +EvtScript N(EVS_SetWallRot_Shop) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(-1.0)) EVT_CALL(RotateGroup, MODEL_g64, LVar1, 0, 0, 1) @@ -57,7 +57,7 @@ EvtScript N(EVS_SetDoorRot_ToadHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_ToadHouse) = { +EvtScript N(EVS_SetWallRot_ToadHouse) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(-1.0)) EVT_CALL(RotateGroup, MODEL_g58, LVar1, 0, 0, 1) @@ -84,10 +84,10 @@ s32 N(InteriorNPCs_ToadHouse)[] = { EvtScript N(EVS_SetupRooms) = { // house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_House)), - EVT_PTR(N(EVS_MoveWalls_House)), + EVT_PTR(N(EVS_SetWallRot_House)), EVT_PTR(N(EVS_DropDoor_House)), NULL, COLLIDER_o99, @@ -95,10 +95,10 @@ EvtScript N(EVS_SetupRooms) = { MODEL_o76, NULL) // shop - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Shop)), - EVT_PTR(N(EVS_MoveWalls_Shop)), + EVT_PTR(N(EVS_SetWallRot_Shop)), NULL, NULL, COLLIDER_o72, @@ -106,10 +106,10 @@ EvtScript N(EVS_SetupRooms) = { MODEL_o76, EVT_PTR(N(InteriorNPCs_Shop))) // toad house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_ToadHouse)), - EVT_PTR(N(EVS_MoveWalls_ToadHouse)), + EVT_PTR(N(EVS_SetWallRot_ToadHouse)), NULL, NULL, COLLIDER_o100, diff --git a/src/world/area_hos/hos_03/hos_03_6_npc.c b/src/world/area_hos/hos_03/hos_03_6_npc.c index 3bd9ec2e58..4d88b31c7d 100644 --- a/src/world/area_hos/hos_03/hos_03_6_npc.c +++ b/src/world/area_hos/hos_03/hos_03_6_npc.c @@ -149,7 +149,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_StarMan), .pos = { -463.0f, 10.0f, 400.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid_01), .drops = STAR_MAN_DROPS, .animations = STAR_MAN_ANIMS, @@ -160,7 +160,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_StarMan), .pos = { -325.0f, 10.0f, 600.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid_02), .drops = STAR_MAN_DROPS, .animations = STAR_MAN_ANIMS, @@ -171,7 +171,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_StarMan_Wander), .pos = { 0.0f, 10.0f, 300.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid_03), .drops = STAR_MAN_DROPS, .territory = { @@ -194,7 +194,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_StarMan_Wander), .pos = { 250.0f, 10.0f, 500.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid_04), .drops = STAR_MAN_DROPS, .territory = { @@ -217,7 +217,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_StarMan), .pos = { -485.0f, 335.0f, -100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid_05), .drops = STAR_MAN_DROPS, .animations = STAR_MAN_ANIMS, @@ -228,7 +228,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_StarMan), .pos = { 458.0f, 35.0f, 233.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ToadHouseKeeper), .drops = STAR_MAN_DROPS, .animations = STAR_MAN_ANIMS, @@ -239,7 +239,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_StarMan), .pos = { 140.0f, 285.0f, -315.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShopOwner), .drops = STAR_MAN_DROPS, .animations = STAR_MAN_ANIMS, @@ -250,7 +250,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { -200.0f, 0.0f, 400.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_HOS, QUIZ_COUNT_HOS, QUIZ_MAP_HOS_03 }}, .drops = QUIZMO_DROPS, diff --git a/src/world/area_hos/hos_04/hos_04_6_intro.c b/src/world/area_hos/hos_04/hos_04_6_intro.c index 6283c956d7..cc5f1dfcc6 100644 --- a/src/world/area_hos/hos_04/hos_04_6_intro.c +++ b/src/world/area_hos/hos_04/hos_04_6_intro.c @@ -210,7 +210,7 @@ StaticNpc N(NpcData_Twink) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Twink), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, diff --git a/src/world/area_hos/hos_05/hos_05_4_npc.c b/src/world/area_hos/hos_05/hos_05_4_npc.c index d8c170d3a7..b8a74ef7f3 100644 --- a/src/world/area_hos/hos_05/hos_05_4_npc.c +++ b/src/world/area_hos/hos_05/hos_05_4_npc.c @@ -408,7 +408,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { 220.0f, 220.0f, -170.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = NPC_NO_DROPS, .animations = MAMAR_ANIMS, @@ -419,7 +419,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -275.0f, 220.0f, 60.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = NPC_NO_DROPS, .animations = SKOLAR_ANIMS, @@ -430,7 +430,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { 125.0f, 220.0f, 250.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = NPC_NO_DROPS, .animations = MUSKULAR_ANIMS, @@ -441,7 +441,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -125.0f, 220.0f, 250.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = NPC_NO_DROPS, .animations = MISSTAR_ANIMS, @@ -452,7 +452,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { 275.0f, 220.0f, 60.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = NPC_NO_DROPS, .animations = KLEVAR_ANIMS, @@ -463,7 +463,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -220.0f, 220.0f, -170.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = NPC_NO_DROPS, .animations = KALMAR_ANIMS, @@ -474,7 +474,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { 0.0f, 220.0f, -275.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = NPC_NO_DROPS, .animations = ELDSTAR_ANIMS, @@ -513,7 +513,7 @@ StaticNpc N(NpcData_Thieves)[] = { .settings = &N(NpcSettings_Bowser), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -544,7 +544,7 @@ StaticNpc N(NpcData_Thieves)[] = { .settings = &N(NpcSettings_Bowser), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -575,7 +575,7 @@ StaticNpc N(NpcData_Thieves)[] = { .settings = &N(NpcSettings_Kammy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -606,7 +606,7 @@ StaticNpc N(NpcData_Thieves)[] = { .settings = &N(NpcSettings_StarRod), .pos = { 0.0f, 174.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_hos/hos_05/hos_05_8_star_ship.c b/src/world/area_hos/hos_05/hos_05_8_star_ship.c index 2a12f1320a..de48a0344e 100644 --- a/src/world/area_hos/hos_05/hos_05_8_star_ship.c +++ b/src/world/area_hos/hos_05/hos_05_8_star_ship.c @@ -46,7 +46,7 @@ EvtScript N(EVS_Starship_Depart) = { EVT_END_IF EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_EXEC_GET_TID(N(EVS_UpdatePassengers), LVar9) EVT_CALL(HidePlayerShadow, TRUE) EVT_CALL(GetModelCenter, MODEL_o637) @@ -82,7 +82,7 @@ EvtScript N(EVS_Starship_Depart) = { EVT_CALL(NpcJump0, NPC_PARTNER, 45, 162, 25, 10) EVT_END_IF EVT_CALL(EnableNpcShadow, NPC_PARTNER, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(EnablePartnerAI) EVT_END_THREAD EVT_CALL(SetPlayerJumpscale, 1) @@ -131,7 +131,7 @@ EvtScript N(EVS_EnterStarship) = { EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND) EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(HidePlayerShadow, TRUE) EVT_CALL(EnableNpcShadow, NPC_PARTNER, FALSE) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, 0, 180, -5) @@ -189,7 +189,7 @@ EvtScript N(EVS_EnterStarship) = { EVT_CALL(NpcJump0, NPC_PARTNER, 45, 162, 25, 10) EVT_END_SWITCH EVT_CALL(EnableNpcShadow, NPC_PARTNER, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(EnablePartnerAI) EVT_END_THREAD EVT_CALL(DisablePlayerPhysics, FALSE) diff --git a/src/world/area_hos/hos_06/hos_06_3_merlow.c b/src/world/area_hos/hos_06/hos_06_3_merlow.c index aac5a777f8..6cbd876786 100644 --- a/src/world/area_hos/hos_06/hos_06_3_merlow.c +++ b/src/world/area_hos/hos_06/hos_06_3_merlow.c @@ -258,7 +258,7 @@ StaticNpc N(NpcData_Merluvlee)[] = { .settings = &N(NpcSettings_Merluvlee), .pos = { 62.0f, 20.0f, 7.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Merluvlee_Passthrough), .drops = NPC_NO_DROPS, .animations = { @@ -271,7 +271,7 @@ StaticNpc N(NpcData_Merluvlee)[] = { .settings = &N(NpcSettings_Merlow), .pos = { -150.0f, 160.0f, -25.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Merlow), .drops = NPC_NO_DROPS, .animations = { diff --git a/src/world/area_hos/hos_06/hos_06_4_rooms.c b/src/world/area_hos/hos_06/hos_06_4_rooms.c index 3b09d668e4..9fe355eaf9 100644 --- a/src/world/area_hos/hos_06/hos_06_4_rooms.c +++ b/src/world/area_hos/hos_06/hos_06_4_rooms.c @@ -12,7 +12,7 @@ EvtScript N(EVS_SetDoorRot_House) = { EVT_END }; -EvtScript N(EVS_MoveWalls_House) = { +EvtScript N(EVS_SetWallRot_House) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(2.0)) EVT_CALL(RotateGroup, MODEL_g12, LVar1, 0, 0, 1) @@ -44,19 +44,19 @@ EvtScript N(EVS_DropDoor_House) = { EVT_END }; -EvtScript N(EVS_ToggleVis_House) = { +EvtScript N(EVS_RoomListener_House) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_g29, 1) EVT_CALL(SetGroupEnabled, MODEL_g81, 1) EVT_CALL(SetGroupEnabled, MODEL_g51, 1) - EVT_CASE_EQ(1) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) EVT_CALL(SetGroupEnabled, MODEL_g1, 0) EVT_CALL(SetGroupEnabled, MODEL_g35, 0) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_g1, 1) EVT_CALL(SetGroupEnabled, MODEL_g35, 1) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_g29, 0) EVT_CALL(SetGroupEnabled, MODEL_g81, 0) EVT_CALL(SetGroupEnabled, MODEL_g31, 0) @@ -97,18 +97,20 @@ EvtScript N(EVS_SetupRooms) = { EVT_CALL(SetGroupEnabled, MODEL_g31, 0) EVT_CALL(SetGroupEnabled, MODEL_g51, 0) EVT_BIND_PADLOCK(EVT_PTR(N(EVS_ManageUpstairsVisibility)), TRIGGER_FLOOR_TOUCH, COLLIDER_o92, 0, 0, 1) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + // front door + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_House)), - EVT_PTR(N(EVS_MoveWalls_House)), + EVT_PTR(N(EVS_SetWallRot_House)), EVT_PTR(N(EVS_DropDoor_House)), - EVT_PTR(N(EVS_ToggleVis_House)), + EVT_PTR(N(EVS_RoomListener_House)), COLLIDER_o158, COLLIDER_o159, MODEL_g2, NULL) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + // staircase + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Downstairs)), NULL, NULL, @@ -117,8 +119,9 @@ EvtScript N(EVS_SetupRooms) = { COLLIDER_o160, MODEL_o1, NULL) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_1), + // loft + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_IN), EVT_PTR(N(EVS_SetDoorRot_Upstairs)), NULL, NULL, diff --git a/src/world/area_hos/hos_06/hos_06_5_merluvlee.c b/src/world/area_hos/hos_06/hos_06_5_merluvlee.c index b29b00146e..6997336c3b 100644 --- a/src/world/area_hos/hos_06/hos_06_5_merluvlee.c +++ b/src/world/area_hos/hos_06/hos_06_5_merluvlee.c @@ -653,7 +653,7 @@ EvtScript N(EVS_NpcInit_Merluvlee) = { }; EvtScript N(EVS_KootRequestBall_Merluvlee) = { - EVT_IF_EQ(GB_KootFavor_Current, 8) + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH4_1) EVT_IF_EQ(GF_HOS06_MerluvleeRequestedCrystalBall, FALSE) EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) EVT_WAIT(1) diff --git a/src/world/area_hos/hos_10/hos_10_2_npc1.c b/src/world/area_hos/hos_10/hos_10_2_npc1.c index 07573497fc..7a829a4345 100644 --- a/src/world/area_hos/hos_10/hos_10_2_npc1.c +++ b/src/world/area_hos/hos_10/hos_10_2_npc1.c @@ -129,7 +129,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, .init = &N(EVS_NpcInit_Peach), .drops = NPC_NO_DROPS, .animations = { @@ -157,7 +157,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Twink), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -168,7 +168,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar), .drops = NPC_NO_DROPS, .animations = ELDSTAR_ANIMS, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Mamar), .drops = NPC_NO_DROPS, .animations = MAMAR_ANIMS, @@ -190,7 +190,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Skolar), .drops = NPC_NO_DROPS, .animations = SKOLAR_ANIMS, @@ -201,7 +201,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Muskular), .drops = NPC_NO_DROPS, .animations = MUSKULAR_ANIMS, @@ -212,7 +212,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Misstar), .drops = NPC_NO_DROPS, .animations = MISSTAR_ANIMS, @@ -223,7 +223,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Klevar), .drops = NPC_NO_DROPS, .animations = KLEVAR_ANIMS, @@ -234,7 +234,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Kalmar), .drops = NPC_NO_DROPS, .animations = KALMAR_ANIMS, diff --git a/src/world/area_hos/hos_10/hos_10_3_npc2.c b/src/world/area_hos/hos_10/hos_10_3_npc2.c index a30e785086..006eb3daa6 100644 --- a/src/world/area_hos/hos_10/hos_10_3_npc2.c +++ b/src/world/area_hos/hos_10/hos_10_3_npc2.c @@ -115,7 +115,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Twink), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -126,7 +126,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar), .drops = NPC_NO_DROPS, .animations = ELDSTAR_ANIMS, @@ -137,7 +137,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Mamar), .drops = NPC_NO_DROPS, .animations = MAMAR_ANIMS, @@ -148,7 +148,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Skolar), .drops = NPC_NO_DROPS, .animations = SKOLAR_ANIMS, @@ -159,7 +159,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Muskular), .drops = NPC_NO_DROPS, .animations = MUSKULAR_ANIMS, @@ -170,7 +170,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Misstar), .drops = NPC_NO_DROPS, .animations = MISSTAR_ANIMS, @@ -181,7 +181,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Klevar), .drops = NPC_NO_DROPS, .animations = KLEVAR_ANIMS, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Kalmar), .drops = NPC_NO_DROPS, .animations = KALMAR_ANIMS, diff --git a/src/world/area_isk/isk_02/isk_02_5_npc.c b/src/world/area_isk/isk_02/isk_02_5_npc.c index 65d3beecb3..a683b6d0f8 100644 --- a/src/world/area_isk/isk_02/isk_02_5_npc.c +++ b/src/world/area_isk/isk_02/isk_02_5_npc.c @@ -11,10 +11,10 @@ EvtScript N(EVS_NpcIdle_Pokey_01) = { EVT_GOTO(1) EVT_END_IF EVT_WAIT(15) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_10000000, 0) EVT_CALL(NpcMoveTo, NPC_SELF, -315, 455, 10) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_PokeyMummy))) EVT_RETURN @@ -30,10 +30,10 @@ EvtScript N(EVS_NpcIdle_Pokey_02) = { EVT_GOTO(1) EVT_END_IF EVT_WAIT(15) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_10000000, 0) EVT_CALL(NpcMoveTo, NPC_SELF, -145, 535, 10) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_PokeyMummy))) EVT_RETURN @@ -49,10 +49,10 @@ EvtScript N(EVS_NpcIdle_Pokey_03) = { EVT_GOTO(1) EVT_END_IF EVT_WAIT(15) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_10000000, 0) EVT_CALL(NpcMoveTo, NPC_SELF, 50, 550, 10) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_PokeyMummy))) EVT_RETURN diff --git a/src/world/area_isk/isk_04/isk_04_6_demo.c b/src/world/area_isk/isk_04/isk_04_6_demo.c index 56cafa11da..0aabc33485 100644 --- a/src/world/area_isk/isk_04/isk_04_6_demo.c +++ b/src/world/area_isk/isk_04/isk_04_6_demo.c @@ -110,7 +110,6 @@ EvtScript N(EVS_MonitorDemoState) = { s32 N(DemoInitState) = 0; -// duplicate of SetupDemoScene from trd_09 API_CALLABLE(N(SetupDemoScene)) { PlayerStatus* playerStatus = &gPlayerStatus; diff --git a/src/world/area_isk/isk_05/isk_05_3_npc.c b/src/world/area_isk/isk_05/isk_05_3_npc.c index 561e1237eb..40c476a536 100644 --- a/src/world/area_isk/isk_05/isk_05_3_npc.c +++ b/src/world/area_isk/isk_05/isk_05_3_npc.c @@ -155,14 +155,14 @@ API_CALLABLE(N(func_80241E24_97F8F4)) { } EvtScript N(EVS_NpcIdle_StoneChomp) = { - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 1) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 1) EVT_LABEL(100) EVT_IF_EQ(GF_ISK05_Hammer2Block, FALSE) EVT_WAIT(1) EVT_GOTO(100) EVT_END_IF EVT_CALL(PlaySound, SOUND_A) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 0) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 0) EVT_THREAD EVT_WAIT(5) EVT_CALL(PlaySoundAtCollider, COLLIDER_deilittw, SOUND_266, 0) diff --git a/src/world/area_isk/isk_07/isk_07_3_npc.c b/src/world/area_isk/isk_07/isk_07_3_npc.c index 8e7638bfa2..373efe9d8f 100644 --- a/src/world/area_isk/isk_07/isk_07_3_npc.c +++ b/src/world/area_isk/isk_07/isk_07_3_npc.c @@ -88,10 +88,10 @@ EvtScript N(EVS_NpcIdle_Pokey_01) = { EVT_END_IF EVT_CALL(SetNpcYaw, NPC_SELF, 105) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_2, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_10000000, 0) EVT_CALL(NpcMoveTo, NPC_SELF, -140, 528, 10) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_PokeyMummy))) EVT_RETURN @@ -108,10 +108,10 @@ EvtScript N(EVS_NpcIdle_Pokey_02) = { EVT_END_IF EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_2, FALSE) EVT_WAIT(15) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_10000000, 0) EVT_CALL(NpcMoveTo, NPC_SELF, 47, 543, 10) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_PokeyMummy))) EVT_RETURN @@ -128,10 +128,10 @@ EvtScript N(EVS_NpcIdle_Pokey_03) = { EVT_END_IF EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_2, FALSE) EVT_WAIT(15) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_10000000, 0) EVT_CALL(NpcMoveTo, NPC_SELF, 227, 489, 10) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_PokeyMummy))) EVT_RETURN @@ -140,7 +140,7 @@ EvtScript N(EVS_NpcIdle_Pokey_03) = { EvtScript N(EVS_NpcInit_Pokey_01) = { EVT_IF_EQ(GF_ISK07_Defeated_Mummies, FALSE) - EVT_CALL(SetSelfEnemyFlags, ENEMY_FLAG_800000) + EVT_CALL(SetSelfEnemyFlags, ENEMY_FLAG_NO_DROPS) EVT_END_IF EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_01))) EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Pokey_01))) @@ -152,7 +152,7 @@ EvtScript N(EVS_NpcInit_Pokey_01) = { EvtScript N(EVS_NpcInit_Pokey_02) = { EVT_IF_EQ(GF_ISK07_Defeated_Mummies, FALSE) - EVT_CALL(SetSelfEnemyFlags, ENEMY_FLAG_800000) + EVT_CALL(SetSelfEnemyFlags, ENEMY_FLAG_NO_DROPS) EVT_END_IF EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_02))) EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Pokey_01))) @@ -163,7 +163,7 @@ EvtScript N(EVS_NpcInit_Pokey_02) = { EvtScript N(EVS_NpcInit_Pokey_03) = { EVT_IF_EQ(GF_ISK07_Defeated_Mummies, FALSE) - EVT_CALL(SetSelfEnemyFlags, ENEMY_FLAG_800000) + EVT_CALL(SetSelfEnemyFlags, ENEMY_FLAG_NO_DROPS) EVT_END_IF EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Pokey_03))) EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_Pokey_01))) diff --git a/src/world/area_isk/isk_16/isk_16_2_npc.c b/src/world/area_isk/isk_16/isk_16_2_npc.c index 79a33e0dba..7cab0738e2 100644 --- a/src/world/area_isk/isk_16/isk_16_2_npc.c +++ b/src/world/area_isk/isk_16/isk_16_2_npc.c @@ -69,7 +69,7 @@ StaticNpc N(NpcData_Tutankoopa)[] = { .settings = &N(NpcSettings_Tutankoopa_01), .pos = { 457.0f, -1300.0f, 316.0f }, .yaw = 230, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Tutankoopa_01), .initVarCount = 1, .initVar = { .value = 0 }, @@ -102,7 +102,7 @@ StaticNpc N(NpcData_Tutankoopa)[] = { .settings = &N(NpcSettings_Tutankoopa_02), .pos = { 500.0f, -1300.0f, 316.0f }, .yaw = 230, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -134,7 +134,7 @@ StaticNpc N(NpcData_ChainChomp) = { .settings = &N(NpcSettings_ChainChomp), .pos = { 457.0f, -1300.0f, 316.0f }, .yaw = 230, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ChainChomp), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_isk/isk_16/isk_16_3_boss.c b/src/world/area_isk/isk_16/isk_16_3_boss.c index a26cab0510..d309dd5a4c 100644 --- a/src/world/area_isk/isk_16/isk_16_3_boss.c +++ b/src/world/area_isk/isk_16/isk_16_3_boss.c @@ -24,13 +24,13 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = { EVT_CALL(SetNpcYaw, NPC_PARTNER, 45) EVT_CALL(ClearPartnerMoveHistory, NPC_PARTNER) EVT_THREAD - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_WAIT(10) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(2.5)) EVT_CALL(NpcMoveTo, NPC_PARTNER, 311, 487, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_CALL(SetPlayerSpeed, EVT_FLOAT(4.0)) EVT_CALL(PlayerMoveTo, 343, 460, 0) diff --git a/src/world/area_iwa/iwa_00/iwa_00_3_npc.c b/src/world/area_iwa/iwa_00/iwa_00_3_npc.c index 05a5b38d8c..4d8f8c7c9b 100644 --- a/src/world/area_iwa/iwa_00/iwa_00_3_npc.c +++ b/src/world/area_iwa/iwa_00/iwa_00_3_npc.c @@ -71,7 +71,7 @@ StaticNpc N(NpcData_MontyMole_GroundAmbush)[] = { .settings = &N(NpcSettings_MontyMole_GroundAmbush_Hole), .pos = { 880.0f, 70.0f, 67.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_20 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_DISABLE_AI | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -121,7 +121,7 @@ StaticNpc N(NpcData_MontyMole_WallAmbush)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush_Hole), .pos = { 1220.0f, -30.0f, 70.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_20 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_DISABLE_AI | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -348,7 +348,7 @@ StaticNpc N(NpcData_Whacka)[] = { .settings = &N(NpcSettings_Whacka), .pos = { 725.0f, -30.0f, 225.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Whacka_01), .drops = WHACKA_DROPS, .animations = WHACKA_ANIMS, @@ -359,7 +359,7 @@ StaticNpc N(NpcData_Whacka)[] = { .settings = &N(NpcSettings_Whacka), .pos = { 725.0f, -30.0f, 225.0f }, .yaw = 90, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Whacka_02), .drops = WHACKA_DROPS, .animations = WHACKA_ANIMS, diff --git a/src/world/area_iwa/iwa_01/iwa_01_2_entity.c b/src/world/area_iwa/iwa_01/iwa_01_2_entity.c index 65471d007d..a9e1ff1e1d 100644 --- a/src/world/area_iwa/iwa_01/iwa_01_2_entity.c +++ b/src/world/area_iwa/iwa_01/iwa_01_2_entity.c @@ -6,7 +6,7 @@ EvtScript N(EVS_MakeEntities) = { EVT_CALL(MakeEntity, EVT_PTR(Entity_ArrowSign), -503, 63, 225, 0, 90, MAKE_ENTITY_END) EVT_CALL(MakeEntity, EVT_PTR(Entity_ArrowSign), 825, 170, 115, 0, 90, MAKE_ENTITY_END) EVT_CALL(MakeItemEntity, ITEM_QUAKE_HAMMER, 160, 125, 125, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_IWA01_Item_QuakeHammer) - EVT_CALL(MakeItemEntity, ITEM_LETTER01, 410, 140, 135, ITEM_SPAWN_MODE_KEY, GF_IWA01_Item_Letter01) + EVT_CALL(MakeItemEntity, ITEM_LETTER_TO_MERLON, 410, 140, 135, ITEM_SPAWN_MODE_KEY, GF_IWA01_Item_Letter01) EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 45, 10, 60, 0, MODEL_cam2b, MAKE_ENTITY_END) EVT_CALL(AssignPanelFlag, GF_IWA01_HiddenPanel) EVT_RETURN diff --git a/src/world/area_iwa/iwa_01/iwa_01_4_npc.c b/src/world/area_iwa/iwa_01/iwa_01_4_npc.c index f733135033..64e13fd0d7 100644 --- a/src/world/area_iwa/iwa_01/iwa_01_4_npc.c +++ b/src/world/area_iwa/iwa_01/iwa_01_4_npc.c @@ -33,7 +33,7 @@ StaticNpc N(NpcData_MontyMole_WallAmbush)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush_Hole), .pos = { 340.0f, 70.0f, 101.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_20 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_DISABLE_AI | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_iwa/iwa_02/iwa_02_3_npc.c b/src/world/area_iwa/iwa_02/iwa_02_3_npc.c index dd10b838cd..4c501b495e 100644 --- a/src/world/area_iwa/iwa_02/iwa_02_3_npc.c +++ b/src/world/area_iwa/iwa_02/iwa_02_3_npc.c @@ -104,7 +104,7 @@ StaticNpc N(NpcData_MontyMole_01)[] = { .settings = &N(NpcSettings_MontyMole_WallAmbush_Hole), .pos = { 867.0f, 0.0f, 101.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_20 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_DISABLE_AI | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -189,7 +189,7 @@ StaticNpc N(NpcData_Bubulb) = { .settings = &N(NpcSettings_Bubulb), .pos = { 1075.0f, 50.0f, 230.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bubulb), .drops = BUBULB_DROPS, .animations = BUBULB_PURPLE_ANIMS, diff --git a/src/world/area_iwa/iwa_03/iwa_03_3_npc.c b/src/world/area_iwa/iwa_03/iwa_03_3_npc.c index 0a34d3b05d..e136ae3d44 100644 --- a/src/world/area_iwa/iwa_03/iwa_03_3_npc.c +++ b/src/world/area_iwa/iwa_03/iwa_03_3_npc.c @@ -100,7 +100,7 @@ StaticNpc N(NpcData_MontyMole)[] = { .settings = &N(NpcSettings_MontyMole_GroundAmbush_Hole), .pos = { -1000.0f, 23.0f, 60.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_20 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_DISABLE_AI | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_iwa/iwa_04/iwa_04_3_entity.c b/src/world/area_iwa/iwa_04/iwa_04_3_entity.c index 6d60599624..6f5bb5a33b 100644 --- a/src/world/area_iwa/iwa_04/iwa_04_3_entity.c +++ b/src/world/area_iwa/iwa_04/iwa_04_3_entity.c @@ -58,7 +58,7 @@ EvtScript N(EVS_MakeEntities) = { EVT_CALL(MakeEntity, EVT_PTR(Entity_ArrowSign), 600, 0, 200, 0, 270, MAKE_ENTITY_END) EVT_CALL(MakeEntity, EVT_PTR(Entity_ArrowSign), 336, -140, 203, 0, 70, MAKE_ENTITY_END) EVT_CALL(MakeEntity, EVT_PTR(Entity_ArrowSign), 730, -250, -95, 0, 90, MAKE_ENTITY_END) - EVT_CALL(MakeItemEntity, ITEM_LETTER10, -275, -250, 150, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_IWA04_Item_Letter10) + EVT_CALL(MakeItemEntity, ITEM_LETTER_CHAIN_GOOMPAPA_1, -275, -250, 150, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_IWA04_Item_Letter10) EVT_RETURN EVT_END }; diff --git a/src/world/area_iwa/iwa_04/iwa_04_4_npc.c b/src/world/area_iwa/iwa_04/iwa_04_4_npc.c index f3db0866d7..80209be5b1 100644 --- a/src/world/area_iwa/iwa_04/iwa_04_4_npc.c +++ b/src/world/area_iwa/iwa_04/iwa_04_4_npc.c @@ -305,7 +305,7 @@ StaticNpc N(NpcData_Buzzar) = { .settings = &N(NpcSettings_Buzzar), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = STANDARD_HEART_DROPS(3), diff --git a/src/world/area_iwa/iwa_10/iwa_10_3_npc.c b/src/world/area_iwa/iwa_10/iwa_10_3_npc.c index eb9c140728..cd7107a3be 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_3_npc.c +++ b/src/world/area_iwa/iwa_10/iwa_10_3_npc.c @@ -128,7 +128,7 @@ StaticNpc N(NpcData_TrainToad)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { -440.0f, 20.0f, 110.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_TrainToad_01), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_TOAD_WHITE_ANIMS, @@ -139,7 +139,7 @@ StaticNpc N(NpcData_TrainToad)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { -425.0f, 70.0f, -20.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_TrainToad_02), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, @@ -151,7 +151,7 @@ StaticNpc N(NpcData_Toad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -254.0f, 20.0f, 165.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -168,7 +168,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -562.0f, 0.0f, 384.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -582.0f, 0.0f, 406.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -190,7 +190,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -524.0f, 0.0f, 411.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -204,7 +204,7 @@ StaticNpc N(NpcData_Dryite)[] = { .settings = &N(NpcSettings_Dryite), .pos = { -344.0f, 0.0f, 379.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Dryite), .drops = DRYITE_DROPS, .animations = DRYITE_GREEN_ANIMS, @@ -215,7 +215,7 @@ StaticNpc N(NpcData_Dryite)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -760.0f, 0.0f, 160.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ThreeSisters_01), .drops = TOADETTE_DROPS, .animations = TOADETTE_GREEN_ANIMS, diff --git a/src/world/area_iwa/iwa_10/iwa_10_4_train.c b/src/world/area_iwa/iwa_10/iwa_10_4_train.c index 4b19c1e4c1..e75046623b 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_4_train.c +++ b/src/world/area_iwa/iwa_10/iwa_10_4_train.c @@ -392,7 +392,7 @@ EvtScript N(EVS_ArriveFromToadTown) = { EVT_CALL(SetPlayerActionState, ACTION_STATE_JUMP) EVT_CALL(PlayerJump, LVar0, LVar1, LVar2, 15) EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(3.0)) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) @@ -429,7 +429,7 @@ EvtScript N(EVS_ArriveFromToadTown) = { EVT_SET(MF_TrainArrivePlayerDisembark, TRUE) EVT_WAIT(20) EVT_CALL(SpeakToPlayer, NPC_TrainToad_01, ANIM_TrainToad_White_Talk, ANIM_TrainToad_White_Idle, 0, MSG_CH2_0000) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN @@ -461,7 +461,7 @@ EvtScript N(EVS_DepartForToadTown) = { EVT_CALL(PlayerJump, LVar0, LVar1, LVar2, 15) EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(3.0)) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) EVT_CALL(NpcMoveTo, NPC_PARTNER, -425, 70, 0) diff --git a/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c b/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c index a7db274bd8..b764592bd0 100644 --- a/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c +++ b/src/world/area_iwa/iwa_10/iwa_10_6_parakarry.c @@ -34,7 +34,7 @@ EvtScript N(EVS_Scene_MeetParakarry) = { EVT_END_THREAD EVT_WAIT(20) EVT_CALL(SetNpcPos, NPC_Parakarry, -400, 215, -510) - EVT_CALL(SetNpcFlagBits, NPC_Parakarry, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Parakarry, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_THREAD EVT_CALL(SetNpcRotation, NPC_Parakarry, 0, 0, 15) EVT_CALL(InterpNpcYaw, NPC_Parakarry, 270, 0) @@ -157,9 +157,9 @@ EvtScript N(EVS_Scene_MeetParakarry) = { }; s32 N(LetterList)[] = { - ITEM_LETTER01, + ITEM_LETTER_TO_MERLON, ITEM_LETTER_TO_KOLORADO, - ITEM_LETTER10, + ITEM_LETTER_CHAIN_GOOMPAPA_1, ITEM_NONE }; @@ -254,9 +254,9 @@ EvtScript N(EVS_NpcInteract_Parakarry) = { EVT_EXEC(N(EVS_PopSong)) EVT_WAIT(10) EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldParakarry_Talk, ANIM_WorldParakarry_Idle, 0, MSG_CH2_001E) - EVT_CALL(AddKeyItem, ITEM_LETTER01) + EVT_CALL(AddKeyItem, ITEM_LETTER_TO_MERLON) EVT_CALL(AddKeyItem, ITEM_LETTER_TO_KOLORADO) - EVT_CALL(AddKeyItem, ITEM_LETTER10) + EVT_CALL(AddKeyItem, ITEM_LETTER_CHAIN_GOOMPAPA_1) EVT_END_IF EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(4.0)) EVT_CALL(EnablePartnerAI) @@ -310,7 +310,7 @@ StaticNpc N(NpcData_Parakarry) = { .settings = &N(NpcSettings_Parakarry), .pos = { -610.0f, 230.0f, -485.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Parakarry), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_iwa/iwa_11/iwa_11_5_npc.c b/src/world/area_iwa/iwa_11/iwa_11_5_npc.c index 9415067e55..f08e459ac0 100644 --- a/src/world/area_iwa/iwa_11/iwa_11_5_npc.c +++ b/src/world/area_iwa/iwa_11/iwa_11_5_npc.c @@ -23,7 +23,7 @@ StaticNpc N(NpcData_TrainToad) = { .settings = &N(NpcSettings_TrainToad), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_TrainToad), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, diff --git a/src/world/area_jan/jan_00/jan_00_2_npc.c b/src/world/area_jan/jan_00/jan_00_2_npc.c index 2daedb1968..ac93dc051e 100644 --- a/src/world/area_jan/jan_00/jan_00_2_npc.c +++ b/src/world/area_jan/jan_00/jan_00_2_npc.c @@ -477,7 +477,7 @@ EvtScript N(EVS_NpcInteract_Kolorado_01) = { EVT_SET(LVar0, 0) EVT_EXEC(N(D_80242DB0_B232F0)) EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(GetPlayerPos, LVar3, LVar4, LVar5) @@ -563,7 +563,7 @@ EvtScript N(EVS_NpcInit_Kolorado_01) = { EVT_CALL(DisablePlayerPhysics, TRUE) EVT_CALL(InterpPlayerYaw, 90, 0) EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcYaw, NPC_PARTNER, 90) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) @@ -701,7 +701,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = { .settings = &N(NpcSettings_Kolorado_01), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -733,7 +733,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = { .settings = &N(NpcSettings_Kolorado_02), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -765,7 +765,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = { .settings = &N(NpcSettings_JrTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -798,7 +798,7 @@ StaticNpc N(D_80244E5C_B2539C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 455.0f, 0.0f, 115.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -830,7 +830,7 @@ StaticNpc N(D_8024504C_B2558C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 167.0f, 0.0f, 404.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -862,7 +862,7 @@ StaticNpc N(D_8024523C_B2577C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 90.0f, 0.0f, 316.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -894,7 +894,7 @@ StaticNpc N(D_8024542C_B2596C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 424.0f, 0.0f, 182.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -926,7 +926,7 @@ StaticNpc N(D_8024561C_B25B5C) = { .settings = &N(NpcSettings_HeartPlant_01), .pos = { 143.0f, 0.0f, 260.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_8000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_jan/jan_01/jan_01_3_npc.c b/src/world/area_jan/jan_01/jan_01_3_npc.c index 511e3df71f..3264bd1a08 100644 --- a/src/world/area_jan/jan_01/jan_01_3_npc.c +++ b/src/world/area_jan/jan_01/jan_01_3_npc.c @@ -18,7 +18,7 @@ EvtScript N(EVS_PlayerWatchKolorado) = { EvtScript N(EVS_Kolorado_RunToVillage) = { EVT_EXEC_GET_TID(N(EVS_PlayerWatchKolorado), LVar9) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Kolorado_Run) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(4.5)) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) @@ -237,7 +237,7 @@ EvtScript N(EVS_NpcDefeat_Fuzzy_01) = { EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0)) EVT_CALL(N(SetCamera0Flag1000)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) - EVT_CALL(SetNpcFlagBits, NPC_Kolorado, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Kolorado, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_CALL(SetNpcAnimation, NPC_Kolorado, ANIM_Kolorado_Run) EVT_CALL(SetNpcSpeed, NPC_Kolorado, EVT_FLOAT(3.0)) EVT_IF_LT(LVar2, -45) @@ -286,7 +286,7 @@ StaticNpc N(NpcData_Fuzzy_01) = { .settings = &N(NpcSettings_Fuzzy), .pos = { -30.0f, 0.0f, 90.0f }, .yaw = 270, - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Fuzzy_01), .drops = NPC_NO_DROPS, .animations = JUNGLE_FUZZY_ANIMS, diff --git a/src/world/area_jan/jan_02/jan_02_3_npc.c b/src/world/area_jan/jan_02/jan_02_3_npc.c index fca0d30b3b..aadabbba36 100644 --- a/src/world/area_jan/jan_02/jan_02_3_npc.c +++ b/src/world/area_jan/jan_02/jan_02_3_npc.c @@ -23,7 +23,7 @@ EvtScript N(EVS_GetRescuedYoshiCount) = { }; EvtScript N(EVS_Scene_GetJadeRaven) = { - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_IF_EQ(GF_JAN02_Met_VillageLeader, TRUE) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_VillageLeader_Talk, ANIM_VillageLeader_Idle, 0, MSG_CH5_0023) EVT_ELSE @@ -64,7 +64,7 @@ EvtScript N(EVS_Scene_GetJadeRaven) = { EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.5)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(func_802D2C14, 0) EVT_CALL(GetCurrentPartnerID, LVar0) EVT_IF_EQ(LVar0, PARTNER_SUSHIE) @@ -151,7 +151,7 @@ EvtScript N(EVS_NpcInit_VillageLeader) = { EVT_CASE_LT(STORY_CH5_YOSHI_CHILDREN_ARE_MISSING) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_VillageLeader))) EVT_CASE_LT(STORY_CH5_ALL_YOSHI_CHILDREN_RESCUED) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CASE_LT(STORY_CH5_GOT_JADE_RAVEN) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_VillageLeader_Idle) EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 1) @@ -394,7 +394,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Yoshi), .pos = { 323.0f, 30.0f, 412.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_VillageLeader), .drops = NPC_NO_DROPS, .animations = YOSHI_LEADER_ANIMS, @@ -405,7 +405,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Yoshi), .pos = { 172.0f, 30.0f, 418.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Councillor), .drops = NPC_NO_DROPS, .animations = YOSHI_COUNCILLOR_ANIMS, @@ -417,7 +417,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Yoshi_Patrol), .pos = { -520.0f, 0.0f, -270.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Yoshi_01), .drops = NPC_NO_DROPS, .territory = { @@ -442,7 +442,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Yoshi_Patrol), .pos = { 180.0f, 0.0f, -520.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Yoshi_02), .drops = NPC_NO_DROPS, .territory = { @@ -468,7 +468,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Yoshi_Patrol), .pos = { 600.0f, 0.0f, -150.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Yoshi_03), .drops = NPC_NO_DROPS, .territory = { @@ -495,7 +495,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { -150.0f, 15.0f, 300.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_JAN, QUIZ_COUNT_JAN, QUIZ_MAP_JAN_02 }}, .drops = NPC_NO_DROPS, diff --git a/src/world/area_jan/jan_03/jan_03_4_npc.c b/src/world/area_jan/jan_03/jan_03_4_npc.c index 8710f02dad..c7f3c00dd0 100644 --- a/src/world/area_jan/jan_03/jan_03_4_npc.c +++ b/src/world/area_jan/jan_03/jan_03_4_npc.c @@ -38,14 +38,14 @@ MAP_STATIC_PAD(1,key_item); #include "world/common/complete/LetterDelivery.inc.c" s32 N(RedYoshiKidLetters)[] = { - ITEM_LETTER_TO_RED_YOSHI_KID, + ITEM_LETTER_CHAIN_YOSHI_KID, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_RedYoshiKid) = { EVT_CALL(N(LetterDelivery_Init), NPC_YoshiKid_02, ANIM_YoshiKid_Red_Talk, ANIM_YoshiKid_Red_Idle, - ITEM_LETTER_TO_RED_YOSHI_KID, ITEM_LETTER_TO_DANE_T, + ITEM_LETTER_CHAIN_YOSHI_KID, ITEM_LETTER_CHAIN_DANE_T_2, MSG_CH5_0079, MSG_CH5_007A, MSG_CH5_007B, MSG_CH5_007C, EVT_PTR(N(RedYoshiKidLetters))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -345,7 +345,7 @@ EvtScript N(EVS_NpcInteract_Yoshi_03) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Yoshi_Yellow_Talk, ANIM_Yoshi_Yellow_Idle, 0, MSG_CH5_006D) EVT_SET(LVar0, ITEM_MELON) EVT_SET(LVar1, ITEM_TYPE_CONSUMABLE) - EVT_EXEC_WAIT(N(GiveKeyReward)) // misuse? + EVT_EXEC_WAIT(N(GiveItemReward)) // misuse? EVT_CALL(AddItem, ITEM_MELON, LVar0) EVT_END_IF EVT_RETURN @@ -690,7 +690,7 @@ EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(4.0)) EVT_CALL(NpcMoveTo, NPC_SELF, -465, -185, 0) EVT_CALL(NpcMoveTo, NPC_SELF, -540, -70, 0) - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_SET(GB_StoryProgress, STORY_CH5_TRADED_VASE_FOR_SEED) EVT_END_SWITCH EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(5.0)) @@ -713,7 +713,7 @@ EvtScript N(EVS_NpcInit_Kolorado) = { EVT_IF_EQ(LVar0, 1) EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Kolorado))) EVT_ELSE - EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_END_IF EVT_RETURN EVT_END @@ -770,7 +770,7 @@ StaticNpc N(NpcData_VillageLeader) = { .settings = &N(NpcSettings_Yoshi), .pos = { -300.0f, 0.0f, -70.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_VillageLeader), .drops = NPC_NO_DROPS, .animations = YOSHI_LEADER_ANIMS, @@ -790,7 +790,7 @@ StaticNpc N(NpcData_Sushie) = { .settings = &N(NpcSettings_Sushie), .pos = { -425.0f, 0.0f, -350.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Sushie), .drops = NPC_NO_DROPS, .animations = { @@ -828,7 +828,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { -475.0f, 0.0f, -75.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Kolorado), .drops = NPC_NO_DROPS, .animations = KOLORADO_ANIMS, @@ -842,7 +842,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 275.0f, 0.0f, -70.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad), .drops = NPC_NO_DROPS, .animations = TOAD_RED_ANIMS, @@ -853,7 +853,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_Yoshi), .pos = { 125.0f, 30.0f, -425.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Yoshi_01), .drops = NPC_NO_DROPS, .animations = YOSHI_BLUE_ANIMS, @@ -864,7 +864,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_Yoshi_Patrol), .pos = { -350.0f, 0.0f, -220.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Yoshi_02), .drops = NPC_NO_DROPS, .territory = { @@ -889,7 +889,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_Yoshi_Patrol), .pos = { -100.0f, 0.0f, -80.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Yoshi_03), .drops = NPC_NO_DROPS, .territory = { @@ -914,7 +914,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_YoshiKid_Patrol), .pos = { -450.0f, 0.0f, -160.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_YoshiKid_01), .drops = NPC_NO_DROPS, .territory = { @@ -942,7 +942,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_YoshiKid_Patrol), .pos = { -340.0f, 0.0f, -385.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_YoshiKid_02), .drops = NPC_NO_DROPS, .territory = { @@ -968,7 +968,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_YoshiKid_Patrol), .pos = { -260.0f, 0.0f, -220.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_YoshiKid_03), .drops = NPC_NO_DROPS, .territory = { @@ -994,7 +994,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_YoshiKid_Patrol), .pos = { -460.0f, 0.0f, 150.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_YoshiKid_04), .drops = NPC_NO_DROPS, .territory = { @@ -1020,7 +1020,7 @@ StaticNpc N(NpcData_Toad)[] = { .settings = &N(NpcSettings_YoshiKid_Patrol), .pos = { -320.0f, 0.0f, 80.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_YoshiKid_05), .drops = NPC_NO_DROPS, .territory = { @@ -1056,7 +1056,7 @@ StaticNpc N(NpcData_Ravens)[] = { .settings = &N(NpcSettings_Raven), .pos = { -650.0f, 374.0f, -150.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Raven), .drops = NPC_NO_DROPS, .animations = RAVEN_ANIMS, @@ -1068,7 +1068,7 @@ StaticNpc N(NpcData_Ravens)[] = { .settings = &N(NpcSettings_Raven), .pos = { -645.0f, 457.0f, -255.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Raven), .drops = NPC_NO_DROPS, .animations = RAVEN_ANIMS, @@ -1078,7 +1078,7 @@ StaticNpc N(NpcData_Ravens)[] = { .settings = &N(NpcSettings_Raven), .pos = { -570.0f, 374.0f, -300.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Raven), .drops = NPC_NO_DROPS, .animations = RAVEN_ANIMS, @@ -1089,7 +1089,7 @@ StaticNpc N(NpcData_Ravens)[] = { .settings = &N(NpcSettings_Raven), .pos = { -500.0f, 374.0f, -285.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Raven), .drops = NPC_NO_DROPS, .animations = RAVEN_ANIMS, @@ -1100,7 +1100,7 @@ StaticNpc N(NpcData_Ravens)[] = { .settings = &N(NpcSettings_Raven), .pos = { -450.0f, 374.0f, -175.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Raven), .drops = NPC_NO_DROPS, .animations = RAVEN_ANIMS, @@ -1113,7 +1113,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { 300.0f, 0.0f, 400.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_JAN, QUIZ_COUNT_JAN, QUIZ_MAP_JAN_03 }}, .drops = NPC_NO_DROPS, diff --git a/src/world/area_jan/jan_03/jan_03_6_rooms.c b/src/world/area_jan/jan_03/jan_03_6_rooms.c index a4655a7be8..a3f7233018 100644 --- a/src/world/area_jan/jan_03/jan_03_6_rooms.c +++ b/src/world/area_jan/jan_03/jan_03_6_rooms.c @@ -6,7 +6,7 @@ EvtScript N(EVS_SetDoorRot_Shop) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Shop) = { +EvtScript N(EVS_SetWallRot_Shop) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(-1.328125)) EVT_CALL(RotateGroup, MODEL_g109, LVar1, 0, 0, 1) @@ -17,11 +17,11 @@ EvtScript N(EVS_MoveWalls_Shop) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Shop) = { +EvtScript N(EVS_RoomListener_Shop) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(EnableGroup, MODEL_g126, TRUE) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(EnableGroup, MODEL_g126, FALSE) EVT_END_SWITCH EVT_RETURN @@ -39,19 +39,21 @@ EvtScript N(EVS_SetDoorRot_ToadHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_ToadHouse) = { +EvtScript N(EVS_SetWallRot_ToadHouse) = { EVT_RETURN EVT_END }; -EvtScript N(EVS_ToggleVis_ToadHouse) = { +EvtScript N(EVS_RoomListener_ToadHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_g73, 0) EVT_CALL(SetGroupEnabled, MODEL_g97, 0) - EVT_CASE_EQ(1) - EVT_CASE_EQ(2) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_g73, 1) EVT_CALL(SetGroupEnabled, MODEL_g97, 1) EVT_END_SWITCH @@ -66,25 +68,25 @@ s32 N(InteriorNPCs_ToadHouse)[] = { EvtScript N(EVS_SetupRooms) = { // shop - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_1, VIS_GROUP_6), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_1, ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_IN), EVT_PTR(N(EVS_SetDoorRot_Shop)), - EVT_PTR(N(EVS_MoveWalls_Shop)), + EVT_PTR(N(EVS_SetWallRot_Shop)), NULL, - EVT_PTR(N(EVS_ToggleVis_Shop)), + EVT_PTR(N(EVS_RoomListener_Shop)), COLLIDER_o156, COLLIDER_o161, MODEL_g41, EVT_PTR(N(InteriorNPCs_Shop))) - EVT_SET(LVar0, 3) - EVT_EXEC(N(EVS_ToggleVis_Shop)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_Shop)) // toad house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_5), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_ToadHouse)), - EVT_PTR(N(EVS_MoveWalls_ToadHouse)), + EVT_PTR(N(EVS_SetWallRot_ToadHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_ToadHouse)), + EVT_PTR(N(EVS_RoomListener_ToadHouse)), COLLIDER_o199, COLLIDER_o200, MODEL_o2, diff --git a/src/world/area_kmr/kmr_00/kmr_00_3_revival.c b/src/world/area_kmr/kmr_00/kmr_00_3_revival.c index c202304643..48251ab62c 100644 --- a/src/world/area_kmr/kmr_00/kmr_00_3_revival.c +++ b/src/world/area_kmr/kmr_00/kmr_00_3_revival.c @@ -526,7 +526,7 @@ EvtScript N(EVS_Scene_MarioRevived) = { EVT_CALL(N(func_80240000_8ABF90), 255, 255, 255, 0, 0, 0, 50) EVT_CALL(SetNpcSpeed, NPC_Goombaria, EVT_FLOAT(3.0)) EVT_CALL(SetNpcFlagBits, NPC_Goombaria, NPC_FLAG_100 | NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Goombaria, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_Goombaria, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(EnableNpcShadow, NPC_Goombaria, TRUE) EVT_CALL(SetNpcAnimation, NPC_Goombaria, ANIM_Goombaria_Walk) EVT_CALL(SetNpcPos, NPC_Goombaria, 300, 0, 0) diff --git a/src/world/area_kmr/kmr_00/kmr_00_4_npc.c b/src/world/area_kmr/kmr_00/kmr_00_4_npc.c index 47b3650cca..a29e88610d 100644 --- a/src/world/area_kmr/kmr_00/kmr_00_4_npc.c +++ b/src/world/area_kmr/kmr_00/kmr_00_4_npc.c @@ -111,7 +111,7 @@ StaticNpc N(NpcData_Goombaria) = { .settings = &N(NpcSettings_Goombaria_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Goombaria), .drops = GOOMBARIA_DROPS, .animations = GOOMBARIA_ANIMS, @@ -123,7 +123,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -133,7 +133,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -143,7 +143,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, @@ -153,7 +153,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = MUSKULAR_DROPS, .animations = MUSKULAR_ANIMS, @@ -163,7 +163,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, @@ -173,7 +173,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -183,7 +183,7 @@ StaticNpc N(NpcData_StarSpirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarSpirit), .drops = KALMAR_DROPS, .animations = KALMAR_ANIMS, diff --git a/src/world/area_kmr/kmr_02/kmr_02_3_npc.c b/src/world/area_kmr/kmr_02/kmr_02_3_npc.c index 46958acc42..fd3d1d661c 100644 --- a/src/world/area_kmr/kmr_02/kmr_02_3_npc.c +++ b/src/world/area_kmr/kmr_02/kmr_02_3_npc.c @@ -64,26 +64,19 @@ MAP_STATIC_PAD(1,key_choice); #include "wander_territories.inc.c" #define NAME_SUFFIX -EvtScript N(D_8024810C_8B817C) = { - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) - EVT_WAIT(20) - EVT_RETURN - EVT_END -}; +#include "world/common/atomic/MarioSalute.inc.c" #include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList_GoompapaTrade)[] = { - ITEM_LETTER10, + ITEM_LETTER_CHAIN_GOOMPAPA_1, ITEM_NONE }; EvtScript N(EVS_LetterTrade_Goompapa) = { EVT_CALL(N(LetterDelivery_Init), NPC_Goompapa, ANIM_Goompapa_Talk, ANIM_Goompapa_Idle, - ITEM_LETTER10, ITEM_LETTER13, + ITEM_LETTER_CHAIN_GOOMPAPA_1, ITEM_LETTER_CHAIN_MUSS_T, MSG_CH0_006F, MSG_CH0_0070, MSG_CH0_0071, MSG_CH0_0072, EVT_PTR(N(LetterList_GoompapaTrade))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -92,14 +85,14 @@ EvtScript N(EVS_LetterTrade_Goompapa) = { }; s32 N(LetterList_Goompapa)[] = { - ITEM_LETTER24, + ITEM_LETTER_CHAIN_GOOMPAPA_2, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_Goompapa) = { EVT_CALL(N(LetterDelivery_Init), NPC_Goompapa, ANIM_Goompapa_Talk, ANIM_Goompapa_Idle, - ITEM_LETTER24, ITEM_NONE, + ITEM_LETTER_CHAIN_GOOMPAPA_2, ITEM_NONE, MSG_CH0_0073, MSG_CH0_0074, MSG_CH0_0075, MSG_CH0_0076, EVT_PTR(N(LetterList_Goompapa))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -116,14 +109,14 @@ EvtScript N(EVS_LetterReward_Goompapa) = { }; s32 N(LetterList_Goompa)[] = { - ITEM_LETTER02, + ITEM_LETTER_TO_GOOMPA, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_Goompa) = { EVT_CALL(N(LetterDelivery_Init), NPC_Goompa, ANIM_Goompa_Talk, ANIM_Goompa_Idle, - ITEM_LETTER02, ITEM_NONE, + ITEM_LETTER_TO_GOOMPA, ITEM_NONE, MSG_CH0_0045, MSG_CH0_0046, MSG_CH0_0047, MSG_CH0_0048, EVT_PTR(N(LetterList_Goompa))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -530,7 +523,7 @@ EvtScript N(EVS_ReturnToVillage) = { EVT_CALL(RotateModel, MODEL_syoumen_enter, LVar0, 0, 1, 0) EVT_WAIT(1) EVT_END_LOOP - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_WearyWalk) EVT_CALL(NpcMoveTo, NPC_PARTNER, 127, -157, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Idle) @@ -638,7 +631,7 @@ EvtScript N(EVS_ReturnToVillage) = { EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Run) EVT_CALL(NpcMoveTo, NPC_PARTNER, 32, -151, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Idle) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(GetAngleBetweenNPCs, NPC_Goombaria, NPC_PARTNER, LVar0) EVT_CALL(InterpNpcYaw, NPC_Goombaria, LVar0, 0) EVT_CALL(GetAngleBetweenNPCs, NPC_Goombario, NPC_PARTNER, LVar0) @@ -658,20 +651,20 @@ EvtScript N(EVS_ReturnToVillage) = { EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Run) EVT_CALL(NpcMoveTo, NPC_PARTNER, 3, 9, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Idle) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(PlayerFaceNpc, NPC_PARTNER, 3) EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_Goompa_Talk, ANIM_Goompa_Idle, 0, MSG_CH0_002C) EVT_WAIT(10) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Walk) EVT_CALL(NpcMoveTo, NPC_PARTNER, -60, -14, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Idle) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_WAIT(10) EVT_GIVE_BADGE_REWARD(ITEM_POWER_JUMP) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Walk) EVT_CALL(NpcMoveTo, NPC_PARTNER, 3, 9, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Idle) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_WAIT(10) EVT_EXEC_WAIT(N(EVS_PromptForBadgeTutorial)) EVT_CALL(EnableNpcAI, NPC_Goombario, FALSE) @@ -740,7 +733,7 @@ EvtScript N(EVS_ReturnToVillage) = { EVT_CALL(SetNpcAnimation, NPC_Gooma, ANIM_Gooma_Run) EVT_CALL(NpcMoveTo, NPC_Gooma, 127, -157, 0) EVT_CALL(SetNpcAnimation, NPC_Gooma, ANIM_Gooma_Idle) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Run) EVT_CALL(NpcMoveTo, NPC_PARTNER, 80, -154, 0) EVT_CALL(NpcMoveTo, NPC_PARTNER, 111, -200, 0) @@ -763,9 +756,9 @@ EvtScript N(EVS_ReturnToVillage) = { EVT_CALL(SetNpcPos, NPC_Goombario, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcFlagBits, NPC_Goombario, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcPos, NPC_Gooma, 115, 0, -309) - EVT_CALL(SetNpcFlagBits, NPC_Gooma, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_Gooma, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_8, FALSE) EVT_CALL(SetNpcPos, NPC_Goompa, 184, 0, -149) EVT_CALL(EnableNpcShadow, NPC_Goompa, TRUE) EVT_CALL(SetNpcPos, NPC_SELF, 200, 0, 100) @@ -791,10 +784,10 @@ EvtScript N(EVS_NpcIdle_Goompa) = { }; EvtScript N(EVS_KootFavorCheck_Goompa) = { - EVT_IF_EQ(GB_KootFavor_Current, 3) + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH2_2) EVT_IF_EQ(GF_KMR02_Gift_TheTape, FALSE) EVT_SET(GF_KMR02_Gift_TheTape, TRUE) - EVT_EXEC_WAIT(N(D_8024810C_8B817C)) + EVT_EXEC_WAIT(N(EVS_MarioSalute)) EVT_CALL(SpeakToPlayer, NPC_Goompa, ANIM_Goompa_Talk, ANIM_Goompa_Idle, 0, MSG_CH0_0049) EVT_CALL(SpeakToPlayer, NPC_Goompa, ANIM_Goompa_Talk, ANIM_Goompa_Idle, 0, MSG_CH0_004A) EVT_THREAD @@ -954,14 +947,14 @@ EvtScript N(EVS_NpcInit_Goompa) = { EVT_CALL(InterpNpcYaw, NPC_SELF, 200, 0) EVT_CASE_LT(STORY_CH0_FELL_OFF_CLIFF) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8, TRUE) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CASE_LT(STORY_CH0_GOOMBARIO_JOINED_PARTY) EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ReturnToVillage)), TRIGGER_WALL_PRESS_A, COLLIDER_mm1, 1, 0) EVT_CASE_GE(STORY_CH0_GOOMBARIO_JOINED_PARTY) EVT_CALL(SetNpcPos, NPC_Goompa, 172, 0, -183) - EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(RotateModel, MODEL_m_d1, 120, 0, -1, 0) EVT_CALL(RotateModel, MODEL_m_d2, 120, 0, 1, 0) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_mm1, COLLIDER_FLAGS_UPPER_MASK) @@ -1450,12 +1443,12 @@ API_CALLABLE(N(func_80242F28_8B2F98)) { EvtScript N(EVS_Scene_EldstarsPlea) = { EVT_CALL(FadeOutMusic, 0, 500) - EVT_CALL(SetNpcFlagBits, NPC_Goombario, NPC_FLAG_NO_DROPS, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Goombaria, NPC_FLAG_NO_DROPS, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Goompapa, NPC_FLAG_NO_DROPS, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Goomama, NPC_FLAG_NO_DROPS, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_NO_DROPS, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Gooma, NPC_FLAG_NO_DROPS, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Goombario, NPC_FLAG_HIDING, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Goombaria, NPC_FLAG_HIDING, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Goompapa, NPC_FLAG_HIDING, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Goomama, NPC_FLAG_HIDING, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_HIDING, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Gooma, NPC_FLAG_HIDING, TRUE) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) @@ -1775,7 +1768,7 @@ StaticNpc N(NpcData_GoombaFamily)[] = { .settings = &N(NpcSettings_GoombaFamily_Wander), .pos = { 506.0f, 30.0f, -364.0f }, .yaw = 45, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Goompa), .drops = GOOMPA_DROPS, .territory = { @@ -1798,7 +1791,7 @@ StaticNpc N(NpcData_GoombaFamily)[] = { .settings = &N(NpcSettings_GoombaFamily_Wander), .pos = { 92.0f, 0.0f, 76.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Goombaria), .drops = GOOMBARIA_DROPS, .territory = { @@ -1821,7 +1814,7 @@ StaticNpc N(NpcData_GoombaFamily)[] = { .settings = &N(NpcSettings_GoombaFamily_Wander), .pos = { -50.0f, 0.0f, -30.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Goombario), .drops = GOOMBARIO_DROPS, .territory = { @@ -1843,7 +1836,7 @@ StaticNpc N(NpcData_GoombaFamily)[] = { .settings = &N(NpcSettings_GoombaFamily_Wander), .pos = { 100.0f, 0.0f, -256.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Gooma), .drops = GOOMA_DROPS, .territory = { @@ -1866,7 +1859,7 @@ StaticNpc N(NpcData_GoombaFamily)[] = { .settings = &N(NpcSettings_GoombaFamily_Wander), .pos = { 163.0f, 0.0f, 283.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Goompapa), .drops = GOOMPAPA_DROPS, .territory = { @@ -1891,7 +1884,7 @@ StaticNpc N(NpcData_Goomama) = { .settings = &N(NpcSettings_GoombaFamily_Wander), .pos = { -200.0f, 0.0f, 100.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Goomama), .drops = GOOMAMA_DROPS, .territory = { @@ -1921,7 +1914,7 @@ StaticNpc N(NpcData_Toad) = { .settings = &N(NpcSettings_Toad_Guard), .pos = { -138.0f, 19.0f, -297.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .territory = { @@ -1955,7 +1948,7 @@ StaticNpc N(NpcData_Kammy) = { .settings = &N(NpcSettings_Kammy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Kammy), .drops = NPC_NO_DROPS, .territory = { @@ -1979,7 +1972,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { -300.0f, 0.0f, 175.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_400000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_KMR, QUIZ_COUNT_KMR, QUIZ_MAP_KMR_02 }}, .drops = QUIZMO_DROPS, @@ -2026,7 +2019,7 @@ StaticNpc N(NpcData_Eldstar_Prologue)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Eldstar_01), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -2037,7 +2030,7 @@ StaticNpc N(NpcData_Eldstar_Prologue)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Eldstar_02), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -2242,7 +2235,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Eldstar_Epilogue), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -2253,7 +2246,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_GoombaFamily), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Parakarry_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2284,7 +2277,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_GoombaFamily), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Goombario_Epilogue), .drops = GOOMBARIO_DROPS, .animations = GOOMBARIO_ANIMS, @@ -2294,7 +2287,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_GoombaFamily), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Goombaria_Epilogue), .drops = GOOMBARIA_DROPS, .animations = GOOMBARIA_ANIMS, diff --git a/src/world/area_kmr/kmr_02/kmr_02_4_rooms_1.c b/src/world/area_kmr/kmr_02/kmr_02_4_rooms_1.c index 1681aac1a0..55b91d4b9b 100644 --- a/src/world/area_kmr/kmr_02/kmr_02_4_rooms_1.c +++ b/src/world/area_kmr/kmr_02/kmr_02_4_rooms_1.c @@ -4,7 +4,7 @@ #include "world/common/npc/GoombaFamily_Wander.inc.c" #define NAME_SUFFIX -EvtScript N(EVS_OpenDoor_House) = { +EvtScript N(EVS_SetDoorRot_House) = { EVT_CALL(RotateModel, MODEL_syoumen_enter, LVar0, 0, 1, 0) EVT_RETURN EVT_END @@ -16,7 +16,7 @@ EvtScript N(EVS_DropDoor_House) = { EVT_END }; -EvtScript N(EVS_MoveWalls_House) = { +EvtScript N(EVS_SetWallRot_House) = { EVT_CALL(RotateModel, MODEL_door_ki, LVar0, 1, 0, 0) EVT_CALL(RotateModel, MODEL_o122, LVar0, 1, 0, 0) EVT_CALL(RotateModel, MODEL_o123, LVar0, 1, 0, 0) @@ -51,12 +51,13 @@ EvtScript N(EVS_NpcAI_Goombario) = { EVT_END }; -EvtScript N(EVS_ToggleVis_House) = { +EvtScript N(EVS_RoomListener_House) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_of, 1) - EVT_CASE_EQ(1) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_IF_EQ(GB_StoryProgress, STORY_CH0_MET_GOOMPA) EVT_IF_EQ(GF_KMR02_Met_Goompapa, TRUE) EVT_IF_EQ(GF_KMR02_Goombario_RelayedMessage, FALSE) @@ -66,7 +67,7 @@ EvtScript N(EVS_ToggleVis_House) = { EVT_END_IF EVT_END_IF EVT_END_IF - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_of, 0) EVT_IF_EQ(GB_StoryProgress, STORY_CH0_MET_GOOMPA) EVT_IF_EQ(GF_KMR02_Met_Goompapa, TRUE) @@ -85,25 +86,25 @@ EvtScript N(EVS_ToggleVis_House) = { EVT_END }; -EvtScript N(EVS_OpenDoor_Verdana) = { +EvtScript N(EVS_SetDoorRot_Verdana) = { EVT_CALL(RotateModel, MODEL_ura_exit, LVar0, 0, -1, 0) EVT_RETURN EVT_END }; -EvtScript N(EVS_MoveWalls_Verdana) = { +EvtScript N(EVS_SetWallRot_Verdana) = { EVT_RETURN EVT_END }; -EvtScript N(EVS_ToggleVis_Verdana) = { +EvtScript N(EVS_RoomListener_Verdana) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) - EVT_CASE_EQ(1) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) EVT_WAIT(30) EVT_CALL(SetGroupEnabled, MODEL_monohoshi, 0) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_IF_GT(GB_StoryProgress, STORY_CH0_GATE_CRUSHED) EVT_IF_LT(GB_StoryProgress, STORY_CH0_TWINK_GAVE_LUCKY_STAR) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_Inspect_DangerSealed, 160, 40) @@ -128,7 +129,7 @@ EvtScript N(EVS_ToggleVis_Verdana) = { EVT_CALL(EnableModel, MODEL_o437, FALSE) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o625, COLLIDER_FLAGS_UPPER_MASK) EVT_END_SWITCH - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_IF_GE(GB_StoryProgress, STORY_CH0_GATE_CRUSHED) EVT_IF_LT(GB_StoryProgress, STORY_CH0_TWINK_GAVE_LUCKY_STAR) EVT_WAIT(12) @@ -205,29 +206,29 @@ s32 N(InsideNPCs_House)[] = { EvtScript N(EVS_SetupRooms) = { // goomba family home, main room - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_5), - EVT_PTR(N(EVS_OpenDoor_House)), - EVT_PTR(N(EVS_MoveWalls_House)), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_House)), + EVT_PTR(N(EVS_SetWallRot_House)), EVT_PTR(N(EVS_DropDoor_House)), - EVT_PTR(N(EVS_ToggleVis_House)), + EVT_PTR(N(EVS_RoomListener_House)), COLLIDER_deilit5, COLLIDER_deilit6, MODEL_kuribou_house, EVT_PTR(N(InsideNPCs_House))) // verdana - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_7), - EVT_PTR(N(EVS_OpenDoor_Verdana)), - EVT_PTR(N(EVS_MoveWalls_Verdana)), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_LARGE_DOOR_LEFT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_Verdana)), + EVT_PTR(N(EVS_SetWallRot_Verdana)), NULL, - EVT_PTR(N(EVS_ToggleVis_Verdana)), + EVT_PTR(N(EVS_RoomListener_Verdana)), COLLIDER_deilit4, COLLIDER_deilit4_1, MODEL_kuribou_house, EVT_PTR(N(InsideNPCs_House))) - EVT_SET(LVar0, 3) - EVT_EXEC(N(EVS_ToggleVis_House)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_House)) EVT_CALL(SetGroupEnabled, MODEL_monohoshi, 0) EVT_RETURN EVT_END diff --git a/src/world/area_kmr/kmr_02/kmr_02_6_rooms_2.c b/src/world/area_kmr/kmr_02/kmr_02_6_rooms_2.c index 9066aba673..306c12b9a9 100644 --- a/src/world/area_kmr/kmr_02/kmr_02_6_rooms_2.c +++ b/src/world/area_kmr/kmr_02/kmr_02_6_rooms_2.c @@ -1,12 +1,12 @@ #include "kmr_02.h" -EvtScript N(EVS_OpenDoor_ToadHouse) = { +EvtScript N(EVS_SetDoorRot_ToadHouse) = { EVT_CALL(RotateModel, MODEL_o275, LVar0, 0, 1, 0) EVT_RETURN EVT_END }; -EvtScript N(EVS_MoveWalls_ToadHouse) = { +EvtScript N(EVS_SetWallRot_ToadHouse) = { EVT_SET(LVar1, LVar0) EVT_ADD(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_k_k_1, LVar1, 0, 1, 0) @@ -17,13 +17,14 @@ EvtScript N(EVS_MoveWalls_ToadHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_ToadHouse) = { +EvtScript N(EVS_RoomListener_ToadHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_kino_in, 1) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_CLEAR_BITS, COLLIDER_o767, COLLIDER_FLAGS_UPPER_MASK) - EVT_CASE_EQ(1) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_THREAD EVT_WAIT(5) EVT_END_THREAD @@ -31,7 +32,7 @@ EvtScript N(EVS_ToggleVis_ToadHouse) = { EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_kino_in, 0) EVT_CALL(EnableModel, MODEL_o422, TRUE) EVT_CALL(EnableModel, MODEL_o424, TRUE) @@ -87,12 +88,12 @@ EvtScript N(EVS_SetupToadHouse) = { EVT_CALL(SetGroupEnabled, MODEL_kino_in, 0) EVT_END_IF // toad house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), - EVT_PTR(N(EVS_OpenDoor_ToadHouse)), - EVT_PTR(N(EVS_MoveWalls_ToadHouse)), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_ToadHouse)), + EVT_PTR(N(EVS_SetWallRot_ToadHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_ToadHouse)), + EVT_PTR(N(EVS_RoomListener_ToadHouse)), COLLIDER_deilit7, COLLIDER_deilit8, MODEL_kinopi, diff --git a/src/world/area_kmr/kmr_02/kmr_02_7_kammy.c b/src/world/area_kmr/kmr_02/kmr_02_7_kammy.c index fcde6d951e..ab00894c7d 100644 --- a/src/world/area_kmr/kmr_02/kmr_02_7_kammy.c +++ b/src/world/area_kmr/kmr_02/kmr_02_7_kammy.c @@ -326,9 +326,9 @@ EvtScript N(EVS_Scene_KammyStrikes) = { EVT_CALL(SetNpcPos, NPC_Goombaria, LVar0, LVar1, LVar2) EVT_CALL(EnableNpcShadow, NPC_Goombaria, TRUE) EVT_CALL(SetNpcFlagBits, NPC_Goombaria, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Goombaria, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_Goombaria, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Goompa, NPC_FLAG_8, TRUE) EVT_CALL(SetNpcPos, NPC_Goompa, NPC_DISPOSE_LOCATION) EVT_CALL(EnableNpcShadow, NPC_Goompa, FALSE) EVT_SET(GB_StoryProgress, STORY_CH0_GATE_CRUSHED) diff --git a/src/world/area_kmr/kmr_03/kmr_03_3_npc.c b/src/world/area_kmr/kmr_03/kmr_03_3_npc.c index 72e957dfcb..64a5bd6c44 100644 --- a/src/world/area_kmr/kmr_03/kmr_03_3_npc.c +++ b/src/world/area_kmr/kmr_03/kmr_03_3_npc.c @@ -156,7 +156,7 @@ EvtScript N(EVS_NpcInit_Goompa) = { EVT_SWITCH(GB_StoryProgress) EVT_CASE_GE(STORY_CH0_GOOMPA_JOINED_PARTY) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8, TRUE) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_END_SWITCH EVT_RETURN @@ -168,7 +168,7 @@ StaticNpc N(NpcData_GoombaFamily) = { .settings = &N(NpcSettings_Goompa), .pos = { -50.0f, 0.0f, 80.0f }, .yaw = 45, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Goompa), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_kmr/kmr_04/kmr_04_3_npc.c b/src/world/area_kmr/kmr_04/kmr_04_3_npc.c index 8ee8fa0687..385da0c3af 100644 --- a/src/world/area_kmr/kmr_04/kmr_04_3_npc.c +++ b/src/world/area_kmr/kmr_04/kmr_04_3_npc.c @@ -9,7 +9,7 @@ NpcSettings N(NpcSettings_JrTroopa) = { EvtScript N(EVS_NpcAuxAI_Goompa) = { EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_RETURN @@ -74,7 +74,7 @@ EvtScript N(EVS_NpcAI_Goompa) = { EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(N(CheckPartnerFlags1000)) EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Walk) EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(3.0)) EVT_CALL(NpcMoveTo, NPC_PARTNER, 420, 6, 0) @@ -90,12 +90,12 @@ EvtScript N(EVS_NpcAI_Goompa) = { EVT_CALL(PlayerMoveTo, 395, 0, 0) EVT_CALL(InterpPlayerYaw, 90, 0) EVT_END_THREAD - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8, TRUE) EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(6.0)) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Run) EVT_CALL(NpcMoveTo, NPC_PARTNER, 582, 6, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, ANIM_Goompa_Idle) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8, FALSE) EVT_CALL(PlaySoundAtNpc, NPC_PARTNER, SOUND_61, 0) EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_Goompa_Talk, ANIM_Goompa_Idle, 0, MSG_CH0_00AD) EVT_WAIT(10) @@ -246,7 +246,7 @@ NpcSettings N(NpcSettings_Goompa) = { .ai = &N(EVS_NpcAI_Goompa), .aux = &N(EVS_NpcAux_Goompa), .onDefeat = &N(EVS_NpcDefeat_Goompa), - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100, }; EvtScript N(EVS_NpcInit_JrTroopa) = { @@ -263,7 +263,7 @@ StaticNpc N(NpcData_JrTroopa) = { .settings = &N(NpcSettings_JrTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_kmr/kmr_04/kmr_04_5_foliage.c b/src/world/area_kmr/kmr_04/kmr_04_5_foliage.c index aeaebe53b3..2b4dbc09f1 100644 --- a/src/world/area_kmr/kmr_04/kmr_04_5_foliage.c +++ b/src/world/area_kmr/kmr_04/kmr_04_5_foliage.c @@ -93,7 +93,7 @@ EvtScript N(EVS_OnSearch_HammerBush) = { EVT_END }; -EvtScript N(Bush7_CallbackScript) = { +EvtScript N(EVS_OnSearchBush7) = { EVT_IF_GE(GB_StoryProgress, STORY_CH0_FOUND_HAMMER) EVT_RETURN EVT_END_IF @@ -104,7 +104,7 @@ EvtScript N(Bush7_CallbackScript) = { EVT_END }; -EvtScript N(Bush8_CallbackScript) = { +EvtScript N(EVS_OnSearchBush8) = { EVT_IF_GE(GB_StoryProgress, STORY_CH0_FOUND_HAMMER) EVT_RETURN EVT_END_IF @@ -290,13 +290,13 @@ FoliageVectorList N(Bush8_Effects) = { SearchBushConfig N(SearchBush_Bush7) = { .bush = &N(Bush8_BushModels), .vectors = &N(Bush8_Effects), - .callback = &N(Bush7_CallbackScript), + .callback = &N(EVS_OnSearchBush7), }; SearchBushConfig N(SearchBush_Bush8) = { .bush = &N(Bush8_BushModels), .vectors = &N(Bush8_Effects), - .callback = &N(Bush8_CallbackScript), + .callback = &N(EVS_OnSearchBush8), }; FoliageModelList N(Bush6_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o213); diff --git a/src/world/area_kmr/kmr_07/kmr_07_3_npc.c b/src/world/area_kmr/kmr_07/kmr_07_3_npc.c index 0af232ae88..e34520331d 100644 --- a/src/world/area_kmr/kmr_07/kmr_07_3_npc.c +++ b/src/world/area_kmr/kmr_07/kmr_07_3_npc.c @@ -212,7 +212,7 @@ StaticNpc N(NpcData_GoombaBros_Red)[] = { .settings = &N(NpcSettings_GoombaBros_Guard), .pos = { 526.0f, 80.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_GoombaBros_Red), .drops = GOOMBA_BROS_DROPS, .territory = { @@ -234,7 +234,7 @@ StaticNpc N(NpcData_GoombaBros_Red)[] = { .settings = &N(NpcSettings_GoombaBros_Guard), .pos = { 498.0f, 80.0f, -10.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_GoombaBros_Blue), .drops = GOOMBA_BROS_DROPS, .territory = { diff --git a/src/world/area_kmr/kmr_09/kmr_09_3_npc.c b/src/world/area_kmr/kmr_09/kmr_09_3_npc.c index 9e67a5246e..b4c7d44338 100644 --- a/src/world/area_kmr/kmr_09/kmr_09_3_npc.c +++ b/src/world/area_kmr/kmr_09/kmr_09_3_npc.c @@ -80,7 +80,7 @@ EvtScript N(EVS_OnReadBillboard) = { EvtScript N(EVS_NpcIdle_Goomba_Ambush) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Still) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 1) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 1) EVT_LABEL(0) EVT_CALL(GetSelfVar, 0, LVar0) EVT_IF_EQ(LVar0, 0) @@ -109,10 +109,10 @@ EvtScript N(EVS_NpcIdle_Goomba_Ambush) = { EVT_CALL(NpcJump0, NPC_SELF, -35, 0, 25, 23) EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_NO_AI, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_20, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 0) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 0) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnReadBillboard)), TRIGGER_WALL_PRESS_A, COLLIDER_kan, 1, 0) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_Goomba_Wander))) diff --git a/src/world/area_kmr/kmr_10/kmr_10_3_npc.c b/src/world/area_kmr/kmr_10/kmr_10_3_npc.c index e35357cb6c..90bf695bd7 100644 --- a/src/world/area_kmr/kmr_10/kmr_10_3_npc.c +++ b/src/world/area_kmr/kmr_10/kmr_10_3_npc.c @@ -13,7 +13,7 @@ StaticNpc N(NpcData_Toad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_kmr/kmr_11/kmr_11_4_npc.c b/src/world/area_kmr/kmr_11/kmr_11_4_npc.c index d42826393b..8ebe6a3c3d 100644 --- a/src/world/area_kmr/kmr_11/kmr_11_4_npc.c +++ b/src/world/area_kmr/kmr_11/kmr_11_4_npc.c @@ -288,7 +288,7 @@ NpcSettings N(NpcSettings_Kammy) = { .otherAI = &N(EVS_NpcAuxAI_Kammy), .ai = &N(EVS_NpcAI_Kammy), .aux = &N(EVS_NpcAux_Kammy), - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, }; StaticNpc N(NpcData_Enemies)[] = { @@ -297,7 +297,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_GoombaBros_Guard), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_GoombaBros_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -340,7 +340,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_GoombaBros_Guard), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_GoombaBros_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -383,7 +383,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_GoombaBros_Guard), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_GoombaKing), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -428,7 +428,7 @@ StaticNpc N(NpcData_Kammy) = { .settings = &N(NpcSettings_Kammy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 100, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200000, .initVarCount = 1, .initVar = { .value = 0 }, .animations = {}, diff --git a/src/world/area_kmr/kmr_12/kmr_12_3_npc.c b/src/world/area_kmr/kmr_12/kmr_12_3_npc.c index 92676f12ae..9ef61bcfe0 100644 --- a/src/world/area_kmr/kmr_12/kmr_12_3_npc.c +++ b/src/world/area_kmr/kmr_12/kmr_12_3_npc.c @@ -37,7 +37,7 @@ EvtScript N(EVS_NpcIdle_Goomba) = { EVT_CALL(SetSelfVar, 0, 0) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_FakeMushroom) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 1) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 1) EVT_LABEL(0) EVT_CALL(GetSelfVar, 0, LVar0) EVT_WAIT(1) @@ -73,7 +73,7 @@ EvtScript N(EVS_NpcIdle_Goomba) = { EVT_CALL(func_802CFD30, NPC_SELF, FOLD_TYPE_NONE, 0, 0, 0, 0) EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40000 | NPC_FLAG_200000, FALSE) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 0) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 0) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_BIND_TRIGGER(EVT_PTR(N(EVS_OnReadBillboard)), TRIGGER_WALL_PRESS_A, COLLIDER_o78, 1, 0) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_Goomba_Wander))) diff --git a/src/world/area_kmr/kmr_20/kmr_20_10_npc.c b/src/world/area_kmr/kmr_20/kmr_20_10_npc.c index e7b1967483..19bfc9bcd0 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_10_npc.c +++ b/src/world/area_kmr/kmr_20/kmr_20_10_npc.c @@ -32,24 +32,17 @@ API_CALLABLE(N(PlaySpringLaunchAnimation)) { return ApiStatus_DONE2; } -EvtScript N(EVS_HandItemOver) = { - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) - EVT_WAIT(20) - EVT_RETURN - EVT_END -}; +#include "world/common/atomic/MarioSalute.inc.c" EvtScript N(EVS_KootFavorCheck_Luigi) = { - EVT_IF_NE(GB_KootFavor_Current, 5) + EVT_IF_NE(GB_KootFavor_Current, KOOT_FAVOR_CH3_1) EVT_RETURN EVT_END_IF EVT_IF_NE(GF_KMR20_Gift_LuigisAutograph, FALSE) EVT_RETURN EVT_END_IF EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Luigi_Idle) - EVT_EXEC_WAIT(N(EVS_HandItemOver)) + EVT_EXEC_WAIT(N(EVS_MarioSalute)) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Luigi_Talk, ANIM_Luigi_Idle, 0, MSG_CH0_0103) EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) EVT_WAIT(40) @@ -69,7 +62,7 @@ EvtScript N(EVS_KootFavorCheck_Luigi) = { EVT_WAIT(10) EVT_SET(LVar0, ITEM_KOOT_MERLUVLEE_AUTOGRAPH) EVT_SET(LVar1, 1) - EVT_EXEC_WAIT(N(GiveKeyReward)) + EVT_EXEC_WAIT(N(GiveItemReward)) EVT_CALL(AddKeyItem, LVar0) EVT_SET(GF_KMR20_Gift_LuigisAutograph, TRUE) EVT_IF_GE(GB_StoryProgress, STORY_CH3_STAR_SPRIT_DEPARTED) @@ -142,7 +135,7 @@ EvtScript N(EVS_Scene_LuigiWaitingAround) = { EVT_SET(MF_ReadyForPlayerEntry, TRUE) EVT_WAIT(15) EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_8, FALSE) EVT_CALL(PlaySoundAtNpc, NPC_Luigi_1, SOUND_262, 0) EVT_CALL(ShowEmote, NPC_Luigi_1, EMOTE_EXCLAMATION, -30, 20, TRUE, 0, 0, 0, 0) EVT_CALL(SetNpcAnimation, NPC_Luigi_1, ANIM_Luigi_Jump) @@ -228,7 +221,7 @@ EvtScript N(EVS_Scene_LuigiWaitingAround) = { EVT_END_SWITCH EVT_CALL(SpeakToPlayer, NPC_Luigi_1, ANIM_Luigi_Talk, ANIM_Luigi_Idle, 5, MSG_CH0_00E3) EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_8, TRUE) EVT_CALL(EnablePartnerAI) EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.5)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) @@ -625,7 +618,7 @@ StaticNpc N(NpcData_Luigi_0) = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Luigi_0), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -658,7 +651,7 @@ StaticNpc N(NpcData_Luigi_1) = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Luigi_1), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -786,7 +779,7 @@ StaticNpc N(NpcData_ShyGuy) = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_10000000, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_10000000, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_kmr/kmr_20/kmr_20_11_npc_intro.c b/src/world/area_kmr/kmr_20/kmr_20_11_npc_intro.c index af4bc57a31..2a6b17b4a5 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_11_npc_intro.c +++ b/src/world/area_kmr/kmr_20/kmr_20_11_npc_intro.c @@ -26,7 +26,7 @@ API_CALLABLE(N(func_80241CF0_8EDB10)) { } API_CALLABLE(N(SetAmbienceVolumeHalf_Intro)) { - au_ambience_set_volume(0, 1000, 63); + snd_ambient_set_volume(0, 1000, 63); return ApiStatus_DONE2; } @@ -87,7 +87,7 @@ EvtScript N(EVS_Player_EnterPipe_Intro) = { EvtScript N(EVS_Luigi_EnterPipe_Intro) = { EVT_CALL(SetNpcFlagBits, NPC_Scene_Luigi, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_Scene_Luigi, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Scene_Luigi, NPC_FLAG_8, TRUE) EVT_CALL(EnableNpcShadow, NPC_Scene_Luigi, FALSE) EVT_SET(LVar0, kmr_20_ENTRY_4) EVT_CALL(N(Pipe_GetEntryPos_Intro)) diff --git a/src/world/area_kmr/kmr_20/kmr_20_12_npc_epilogue.c b/src/world/area_kmr/kmr_20/kmr_20_12_npc_epilogue.c index d57e3bb383..08300dffd2 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_12_npc_epilogue.c +++ b/src/world/area_kmr/kmr_20/kmr_20_12_npc_epilogue.c @@ -53,12 +53,12 @@ API_CALLABLE(N(func_802420EC_8EDF0C)) { } API_CALLABLE(N(SetAmbienceVolumeHalf_Epilogue)) { - au_ambience_set_volume(0, 1000, 63); + snd_ambient_set_volume(0, 1000, 63); return ApiStatus_DONE2; } API_CALLABLE(N(SetAmbienceVolumeFull_Epilogue)) { - au_ambience_set_volume(0, 1000, 127); + snd_ambient_set_volume(0, 1000, 127); return ApiStatus_DONE2; } @@ -159,7 +159,7 @@ EvtScript N(EVS_Player_EnterPipe_Epilogue) = { EvtScript N(EVS_Luigi_EnterPipe_Epilogue) = { EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Luigi_1, NPC_FLAG_8, TRUE) EVT_CALL(EnableNpcShadow, NPC_Luigi_1, FALSE) EVT_SET(LVar0, 4) EVT_CALL(N(Pipe_GetEntryPos_Epilogue)) diff --git a/src/world/area_kmr/kmr_20/kmr_20_3_rooms.c b/src/world/area_kmr/kmr_20/kmr_20_3_rooms.c index f6b193bf13..4b77bde015 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_3_rooms.c +++ b/src/world/area_kmr/kmr_20/kmr_20_3_rooms.c @@ -1,12 +1,12 @@ #include "kmr_20.h" API_CALLABLE(N(SetAmbienceVolumeHalf_Rooms)){ - au_ambience_set_volume(0, 1000, 63); + snd_ambient_set_volume(0, 1000, 63); return ApiStatus_DONE2; } API_CALLABLE(N(SetAmbienceVolumeFull_Rooms)){ - au_ambience_set_volume(0, 1000, 127); + snd_ambient_set_volume(0, 1000, 127); return ApiStatus_DONE2; } @@ -16,7 +16,7 @@ EvtScript N(EVS_SetDoorRot_House) = { EVT_END }; -EvtScript N(EVS_MoveWalls_House) = { +EvtScript N(EVS_SetWallRot_House) = { EVT_CALL(RotateGroup, MODEL_g60, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, MODEL_g34, LVar0, -1, 0, 0) EVT_SWITCH(LVar0) @@ -39,17 +39,19 @@ EvtScript N(EVS_MoveWalls_House) = { EVT_END }; -EvtScript N(EVS_ToggleVis_House) = { +EvtScript N(EVS_RoomListener_House) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(N(SetAmbienceVolumeHalf_Rooms)) EVT_CALL(EnableGroup, MODEL_g20, TRUE) EVT_CALL(EnableGroup, MODEL_g21, TRUE) EVT_CALL(EnableGroup, MODEL_g49, TRUE) EVT_CALL(EnableModel, MODEL_g56, TRUE) - EVT_CASE_EQ(1) - EVT_CASE_EQ(2) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(N(SetAmbienceVolumeFull_Rooms)) EVT_CALL(EnableGroup, MODEL_g20, FALSE) EVT_CALL(EnableGroup, MODEL_g21, FALSE) @@ -67,12 +69,12 @@ s32 N(InteriorNPCs_House)[] = { }; EvtScript N(EVS_SetupRooms) = { - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_House)), - EVT_PTR(N(EVS_MoveWalls_House)), + EVT_PTR(N(EVS_SetWallRot_House)), NULL, - EVT_PTR(N(EVS_ToggleVis_House)), + EVT_PTR(N(EVS_RoomListener_House)), COLLIDER_o246, COLLIDER_o245, MODEL_g62, @@ -94,8 +96,8 @@ EvtScript N(EVS_SetupRooms) = { EVT_CALL(N(SetAmbienceVolumeHalf_Rooms)) EVT_END_CASE_GROUP EVT_CASE_DEFAULT - EVT_SET(LVar0, 3) - EVT_EXEC(N(EVS_ToggleVis_House)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_House)) EVT_END_SWITCH EVT_RETURN EVT_END diff --git a/src/world/area_kmr/kmr_20/kmr_20_4_documents.c b/src/world/area_kmr/kmr_20/kmr_20_4_documents.c index 61a61b311b..8dada450df 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_4_documents.c +++ b/src/world/area_kmr/kmr_20/kmr_20_4_documents.c @@ -409,7 +409,7 @@ API_CALLABLE(N(ReadDiary)){ } API_CALLABLE(N(MuteAmbienceVolume_Documents)){ - au_ambience_set_volume(0, 1000, 1); + snd_ambient_set_volume(0, 1000, 1); return ApiStatus_DONE2; } diff --git a/src/world/area_kmr/kmr_20/kmr_20_5_entity.c b/src/world/area_kmr/kmr_20/kmr_20_5_entity.c index 47228c5188..5575186467 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_5_entity.c +++ b/src/world/area_kmr/kmr_20/kmr_20_5_entity.c @@ -2,7 +2,7 @@ #include "entity.h" API_CALLABLE(N(SetAmbienceVolumeHalf_Entity)){ - au_ambience_set_volume(0, 1000, 63); + snd_ambient_set_volume(0, 1000, 63); return ApiStatus_DONE2; } diff --git a/src/world/area_kmr/kmr_20/kmr_20_8_bed.c b/src/world/area_kmr/kmr_20/kmr_20_8_bed.c index c73cef794a..60f580cdc1 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_8_bed.c +++ b/src/world/area_kmr/kmr_20/kmr_20_8_bed.c @@ -5,12 +5,12 @@ #include "world/common/atomic/ToadHouse.data.inc.c" API_CALLABLE(N(MuteAmbienceVolume_Bed)) { - au_ambience_set_volume(0, 1000, 1); + snd_ambient_set_volume(0, 1000, 1); return ApiStatus_DONE2; } API_CALLABLE(N(SetAmbienceVolumeHalf_Bed)) { - au_ambience_set_volume(0, 1000, 63); + snd_ambient_set_volume(0, 1000, 63); return ApiStatus_DONE2; } diff --git a/src/world/area_kmr/kmr_20/kmr_20_9_npc_scenes.c b/src/world/area_kmr/kmr_20/kmr_20_9_npc_scenes.c index 785ad0c6c8..87cb64bf59 100644 --- a/src/world/area_kmr/kmr_20/kmr_20_9_npc_scenes.c +++ b/src/world/area_kmr/kmr_20/kmr_20_9_npc_scenes.c @@ -27,7 +27,7 @@ StaticNpc N(NpcData_Scenes)[] = { .settings = &N(NpcSettings_Scenes), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -57,7 +57,7 @@ StaticNpc N(NpcData_Scenes)[] = { .settings = &N(NpcSettings_Scenes), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_GRAVITY, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_GRAVITY, .init = &N(EVS_NpcInit_Luigi_Scenes), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_kmr/kmr_22/kmr_22_2_npc.c b/src/world/area_kmr/kmr_22/kmr_22_2_npc.c index b23dc5cdea..db4e3c2597 100644 --- a/src/world/area_kmr/kmr_22/kmr_22_2_npc.c +++ b/src/world/area_kmr/kmr_22/kmr_22_2_npc.c @@ -36,7 +36,7 @@ StaticNpc N(NpcData_Chapter1)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -62.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -46,7 +46,7 @@ StaticNpc N(NpcData_Chapter1)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 10.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = KOOPA_BROS_DROPS, .animations = BLACK_KOOPA_BROS_ANIMS, @@ -56,7 +56,7 @@ StaticNpc N(NpcData_Chapter1)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 90.0f, 10.0f, 91.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = KOOPA_BROS_DROPS, .animations = BLACK_KOOPA_BROS_ANIMS, @@ -66,7 +66,7 @@ StaticNpc N(NpcData_Chapter1)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 86.0f, 0.0f, -7.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = KOOPA_BROS_DROPS, .animations = BLACK_KOOPA_BROS_ANIMS, @@ -76,7 +76,7 @@ StaticNpc N(NpcData_Chapter1)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 54.0f, -2.0f, -47.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = KOOPA_BROS_DROPS, .animations = BLACK_KOOPA_BROS_ANIMS, @@ -89,7 +89,7 @@ StaticNpc N(NpcData_Chapter2)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -62.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Mamar), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -99,7 +99,7 @@ StaticNpc N(NpcData_Chapter2)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 78.0f, 19.0f, 20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Tutankoopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -130,7 +130,7 @@ StaticNpc N(NpcData_Chapter2)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 23.0f, -4.0f, -180.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ChainChomp), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -161,7 +161,7 @@ StaticNpc N(NpcData_Chapter2)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 23.0f, -4.0f, -180.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -191,7 +191,7 @@ StaticNpc N(NpcData_Chapter2)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 23.0f, -4.0f, -180.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -221,7 +221,7 @@ StaticNpc N(NpcData_Chapter2)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 23.0f, -4.0f, -180.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -251,7 +251,7 @@ StaticNpc N(NpcData_Chapter2)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 23.0f, -4.0f, -180.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -284,7 +284,7 @@ StaticNpc N(NpcData_Chapter3)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -62.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Skolar), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, @@ -294,7 +294,7 @@ StaticNpc N(NpcData_Chapter3)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 54.0f, -1.0f, 1.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Tubba), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -328,7 +328,7 @@ StaticNpc N(NpcData_Chapter4)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -62.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Muskular), .drops = MUSKULAR_DROPS, .animations = MUSKULAR_ANIMS, @@ -338,7 +338,7 @@ StaticNpc N(NpcData_Chapter4)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 97.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_GeneralGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -369,7 +369,7 @@ StaticNpc N(NpcData_Chapter4)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 17.0f, 0.0f, -14.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -379,7 +379,7 @@ StaticNpc N(NpcData_Chapter4)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 47.0f, 0.0f, 25.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -392,7 +392,7 @@ StaticNpc N(NpcData_Chapter5)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -62.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Misstar), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, @@ -413,7 +413,7 @@ StaticNpc N(NpcData_Chapter5)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4, .init = &N(EVS_NpcInit_LavaBud_01), .drops = LAVA_PIRANHA_NO_DROPS, .animations = LAVA_PIRANHA_BUD_ANIMS, @@ -424,7 +424,7 @@ StaticNpc N(NpcData_Chapter5)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4, .init = &N(EVS_NpcInit_LavaBud_01), .drops = LAVA_PIRANHA_NO_DROPS, .animations = LAVA_PIRANHA_BUD_ANIMS, @@ -438,7 +438,7 @@ StaticNpc N(NpcData_Chapter6)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -62.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Klevar), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -448,7 +448,7 @@ StaticNpc N(NpcData_Chapter6)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 70.0f, 109.0f, 1.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_HuffNPuff_Body), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -479,7 +479,7 @@ StaticNpc N(NpcData_Chapter6)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 70.0f, 109.0f, 1.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_HuffNPuff_Face), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -510,7 +510,7 @@ StaticNpc N(NpcData_Chapter6)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 70.0f, 109.0f, 1.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_HuffNPuff_Arms), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -541,7 +541,7 @@ StaticNpc N(NpcData_Chapter6)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 60.0f, 40.0f, -50.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TuffPuff_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -572,7 +572,7 @@ StaticNpc N(NpcData_Chapter6)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 14.0f, 61.0f, 1.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -605,7 +605,7 @@ StaticNpc N(NpcData_Chapter7)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -62.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Kalmar), .drops = KALMAR_DROPS, .animations = KALMAR_ANIMS, @@ -615,7 +615,7 @@ StaticNpc N(NpcData_Chapter7)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 60.0f, -2.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_CrystalKing), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -646,7 +646,7 @@ StaticNpc N(NpcData_Chapter7)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 10.0f, 31.0f, -12.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_IceCube), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -677,7 +677,7 @@ StaticNpc N(NpcData_Chapter7)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 40.0f, 68.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_IceSphere), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -708,7 +708,7 @@ StaticNpc N(NpcData_Chapter7)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 96.0f, 53.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_IceSpike), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -741,7 +741,7 @@ StaticNpc N(NpcData_Chapter8) = { .settings = &N(NpcSettings_Dummy), .pos = { 58.0f, 0.0f, 20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bowser), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_kmr/kmr_23/kmr_23_2_npc.c b/src/world/area_kmr/kmr_23/kmr_23_2_npc.c index 9e1ad82f6f..46136be06a 100644 --- a/src/world/area_kmr/kmr_23/kmr_23_2_npc.c +++ b/src/world/area_kmr/kmr_23/kmr_23_2_npc.c @@ -541,7 +541,7 @@ StaticNpc N(NpcData_Eldstar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -551,7 +551,7 @@ StaticNpc N(NpcData_Eldstar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = ELDSTAR_DROPS, .animations = ELDSTAR_ANIMS, @@ -564,7 +564,7 @@ StaticNpc N(NpcData_Mamar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -574,7 +574,7 @@ StaticNpc N(NpcData_Mamar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -587,7 +587,7 @@ StaticNpc N(NpcData_Skolar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, @@ -597,7 +597,7 @@ StaticNpc N(NpcData_Skolar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, @@ -610,7 +610,7 @@ StaticNpc N(NpcData_Muskular)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = MUSKULAR_DROPS, .animations = MUSKULAR_ANIMS, @@ -620,7 +620,7 @@ StaticNpc N(NpcData_Muskular)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = MUSKULAR_DROPS, .animations = MUSKULAR_ANIMS, @@ -633,7 +633,7 @@ StaticNpc N(NpcData_Misstar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, @@ -643,7 +643,7 @@ StaticNpc N(NpcData_Misstar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, @@ -656,7 +656,7 @@ StaticNpc N(NpcData_Klevar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -666,7 +666,7 @@ StaticNpc N(NpcData_Klevar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -679,7 +679,7 @@ StaticNpc N(NpcData_Kalmar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_01), .drops = KALMAR_DROPS, .animations = KALMAR_ANIMS, @@ -689,7 +689,7 @@ StaticNpc N(NpcData_Kalmar)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -40.0f, 96.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar_02), .drops = KALMAR_DROPS, .animations = KALMAR_ANIMS, diff --git a/src/world/area_kmr/kmr_30/kmr_30_2_npc.c b/src/world/area_kmr/kmr_30/kmr_30_2_npc.c index 3d56d8fc4c..2eccfd48df 100644 --- a/src/world/area_kmr/kmr_30/kmr_30_2_npc.c +++ b/src/world/area_kmr/kmr_30/kmr_30_2_npc.c @@ -11,7 +11,7 @@ StaticNpc N(NpcData_ParadePeach) = { .settings = &N(NpcSettings_ParadePeach), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_kmr/kmr_30/kmr_30_3_the_end.c b/src/world/area_kmr/kmr_30/kmr_30_3_the_end.c index 6f15a0f372..8b8684580b 100644 --- a/src/world/area_kmr/kmr_30/kmr_30_3_the_end.c +++ b/src/world/area_kmr/kmr_30/kmr_30_3_the_end.c @@ -125,7 +125,7 @@ EvtScript N(EVS_Scene_TheEnd) = { EVT_THREAD EVT_CALL(SetNpcSpeed, NPC_ParadePeach, EVT_FLOAT(2.0)) EVT_CALL(SetNpcFlagBits, NPC_ParadePeach, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_ParadePeach, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ParadePeach, NPC_FLAG_8, FALSE) EVT_CALL(SetNpcAnimation, NPC_ParadePeach, ANIM_ParadePeach_ShadeWalk) EVT_CALL(NpcMoveTo, NPC_ParadePeach, 450, -60, 0) EVT_CALL(SetNpcAnimation, NPC_ParadePeach, ANIM_ParadePeach_ShadeWalkBack) diff --git a/src/world/area_kpa/kpa_10/kpa_10_3_npc.c b/src/world/area_kpa/kpa_10/kpa_10_3_npc.c index 22b9a79dc1..9dfcb92c26 100644 --- a/src/world/area_kpa/kpa_10/kpa_10_3_npc.c +++ b/src/world/area_kpa/kpa_10/kpa_10_3_npc.c @@ -8,7 +8,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 845.0f, 30.0f, -285.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, .tattle = MSG_NpcTattle_KPA_CaptiveToadA, @@ -18,7 +18,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 872.0f, 30.0f, -315.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = TOAD_DROPS, .animations = TOAD_BLUE_ANIMS, .tattle = MSG_NpcTattle_KPA_CaptiveToadB, @@ -28,7 +28,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 900.0f, 30.0f, -285.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = TOAD_DROPS, .animations = TOAD_GUARD_YELLOW_ANIMS, .tattle = MSG_NpcTattle_KPA_CaptiveSoldierA, diff --git a/src/world/area_kpa/kpa_11/kpa_11_4_npc.c b/src/world/area_kpa/kpa_11/kpa_11_4_npc.c index 466c6ce00b..211c5d454a 100644 --- a/src/world/area_kpa/kpa_11/kpa_11_4_npc.c +++ b/src/world/area_kpa/kpa_11/kpa_11_4_npc.c @@ -38,7 +38,7 @@ StaticNpc N(NpcData_Koopatrol) = { .settings = &N(NpcSettings_Koopatrol_Wander), .pos = { 550.0f, 30.0f, -145.0f }, .yaw = 270, - .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Koopatrol), .drops = NPC_NO_DROPS, .territory = { @@ -67,7 +67,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 845.0f, 30.0f, -285.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Prisoner), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -78,7 +78,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 872.0f, 30.0f, -315.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Prisoner), .drops = TOAD_DROPS, .animations = TOAD_BLUE_ANIMS, @@ -89,7 +89,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 900.0f, 30.0f, -285.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Prisoner), .drops = TOAD_DROPS, .animations = TOAD_GUARD_YELLOW_ANIMS, diff --git a/src/world/area_kpa/kpa_133/kpa_133_4_npc.c b/src/world/area_kpa/kpa_133/kpa_133_4_npc.c index 6046f272eb..dca3b3158a 100644 --- a/src/world/area_kpa/kpa_133/kpa_133_4_npc.c +++ b/src/world/area_kpa/kpa_133/kpa_133_4_npc.c @@ -13,7 +13,7 @@ StaticNpc N(NpcData_Dummy) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_kpa/kpa_134/kpa_134_3_chains.c b/src/world/area_kpa/kpa_134/kpa_134_3_chains.c index 2b5df2bc86..ea0cab73c9 100644 --- a/src/world/area_kpa/kpa_134/kpa_134_3_chains.c +++ b/src/world/area_kpa/kpa_134/kpa_134_3_chains.c @@ -159,7 +159,7 @@ EvtScript N(EVS_LowerWaterLevel0) = { EVT_GOTO(30) EVT_END_IF EVT_CALL(PlaySound, SOUND_62B) - EVT_CALL(func_802D62E4, 555) + EVT_CALL(func_802D62E4, SOUND_22B) EVT_CALL(SetGroupEnabled, MODEL_sui1, 0) EVT_CALL(EnableModel, MODEL_s_sui, FALSE) EVT_CALL(EnableModel, MODEL_o385, FALSE) @@ -266,7 +266,7 @@ EvtScript N(EVS_RaiseWaterLevel1) = { EVT_GOTO(40) EVT_END_IF EVT_CALL(PlaySound, SOUND_62A) - EVT_CALL(func_802D62E4, 554) + EVT_CALL(func_802D62E4, SOUND_22A) EVT_CALL(EnableModel, MODEL_o389, FALSE) EVT_CALL(EnableModel, MODEL_o388, FALSE) EVT_END_THREAD @@ -407,7 +407,7 @@ EvtScript N(EVS_LowerWaterLevel1) = { EVT_GOTO(30) EVT_END_IF EVT_CALL(PlaySound, SOUND_62B) - EVT_CALL(func_802D62E4, 555) + EVT_CALL(func_802D62E4, SOUND_22B) EVT_WAIT(10) EVT_CALL(SetCamPerspective, CAM_DEFAULT, 3, 25, 16, 4096) EVT_CALL(ResetCam, CAM_DEFAULT, EVT_FLOAT(90.0)) @@ -509,7 +509,7 @@ EvtScript N(EVS_RaiseWaterLevel2) = { EVT_GOTO(40) EVT_END_IF EVT_CALL(PlaySound, SOUND_62A) - EVT_CALL(func_802D62E4, 554) + EVT_CALL(func_802D62E4, SOUND_22A) EVT_CALL(EnableModel, MODEL_o389, FALSE) EVT_CALL(EnableModel, MODEL_o388, FALSE) EVT_END_THREAD diff --git a/src/world/area_kpa/kpa_134/kpa_134_4_npc.c b/src/world/area_kpa/kpa_134/kpa_134_4_npc.c index 52cf31b518..fe185a350b 100644 --- a/src/world/area_kpa/kpa_134/kpa_134_4_npc.c +++ b/src/world/area_kpa/kpa_134/kpa_134_4_npc.c @@ -13,7 +13,7 @@ StaticNpc N(NpcData_Dummy) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_kpa/kpa_16/kpa_16_4_npc.c b/src/world/area_kpa/kpa_16/kpa_16_4_npc.c index 6c24cfe42f..265f73936d 100644 --- a/src/world/area_kpa/kpa_16/kpa_16_4_npc.c +++ b/src/world/area_kpa/kpa_16/kpa_16_4_npc.c @@ -292,7 +292,7 @@ StaticNpc N(NpcData_Guards)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 585.0f, 230.0f, -145.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Guards), .drops = KOOPATROL_DROPS, .animations = KOOPATROL_ANIMS, @@ -302,7 +302,7 @@ StaticNpc N(NpcData_Guards)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 525.0f, 230.0f, -165.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .drops = KOOPATROL_DROPS, .animations = KOOPATROL_ANIMS, }, @@ -311,7 +311,7 @@ StaticNpc N(NpcData_Guards)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 550.0f, 230.0f, -120.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .drops = KOOPATROL_DROPS, .animations = KOOPATROL_ANIMS, }, @@ -320,7 +320,7 @@ StaticNpc N(NpcData_Guards)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 505.0f, 230.0f, -120.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .drops = MAGIKOOPA_DROPS, .animations = MAGIKOOPA_ANIMS, }, diff --git a/src/world/area_kpa/kpa_17/kpa_17_4_npc.c b/src/world/area_kpa/kpa_17/kpa_17_4_npc.c index 22809f007c..eecf295821 100644 --- a/src/world/area_kpa/kpa_17/kpa_17_4_npc.c +++ b/src/world/area_kpa/kpa_17/kpa_17_4_npc.c @@ -193,7 +193,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Toad_01), .drops = NPC_NO_DROPS, .animations = TOAD_RED_ANIMS, @@ -204,7 +204,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Toad_02), .drops = NPC_NO_DROPS, .animations = TOAD_BLUE_ANIMS, @@ -215,7 +215,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ToadGuard), .drops = NPC_NO_DROPS, .animations = TOAD_GUARD_YELLOW_ANIMS, @@ -226,7 +226,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ToadMinister), .drops = NPC_NO_DROPS, .animations = { diff --git a/src/world/area_kpa/kpa_53/kpa_53_3_npc.c b/src/world/area_kpa/kpa_53/kpa_53_3_npc.c index 28ce345374..063cf8bb0c 100644 --- a/src/world/area_kpa/kpa_53/kpa_53_3_npc.c +++ b/src/world/area_kpa/kpa_53/kpa_53_3_npc.c @@ -349,7 +349,7 @@ StaticNpc N(NpcData_Imposter)[] = { .settings = &N(NpcSettings_Peach), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Follower), .drops = NPC_NO_DROPS, .animations = { @@ -377,7 +377,7 @@ StaticNpc N(NpcData_Imposter)[] = { .settings = &N(NpcSettings_Peach), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH, .init = &N(EVS_NpcInit_Guardian), .drops = NPC_NO_DROPS, .animations = { @@ -405,7 +405,7 @@ StaticNpc N(NpcData_Imposter)[] = { .settings = &N(NpcSettings_Duplighost), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Duplighost), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_kpa/kpa_60/kpa_60_3_main.c b/src/world/area_kpa/kpa_60/kpa_60_3_main.c index b9a805d3d7..2cd89e46cd 100644 --- a/src/world/area_kpa/kpa_60/kpa_60_3_main.c +++ b/src/world/area_kpa/kpa_60/kpa_60_3_main.c @@ -115,7 +115,7 @@ EvtScript N(EVS_EnterFromAirshipDock) = { EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SetPlayerPos, -30, 21, 590) EVT_CALL(SetNpcPos, NPC_PARTNER, -30, 21, 590) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(EnableModel, MODEL_o1616, FALSE) EVT_CALL(TranslateModel, MODEL_o1650, -10, 0, 45) EVT_THREAD @@ -126,7 +126,7 @@ EvtScript N(EVS_EnterFromAirshipDock) = { EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(3.0)) EVT_CALL(NpcMoveTo, NPC_PARTNER, 65, 600, 0) EVT_EXEC_WAIT(N(EVS_CloseAirshipDockDoor)) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(EnablePartnerAI) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN diff --git a/src/world/area_kpa/kpa_62/kpa_62_3_main.c b/src/world/area_kpa/kpa_62/kpa_62_3_main.c index e4689028da..fd86af2acd 100644 --- a/src/world/area_kpa/kpa_62/kpa_62_3_main.c +++ b/src/world/area_kpa/kpa_62/kpa_62_3_main.c @@ -115,7 +115,7 @@ EvtScript N(EVS_EnterFromAirshipDock) = { EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SetPlayerPos, -30, 21, 590) EVT_CALL(SetNpcPos, NPC_PARTNER, -30, 21, 590) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(EnableModel, MODEL_o1616, FALSE) EVT_CALL(TranslateModel, MODEL_o1650, -10, 0, 45) EVT_THREAD @@ -126,7 +126,7 @@ EvtScript N(EVS_EnterFromAirshipDock) = { EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(3.0)) EVT_CALL(NpcMoveTo, NPC_PARTNER, 65, 600, 0) EVT_EXEC_WAIT(N(EVS_CloseAirshipDockDoor)) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(EnablePartnerAI) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN diff --git a/src/world/area_kpa/kpa_63/kpa_63_4_scenes.c b/src/world/area_kpa/kpa_63/kpa_63_4_scenes.c index e78415017d..f012ad4a52 100644 --- a/src/world/area_kpa/kpa_63/kpa_63_4_scenes.c +++ b/src/world/area_kpa/kpa_63/kpa_63_4_scenes.c @@ -113,7 +113,7 @@ EvtScript N(EVS_Starship_Depart) = { EVT_CALL(DisablePlayerPhysics, TRUE) EVT_CALL(DisablePartnerAI, 0) EVT_ADD(LVar2, 10) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, 1) EVT_CALL(NpcJump0, NPC_PARTNER, LVar0, LVar1, LVar2, 15) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) @@ -139,7 +139,7 @@ EvtScript N(EVS_Starship_Depart) = { EVT_CALL(NpcJump0, NPC_PARTNER, -65, 0, 225, 13) EVT_END_IF EVT_CALL(EnableNpcShadow, NPC_PARTNER, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(EnablePartnerAI) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN diff --git a/src/world/area_kpa/kpa_81/kpa_81_3_npc.c b/src/world/area_kpa/kpa_81/kpa_81_3_npc.c index bfb8a44cb3..bf2be54029 100644 --- a/src/world/area_kpa/kpa_81/kpa_81_3_npc.c +++ b/src/world/area_kpa/kpa_81/kpa_81_3_npc.c @@ -218,7 +218,7 @@ StaticNpc N(NpcData_Door) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Door), .drops = NPC_NO_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_kpa/kpa_82/kpa_82_3_npc.c b/src/world/area_kpa/kpa_82/kpa_82_3_npc.c index 50a86f405f..4b058cd7d9 100644 --- a/src/world/area_kpa/kpa_82/kpa_82_3_npc.c +++ b/src/world/area_kpa/kpa_82/kpa_82_3_npc.c @@ -181,7 +181,7 @@ EvtScript N(EVS_SetCam_BeforeBattle) = { EVT_END }; -EvtScript N(EVS_OpenDoors) = { +EvtScript N(EVS_SetDoorRots) = { EVT_CALL(MakeLerp, 0, 60, 30, EASING_LINEAR) EVT_CALL(PlaySound, SOUND_225) EVT_LABEL(0) @@ -1093,7 +1093,7 @@ EvtScript N(EVS_NpcIdle_Door) = { EVT_SET(MF_Sync_MusicChange, TRUE) EVT_WAIT(2) EVT_CALL(SetMusicTrack, 0, SONG_NORMAL_BATTLE, 0, 8) - EVT_EXEC_WAIT(N(EVS_OpenDoors)) + EVT_EXEC_WAIT(N(EVS_SetDoorRots)) EVT_EXEC_WAIT(N(EVS_Release_Wave)) EVT_WAIT(200) EVT_THREAD @@ -1147,7 +1147,7 @@ EvtScript N(EVS_NpcIdle_Door) = { EVT_CALL(SetNpcPos, NPC_AntiGuy_03, 100, 0, 0) EVT_CALL(InterpPlayerYaw, 315, 0) EVT_CALL(InterpNpcYaw, NPC_PARTNER, 315, 0) - EVT_EXEC_WAIT(N(EVS_OpenDoors)) + EVT_EXEC_WAIT(N(EVS_SetDoorRots)) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ShyGuy_Black_Anim01, ANIM_ShyGuy_Black_Anim01, 0, MSG_CH8_0042) EVT_CALL(PlayerFaceNpc, NPC_AntiGuy_02, 5) EVT_CALL(GetPlayerPos, LVar3, LVar4, LVar5) @@ -1277,7 +1277,7 @@ StaticNpc N(NpcData_AntiGuys)[] = { .settings = &N(NpcSettings_AntiGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Door), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1308,7 +1308,7 @@ StaticNpc N(NpcData_AntiGuys)[] = { .settings = &N(NpcSettings_AntiGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_AntiGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1339,7 +1339,7 @@ StaticNpc N(NpcData_AntiGuys)[] = { .settings = &N(NpcSettings_AntiGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_AntiGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1370,7 +1370,7 @@ StaticNpc N(NpcData_AntiGuys)[] = { .settings = &N(NpcSettings_AntiGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_AntiGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1404,7 +1404,7 @@ StaticNpc N(NpcData_Goombas)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Goomba), .drops = GOOMBA_DROPS, .territory = { @@ -1426,7 +1426,7 @@ StaticNpc N(NpcData_Goombas)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Goomba), .drops = GOOMBA_DROPS, .territory = { @@ -1448,7 +1448,7 @@ StaticNpc N(NpcData_Goombas)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Goomba), .drops = GOOMBA_DROPS, .territory = { @@ -1470,7 +1470,7 @@ StaticNpc N(NpcData_Goombas)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Goomba), .drops = GOOMBA_DROPS, .territory = { @@ -1492,7 +1492,7 @@ StaticNpc N(NpcData_Goombas)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Goomba), .drops = GOOMBA_DROPS, .territory = { @@ -1517,7 +1517,7 @@ StaticNpc N(NpcData_RedShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1555,7 +1555,7 @@ StaticNpc N(NpcData_RedShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1593,7 +1593,7 @@ StaticNpc N(NpcData_RedShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1631,7 +1631,7 @@ StaticNpc N(NpcData_RedShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1669,7 +1669,7 @@ StaticNpc N(NpcData_RedShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1710,7 +1710,7 @@ StaticNpc N(NpcData_BlueShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1748,7 +1748,7 @@ StaticNpc N(NpcData_BlueShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1786,7 +1786,7 @@ StaticNpc N(NpcData_BlueShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1824,7 +1824,7 @@ StaticNpc N(NpcData_BlueShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1862,7 +1862,7 @@ StaticNpc N(NpcData_BlueShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1903,7 +1903,7 @@ StaticNpc N(NpcData_GreenShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1941,7 +1941,7 @@ StaticNpc N(NpcData_GreenShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1979,7 +1979,7 @@ StaticNpc N(NpcData_GreenShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2017,7 +2017,7 @@ StaticNpc N(NpcData_GreenShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2055,7 +2055,7 @@ StaticNpc N(NpcData_GreenShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2096,7 +2096,7 @@ StaticNpc N(NpcData_DarkTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2129,7 +2129,7 @@ StaticNpc N(NpcData_DarkTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2162,7 +2162,7 @@ StaticNpc N(NpcData_DarkTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2195,7 +2195,7 @@ StaticNpc N(NpcData_DarkTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2228,7 +2228,7 @@ StaticNpc N(NpcData_DarkTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2264,7 +2264,7 @@ StaticNpc N(NpcData_KoopaTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2297,7 +2297,7 @@ StaticNpc N(NpcData_KoopaTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2330,7 +2330,7 @@ StaticNpc N(NpcData_KoopaTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2363,7 +2363,7 @@ StaticNpc N(NpcData_KoopaTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2396,7 +2396,7 @@ StaticNpc N(NpcData_KoopaTroopas)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2432,7 +2432,7 @@ StaticNpc N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2475,7 +2475,7 @@ StaticNpc N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2518,7 +2518,7 @@ StaticNpc N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2561,7 +2561,7 @@ StaticNpc N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2604,7 +2604,7 @@ StaticNpc N(NpcData_Bobombs)[] = { .settings = &N(NpcSettings_Short), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_kpa/kpa_83/kpa_83_3_npc.c b/src/world/area_kpa/kpa_83/kpa_83_3_npc.c index d2a4b8be89..0c4daa2cee 100644 --- a/src/world/area_kpa/kpa_83/kpa_83_3_npc.c +++ b/src/world/area_kpa/kpa_83/kpa_83_3_npc.c @@ -198,7 +198,7 @@ EvtScript N(EVS_NpcIdle_Door) = { EVT_CALL(EnableNpcBlur, NPC_KoopaBrosRed, TRUE) EVT_CALL(SetNpcJumpscale, NPC_KoopaBrosRed, EVT_FLOAT(1.0)) EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosRed, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosRed, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosRed, NPC_FLAG_8, FALSE) EVT_CALL(NpcMoveTo, NPC_KoopaBrosRed, 20, 160, 20) EVT_CALL(PlaySoundAtNpc, NPC_KoopaBrosRed, SOUND_3E9, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, 20, 0, 160, 0) @@ -213,7 +213,7 @@ EvtScript N(EVS_NpcIdle_Door) = { EVT_CALL(EnableNpcBlur, NPC_KoopaBrosBlk, TRUE) EVT_CALL(SetNpcJumpscale, NPC_KoopaBrosBlk, EVT_FLOAT(1.0)) EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosBlk, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosBlk, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosBlk, NPC_FLAG_8, FALSE) EVT_CALL(NpcMoveTo, NPC_KoopaBrosBlk, 48, 185, 20) EVT_CALL(PlaySoundAtNpc, NPC_KoopaBrosBlk, SOUND_3E9, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, 48, 0, 185, 0) @@ -228,7 +228,7 @@ EvtScript N(EVS_NpcIdle_Door) = { EVT_CALL(EnableNpcBlur, NPC_KoopaBrosYlw, TRUE) EVT_CALL(SetNpcJumpscale, NPC_KoopaBrosYlw, EVT_FLOAT(1.0)) EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosYlw, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosYlw, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosYlw, NPC_FLAG_8, FALSE) EVT_CALL(NpcMoveTo, NPC_KoopaBrosYlw, 60, 110, 20) EVT_CALL(PlaySoundAtNpc, NPC_KoopaBrosYlw, SOUND_3E9, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, 60, 0, 110, 0) @@ -243,7 +243,7 @@ EvtScript N(EVS_NpcIdle_Door) = { EVT_CALL(EnableNpcBlur, NPC_KoopaBrosGrn, TRUE) EVT_CALL(SetNpcJumpscale, NPC_KoopaBrosGrn, EVT_FLOAT(1.0)) EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosGrn, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosGrn, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_KoopaBrosGrn, NPC_FLAG_8, FALSE) EVT_CALL(NpcMoveTo, NPC_KoopaBrosGrn, 88, 155, 20) EVT_CALL(PlaySoundAtNpc, NPC_KoopaBrosGrn, SOUND_3E9, 0) EVT_PLAY_EFFECT(EFFECT_LANDING_DUST, 1, 88, 0, 155, 0) @@ -516,7 +516,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaBros), .drops = KOOPA_BROS_DROPS, .animations = BLACK_KOOPA_BROS_ANIMS, @@ -527,7 +527,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaBros), .drops = KOOPA_BROS_DROPS, .animations = RED_KOOPA_BROS_ANIMS, @@ -538,7 +538,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaBros), .drops = KOOPA_BROS_DROPS, .animations = YELLOW_KOOPA_BROS_ANIMS, @@ -549,7 +549,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_KoopaBros), .drops = KOOPA_BROS_DROPS, .animations = GREEN_KOOPA_BROS_ANIMS, @@ -560,7 +560,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_JrTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_JrTroopa), .drops = NPC_NO_DROPS, .animations = { @@ -587,7 +587,7 @@ StaticNpc N(NpcData_Enemies)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_Door), .drops = NPC_NO_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_kpa/kpa_91/kpa_91_3_npc.c b/src/world/area_kpa/kpa_91/kpa_91_3_npc.c index 5b04a63c72..c90e23e354 100644 --- a/src/world/area_kpa/kpa_91/kpa_91_3_npc.c +++ b/src/world/area_kpa/kpa_91/kpa_91_3_npc.c @@ -158,7 +158,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Toad_01), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -169,7 +169,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Toad_02), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -180,7 +180,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ToadGuard), .drops = TOAD_DROPS, .animations = TOAD_GUARD_RED_ANIMS, @@ -191,7 +191,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Dryite), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Dryite), .drops = DRYITE_DROPS, .animations = DRYITE_GREEN_ANIMS, @@ -234,7 +234,7 @@ StaticNpc N(NpcData_Koopatrol) = { .settings = &N(NpcSettings_Koopatrol_Patrol), .pos = { 60.0f, 0.0f, 55.0f }, .yaw = 270, - .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Koopatrol), .drops = KOOPATROL_NO_DROPS, .territory = { diff --git a/src/world/area_kpa/kpa_95/kpa_95_4_npc.c b/src/world/area_kpa/kpa_95/kpa_95_4_npc.c index 92cb36c3b1..d473e8bfd1 100644 --- a/src/world/area_kpa/kpa_95/kpa_95_4_npc.c +++ b/src/world/area_kpa/kpa_95/kpa_95_4_npc.c @@ -159,7 +159,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Toad_01), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -170,7 +170,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Toad_02), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -181,7 +181,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ToadGuard), .drops = TOAD_DROPS, .animations = TOAD_GUARD_RED_ANIMS, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_Prisoners)[] = { .settings = &N(NpcSettings_Penguin), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Penguin), .drops = PENGUIN_DROPS, .animations = PENGUIN_ANIMS, @@ -235,7 +235,7 @@ StaticNpc N(NpcData_Koopatrol) = { .settings = &N(NpcSettings_Koopatrol_Patrol), .pos = { -70.0f, 0.0f, 55.0f }, .yaw = 270, - .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Koopatrol), .drops = NPC_NO_DROPS, .territory = { diff --git a/src/world/area_kpa/kpa_96/kpa_96_3_npc.c b/src/world/area_kpa/kpa_96/kpa_96_3_npc.c index 7252717de2..e451da56cd 100644 --- a/src/world/area_kpa/kpa_96/kpa_96_3_npc.c +++ b/src/world/area_kpa/kpa_96/kpa_96_3_npc.c @@ -145,7 +145,7 @@ StaticNpc N(NpcData_SpikedGoomba) = { .settings = &N(NpcSettings_SpikedGoomba), .pos = { -122.0f, 0.0f, 163.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_SpikedGoomba), .drops = NPC_NO_DROPS, .animations = { diff --git a/src/world/area_kzn/kzn_02/kzn_02_3_npc.c b/src/world/area_kzn/kzn_02/kzn_02_3_npc.c index cadfca28dd..e75547d064 100644 --- a/src/world/area_kzn/kzn_02/kzn_02_3_npc.c +++ b/src/world/area_kzn/kzn_02/kzn_02_3_npc.c @@ -167,7 +167,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { -740.0f, 20.0f, 0.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/area_kzn/kzn_03/kzn_03_2_npc.c b/src/world/area_kzn/kzn_03/kzn_03_2_npc.c index 2b3cd6e97f..c8b42f894e 100644 --- a/src/world/area_kzn/kzn_03/kzn_03_2_npc.c +++ b/src/world/area_kzn/kzn_03/kzn_03_2_npc.c @@ -170,7 +170,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { 392.0f, 470.0f, 218.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -181,7 +181,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_ZiplineDummy), .pos = { 392.0f, 470.0f, 218.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_ZiplineDummy), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_ZiplineDummy), .pos = { 392.0f, 470.0f, 218.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_NpcInit_ZiplineDummy), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/area_kzn/kzn_03/kzn_03_4_ziplines.c b/src/world/area_kzn/kzn_03/kzn_03_4_ziplines.c index ffb2da99d7..d70a686328 100644 --- a/src/world/area_kzn/kzn_03/kzn_03_4_ziplines.c +++ b/src/world/area_kzn/kzn_03/kzn_03_4_ziplines.c @@ -92,7 +92,7 @@ EvtScript N(EVS_RideZipline) = { EVT_WAIT(7) EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_SET(LVar0, ArrayVar(4)) EVT_SUB(LVar0, 10) EVT_SET(LVar1, ArrayVar(5)) @@ -141,7 +141,7 @@ EvtScript N(EVS_RideZipline) = { EVT_CALL(SetPlayerFlagBits, PS_FLAG_SCRIPTED_FALL, TRUE) EVT_SET(MF_RidingZipline1, FALSE) EVT_CALL(StopSound, SOUND_80000019) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(EnablePartnerAI) EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_kzn/kzn_04/kzn_04_3_npc.c b/src/world/area_kzn/kzn_04/kzn_04_3_npc.c index 5624b08807..86502ca6c5 100644 --- a/src/world/area_kzn/kzn_04/kzn_04_3_npc.c +++ b/src/world/area_kzn/kzn_04/kzn_04_3_npc.c @@ -148,7 +148,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -158,7 +158,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -168,7 +168,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -178,7 +178,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -191,7 +191,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -201,7 +201,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -211,7 +211,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -221,7 +221,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -234,7 +234,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_03), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -244,7 +244,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -254,7 +254,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -264,7 +264,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, diff --git a/src/world/area_kzn/kzn_07/kzn_07_3_entity.c b/src/world/area_kzn/kzn_07/kzn_07_3_entity.c index c80fcf3f64..639f817a22 100644 --- a/src/world/area_kzn/kzn_07/kzn_07_3_entity.c +++ b/src/world/area_kzn/kzn_07/kzn_07_3_entity.c @@ -42,8 +42,8 @@ EvtScript N(EVS_MakeEntities) = { EVT_END_IF EVT_CALL(CreatePushBlockGrid, 0, 15, 5, -62, 0, 35, 0) EVT_CALL(SetPushBlockFallEffect, 0, EVT_PTR(N(push_block_handle_fall))) - EVT_CALL(SetPushBlock, 0, 8, 1, 1) - EVT_CALL(SetPushBlock, 0, 11, 4, 1) + EVT_CALL(SetPushBlock, 0, 8, 1, PUSH_GRID_BLOCK) + EVT_CALL(SetPushBlock, 0, 11, 4, PUSH_GRID_BLOCK) EVT_RETURN EVT_END }; diff --git a/src/world/area_kzn/kzn_09/kzn_09_3_zipline.c b/src/world/area_kzn/kzn_09/kzn_09_3_zipline.c index 0999048b28..60bfc742c5 100644 --- a/src/world/area_kzn/kzn_09/kzn_09_3_zipline.c +++ b/src/world/area_kzn/kzn_09/kzn_09_3_zipline.c @@ -86,7 +86,7 @@ EvtScript N(EVS_RideZipline) = { EVT_WAIT(7) EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_100 | NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_SET(LVar0, ArrayVar(4)) EVT_SUB(LVar0, 10) EVT_SET(LVar1, ArrayVar(5)) @@ -135,7 +135,7 @@ EvtScript N(EVS_RideZipline) = { EVT_CALL(SetPlayerFlagBits, PS_FLAG_SCRIPTED_FALL, TRUE) EVT_SET(MF_Zipline_GoingDown, FALSE) EVT_CALL(StopSound, SOUND_80000019) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(EnablePartnerAI) EVT_CALL(DisablePlayerPhysics, FALSE) EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_kzn/kzn_09/kzn_09_4_npc.c b/src/world/area_kzn/kzn_09/kzn_09_4_npc.c index dc11b7e277..39fa7242da 100644 --- a/src/world/area_kzn/kzn_09/kzn_09_4_npc.c +++ b/src/world/area_kzn/kzn_09/kzn_09_4_npc.c @@ -231,7 +231,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_Kolorado_Init), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -242,7 +242,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = { .settings = &N(NpcSettings_Zipline), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000, .init = &N(EVS_Dummy_Init), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/area_kzn/kzn_11/kzn_11_3_npc.c b/src/world/area_kzn/kzn_11/kzn_11_3_npc.c index 5a9c784a7c..8bb3dd521c 100644 --- a/src/world/area_kzn/kzn_11/kzn_11_3_npc.c +++ b/src/world/area_kzn/kzn_11/kzn_11_3_npc.c @@ -149,7 +149,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -159,7 +159,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -169,7 +169,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -202,7 +202,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -212,7 +212,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -222,7 +222,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -235,7 +235,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_03), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -245,7 +245,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -255,7 +255,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -265,7 +265,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, diff --git a/src/world/area_kzn/kzn_17/kzn_17_3_npc.c b/src/world/area_kzn/kzn_17/kzn_17_3_npc.c index 5a5c64e2ec..39a27749b6 100644 --- a/src/world/area_kzn/kzn_17/kzn_17_3_npc.c +++ b/src/world/area_kzn/kzn_17/kzn_17_3_npc.c @@ -138,7 +138,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/area_kzn/kzn_18/kzn_18_2_npc.c b/src/world/area_kzn/kzn_18/kzn_18_2_npc.c index ea3faea876..43ac5e52b5 100644 --- a/src/world/area_kzn/kzn_18/kzn_18_2_npc.c +++ b/src/world/area_kzn/kzn_18/kzn_18_2_npc.c @@ -148,7 +148,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/area_kzn/kzn_19/kzn_19_4_npc.c b/src/world/area_kzn/kzn_19/kzn_19_4_npc.c index fbd06101d3..84c8e05f99 100644 --- a/src/world/area_kzn/kzn_19/kzn_19_4_npc.c +++ b/src/world/area_kzn/kzn_19/kzn_19_4_npc.c @@ -618,7 +618,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { 380.0f, 250.0f, -330.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -630,7 +630,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_400000, .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, .tattle = MSG_NpcTattle_Misstar, @@ -665,7 +665,7 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .settings = &N(NpcSettings_LavaPiranhaHead), .pos = { 400.0f, 25.0f, -30.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_LavaBud), .drops = LAVA_PIRANHA_DROPS, .animations = LAVA_PIRANHA_BUD_ANIMS, @@ -677,7 +677,7 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .settings = &N(NpcSettings_LavaPiranhaHead), .pos = { 400.0f, 25.0f, -30.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_LavaBud), .drops = LAVA_PIRANHA_DROPS, .animations = LAVA_PIRANHA_BUD_ANIMS, diff --git a/src/world/area_kzn/kzn_20/kzn_20_3_npc.c b/src/world/area_kzn/kzn_20/kzn_20_3_npc.c index 176697e50d..a621c91ae6 100644 --- a/src/world/area_kzn/kzn_20/kzn_20_3_npc.c +++ b/src/world/area_kzn/kzn_20/kzn_20_3_npc.c @@ -530,7 +530,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { -65.0f, 0.0f, 190.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -542,7 +542,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { 100.0f, 160.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Misstar), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, diff --git a/src/world/area_kzn/kzn_22/kzn_22_4_npc.c b/src/world/area_kzn/kzn_22/kzn_22_4_npc.c index 74273cf544..6ad7d46432 100644 --- a/src/world/area_kzn/kzn_22/kzn_22_4_npc.c +++ b/src/world/area_kzn/kzn_22/kzn_22_4_npc.c @@ -267,7 +267,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { 445.0f, 150.0f, 175.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -279,7 +279,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { 285.0f, 160.0f, 80.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Misstar), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, diff --git a/src/world/area_kzn/kzn_23/kzn_23_3_npc.c b/src/world/area_kzn/kzn_23/kzn_23_3_npc.c index b8a7f82808..0f287fc2a0 100644 --- a/src/world/area_kzn/kzn_23/kzn_23_3_npc.c +++ b/src/world/area_kzn/kzn_23/kzn_23_3_npc.c @@ -280,7 +280,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/area_mac/mac_00/mac_00_10_shared_npc.c b/src/world/area_mac/mac_00/mac_00_10_shared_npc.c index 9189f53f43..9b01f70c27 100644 --- a/src/world/area_mac/mac_00/mac_00_10_shared_npc.c +++ b/src/world/area_mac/mac_00/mac_00_10_shared_npc.c @@ -8,14 +8,14 @@ #define NAME_SUFFIX s32 N(LetterList_MissT)[] = { - ITEM_LETTER18, + ITEM_LETTER_CHAIN_MISS_T, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_MissT) = { EVT_CALL(N(LetterDelivery_Init_Shared), NPC_MissT, ANIM_Toadette_Orange_Talk, ANIM_Toadette_Orange_Idle, - ITEM_LETTER18, ITEM_LETTER19, + ITEM_LETTER_CHAIN_MISS_T, ITEM_LETTER_CHAIN_LITTLE_MOUSER, MSG_MAC_Gate_00FF, MSG_MAC_Gate_0100, MSG_MAC_Gate_0101, MSG_MAC_Gate_0102, EVT_PTR(N(LetterList_MissT))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery_Shared)) @@ -578,7 +578,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary_Shared), .pos = { -150.0f, 0.0f, -275.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -589,7 +589,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Wander_Shared), .pos = { 219.0f, 0.0f, -45.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_Toad_05), .drops = TOAD_DROPS, .territory = { @@ -617,7 +617,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Patrol_Shared), .pos = { -290.0f, 0.0f, -120.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_Toad_06), .drops = TOAD_DROPS, .territory = { @@ -642,7 +642,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary_Shared), .pos = { -40.0f, 0.0f, 61.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_FickleLover), .drops = TOAD_DROPS, .animations = TOAD_BLUE_ANIMS, @@ -653,7 +653,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary_Shared), .pos = { -15.0f, 0.0f, 60.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ShamelessLover), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -664,7 +664,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary_Shared), .pos = { 426.0f, 20.0f, 268.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_KrisT), .drops = TOADETTE_DROPS, .animations = TOADETTE_GREEN_ANIMS, @@ -675,7 +675,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary_Shared), .pos = { 381.0f, 20.0f, 326.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_MissT), .drops = TOADETTE_DROPS, .animations = TOADETTE_ORANGE_ANIMS, @@ -686,7 +686,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary_Shared), .pos = { 476.0f, 20.0f, 326.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_FelissaT), .drops = TOADETTE_DROPS, .animations = TOADETTE_PURPLE_ANIMS, @@ -697,7 +697,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary_Shared), .pos = { 424.0f, 20.0f, -85.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_DojoSpectator), .drops = TOAD_DROPS, .animations = TOAD_BLUE_ANIMS, @@ -708,7 +708,7 @@ StaticNpc N(NpcData_SharedTownsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary_Shared), .pos = { 373.0f, 0.0f, 22.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_DojoFan), .drops = TOAD_DROPS, .animations = TOAD_YELLOW_ANIMS, diff --git a/src/world/area_mac/mac_00/mac_00_11_intro_npc.c b/src/world/area_mac/mac_00/mac_00_11_intro_npc.c index 13e6c4f0d2..447cd6a554 100644 --- a/src/world/area_mac/mac_00/mac_00_11_intro_npc.c +++ b/src/world/area_mac/mac_00/mac_00_11_intro_npc.c @@ -40,7 +40,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Luigi_Intro), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = LUIGI_DROPS, .animations = LUIGI_ANIMS, }, @@ -49,7 +49,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Toad_Stationary_Intro), .pos = { -150.0f, 0.0f, -275.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, .tattle = MSG_NpcTattle_MAC_GateGuardian, @@ -59,7 +59,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Toad_Wander_Intro), .pos = { 219.0f, 0.0f, -45.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .drops = TOAD_DROPS, .territory = { .patrol = { @@ -86,7 +86,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Toad_Stationary_Intro), .pos = { 424.0f, 20.0f, -85.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .drops = TOAD_DROPS, .animations = TOAD_BLUE_ANIMS, .tattle = MSG_NpcTattle_MAC_DojoSpectator, @@ -96,7 +96,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Toad_Stationary_Intro), .pos = { 310.0f, 115.0f, -390.0f }, .yaw = 45, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Chan_Intro), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -114,7 +114,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Toad_Stationary_Intro), .pos = { 330.0f, 115.0f, -410.0f }, .yaw = 45, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Lee_Intro), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mac/mac_00/mac_00_13_epilogue_npc.c b/src/world/area_mac/mac_00/mac_00_13_epilogue_npc.c index 0c59c6220e..40d98ead19 100644 --- a/src/world/area_mac/mac_00/mac_00_13_epilogue_npc.c +++ b/src/world/area_mac/mac_00/mac_00_13_epilogue_npc.c @@ -151,7 +151,7 @@ StaticNpc N(NpcData_Luigi_Epilogue) = { .settings = &N(NpcSettings_Luigi_Epilogue), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = LUIGI_DROPS, .animations = LUIGI_ANIMS, .extraAnimations = N(ExtraAnims_Luigi_Epilogue), @@ -184,7 +184,7 @@ StaticNpc N(NpcData_GoombaFamilypa_Epilogue)[] = { .settings = &N(NpcSettings_GoombaFamily_Epilogue), .pos = { 70.0f, 0.0f, -30.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_Goompapa_Epilogue), .drops = GOOMPAPA_DROPS, .animations = GOOMPAPA_ANIMS, @@ -196,7 +196,7 @@ StaticNpc N(NpcData_GoombaFamilypa_Epilogue)[] = { .settings = &N(NpcSettings_GoombaFamily_Epilogue), .pos = { 40.0f, 0.0f, 20.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_Goomama_Epilogue), .drops = GOOMAMA_DROPS, .animations = GOOMAMA_ANIMS, @@ -208,7 +208,7 @@ StaticNpc N(NpcData_GoombaFamilypa_Epilogue)[] = { .settings = &N(NpcSettings_GoombaFamily_Epilogue), .pos = { 20.0f, 0.0f, -35.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_Gooma_Epilogue), .drops = GOOMA_DROPS, .animations = GOOMA_ANIMS, @@ -237,7 +237,7 @@ StaticNpc N(NpcData_ChuckQuizmo_Epilogue)[] = { .settings = &N(NpcSettings_Luigi_Epilogue), .pos = { 545.0f, 20.0f, 150.0f }, .yaw = 30, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ChuckQuizmo_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -270,7 +270,7 @@ StaticNpc N(NpcData_ChuckQuizmo_Epilogue)[] = { .settings = &N(NpcSettings_Toad_Stationary_Epilogue), .pos = { 500.0f, 20.0f, -130.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_VannaT_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -327,7 +327,7 @@ StaticNpc N(NpcData_DojoMembers_Epilogue)[] = { .settings = &N(NpcSettings_Luigi_Epilogue), .pos = { 375.0f, 115.0f, -440.0f }, .yaw = 225, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_TheMaster_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -360,7 +360,7 @@ StaticNpc N(NpcData_DojoMembers_Epilogue)[] = { .settings = &N(NpcSettings_Luigi_Epilogue), .pos = { 310.0f, 115.0f, -390.0f }, .yaw = 45, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_Chan_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -378,7 +378,7 @@ StaticNpc N(NpcData_DojoMembers_Epilogue)[] = { .settings = &N(NpcSettings_Luigi_Epilogue), .pos = { 330.0f, 115.0f, -410.0f }, .yaw = 45, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_Lee_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -406,7 +406,7 @@ StaticNpc N(NpcData_Toad_01_Epilogue)[] = { .settings = &N(NpcSettings_Toad_Stationary_Epilogue), .pos = { 430.0f, 20.0f, -373.0f }, .yaw = 223, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Toad_01_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -428,7 +428,7 @@ StaticNpc N(NpcData_Toad_01_Epilogue)[] = { .settings = &N(NpcSettings_Toad_Stationary_Epilogue), .pos = { 410.0f, 20.0f, -320.0f }, .yaw = 43, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_HarryT_Epilogue), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mac/mac_00/mac_00_4_rooms.c b/src/world/area_mac/mac_00/mac_00_4_rooms.c index 4261622f57..c7241e8886 100644 --- a/src/world/area_mac/mac_00/mac_00_4_rooms.c +++ b/src/world/area_mac/mac_00/mac_00_4_rooms.c @@ -6,7 +6,7 @@ EvtScript N(EVS_SetDoorRot_RussHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_RussHouse) = { +EvtScript N(EVS_SetWallRot_RussHouse) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(-2.0)) EVT_CALL(RotateModel, MODEL_o201, LVar1, 0, 1, 0) @@ -37,12 +37,12 @@ EvtScript N(EVS_DropDoor_RussHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_RussHouse) = { +EvtScript N(EVS_RoomListener_RussHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_intel_inn, 1) EVT_SET(MF_MusicMixTrigger1, TRUE) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_intel_inn, 0) EVT_SET(MF_MusicMixTrigger1, FALSE) EVT_END_SWITCH @@ -56,7 +56,7 @@ EvtScript N(EVS_SetDoorRot_Shop) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Shop) = { +EvtScript N(EVS_SetWallRot_Shop) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_o370, LVar1, 1, 0, 0) EVT_CALL(RotateModel, MODEL_o371, LVar1, 1, 0, 0) @@ -71,13 +71,14 @@ EvtScript N(EVS_MoveWalls_Shop) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Shop) = { +EvtScript N(EVS_RoomListener_Shop) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_shop_in, 1) EVT_CALL(EnableModel, MODEL_o375, FALSE) - EVT_CASE_EQ(2) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_shop_in, 0) EVT_CALL(EnableModel, MODEL_o375, TRUE) EVT_END_SWITCH @@ -91,7 +92,7 @@ EvtScript N(EVS_SetDoorRot_Dojo) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Dojo) = { +EvtScript N(EVS_SetWallRot_Dojo) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(2.0)) EVT_CALL(RotateModel, MODEL_o159, LVar1, 0, 1, 0) @@ -108,12 +109,12 @@ EvtScript N(EVS_DropDoor_Dojo) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Dojo) = { +EvtScript N(EVS_RoomListener_Dojo) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_minka_inn, 1) EVT_SET(MF_MusicMixTrigger2, TRUE) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_minka_inn, 0) EVT_CALL(EnableMusicProximityMix, 0) EVT_SET(MF_MusicMixTrigger2, FALSE) @@ -128,7 +129,7 @@ EvtScript N(EVS_SetDoorRot_Waterfront) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Waterfront) = { +EvtScript N(EVS_SetWallRot_Waterfront) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_o437, LVar1, 1, 0, 0) EVT_CALL(RotateModel, MODEL_o453, LVar1, 1, 0, 0) @@ -143,9 +144,9 @@ EvtScript N(EVS_MoveWalls_Waterfront) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Waterfront) = { +EvtScript N(EVS_RoomListener_Waterfront) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SWITCH(GB_StoryProgress) EVT_CASE_RANGE(STORY_CH3_STAR_SPRIT_DEPARTED, STORY_CH4_BEGAN_PEACH_MISSION) EVT_EXEC(N(EVS_WaterfrontHouse_DoorLocked)) @@ -153,7 +154,7 @@ EvtScript N(EVS_ToggleVis_Waterfront) = { EVT_CASE_DEFAULT EVT_CALL(SetGroupEnabled, MODEL_minka2_inn, 1) EVT_END_SWITCH - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_minka2_inn, 0) EVT_END_SWITCH EVT_RETURN @@ -189,52 +190,52 @@ s32 N(InteriorNPCs_WaterfrontHouse)[] = { EvtScript N(EVS_SetupRooms) = { // RussT's house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_RussHouse)), - EVT_PTR(N(EVS_MoveWalls_RussHouse)), + EVT_PTR(N(EVS_SetWallRot_RussHouse)), EVT_PTR(N(EVS_DropDoor_RussHouse)), - EVT_PTR(N(EVS_ToggleVis_RussHouse)), + EVT_PTR(N(EVS_RoomListener_RussHouse)), COLLIDER_deilit3, COLLIDER_deilit3u, MODEL_intel_house, EVT_PTR(N(InteriorNPCs_RussHouse))) // harry's shop - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_1, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_1, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Shop)), - EVT_PTR(N(EVS_MoveWalls_Shop)), + EVT_PTR(N(EVS_SetWallRot_Shop)), NULL, - EVT_PTR(N(EVS_ToggleVis_Shop)), + EVT_PTR(N(EVS_RoomListener_Shop)), COLLIDER_deilit5, COLLIDER_deilit5u, MODEL_omise, EVT_PTR(N(InteriorNPCs_Shop))) // the dojo - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Dojo)), - EVT_PTR(N(EVS_MoveWalls_Dojo)), + EVT_PTR(N(EVS_SetWallRot_Dojo)), EVT_PTR(N(EVS_DropDoor_Dojo)), - EVT_PTR(N(EVS_ToggleVis_Dojo)), + EVT_PTR(N(EVS_RoomListener_Dojo)), COLLIDER_deilit6, COLLIDER_deilit6u, MODEL_minka_1, EVT_PTR(N(InteriorNPCs_Dojo))) // the waterfront house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Waterfront)), - EVT_PTR(N(EVS_MoveWalls_Waterfront)), + EVT_PTR(N(EVS_SetWallRot_Waterfront)), NULL, - EVT_PTR(N(EVS_ToggleVis_Waterfront)), + EVT_PTR(N(EVS_RoomListener_Waterfront)), COLLIDER_deilit4, COLLIDER_deilit4u, MODEL_minka2, EVT_PTR(N(InteriorNPCs_WaterfrontHouse))) // initial visibility EVT_SET(LVar0, VIS_GROUP_3) - EVT_EXEC(N(EVS_ToggleVis_RussHouse)) - EVT_EXEC(N(EVS_ToggleVis_Waterfront)) - EVT_EXEC(N(EVS_ToggleVis_Shop)) - EVT_EXEC(N(EVS_ToggleVis_Dojo)) + EVT_EXEC(N(EVS_RoomListener_RussHouse)) + EVT_EXEC(N(EVS_RoomListener_Waterfront)) + EVT_EXEC(N(EVS_RoomListener_Shop)) + EVT_EXEC(N(EVS_RoomListener_Dojo)) EVT_RETURN EVT_END }; diff --git a/src/world/area_mac/mac_00/mac_00_5_npc.c b/src/world/area_mac/mac_00/mac_00_5_npc.c index 215de43db8..67e0e4294e 100644 --- a/src/world/area_mac/mac_00/mac_00_5_npc.c +++ b/src/world/area_mac/mac_00/mac_00_5_npc.c @@ -190,7 +190,7 @@ StaticNpc N(NpcData_ShyGuy_01)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ShyGuyThief), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -200,7 +200,7 @@ StaticNpc N(NpcData_ShyGuy_01)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ShyGuy_02), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -211,7 +211,7 @@ StaticNpc N(NpcData_ShyGuy_01)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH, .init = &N(EVS_NpcInit_GardenShyGuy1), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -224,7 +224,7 @@ StaticNpc N(NpcData_RussT) = { .settings = &N(NpcSettings_RussT), .pos = { -66.0f, 20.0f, -532.0f }, .yaw = 119, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_RussT), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -258,7 +258,7 @@ StaticNpc N(NpcData_Toad_01)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 430.0f, 20.0f, -373.0f }, .yaw = 223, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Toad_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -279,7 +279,7 @@ StaticNpc N(NpcData_Toad_01)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 223, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Toad_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -327,7 +327,7 @@ StaticNpc N(NpcData_Toad_03)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 375.0f, 115.0f, -440.0f }, .yaw = 225, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_TheMaster), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -360,7 +360,7 @@ StaticNpc N(NpcData_Toad_03)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 310.0f, 115.0f, -390.0f }, .yaw = 45, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Chan), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -378,7 +378,7 @@ StaticNpc N(NpcData_Toad_03)[] = { .settings = &N(NpcSettings_Dummy), .pos = { 330.0f, 115.0f, -410.0f }, .yaw = 45, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Lee), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -398,7 +398,7 @@ StaticNpc N(NpcData_Quizmo_Unused) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { 545.0f, 20.0f, 150.0f }, .yaw = 30, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_MAC, QUIZ_COUNT_MAC, QUIZ_MAP_MAC_00 }}, .drops = QUIZMO_DROPS, @@ -412,7 +412,7 @@ StaticNpc N(NpcData_Waterfront_Family)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -496.0f, 20.0f, 218.0f }, .yaw = 133, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_WaterfrontDad), .drops = TOAD_DROPS, .animations = TOAD_GREEN_ANIMS, @@ -423,7 +423,7 @@ StaticNpc N(NpcData_Waterfront_Family)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -566.0f, 20.0f, 267.0f }, .yaw = 133, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_WaterfrontMom), .drops = TOADETTE_DROPS, .animations = TOADETTE_ORANGE_ANIMS, @@ -434,7 +434,7 @@ StaticNpc N(NpcData_Waterfront_Family)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -508.0f, 20.0f, 324.0f }, .yaw = 313, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_WaterfrontKid1), .drops = TOAD_KID_DROPS, .animations = TOAD_KID_GREEN_ANIMS, @@ -445,7 +445,7 @@ StaticNpc N(NpcData_Waterfront_Family)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -480.0f, 20.0f, 329.0f }, .yaw = 313, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_WaterfrontKid2), .drops = TOAD_KID_DROPS, .animations = TOAD_KID_GREEN_ANIMS, @@ -458,7 +458,7 @@ StaticNpc N(NpcData_PrizeToad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -112.0f, 0.0f, -62.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_TradingToad), .drops = TOAD_DROPS, .animations = { diff --git a/src/world/area_mac/mac_00/npc/dojo_members.inc.c b/src/world/area_mac/mac_00/npc/dojo_members.inc.c index 959dff0881..f5568f6a10 100644 --- a/src/world/area_mac/mac_00/npc/dojo_members.inc.c +++ b/src/world/area_mac/mac_00/npc/dojo_members.inc.c @@ -229,7 +229,7 @@ EvtScript N(EVS_NpcIdle_TheMaster) = { EVT_CALL(RemoveKeyItemAt, LVar1) EVT_END_IF EVT_SET(LVar1, 1) - EVT_EXEC_WAIT(N(GiveKeyReward)) + EVT_EXEC_WAIT(N(GiveItemReward)) EVT_CALL(AddKeyItem, LVar0) EVT_IF_LT(GB_MAC00_DojoRank, 5) EVT_CALL(SpeakToPlayer, NPC_TheMaster, ANIM_TheMaster_Talk, ANIM_TheMaster_Idle, 0, MSG_MAC_Gate_0041) diff --git a/src/world/area_mac/mac_00/npc/russ_and_thief.inc.c b/src/world/area_mac/mac_00/npc/russ_and_thief.inc.c index 199be4bd68..814b916b1f 100644 --- a/src/world/area_mac/mac_00/npc/russ_and_thief.inc.c +++ b/src/world/area_mac/mac_00/npc/russ_and_thief.inc.c @@ -1,12 +1,12 @@ s32 N(LetterList_RussT)[] = { - ITEM_LETTER04, + ITEM_LETTER_TO_RUSS_T, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_RussT) = { EVT_CALL(N(LetterDelivery_Init), NPC_RussT, ANIM_RussT_Talk, ANIM_RussT_Idle, - ITEM_LETTER04, ITEM_NONE, + ITEM_LETTER_TO_RUSS_T, ITEM_NONE, MSG_MAC_Gate_0011, MSG_MAC_Gate_0012, MSG_MAC_Gate_0013, MSG_MAC_Gate_0014, EVT_PTR(N(LetterList_RussT))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -378,5 +378,5 @@ NpcSettings N(NpcSettings_RussT) = { .height = 30, .radius = 24, .level = 99, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; diff --git a/src/world/area_mac/mac_01/mac_01_10_intro_npc.c b/src/world/area_mac/mac_01/mac_01_10_intro_npc.c index 8506e76e68..a45535bfde 100644 --- a/src/world/area_mac/mac_01/mac_01_10_intro_npc.c +++ b/src/world/area_mac/mac_01/mac_01_10_intro_npc.c @@ -12,7 +12,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Luigi_Intro), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = LUIGI_DROPS, .animations = LUIGI_ANIMS, }, @@ -21,7 +21,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Toad_Stationary_Intro), .pos = { -94.0f, 0.0f, -117.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, .tattle = MSG_NpcTattle_MAC_RunsHisMouth, @@ -31,7 +31,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Toad_Stationary_Intro), .pos = { 40.0f, 0.0f, -300.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = TOAD_DROPS, .territory = { .patrol = { @@ -55,7 +55,7 @@ StaticNpc N(NpcData_IntroNPCs)[] = { .settings = &N(NpcSettings_Toad_Stationary_Intro), .pos = { -380.0f, 20.0f, -100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = TOAD_DROPS, .animations = TOAD_GREEN_ANIMS, .tattle = MSG_NpcTattle_MAC_SeeksTheSouth, diff --git a/src/world/area_mac/mac_01/mac_01_11_epilogue_npc.c b/src/world/area_mac/mac_01/mac_01_11_epilogue_npc.c index 7744438bb1..d48e0c84f8 100644 --- a/src/world/area_mac/mac_01/mac_01_11_epilogue_npc.c +++ b/src/world/area_mac/mac_01/mac_01_11_epilogue_npc.c @@ -201,7 +201,7 @@ StaticNpc N(NpcData_Koopas)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { 60.0f, 0.0f, -120.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -212,7 +212,7 @@ StaticNpc N(NpcData_Koopas)[] = { .settings = &N(NpcSettings_KoloradoWife), .pos = { 100.0f, 0.0f, -110.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_KoloradoWife), .drops = KOLORADO_WIFE_DROPS, .animations = KOLORADO_WIFE_ANIMS, @@ -223,7 +223,7 @@ StaticNpc N(NpcData_Koopas)[] = { .settings = &N(NpcSettings_KoopaKoot), .pos = { -330.0f, 0.0f, 330.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_KoopaKoot), .drops = KOOPA_KOOT_DROPS, .animations = KOOPA_KOOT_ANIMS, @@ -234,7 +234,7 @@ StaticNpc N(NpcData_Koopas)[] = { .settings = &N(NpcSettings_Koopa), .pos = { 300.0f, 20.0f, -100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Koopa), .drops = KOOPA_DROPS, .animations = KOOPA_ANIMS, @@ -245,10 +245,10 @@ StaticNpc N(NpcData_Koopas)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { 252.0f, 20.0f, -100.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bobomb), .drops = BOBOMB_DROPS, - .animations = BOBOMB_ANIMS, + .animations = BOBOMB_BLUE_ANIMS, .extraAnimations = N(ExtraAnims_Bobomb), }, }; @@ -266,7 +266,7 @@ StaticNpc N(NpcData_RowfAndRhuff)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -213.0f, -54.0f, 256.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Rowf), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -284,7 +284,7 @@ StaticNpc N(NpcData_RowfAndRhuff)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -250.0f, 0.0f, 263.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Rhuff), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -312,7 +312,7 @@ StaticNpc N(NpcData_Dryites)[] = { .settings = &N(NpcSettings_Dryite), .pos = { -10.0f, 0.0f, 360.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Dryite_01), .drops = DRYITE_DROPS, .animations = DRYITE_GREEN_ANIMS, @@ -323,7 +323,7 @@ StaticNpc N(NpcData_Dryites)[] = { .settings = &N(NpcSettings_Dryite), .pos = { 25.0f, 0.0f, 300.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Dryite_02), .drops = DRYITE_DROPS, .animations = DRYITE_GREEN_ANIMS, @@ -352,7 +352,7 @@ StaticNpc N(NpcData_Artists)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 260.0f, 20.0f, 560.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Chanterelle), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -385,7 +385,7 @@ StaticNpc N(NpcData_Artists)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 230.0f, 20.0f, 500.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Poet), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -418,7 +418,7 @@ StaticNpc N(NpcData_Artists)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 300.0f, 20.0f, 500.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Composer), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mac/mac_01/mac_01_2_main.c b/src/world/area_mac/mac_01/mac_01_2_main.c index 3c6d8801b2..abf820081f 100644 --- a/src/world/area_mac/mac_01/mac_01_2_main.c +++ b/src/world/area_mac/mac_01/mac_01_2_main.c @@ -158,7 +158,7 @@ EvtScript N(EVS_Main) = { EVT_EXEC(N(EVS_SetupCrystalBallGfx)) EVT_EXEC(N(EVS_SetupMusic)) EVT_CALL(UseDoorSounds, DOOR_SOUNDS_LARGE) - EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_BASIC) + EVT_CALL(UseRoomDoorSounds, DOOR_SOUNDS_BASIC) EVT_EXEC(N(EVS_EnterMap)) EVT_WAIT(1) EVT_CALL(EnableTexPanning, MODEL_hikari, TRUE) diff --git a/src/world/area_mac/mac_01/mac_01_4_rooms.c b/src/world/area_mac/mac_01/mac_01_4_rooms.c index 9042473b52..63dfd3c090 100644 --- a/src/world/area_mac/mac_01/mac_01_4_rooms.c +++ b/src/world/area_mac/mac_01/mac_01_4_rooms.c @@ -29,7 +29,7 @@ s16 N(Models_PostOfficeWalls_Unused)[] = { MODEL_k13, }; -EvtScript N(EVS_MoveWalls_PostOffice) = { +EvtScript N(EVS_SetWallRot_PostOffice) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_k11, LVar1, 1, 0, 0) EVT_CALL(RotateModel, MODEL_k12, LVar1, 1, 0, 0) @@ -62,12 +62,12 @@ EvtScript N(EVS_DropDoor_PostOffice) = { EVT_END }; -EvtScript N(EVS_ToggleVis_PostOffice) = { +EvtScript N(EVS_RoomListener_PostOffice) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_yubin_in, 1) EVT_EXEC_WAIT(N(EVS_Scene_MailbagTheft)) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_yubin_in, 0) EVT_END_SWITCH EVT_RETURN @@ -90,7 +90,7 @@ s16 N(Models_ToadHouseWalls_Unused)[] = { MODEL_kk11, }; -EvtScript N(EVS_MoveWalls_ToadHouse) = { +EvtScript N(EVS_SetWallRot_ToadHouse) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(1.0)) EVT_CALL(RotateModel, MODEL_kk11, LVar1, 1, 0, 0) @@ -110,12 +110,12 @@ EvtScript N(EVS_MoveWalls_ToadHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_ToadHouse) = { +EvtScript N(EVS_RoomListener_ToadHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_kino_in, 1) EVT_SET(MF_InsideToadHouse, TRUE) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_kino_in, 0) EVT_SET(MF_InsideToadHouse, FALSE) EVT_END_SWITCH @@ -129,7 +129,7 @@ EvtScript N(EVS_SetDoorRot_MerlonHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_MerlonHouse) = { +EvtScript N(EVS_SetWallRot_MerlonHouse) = { EVT_SET(LVar1, LVar0) EVT_MUL(LVar1, 2) EVT_CALL(RotateGroup, MODEL_off_kabe, LVar1, 0, 1, 0) @@ -137,9 +137,9 @@ EvtScript N(EVS_MoveWalls_MerlonHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_MerlonHouse) = { +EvtScript N(EVS_RoomListener_MerlonHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SWITCH(GB_StoryProgress) EVT_CASE_LT(STORY_CH1_SPOKE_WITH_MERLIN) EVT_EXEC_WAIT(N(EVS_MerlonShooAway)) @@ -163,9 +163,11 @@ EvtScript N(EVS_ToggleVis_MerlonHouse) = { EVT_END_SWITCH EVT_CALL(SetGroupEnabled, MODEL_dr_in, 1) EVT_SET(MF_MusicMixTrigger1, TRUE) - EVT_CASE_EQ(1) - EVT_CASE_EQ(2) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_dr_in, 0) EVT_SET(MF_MusicMixTrigger1, FALSE) EVT_END_SWITCH @@ -210,44 +212,44 @@ s32 N(InsideNPCs_MerlonHouse)[] = { EvtScript N(EVS_SetupRooms) = { // post office - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_PostOffice)), - EVT_PTR(N(EVS_MoveWalls_PostOffice)), + EVT_PTR(N(EVS_SetWallRot_PostOffice)), EVT_PTR(N(EVS_DropDoor_PostOffice)), - EVT_PTR(N(EVS_ToggleVis_PostOffice)), + EVT_PTR(N(EVS_RoomListener_PostOffice)), COLLIDER_deilit1, COLLIDER_deilit1u, MODEL_post_office, EVT_PTR(N(InsideNPCs_PostOffice))) // toad house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_ToadHouse)), - EVT_PTR(N(EVS_MoveWalls_ToadHouse)), + EVT_PTR(N(EVS_SetWallRot_ToadHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_ToadHouse)), + EVT_PTR(N(EVS_RoomListener_ToadHouse)), COLLIDER_deilit2, COLLIDER_deilit2u, MODEL_kinopi, EVT_PTR(N(InsideNPCs_ToadHouse))) // merlon's house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_MerlonHouse)), - EVT_PTR(N(EVS_MoveWalls_MerlonHouse)), + EVT_PTR(N(EVS_SetWallRot_MerlonHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_MerlonHouse)), + EVT_PTR(N(EVS_RoomListener_MerlonHouse)), COLLIDER_deilitd, COLLIDER_deilitud, MODEL_de_aru, EVT_PTR(N(InsideNPCs_MerlonHouse))) // initial visibility EVT_EXEC(N(EVS_SpinRoof)) - EVT_SET(LVar0, VIS_GROUP_3) - EVT_EXEC(N(EVS_ToggleVis_PostOffice)) - EVT_EXEC(N(EVS_ToggleVis_ToadHouse)) - EVT_EXEC(N(EVS_ToggleVis_MerlonHouse)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_PostOffice)) + EVT_EXEC(N(EVS_RoomListener_ToadHouse)) + EVT_EXEC(N(EVS_RoomListener_MerlonHouse)) EVT_RETURN EVT_END }; diff --git a/src/world/area_mac/mac_01/mac_01_7_bulletin.c b/src/world/area_mac/mac_01/mac_01_7_bulletin.c index 124fc1ee57..ef6a0cc267 100644 --- a/src/world/area_mac/mac_01/mac_01_7_bulletin.c +++ b/src/world/area_mac/mac_01/mac_01_7_bulletin.c @@ -1,7 +1,7 @@ #include "mac_01.h" EvtScript N(EVS_UpdateBulletinKootFavor) = { - EVT_IF_NE(GB_KootFavor_Current, 9) + EVT_IF_NE(GB_KootFavor_Current, KOOT_FAVOR_CH4_2) EVT_RETURN EVT_END_IF EVT_SET(LVar1, GF_MAC01_KootFavor_ReadNewsBulletin) diff --git a/src/world/area_mac/mac_01/mac_01_9_npc.c b/src/world/area_mac/mac_01/mac_01_9_npc.c index 360a4e4f14..8c37ac6961 100644 --- a/src/world/area_mac/mac_01/mac_01_9_npc.c +++ b/src/world/area_mac/mac_01/mac_01_9_npc.c @@ -44,14 +44,14 @@ MAP_STATIC_PAD(1,key_choice); #include "world/common/todo/GetPlayerCoins.inc.c" s32 N(LetterList_Merlon)[] = { - ITEM_LETTER01, + ITEM_LETTER_TO_MERLON, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_Merlon) = { EVT_CALL(N(LetterDelivery_Init), NPC_Merlon, ANIM_Merlon_Talk, ANIM_Merlon_Idle, - ITEM_LETTER01, ITEM_NONE, + ITEM_LETTER_TO_MERLON, ITEM_NONE, MSG_MAC_Plaza_0043, MSG_MAC_Plaza_0044, MSG_MAC_Plaza_0045, MSG_MAC_Plaza_0046, EVT_PTR(N(LetterList_Merlon))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -1051,7 +1051,7 @@ StaticNpc N(NpcData_Merlon) = { .settings = &N(NpcSettings_Merlon), .pos = { -337.0f, 20.0f, -360.0f }, .yaw = 30, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Merlon), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1070,7 +1070,7 @@ StaticNpc N(NpcData_DarkToads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 505.0f, 0.0f, 5.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_DarkToad_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1087,7 +1087,7 @@ StaticNpc N(NpcData_DarkToads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 530.0f, 0.0f, -35.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_DarkToad_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1104,7 +1104,7 @@ StaticNpc N(NpcData_DarkToads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 540.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_DarkToad_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1121,7 +1121,7 @@ StaticNpc N(NpcData_DarkToads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 550.0f, 0.0f, 35.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_DarkToad_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1149,7 +1149,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -1180,7 +1180,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -1211,7 +1211,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -1242,7 +1242,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -1275,7 +1275,7 @@ StaticNpc N(NpcData_Ninji) = { .settings = &N(NpcSettings_Ninji), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_10000000, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_10000000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -2123,7 +2123,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -94.0f, 0.0f, -117.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -2135,7 +2135,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { -145.0f, 0.0f, -25.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_05), .drops = TOAD_DROPS, .territory = { @@ -2159,7 +2159,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Patrol), .pos = { 40.0f, 0.0f, -300.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_06), .drops = TOAD_DROPS, .territory = { @@ -2185,7 +2185,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Patrol), .pos = { -440.0f, 0.0f, -20.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_07), .drops = TOAD_DROPS, .territory = { @@ -2211,7 +2211,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Patrol), .pos = { 400.0f, 20.0f, 260.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_08), .drops = TOAD_DROPS, .territory = { @@ -2237,7 +2237,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -380.0f, 20.0f, -100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_09), .drops = TOAD_DROPS, .animations = TOAD_GREEN_ANIMS, @@ -2249,7 +2249,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 488.0f, 20.0f, -174.0f }, .yaw = 30, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadHouseKeeper), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -2261,7 +2261,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Bubulb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb), .drops = BUBULB_DROPS, .animations = BUBULB_PINK_ANIMS, @@ -2273,7 +2273,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 150.0f, 20.0f, 485.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_MinhT), .drops = TOAD_DROPS, .animations = { @@ -2286,7 +2286,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 312.0f, 30.0f, -438.0f }, .yaw = 300, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000, .init = &N(EVS_NpcInit_Postmaster), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2305,7 +2305,7 @@ StaticNpc N(NpcData_Parakarry) = { .settings = &N(NpcSettings_Parakarry), .pos = { 145.0f, 20.0f, -472.0f }, .yaw = 120, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Parakarry), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2346,7 +2346,7 @@ StaticNpc N(NpcData_Twink) = { .settings = &N(NpcSettings_Twink), .pos = { -350.0f, 20.0f, -100.0f }, .yaw = 274, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Twink), .drops = TWINK_DROPS, .animations = TWINK_ANIMS, @@ -2359,7 +2359,7 @@ StaticNpc N(NpcData_ShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_01), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -2369,7 +2369,7 @@ StaticNpc N(NpcData_ShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, .init = &N(EVS_NpcInit_ShyGuy_02), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -2379,7 +2379,7 @@ StaticNpc N(NpcData_ShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, .init = &N(EVS_NpcInit_GardenShyGuy1), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -2389,7 +2389,7 @@ StaticNpc N(NpcData_ShyGuys)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, .init = &N(EVS_NpcInit_GardenShyGuy2), .drops = SHY_GUY_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -2408,7 +2408,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { 520.0f, 0.0f, -25.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -2421,7 +2421,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { -440.0f, 20.0f, -140.0f }, .yaw = 30, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_MAC, QUIZ_COUNT_MAC, QUIZ_MAP_MAC_01 }}, .drops = QUIZMO_DROPS, diff --git a/src/world/area_mac/mac_01/npc/rowf_and_rhuff.inc.c b/src/world/area_mac/mac_01/npc/rowf_and_rhuff.inc.c index 4c3879096e..48006eb5e0 100644 --- a/src/world/area_mac/mac_01/npc/rowf_and_rhuff.inc.c +++ b/src/world/area_mac/mac_01/npc/rowf_and_rhuff.inc.c @@ -175,7 +175,7 @@ EvtScript N(EVS_NpcInteract_Rowf_C) = { EVT_WAIT(10) EVT_SET(LVar0, ITEM_I_SPY) EVT_SET(LVar3, 2) - EVT_EXEC_WAIT(N(GiveKeyReward)) + EVT_EXEC_WAIT(N(GiveItemReward)) EVT_CALL(AddBadge, LVar0, LVar1) EVT_SET(GF_MAC01_CalculatorReturned, TRUE) EVT_WAIT(10) @@ -709,13 +709,13 @@ s32 N(ExtraAnims_Rowf)[] = { NpcSettings N(NpcSettings_Rowf) = { .height = 36, .radius = 24, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_Rhuff) = { .height = 27, .radius = 18, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; StaticNpc N(NpcData_RowfAndRhuff)[] = { @@ -724,7 +724,7 @@ StaticNpc N(NpcData_RowfAndRhuff)[] = { .settings = &N(NpcSettings_Rowf), .pos = { -213.0f, -54.0f, 256.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Rowf), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -742,7 +742,7 @@ StaticNpc N(NpcData_RowfAndRhuff)[] = { .settings = &N(NpcSettings_Rhuff), .pos = { -250.0f, 0.0f, 263.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Rhuff), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mac/mac_02/mac_02_3_rooms.c b/src/world/area_mac/mac_02/mac_02_3_rooms.c index 4e97db02cf..d209398020 100644 --- a/src/world/area_mac/mac_02/mac_02_3_rooms.c +++ b/src/world/area_mac/mac_02/mac_02_3_rooms.c @@ -15,7 +15,7 @@ API_CALLABLE(N(InitEntryFromTunnels)) { npc = get_npc_by_index(i); if (npc != NULL) { if (npc->flags != 0 && npc->npcID != NPC_PARTNER) { - npc->flags |= NPC_FLAG_NO_DROPS; + npc->flags |= NPC_FLAG_HIDING; } } } @@ -30,7 +30,7 @@ EvtScript N(EVS_SetDoorRot_TayceT) = { EVT_END }; -EvtScript N(EVS_MoveWalls_TayceT) = { +EvtScript N(EVS_SetWallRot_TayceT) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_ck1, LVar1, 1, 0, 0) EVT_CALL(RotateModel, MODEL_ck2, LVar1, 1, 0, 0) @@ -42,12 +42,12 @@ EvtScript N(EVS_MoveWalls_TayceT) = { EVT_END }; -EvtScript N(EVS_ToggleVis_TayceT) = { +EvtScript N(EVS_RoomListener_TayceT) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(SetGroupEnabled, MODEL_cook_in, 1) EVT_SET(MF_MusicMixTrigger1, TRUE) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_cook_in, 0) EVT_SET(MF_MusicMixTrigger1, FALSE) EVT_END_SWITCH @@ -61,7 +61,7 @@ EvtScript N(EVS_SetDoorRot_BlueHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_BlueHouse) = { +EvtScript N(EVS_SetWallRot_BlueHouse) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_sk1, LVar1, 0, 0, 1) EVT_CALL(RotateModel, MODEL_sk2, LVar1, 0, 0, 1) @@ -69,21 +69,21 @@ EvtScript N(EVS_MoveWalls_BlueHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_BlueHouse) = { +EvtScript N(EVS_RoomListener_BlueHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_IF_EQ(GF_MAC02_UnlockedHouse, FALSE) EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_Inspect_LockedFromInside, 160, 40) EVT_SET(LVar0, -1) EVT_RETURN EVT_END_IF EVT_CALL(SetGroupEnabled, MODEL_souko_in, 1) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_IF_EQ(GF_MAC02_UnlockedHouse, FALSE) EVT_SET(LVar0, -1) EVT_RETURN EVT_END_IF - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(SetGroupEnabled, MODEL_souko_in, 0) EVT_END_SWITCH EVT_RETURN @@ -101,23 +101,23 @@ s32 N(InsideNPCs_BlueHouse)[] = { EvtScript N(EVS_SetupRooms) = { // tayce T's house on the right - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_TayceT)), - EVT_PTR(N(EVS_MoveWalls_TayceT)), + EVT_PTR(N(EVS_SetWallRot_TayceT)), NULL, - EVT_PTR(N(EVS_ToggleVis_TayceT)), + EVT_PTR(N(EVS_RoomListener_TayceT)), COLLIDER_deilit1u, COLLIDER_deilit1, MODEL_cooking, EVT_PTR(N(InsideNPCs_TayceT))) // blue house on the left - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_BlueHouse)), - EVT_PTR(N(EVS_MoveWalls_BlueHouse)), + EVT_PTR(N(EVS_SetWallRot_BlueHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_BlueHouse)), + EVT_PTR(N(EVS_RoomListener_BlueHouse)), COLLIDER_deilit2, COLLIDER_deilit2u, MODEL_souko, @@ -125,16 +125,16 @@ EvtScript N(EVS_SetupRooms) = { EVT_CALL(GetEntryID, LVar0) EVT_IF_EQ(LVar0, mac_02_ENTRY_5) EVT_SET(LVar0, 3) - EVT_EXEC(N(EVS_ToggleVis_TayceT)) + EVT_EXEC(N(EVS_RoomListener_TayceT)) EVT_CALL(SetGroupEnabled, MODEL_souko_in, 1) EVT_CALL(N(InitEntryFromTunnels)) EVT_SET(LVar0, 90) EVT_CALL(RotateModel, MODEL_sk1, LVar0, 0, 0, 1) EVT_CALL(RotateModel, MODEL_sk2, LVar0, 0, 0, 1) EVT_ELSE - EVT_SET(LVar0, 3) - EVT_EXEC(N(EVS_ToggleVis_TayceT)) - EVT_EXEC(N(EVS_ToggleVis_BlueHouse)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_TayceT)) + EVT_EXEC(N(EVS_RoomListener_BlueHouse)) EVT_END_IF EVT_RETURN EVT_END diff --git a/src/world/area_mac/mac_02/mac_02_6_npc.c b/src/world/area_mac/mac_02/mac_02_6_npc.c index 7691068c8d..ffefda83be 100644 --- a/src/world/area_mac/mac_02/mac_02_6_npc.c +++ b/src/world/area_mac/mac_02/mac_02_6_npc.c @@ -58,7 +58,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -217.0f, 20.0f, -434.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_TayceT), .drops = TOAD_DROPS, .animations = { @@ -72,7 +72,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 389.0f, 0.0f, -90.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_FiceT), .drops = TOAD_DROPS, .animations = { @@ -85,7 +85,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Bubulb), .pos = { 150.0f, 20.0f, 500.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bubulb), .drops = BUBULB_DROPS, .animations = BUBULB_PINK_ANIMS, @@ -97,7 +97,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { 40.0f, 0.0f, -60.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_01), .drops = TOAD_DROPS, .territory = { @@ -120,7 +120,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -26.0f, 0.0f, -220.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_CookingApprentice), .drops = TOADETTE_DROPS, .animations = TOADETTE_PURPLE_ANIMS, @@ -131,7 +131,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -350.0f, 20.0f, -140.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_02), .drops = TOAD_DROPS, .animations = TOAD_GREEN_ANIMS, @@ -142,7 +142,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { 180.0f, 20.0f, -435.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadKid), .drops = TOAD_KID_DROPS, .territory = { @@ -165,7 +165,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { -160.0f, 0.0f, 25.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_03), .drops = TOAD_DROPS, .territory = { @@ -188,7 +188,7 @@ StaticNpc N(NpcData_TayceT)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -80.0f, 0.0f, 300.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_04), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -205,7 +205,7 @@ StaticNpc N(NpcData_Bootler) = { .settings = &N(NpcSettings_Bootler), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bootler), .drops = BOOTLER_DROPS, .animations = BOOTLER_ANIMS, @@ -227,7 +227,7 @@ StaticNpc N(NpcData_ShyGuy) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mac/mac_02/npc/fice_t.inc.c b/src/world/area_mac/mac_02/npc/fice_t.inc.c index 801b92c314..4cb6d7df53 100644 --- a/src/world/area_mac/mac_02/npc/fice_t.inc.c +++ b/src/world/area_mac/mac_02/npc/fice_t.inc.c @@ -1,12 +1,12 @@ s32 N(LetterList_FiceT)[] = { - ITEM_LETTER07, + ITEM_LETTER_TO_FICE_T, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_FiceT) = { EVT_CALL(N(LetterDelivery_Init), NPC_FiceT, ANIM_FiceT_Talk, ANIM_FiceT_Idle, - ITEM_LETTER07, ITEM_NONE, + ITEM_LETTER_TO_FICE_T, ITEM_NONE, MSG_MAC_Bridge_0036, MSG_MAC_Bridge_0037, MSG_MAC_Bridge_0038, 0, EVT_PTR(N(LetterList_FiceT))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) diff --git a/src/world/area_mac/mac_03/mac_03_3_train.c b/src/world/area_mac/mac_03/mac_03_3_train.c index 73585c59c5..bcc0a2aded 100644 --- a/src/world/area_mac/mac_03/mac_03_3_train.c +++ b/src/world/area_mac/mac_03/mac_03_3_train.c @@ -419,7 +419,7 @@ EvtScript N(EVS_ArriveFromMtRugged) = { EVT_CALL(SetPlayerActionState, ACTION_STATE_JUMP) EVT_CALL(PlayerJump, LVar0, LVar1, LVar2, 15) EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(3.0)) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) @@ -454,7 +454,7 @@ EvtScript N(EVS_ArriveFromMtRugged) = { EVT_SET(MF_TrainArrivePlayerDisembark, TRUE) EVT_WAIT(20) EVT_CALL(SpeakToPlayer, NPC_TrainToad_01, ANIM_TrainToad_White_Talk, ANIM_TrainToad_White_Idle, 0, MSG_MAC_Station_0005) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) EVT_CALL(DisablePlayerInput, FALSE) EVT_RETURN diff --git a/src/world/area_mac/mac_03/mac_03_4_npc.c b/src/world/area_mac/mac_03/mac_03_4_npc.c index 8282b93708..ac593d6f13 100644 --- a/src/world/area_mac/mac_03/mac_03_4_npc.c +++ b/src/world/area_mac/mac_03/mac_03_4_npc.c @@ -50,14 +50,14 @@ API_CALLABLE(N(func_80241BD8_8333D8)) { } s32 N(LetterList_A)[] = { - ITEM_LETTER20, + ITEM_LETTER_CHAIN_DANE_T_1, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_ToadKid1A) = { EVT_CALL(N(LetterDelivery_Init), NPC_ToadKid_01, ANIM_ToadKid_Red_Talk, ANIM_ToadKid_Red_Idle, - ITEM_LETTER20, ITEM_NONE, + ITEM_LETTER_CHAIN_DANE_T_1, ITEM_NONE, MSG_MAC_Station_0049, MSG_MAC_Station_004A, MSG_MAC_Station_004B, MSG_MAC_Station_004C, EVT_PTR(N(LetterList_A))) @@ -69,21 +69,21 @@ EvtScript N(EVS_LetterPrompt_ToadKid1A) = { EvtScript N(EVS_LetterReward_ToadKid1A) = { EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_CALL(SpeakToPlayer, NPC_ToadKid_02, ANIM_ToadKid_Yellow_Talk, ANIM_ToadKid_Yellow_Idle, 0, MSG_MAC_Station_004D) - EVT_GIVE_KEY_REWARD(ITEM_LETTER_TO_RED_YOSHI_KID) + EVT_GIVE_KEY_REWARD(ITEM_LETTER_CHAIN_YOSHI_KID) EVT_END_IF EVT_RETURN EVT_END }; s32 N(LetterList_B)[] = { - ITEM_LETTER_TO_DANE_T, + ITEM_LETTER_CHAIN_DANE_T_2, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_ToadKid1B) = { EVT_CALL(N(LetterDelivery_Init), NPC_ToadKid_01, ANIM_ToadKid_Red_Talk, ANIM_ToadKid_Red_Idle, - ITEM_LETTER_TO_DANE_T, ITEM_NONE, + ITEM_LETTER_CHAIN_DANE_T_2, ITEM_NONE, MSG_MAC_Station_004E, MSG_MAC_Station_004F, MSG_MAC_Station_0050, MSG_MAC_Station_0051, EVT_PTR(N(LetterList_B))) @@ -95,11 +95,11 @@ EvtScript N(EVS_LetterPrompt_ToadKid1B) = { EvtScript N(EVS_LetterReward_ToadKid1B) = { EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) EVT_CALL(SpeakToPlayer, NPC_ToadKid_02, ANIM_ToadKid_Yellow_Talk, ANIM_ToadKid_Yellow_Idle, 0, MSG_MAC_Station_0052) - // EVT_GIVE_KEY_REWARD(ITEM_LETTER_TO_FROST_T), but LVar1/LVar0 are set in wrong order + // EVT_GIVE_KEY_REWARD(ITEM_LETTER_CHAIN_FROST_T), but LVar1/LVar0 are set in wrong order EVT_SET(LVar1, 1) - EVT_SET(LVar0, ITEM_LETTER_TO_FROST_T) - EVT_EXEC_WAIT(N(GiveKeyReward)) - EVT_CALL(AddKeyItem, ITEM_LETTER_TO_FROST_T) + EVT_SET(LVar0, ITEM_LETTER_CHAIN_FROST_T) + EVT_EXEC_WAIT(N(GiveItemReward)) + EVT_CALL(AddKeyItem, ITEM_LETTER_CHAIN_FROST_T) EVT_END_IF EVT_RETURN EVT_END @@ -611,7 +611,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { -370.0f, 20.0f, 90.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_TrainToad_01), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_TOAD_WHITE_ANIMS, @@ -622,7 +622,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { -424.0f, 74.0f, 2.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, .tattle = MSG_NpcTattle_MAC_StationMaster, @@ -632,7 +632,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -232.0f, 10.0f, 74.0f }, .yaw = 75, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_01), .drops = TOAD_DROPS, .animations = TOAD_BLUE_ANIMS, @@ -643,7 +643,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 85.0f, 0.0f, 235.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ThreeSisters_01), .drops = TOADETTE_DROPS, .animations = TOADETTE_PURPLE_ANIMS, @@ -654,7 +654,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -255.0f, 20.0f, 400.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_02), .drops = TOAD_DROPS, .animations = TOAD_GREEN_ANIMS, @@ -665,7 +665,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_ToadKid_Wander), .pos = { 260.0f, 20.0f, 410.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadKid_01), .drops = TOAD_KID_DROPS, .territory = { @@ -688,7 +688,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_ToadKid_Wander), .pos = { 320.0f, 20.0f, 410.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadKid_02), .drops = TOAD_KID_DROPS, .territory = { @@ -711,7 +711,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 220.0f, 20.0f, -160.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_03), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -725,7 +725,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -130.0f, 0.0f, 220.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -736,7 +736,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -100.0f, 0.0f, 220.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -747,7 +747,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -70.0f, 0.0f, 220.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ThreeSisters_02), .drops = TOADETTE_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -760,7 +760,7 @@ StaticNpc N(NpcData_ShyGuy) = { .settings = &N(NpcSettings_ShyGuy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, .init = &N(EVS_NpcInit_ShyGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -793,7 +793,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -815,7 +815,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -837,7 +837,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -859,7 +859,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -881,7 +881,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -903,7 +903,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -925,7 +925,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -947,7 +947,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -969,7 +969,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -991,7 +991,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_04), .drops = TOAD_DROPS, .territory = { @@ -1013,7 +1013,7 @@ StaticNpc N(NpcData_LilOinks)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_14), .drops = TOAD_DROPS, .territory = { diff --git a/src/world/area_mac/mac_03/mac_03_8_demo.c b/src/world/area_mac/mac_03/mac_03_8_demo.c index 4a260be7ef..66e256e52f 100644 --- a/src/world/area_mac/mac_03/mac_03_8_demo.c +++ b/src/world/area_mac/mac_03/mac_03_8_demo.c @@ -79,7 +79,7 @@ EvtScript N(EVS_DemoDepartForMtRugged) = { EVT_CALL(HidePlayerShadow, TRUE) EVT_CALL(SetPlayerPos, -425, 45, 20) EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) EVT_SET(LVar0, -410) EVT_SET(LVar1, 45) diff --git a/src/world/area_mac/mac_04/mac_04_3_rooms.c b/src/world/area_mac/mac_04/mac_04_3_rooms.c index bb33e97966..1d81cccb12 100644 --- a/src/world/area_mac/mac_04/mac_04_3_rooms.c +++ b/src/world/area_mac/mac_04/mac_04_3_rooms.c @@ -17,7 +17,7 @@ EvtScript N(EVS_SetDoorRot_Shop) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Shop) = { +EvtScript N(EVS_SetWallRot_Shop) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_my1, LVar1, -1, 0, 0) EVT_CALL(RotateModel, MODEL_my2, LVar1, -1, 0, 0) @@ -31,12 +31,12 @@ EvtScript N(EVS_MoveWalls_Shop) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Shop) = { +EvtScript N(EVS_RoomListener_Shop) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(EnableGroup, MODEL_mise_in, TRUE) EVT_EXEC(N(EVS_80248B08)) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(EnableGroup, MODEL_mise_in, FALSE) EVT_END_SWITCH EVT_RETURN @@ -49,7 +49,7 @@ EvtScript N(EVS_SetDoorRot_NiceHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_NiceHouse) = { +EvtScript N(EVS_SetWallRot_NiceHouse) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_rnk1, LVar1, 1, 0, 0) EVT_CALL(RotateModel, MODEL_rnk2, LVar1, 1, 0, 0) @@ -68,11 +68,11 @@ EvtScript N(EVS_DropDoor_NiceHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_NiceHouse) = { +EvtScript N(EVS_RoomListener_NiceHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(EnableGroup, MODEL_rin_in, TRUE) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(EnableGroup, MODEL_rin_in, FALSE) EVT_END_SWITCH EVT_RETURN @@ -85,7 +85,7 @@ EvtScript N(EVS_SetDoorRot_Storeroom) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Storeroom) = { +EvtScript N(EVS_SetWallRot_Storeroom) = { EVT_SET(LVar1, LVar0) EVT_MULF(LVar1, EVT_FLOAT(2.781)) EVT_CALL(TranslateModel, MODEL_skk1, 0, 0, LVar1) @@ -105,9 +105,9 @@ EvtScript N(EVS_DropDoor_Storeroom) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Storeroom) = { +EvtScript N(EVS_RoomListener_Storeroom) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_END_SWITCH EVT_RETURN EVT_END @@ -119,7 +119,7 @@ EvtScript N(EVS_SetDoorRot_Warehouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Warehouse) = { +EvtScript N(EVS_SetWallRot_Warehouse) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_hk1, LVar1, 0, 0, -1) EVT_CALL(RotateModel, MODEL_hk2, LVar1, 0, 0, -1) @@ -128,14 +128,14 @@ EvtScript N(EVS_MoveWalls_Warehouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Warehouse) = { +EvtScript N(EVS_RoomListener_Warehouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_CALL(EnableGroup, MODEL_heiho_in, TRUE) EVT_SET(MF_MusicMixTrigger, TRUE) - EVT_CASE_EQ(1) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) EVT_EXEC(N(D_80248798_84B368)) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_CALL(EnableGroup, MODEL_heiho_in, FALSE) EVT_CALL(EnableGroup, MODEL_hi_soto, TRUE) EVT_SET(MF_MusicMixTrigger, FALSE) @@ -151,7 +151,7 @@ EvtScript N(EVS_SetDoorRot_HiddenRoom) = { EVT_END }; -EvtScript N(EVS_MoveWalls_HiddenRoom) = { +EvtScript N(EVS_SetWallRot_HiddenRoom) = { EVT_SET(LVar1, LVar0) EVT_CALL(RotateModel, MODEL_hk4, LVar1, 0, 0, -1) EVT_CALL(RotateModel, MODEL_hk5, LVar1, 0, 0, -1) @@ -160,7 +160,7 @@ EvtScript N(EVS_MoveWalls_HiddenRoom) = { EVT_END }; -EvtScript N(EVS_ToggleVis_HiddenRoom) = { +EvtScript N(EVS_RoomListener_HiddenRoom) = { EVT_RETURN EVT_END }; @@ -183,12 +183,12 @@ s32 N(InsideNPCs_Warehouse)[] = { }; EvtScript N(EVS_MakeHiddenRoom) = { - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_HiddenRoom)), - EVT_PTR(N(EVS_MoveWalls_HiddenRoom)), + EVT_PTR(N(EVS_SetWallRot_HiddenRoom)), NULL, - EVT_PTR(N(EVS_ToggleVis_HiddenRoom)), + EVT_PTR(N(EVS_RoomListener_HiddenRoom)), COLLIDER_deilit_hk, COLLIDER_deilit_hku, MODEL_o13, @@ -198,12 +198,12 @@ EvtScript N(EVS_MakeHiddenRoom) = { }; EvtScript N(EVS_MakeStoreroom) = { - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_2, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_2, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Storeroom)), - EVT_PTR(N(EVS_MoveWalls_Storeroom)), + EVT_PTR(N(EVS_SetWallRot_Storeroom)), EVT_PTR(N(EVS_DropDoor_Storeroom)), - EVT_PTR(N(EVS_ToggleVis_Storeroom)), + EVT_PTR(N(EVS_RoomListener_Storeroom)), COLLIDER_deilit_sku, COLLIDER_deilit_sk, MODEL_o13, @@ -214,34 +214,34 @@ EvtScript N(EVS_MakeStoreroom) = { EvtScript N(EVS_SetupRooms) = { // harry's shop on the right - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_1, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_1, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Shop)), - EVT_PTR(N(EVS_MoveWalls_Shop)), + EVT_PTR(N(EVS_SetWallRot_Shop)), NULL, - EVT_PTR(N(EVS_ToggleVis_Shop)), + EVT_PTR(N(EVS_RoomListener_Shop)), COLLIDER_deilit_m, COLLIDER_deilit_mu, MODEL_mise, EVT_PTR(N(InsideNPCs_Shop))) // nice house in the middle - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_NiceHouse)), - EVT_PTR(N(EVS_MoveWalls_NiceHouse)), + EVT_PTR(N(EVS_SetWallRot_NiceHouse)), EVT_PTR(N(EVS_DropDoor_NiceHouse)), - EVT_PTR(N(EVS_ToggleVis_NiceHouse)), + EVT_PTR(N(EVS_RoomListener_NiceHouse)), COLLIDER_deilit_r, COLLIDER_deilit_ru, MODEL_rinjin, EVT_PTR(N(InsideNPCs_NiceHouse))) // warehouse on the left - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Warehouse)), - EVT_PTR(N(EVS_MoveWalls_Warehouse)), + EVT_PTR(N(EVS_SetWallRot_Warehouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_Warehouse)), + EVT_PTR(N(EVS_RoomListener_Warehouse)), COLLIDER_deilit_h, COLLIDER_deilit_hu, MODEL_heiho_house, @@ -265,9 +265,9 @@ EvtScript N(EVS_SetupRooms) = { EVT_CALL(RotateModel, MODEL_hk5, LVar0, 0, 0, -1) EVT_CALL(RotateModel, MODEL_hk6, LVar0, 0, 0, -1) EVT_CASE_DEFAULT - EVT_SET(LVar0, 3) - EVT_EXEC(N(EVS_ToggleVis_Shop)) - EVT_EXEC(N(EVS_ToggleVis_NiceHouse)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_Shop)) + EVT_EXEC(N(EVS_RoomListener_NiceHouse)) EVT_END_SWITCH EVT_RETURN EVT_END diff --git a/src/world/area_mac/mac_04/mac_04_6_npc.c b/src/world/area_mac/mac_04/mac_04_6_npc.c index 7a01701d2e..699a1fd92c 100644 --- a/src/world/area_mac/mac_04/mac_04_6_npc.c +++ b/src/world/area_mac/mac_04/mac_04_6_npc.c @@ -175,7 +175,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_ChetRippo), .pos = { 410.0f, 20.0f, -200.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ChetRippo), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 310.0f, 20.0f, -430.0f }, .yaw = 230, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_HarryT), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -213,7 +213,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -80.0f, 20.0f, -100.0f }, .yaw = 133, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_NewResident1), .drops = TOADETTE_DROPS, .animations = TOADETTE_GREEN_ANIMS, @@ -224,7 +224,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -133.0f, 20.0f, -82.0f }, .yaw = 133, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_NewResident2), .drops = TOADETTE_DROPS, .animations = TOADETTE_PURPLE_ANIMS, @@ -235,7 +235,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Wander), .pos = { 48.0f, 0.0f, 153.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_01), .drops = TOAD_DROPS, .territory = { @@ -258,7 +258,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -239.0f, 20.0f, 105.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_02), .drops = TOAD_DROPS, .animations = TOAD_BLUE_ANIMS, @@ -269,7 +269,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 254.0f, 20.0f, 436.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadKid_01), .drops = TOAD_KID_DROPS, .animations = TOAD_KID_RED_ANIMS, @@ -280,7 +280,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 304.0f, 20.0f, 410.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadKid_02), .drops = TOAD_KID_DROPS, .animations = TOAD_KID_YELLOW_ANIMS, @@ -291,7 +291,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 345.0f, 20.0f, 438.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadKid_03), .drops = TOAD_KID_DROPS, .animations = TOAD_KID_GREEN_ANIMS, @@ -302,7 +302,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -274.0f, 0.0f, 400.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toadette_03), .drops = TOADETTE_DROPS, .animations = TOADETTE_ORANGE_ANIMS, @@ -313,7 +313,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 500.0f, 20.0f, -160.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_03), .drops = TOAD_DROPS, .animations = TOAD_GREEN_ANIMS, @@ -324,7 +324,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -110.0f, 0.0f, 568.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_GossipTrio1), .drops = TOAD_DROPS, .animations = TOAD_GREEN_ANIMS, @@ -335,7 +335,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -114.0f, 0.0f, 498.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_GossipTrio2), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -346,7 +346,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -52.0f, 0.0f, 525.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_GossipTrio3), .drops = TOAD_DROPS, .animations = TOAD_YELLOW_ANIMS, @@ -367,7 +367,7 @@ StaticNpc N(NpcData_Chapter4)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_TwinkStartCh4), .drops = TWINK_DROPS, .animations = TWINK_ANIMS, @@ -378,7 +378,7 @@ StaticNpc N(NpcData_Chapter4)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -408,7 +408,7 @@ StaticNpc N(NpcData_Chapter4)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ShyGuy_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -442,7 +442,7 @@ StaticNpc N(NpcData_PostChapter4)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { -486.0f, 20.0f, 259.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Muskular), .drops = MUSKULAR_DROPS, .animations = MUSKULAR_ANIMS, @@ -452,7 +452,7 @@ StaticNpc N(NpcData_PostChapter4)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TwinkEndCh4), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -469,7 +469,7 @@ StaticNpc N(NpcData_GoombaFamily)[] = { .settings = &N(NpcSettings_GoombaFamily), .pos = { -126.0f, 0.0f, 329.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Goomama), .drops = GOOMAMA_DROPS, .animations = GOOMAMA_ANIMS, @@ -480,7 +480,7 @@ StaticNpc N(NpcData_GoombaFamily)[] = { .settings = &N(NpcSettings_GoombaFamily), .pos = { -117.0f, 0.0f, 305.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Goombaria), .drops = GOOMBARIA_DROPS, .animations = GOOMBARIA_ANIMS, @@ -493,7 +493,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { 57.0f, 20.0f, -114.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_MAC, QUIZ_COUNT_MAC, QUIZ_MAP_MAC_04 }}, .drops = QUIZMO_DROPS, diff --git a/src/world/area_mac/mac_04/mac_04_7_wish_scene.c b/src/world/area_mac/mac_04/mac_04_7_wish_scene.c index 4af2b72076..8c7b8323d9 100644 --- a/src/world/area_mac/mac_04/mac_04_7_wish_scene.c +++ b/src/world/area_mac/mac_04/mac_04_7_wish_scene.c @@ -41,7 +41,7 @@ StaticNpc N(NpcData_WishSceneToads)[] = { .settings = &N(NpcSettings_Toad_Stationary_Wish), .pos = { 350.0f, 0.0f, -20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_WishingToadKid), .drops = TOAD_KID_DROPS, .animations = TOAD_KID_RED_ANIMS, @@ -51,7 +51,7 @@ StaticNpc N(NpcData_WishSceneToads)[] = { .settings = &N(NpcSettings_Toad_Stationary_Wish), .pos = { -245.0f, 20.0f, 100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT, .drops = TOAD_DROPS, .animations = TOAD_GREEN_ANIMS, .tattle = MSG_NpcTattle_GreatGossipTrioA, @@ -61,7 +61,7 @@ StaticNpc N(NpcData_WishSceneToads)[] = { .settings = &N(NpcSettings_Toad_Stationary_Wish), .pos = { -25.0f, 0.0f, 170.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT, .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, .tattle = MSG_NpcTattle_GreatGossipTrioB, @@ -71,7 +71,7 @@ StaticNpc N(NpcData_WishSceneToads)[] = { .settings = &N(NpcSettings_Toad_Stationary_Wish), .pos = { -100.0f, 0.0f, 305.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT, .drops = TOAD_DROPS, .animations = TOAD_YELLOW_ANIMS, .tattle = MSG_NpcTattle_GreatGossipTrioC, diff --git a/src/world/area_mac/mac_05/mac_05.h b/src/world/area_mac/mac_05/mac_05.h index 4fd67a61d4..5418f3c932 100644 --- a/src/world/area_mac/mac_05/mac_05.h +++ b/src/world/area_mac/mac_05/mac_05.h @@ -55,7 +55,7 @@ extern EvtScript N(EVS_Main); extern EvtScript N(EVS_802496FC); extern EvtScript N(EVS_80248878); extern EvtScript N(EVS_8025194C); -extern EvtScript N(EVS_802526E0); +extern EvtScript N(EVS_SetupRooms); extern EvtScript N(EVS_802441E0); extern EvtScript N(EVS_AnimateClub64Sign); extern EvtScript N(EVS_MakeEntities); diff --git a/src/world/area_mac/mac_05/mac_05_3_main.c b/src/world/area_mac/mac_05/mac_05_3_main.c index f21852e72e..651616cf46 100644 --- a/src/world/area_mac/mac_05/mac_05_3_main.c +++ b/src/world/area_mac/mac_05/mac_05_3_main.c @@ -158,7 +158,7 @@ EvtScript N(EVS_Main) = { EVT_EXEC_WAIT(N(EVS_MakeEntities)) EVT_EXEC(N(EVS_8025194C)) EVT_CALL(GetEntryID, LVar0) - EVT_EXEC(N(EVS_802526E0)) + EVT_EXEC(N(EVS_SetupRooms)) EVT_EXEC(N(EVS_802441E0)) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilitne, COLLIDER_FLAGS_UPPER_MASK) EVT_EXEC(N(D_802448C4_856A34)) diff --git a/src/world/area_mac/mac_05/mac_05_4_npc.c b/src/world/area_mac/mac_05/mac_05_4_npc.c index b5166b4bdb..de34932756 100644 --- a/src/world/area_mac/mac_05/mac_05_4_npc.c +++ b/src/world/area_mac/mac_05/mac_05_4_npc.c @@ -34,13 +34,13 @@ MAP_STATIC_PAD(1,item_choice); #include "world/common/complete/LetterDelivery.inc.c" s32 N(Fishmael_LetterList)[] = { - ITEM_LETTER15, ITEM_NONE + ITEM_LETTER_CHAIN_FISHMAEL, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_Fishmael) = { EVT_CALL(N(LetterDelivery_Init), NPC_Fishmael, ANIM_Fishmael_Talk, ANIM_Fishmael_Idle, - ITEM_LETTER15, ITEM_LETTER16, + ITEM_LETTER_CHAIN_FISHMAEL, ITEM_LETTER_CHAIN_KOOVER_2, MSG_MAC_Port_0064, MSG_MAC_Port_0065, MSG_MAC_Port_0066, MSG_MAC_Port_0067, EVT_PTR(N(Fishmael_LetterList))) @@ -73,11 +73,12 @@ EvtScript N(EVS_LetterReward_Kolorado) = { EVT_END }; -s32 N(Kolorado_ArtifactList)[] = { - ITEM_ARTIFACT, ITEM_NONE +s32 N(ItemList_Artifact)[] = { + ITEM_ARTIFACT, + ITEM_NONE }; -EvtScript N(EVS_Kolorado_ArtifactReward) = { +EvtScript N(EVS_ArtifactReward_Kolorado) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_MAC_Port_008E) EVT_GIVE_STAR_PIECE() EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_MAC_Port_008F) @@ -86,7 +87,7 @@ EvtScript N(EVS_Kolorado_ArtifactReward) = { EVT_END }; -EvtScript N(EVS_Kolorado_TryArtifactTrade) = { +EvtScript N(EVS_ArtifactPrompt_Kolorado) = { EVT_IF_EQ(GF_SBK_GaveArtifactToKolorado, TRUE) EVT_RETURN EVT_END_IF @@ -106,21 +107,21 @@ EvtScript N(EVS_Kolorado_TryArtifactTrade) = { EVT_SET(LVar0, MSG_MAC_Port_008B) EVT_END_IF EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, LVar0) - EVT_SET(LVar0, EVT_PTR(N(Kolorado_ArtifactList))) + EVT_SET(LVar0, EVT_PTR(N(ItemList_Artifact))) EVT_SET(LVar1, 1) EVT_EXEC_WAIT(N(EVS_ChooseKeyItem)) EVT_SWITCH(LVar0) EVT_CASE_GE(1) - EVT_EXEC_WAIT(N(EVS_Kolorado_ArtifactReward)) + EVT_EXEC_WAIT(N(EVS_ArtifactReward_Kolorado)) EVT_BREAK_SWITCH EVT_CASE_DEFAULT EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_MAC_Port_008C) - EVT_SET(LVar0, EVT_PTR(N(Kolorado_ArtifactList))) + EVT_SET(LVar0, EVT_PTR(N(ItemList_Artifact))) EVT_SET(LVar1, 1) EVT_EXEC_WAIT(N(EVS_ChooseKeyItem)) EVT_SWITCH(LVar0) EVT_CASE_GE(1) - EVT_EXEC_WAIT(N(EVS_Kolorado_ArtifactReward)) + EVT_EXEC_WAIT(N(EVS_ArtifactReward_Kolorado)) EVT_CASE_DEFAULT EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_MAC_Port_008D) EVT_END_SWITCH @@ -574,7 +575,7 @@ EvtScript N(EVS_802496FC) = { EVT_SET(LVar0, 1) EVT_EXEC_GET_TID(N(D_802484F8_85A668), LVarA) EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetNpcYaw, NPC_PARTNER, 270) @@ -626,7 +627,7 @@ EvtScript N(EVS_802496FC) = { EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, FALSE) EVT_SWITCH(GB_StoryProgress) EVT_CASE_RANGE(STORY_CH5_SUSHIE_JOINED_PARTY, STORY_CH5_STAR_SPRIT_DEPARTED) EVT_IF_EQ(GF_MAC01_Defeated_JrTroopa4, FALSE) @@ -653,7 +654,7 @@ EvtScript N(D_80249C34_85BDA4) = { EVT_END_THREAD EVT_THREAD EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(SetNpcJumpscale, NPC_PARTNER, EVT_FLOAT(1.0)) @@ -672,7 +673,7 @@ EvtScript N(D_80249D80_85BEF0) = { EVT_CALL(PlayerMoveTo, -310, 372, 20) EVT_CALL(PlayerFaceNpc, NPC_Whale, FALSE) EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(NpcMoveTo, NPC_PARTNER, -345, 372, 30) EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_Whale, EVT_FLOAT(1.0)) @@ -989,7 +990,7 @@ EvtScript N(EVS_NpcInteract_Toad_01) = { EVT_EXEC(N(D_802484F8_85A668)) EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_tt9, COLLIDER_FLAGS_UPPER_MASK) EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_CALL(GetPlayerPos, LVar3, LVar4, LVar5) @@ -1153,7 +1154,7 @@ EvtScript N(EVS_NpcInteract_Kolorado) = { EVT_CASE_LT(STORY_CH5_REACHED_LAVA_LAVA_ISLAND) EVT_CALL(SpeakToPlayer, NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_MAC_Port_00AC) EVT_END_SWITCH - EVT_EXEC_WAIT(N(EVS_Kolorado_TryArtifactTrade)) + EVT_EXEC_WAIT(N(EVS_ArtifactPrompt_Kolorado)) EVT_EXEC_WAIT(N(EVS_LetterPrompt_Kolorado)) EVT_EXEC_WAIT(N(EVS_LetterReward_Kolorado)) EVT_IF_NE(LVarC, 0) @@ -1889,7 +1890,7 @@ EvtScript N(EVS_NpcInteract_ArtistToad) = { EVT_WAIT(10) EVT_SET(LVar0, ITEM_ATTACK_FX_D) EVT_SET(LVar3, ITEM_TYPE_BADGE) - EVT_EXEC_WAIT(N(GiveKeyReward)) + EVT_EXEC_WAIT(N(GiveItemReward)) EVT_CALL(AddBadge, LVar0, LVar1) EVT_CALL(SetTattleMessage, NPC_Chanterelle, MSG_NpcTattle_PopDiva_CanSing) EVT_END_SWITCH @@ -2063,7 +2064,7 @@ StaticNpc N(NpcData_Toad_01) = { .settings = &N(NpcSettings_Whale), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toad_01), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -2075,7 +2076,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -2087,7 +2088,7 @@ StaticNpc N(NpcData_Fishmael) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 370.0f, -10.0f, -115.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Fishmael), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2114,7 +2115,7 @@ StaticNpc N(NpcData_Fuzzipede) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 320.0f, -10.0f, -115.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Fuzzipede), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2150,7 +2151,7 @@ StaticNpc N(NpcData_JrTroopa_01)[] = { .settings = &N(NpcSettings_JrTroopa_01), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_JrTroopa_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2183,7 +2184,7 @@ StaticNpc N(NpcData_JrTroopa_01)[] = { .settings = &N(NpcSettings_JrTroopa_01), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_JrTroopa_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2219,7 +2220,7 @@ StaticNpc N(NpcData_Toad_04)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 320.0f, 0.0f, -300.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_04), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2251,7 +2252,7 @@ StaticNpc N(NpcData_Toad_04)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -330.0f, -10.0f, -90.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_05), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2283,7 +2284,7 @@ StaticNpc N(NpcData_Toad_04)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -50.0f, 0.0f, -400.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_06), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2315,7 +2316,7 @@ StaticNpc N(NpcData_Toad_04)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 200.0f, 0.0f, -220.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_07), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2364,7 +2365,7 @@ StaticNpc N(NpcData_Bartender)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -85.0f, 0.0f, -520.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bartender), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2396,7 +2397,7 @@ StaticNpc N(NpcData_Bartender)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 30.0f, 0.0f, -570.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2428,7 +2429,7 @@ StaticNpc N(NpcData_Bartender)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 208.0f, 0.0f, -530.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Chanterelle), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2460,7 +2461,7 @@ StaticNpc N(NpcData_Bartender)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 158.0f, 0.0f, -555.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ArtistToad), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2492,7 +2493,7 @@ StaticNpc N(NpcData_Bartender)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 92.0f, 0.0f, -500.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_TradeEventToad), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2526,7 +2527,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { 472.0f, 0.0f, -230.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_4000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_MAC, QUIZ_COUNT_MAC, QUIZ_MAP_MAC_05 }}, .drops = { diff --git a/src/world/area_mac/mac_05/mac_05_6_rooms.c b/src/world/area_mac/mac_05/mac_05_6_rooms.c index a4fc1fd8f0..57dff7727e 100644 --- a/src/world/area_mac/mac_05/mac_05_6_rooms.c +++ b/src/world/area_mac/mac_05/mac_05_6_rooms.c @@ -43,7 +43,7 @@ EvtScript N(D_802525B0_864720) = { EVT_CASE_EQ(0) EVT_CALL(SetMusicTrack, 0, SONG_CLUB64, 0, 8) EVT_CALL(StopSound, SOUND_80000058) - EVT_CALL(func_802D62E4, 57) + EVT_CALL(func_802D62E4, SOUND_39) EVT_CALL(EnableGroup, MODEL_bar_inn, TRUE) EVT_CALL(EnableModel, MODEL_o139, FALSE) EVT_CALL(EnableModel, MODEL_o140, FALSE) @@ -68,8 +68,17 @@ s32 N(D_802526C8_864838)[] = { -1 }; -EvtScript N(EVS_802526E0) = { - EVT_CALL(MakeDoorAdvanced, 2, EVT_PTR(N(D_802522E0_864450)), EVT_PTR(N(D_80252310_864480)), EVT_PTR(N(D_80252580_8646F0)), EVT_PTR(N(D_802525B0_864720)), COLLIDER_deilit1, COLLIDER_deilit1u, MODEL_harbour_club, EVT_PTR(N(D_802526C8_864838))) +EvtScript N(EVS_SetupRooms) = { + EVT_CALL(CreateMapRoom, + 2, + EVT_PTR(N(D_802522E0_864450)), + EVT_PTR(N(D_80252310_864480)), + EVT_PTR(N(D_80252580_8646F0)), + EVT_PTR(N(D_802525B0_864720)), + COLLIDER_deilit1, + COLLIDER_deilit1u, + MODEL_harbour_club, + EVT_PTR(N(D_802526C8_864838))) EVT_SET(LVar0, 3) EVT_EXEC(N(D_802525B0_864720)) EVT_RETURN diff --git a/src/world/area_mac/mac_06/mac_06_2_whale.c b/src/world/area_mac/mac_06/mac_06_2_whale.c index de599760dc..8cf2224338 100644 --- a/src/world/area_mac/mac_06/mac_06_2_whale.c +++ b/src/world/area_mac/mac_06/mac_06_2_whale.c @@ -293,7 +293,7 @@ EvtScript N(EVS_WhaleMain) = { EVT_CALL(GetNpcVar, NPC_Whale, 0, LVar0) EVT_IF_NE(LVar0, 0) EVT_CALL(PlaySound, SOUND_443) - EVT_CALL(func_802D62E4, 67) + EVT_CALL(func_802D62E4, SOUND_43) EVT_CALL(N(DisposeWhaleGeyser), LVar0) EVT_CALL(SetNpcVar, NPC_Whale, 0, 0) EVT_END_IF diff --git a/src/world/area_mac/mac_06/mac_06_3_npc.c b/src/world/area_mac/mac_06/mac_06_3_npc.c index d68cedc9b3..039abebf23 100644 --- a/src/world/area_mac/mac_06/mac_06_3_npc.c +++ b/src/world/area_mac/mac_06/mac_06_3_npc.c @@ -299,7 +299,7 @@ EvtScript N(EVS_NpcInit_Whale) = { EVT_CALL(DisablePlayerPhysics, TRUE) EVT_CALL(DisablePlayerInput, TRUE) EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_THREAD @@ -514,7 +514,7 @@ StaticNpc N(NpcData_Whale) = { .settings = &N(NpcSettings_Whale), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Whale), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -546,7 +546,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Kolorado), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -585,7 +585,7 @@ StaticNpc N(NpcData_JrTroopa) = { .settings = &N(NpcSettings_JrTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mac/machi/machi_4_goomba_king.c b/src/world/area_mac/machi/machi_4_goomba_king.c index 6b25330343..bb744ce925 100644 --- a/src/world/area_mac/machi/machi_4_goomba_king.c +++ b/src/world/area_mac/machi/machi_4_goomba_king.c @@ -39,5 +39,5 @@ NpcSettings N(NpcSettings_GoombaKing) = { .onInteract = &N(EVS_NpcInteract_GoombaKing), .ai = &N(EVS_NpcAI_GoombaKing), .onHit = &N(EVS_NpcHit_GoombaKing), - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, }; diff --git a/src/world/area_mac/machi/machi_5_npc.c b/src/world/area_mac/machi/machi_5_npc.c index e29098b655..3583795779 100644 --- a/src/world/area_mac/machi/machi_5_npc.c +++ b/src/world/area_mac/machi/machi_5_npc.c @@ -217,7 +217,7 @@ NpcSettings N(NpcSettings_StarRod) = { .otherAI = &N(EVS_NpcAuxAI_StarRod), .onInteract = &N(EVS_NpcInteract_StarRod), .ai = &N(EVS_NpcAI_StarRod), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_Koopa) = { @@ -226,7 +226,7 @@ NpcSettings N(NpcSettings_Koopa) = { .radius = 24, .onInteract = &N(EVS_NpcInteract_Koopa), .ai = &N(EVS_NpcAI_Koopa), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_Kolorado) = { @@ -235,7 +235,7 @@ NpcSettings N(NpcSettings_Kolorado) = { .radius = 24, .onInteract = &N(EVS_NpcInteract_Kolorado), .ai = &N(EVS_NpcAI_Kolorado), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_Goompa) = { @@ -283,7 +283,7 @@ StaticNpc N(NpcData_GoombaFamily) = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = { }, @@ -295,7 +295,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, @@ -304,7 +304,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, @@ -313,7 +313,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, @@ -322,7 +322,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, @@ -331,7 +331,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, @@ -340,7 +340,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, @@ -349,7 +349,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, @@ -358,7 +358,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, @@ -367,7 +367,7 @@ StaticNpc N(NpcData_0B)[] = { .settings = &N(NpcSettings_Goompa), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_8, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT, .init = (void*) 0x1F64, .animations = {}, }, diff --git a/src/world/area_mac/machi/machi_6_misstar.c b/src/world/area_mac/machi/machi_6_misstar.c index dd9b9fa3da..88c23cf1b2 100644 --- a/src/world/area_mac/machi/machi_6_misstar.c +++ b/src/world/area_mac/machi/machi_6_misstar.c @@ -110,6 +110,6 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_Misstar), .pos = { 320.0f, 30.0f, -290.0f }, .yaw = 100, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .animations = {}, }; diff --git a/src/world/area_mac/machi/machi_7_partner.c b/src/world/area_mac/machi/machi_7_partner.c index 83b3eee260..7de3d99878 100644 --- a/src/world/area_mac/machi/machi_7_partner.c +++ b/src/world/area_mac/machi/machi_7_partner.c @@ -34,7 +34,7 @@ EvtScript N(EVS_ChasePartner) = { EvtScript N(EVS_FlyPartnerAround) = { EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8, TRUE) EVT_CALL(EnableNpcBlur, NPC_PARTNER, TRUE) EVT_LABEL(10) EVT_CALL(LoadPath, 500, EVT_PTR(N(FlightPath)), ARRAY_COUNT(N(FlightPath)), EASING_LINEAR) diff --git a/src/world/area_mgm/mgm_00/mgm_00_2_npc.c b/src/world/area_mgm/mgm_00/mgm_00_2_npc.c index 6aa45b6b70..c16ad2b3d9 100644 --- a/src/world/area_mgm/mgm_00/mgm_00_2_npc.c +++ b/src/world/area_mgm/mgm_00/mgm_00_2_npc.c @@ -170,7 +170,7 @@ StaticNpc N(NpcData_RedToad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -213.0f, 12.0f, -180.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_RedToad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -210,7 +210,7 @@ StaticNpc N(NpcData_GreenToad) = { .settings = &N(NpcSettings_Toad_Patrol), .pos = { -88.0f, 0.0f, -95.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_GreenToad), .drops = TOAD_DROPS, .territory = { @@ -260,7 +260,7 @@ StaticNpc N(NpcData_BlueToad) = { .settings = &N(NpcSettings_Toad_Patrol), .pos = { 46.0f, 0.0f, -205.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_BlueToad), .drops = TOAD_DROPS, .territory = { diff --git a/src/world/area_mgm/mgm_01/mgm_01_2_npc.c b/src/world/area_mgm/mgm_01/mgm_01_2_npc.c index d52468e71f..50917c00e1 100644 --- a/src/world/area_mgm/mgm_01/mgm_01_2_npc.c +++ b/src/world/area_mgm/mgm_01/mgm_01_2_npc.c @@ -1018,7 +1018,7 @@ StaticNpc N(NpcData_Toad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 0.0f, 0.0f, -20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c index 0a13a07fbc..030c83f129 100644 --- a/src/world/area_mgm/mgm_02/mgm_02_2_npc.c +++ b/src/world/area_mgm/mgm_02/mgm_02_2_npc.c @@ -430,7 +430,7 @@ API_CALLABLE(N(RunMinigame)) { data->box[i].state = BOX_STATE_FUZZY_IDLE; data->box[i].stateTimer = rand_int(210); npc->pos.y = NPC_DISPOSE_POS_Y; - npc->flags &= -(NPC_FLAG_PASSIVE | NPC_FLAG_2); + npc->flags &= ~NPC_FLAG_2; disable_npc_shadow(npc); // fallthrough case BOX_STATE_FUZZY_IDLE: @@ -438,7 +438,7 @@ API_CALLABLE(N(RunMinigame)) { if (data->box[i].stateTimer <= 0) { npc->currentAnim = ANIM_Fuzzy_Walk; data->box[i].state = BOX_STATE_FUZZY_POPUP; - sfx_play_sound_at_position(enemy->varTable[8], 0x100000, npc->pos.x, npc->pos.y, npc->pos.z); + sfx_play_sound_at_position(enemy->varTable[8], SOUND_PARAM_MOST_QUIET, npc->pos.x, npc->pos.y, npc->pos.z); get_model_center_and_size(data->box[i].modelID, ¢erX, ¢erY, ¢erZ, &sizeX, &sizeY, &sizeZ); npc->jumpVelocity = 10.5f; npc->pos.x = centerX; @@ -559,13 +559,13 @@ API_CALLABLE(N(RunMinigame)) { data->box[i].stateTimer = rand_int(210); npc->pos.y = NPC_DISPOSE_POS_Y; disable_npc_shadow(npc); - npc->flags &= -(NPC_FLAG_PASSIVE | NPC_FLAG_2); + npc->flags &= ~NPC_FLAG_2; // fallthrough case BOX_STATE_BOMB_IDLE: data->box[i].stateTimer--; if (data->box[i].stateTimer <= 0) { data->box[i].state = BOX_STATE_BOMB_POPUP; - sfx_play_sound_at_position(enemy->varTable[8], 0x100000, npc->pos.x, npc->pos.y, npc->pos.z); + sfx_play_sound_at_position(enemy->varTable[8], SOUND_PARAM_MOST_QUIET, npc->pos.x, npc->pos.y, npc->pos.z); get_model_center_and_size(data->box[i].modelID, ¢erX, ¢erY, ¢erZ, &sizeX, &sizeY, &sizeZ); npc->jumpVelocity = 10.5f; npc->pos.x = centerX; @@ -676,7 +676,7 @@ API_CALLABLE(N(RunMinigame)) { npc->jumpScale = 1.1f; data->box[i].stateTimer = 0; model = get_model_from_list_index(get_model_list_index_from_tree_index(data->box[i].peachPanelModelID)); - model->flags &= -(MODEL_FLAG_FLAG_1 | MODEL_FLAG_ENABLED); + model->flags &= ~MODEL_FLAG_ENABLED; if (!(model->flags & MODEL_FLAG_HAS_TRANSFORM_APPLIED)) { guTranslateF(model->transformMatrix, npc->pos.x, npc->pos.y, npc->pos.z); model->flags |= MODEL_FLAG_USES_TRANSFORM_MATRIX | MODEL_FLAG_HAS_TRANSFORM_APPLIED; @@ -717,7 +717,7 @@ API_CALLABLE(N(RunMinigame)) { enable_npc_shadow(npc); npc->duration = 0; data->box[i].state = BOX_STATE_PEACH_EMERGE; - model->flags &= -(MODEL_FLAG_FLAG_1 | MODEL_FLAG_ENABLED); + model->flags &= ~MODEL_FLAG_ENABLED; // fallthrough case BOX_STATE_PEACH_EMERGE: hittingPeachBlock = TRUE; @@ -1782,7 +1782,7 @@ StaticNpc N(NpcData_GuideToad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 353.0f, -20.0f, 185.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, @@ -1805,7 +1805,7 @@ EvtScript N(EVS_NpcInit_Fuzzy) = { EVT_CASE_DEFAULT EVT_CALL(SetSelfVar, 8, 818) EVT_END_SWITCH - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_JUMPING, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_JUMPING, TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(RandInt, 100, LVar0) @@ -1821,7 +1821,7 @@ EvtScript N(EVS_NpcInit_Fuzzy) = { EvtScript N(EVS_NpcInit_Bobomb) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Bobomb_Anim0B) EVT_CALL(SetSelfVar, 0, 0) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_JUMPING, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_JUMPING, TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(GetSelfNpcID, LVar0) @@ -1848,7 +1848,7 @@ EvtScript N(EVS_NpcInit_Bobomb) = { EvtScript N(EVS_NpcInit_Luigi) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Luigi_Jump) EVT_CALL(SetSelfVar, 0, 0) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_JUMPING, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_JUMPING, TRUE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(RandInt, 100, LVar0) @@ -1866,7 +1866,7 @@ StaticNpc N(NpcData_Fuzzy_01) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1899,7 +1899,7 @@ StaticNpc N(NpcData_Fuzzy_02) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1932,7 +1932,7 @@ StaticNpc N(NpcData_Fuzzy_03) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1965,7 +1965,7 @@ StaticNpc N(NpcData_Fuzzy_04) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1998,7 +1998,7 @@ StaticNpc N(NpcData_Fuzzy_05) = { .settings = &N(NpcSettings_Fuzzy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Fuzzy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2031,7 +2031,7 @@ StaticNpc N(NpcData_Bobomb_01) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2064,7 +2064,7 @@ StaticNpc N(NpcData_Bobomb_02) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2097,7 +2097,7 @@ StaticNpc N(NpcData_Bobomb_03) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2130,7 +2130,7 @@ StaticNpc N(NpcData_Bobomb_04) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2163,7 +2163,7 @@ StaticNpc N(NpcData_Bobomb_05) = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Bobomb), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2197,7 +2197,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2229,7 +2229,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2261,7 +2261,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2293,7 +2293,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2325,7 +2325,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2357,7 +2357,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2389,7 +2389,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2421,7 +2421,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2453,7 +2453,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -2485,7 +2485,7 @@ StaticNpc N(NpcData_Luigis)[] = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000 | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_Luigi), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mim/mim_02/mim_02_3_npc.c b/src/world/area_mim/mim_02/mim_02_3_npc.c index 224395bf3e..2a0d5697bc 100644 --- a/src/world/area_mim/mim_02/mim_02_3_npc.c +++ b/src/world/area_mim/mim_02/mim_02_3_npc.c @@ -161,7 +161,7 @@ StaticNpc N(NpcData_Oaklie) = { .settings = &N(NpcSettings_Oaklie), .pos = { -426.0f, 58.0f, -70.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Oaklie), .drops = OAKLIE_DROPS, .animations = OAKLIE_ANIMS, diff --git a/src/world/area_mim/mim_03/mim_03_6_npc.c b/src/world/area_mim/mim_03/mim_03_6_npc.c index 8efa07d055..5fa15c7299 100644 --- a/src/world/area_mim/mim_03/mim_03_6_npc.c +++ b/src/world/area_mim/mim_03/mim_03_6_npc.c @@ -46,7 +46,7 @@ StaticNpc N(NpcData_Oaklie) = { .settings = &N(NpcSettings_Oaklie), .pos = { 0.0f, 32.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Oaklie), .drops = OAKLIE_DROPS, .animations = OAKLIE_ANIMS, diff --git a/src/world/area_mim/mim_04/mim_04_6_npc.c b/src/world/area_mim/mim_04/mim_04_6_npc.c index 34f7979ad7..7845740ad5 100644 --- a/src/world/area_mim/mim_04/mim_04_6_npc.c +++ b/src/world/area_mim/mim_04/mim_04_6_npc.c @@ -82,7 +82,7 @@ StaticNpc N(NpcData_Bubulb) = { .settings = &N(NpcSettings_Bubulb), .pos = { 0.0f, 32.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bubulb), .drops = BUBULB_DROPS, .animations = BUBULB_GREEN_ANIMS, diff --git a/src/world/area_mim/mim_07/mim_07_6_npc.c b/src/world/area_mim/mim_07/mim_07_6_npc.c index 08e56d97d7..a0f1a20c0f 100644 --- a/src/world/area_mim/mim_07/mim_07_6_npc.c +++ b/src/world/area_mim/mim_07/mim_07_6_npc.c @@ -235,7 +235,7 @@ StaticNpc N(NpcData_JrTroopa) = { .settings = &N(NpcSettings_JrTroopa), .pos = { -338.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_JrTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mim/mim_10/mim_10_4_npc.c b/src/world/area_mim/mim_10/mim_10_4_npc.c index 7db47052dc..66cfb26e02 100644 --- a/src/world/area_mim/mim_10/mim_10_4_npc.c +++ b/src/world/area_mim/mim_10/mim_10_4_npc.c @@ -251,7 +251,7 @@ StaticNpc N(NpcData_Bootler) = { .settings = &N(NpcSettings_Bootler), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bootler), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mim/mim_11/mim_11_5_npc.c b/src/world/area_mim/mim_11/mim_11_5_npc.c index 74f3d102c3..d2cb2237f7 100644 --- a/src/world/area_mim/mim_11/mim_11_5_npc.c +++ b/src/world/area_mim/mim_11/mim_11_5_npc.c @@ -80,7 +80,7 @@ StaticNpc N(NpcData_Bootler)[] = { .settings = &N(NpcSettings_Bootler), .pos = { 68.0f, 60.0f, -145.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bootler), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -111,7 +111,7 @@ StaticNpc N(NpcData_Bootler)[] = { .settings = &N(NpcSettings_Skolar), .pos = { 68.0f, 60.0f, -145.0f }, .yaw = 135, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Skolar), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_mim/mim_12/mim_12_4_npc.c b/src/world/area_mim/mim_12/mim_12_4_npc.c index f77034dc57..0a2ca4f4f7 100644 --- a/src/world/area_mim/mim_12/mim_12_4_npc.c +++ b/src/world/area_mim/mim_12/mim_12_4_npc.c @@ -18,7 +18,7 @@ StaticNpc N(NpcData_GateBoos)[] = { .settings = &N(NpcSettings_Boo), .pos = { -68.0f, 65.0f, -56.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_GateBoo_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -32,7 +32,7 @@ StaticNpc N(NpcData_GateBoos)[] = { .settings = &N(NpcSettings_Boo), .pos = { -125.0f, 65.0f, 60.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_GateBoo_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_nok/nok.h b/src/world/area_nok/nok.h index c4923bf4e1..b567f2f8d2 100644 --- a/src/world/area_nok/nok.h +++ b/src/world/area_nok/nok.h @@ -23,6 +23,17 @@ enum { enum { AF_NOK_01 = AreaFlag(1), AF_NOK_02 = AreaFlag(2), + AF_NOK_09 = AreaFlag(9), + AF_NOK_0A = AreaFlag(10), + AF_NOK_0B = AreaFlag(11), + AF_NOK_0C = AreaFlag(12), + AF_NOK_0E = AreaFlag(14), + AF_NOK_0F = AreaFlag(15), + AF_NOK_10 = AreaFlag(16), + AF_NOK_11 = AreaFlag(17), + AF_NOK_12 = AreaFlag(18), + AF_NOK_13 = AreaFlag(19), + AF_NOK_15 = AreaFlag(21), }; extern MapSettings nok_01_settings; diff --git a/src/world/area_nok/nok_01/9C53E0.c b/src/world/area_nok/nok_01/9C53E0.c deleted file mode 100644 index ad4e8e06fa..0000000000 --- a/src/world/area_nok/nok_01/9C53E0.c +++ /dev/null @@ -1,160 +0,0 @@ -#include "nok_01.h" -#include "effects.h" - -static char* N(exit_str_0) = "nok_13"; -static char* N(exit_str_1) = "nok_02"; - -#define CHUCK_QUIZMO_NPC_ID 15 - -#include "world/common/enemy/ai/GuardAI.inc.c" - -#include "world/common/atomic/ToadHouse.inc.c" - -extern s32 N(Quizmo_Worker); -extern s32 N(Quizmo_AnswerResult); -extern EffectInstance* N(Quizmo_StageEffect); -extern EffectInstance* N(Quizmo_AudienceEffect); -extern EffectInstance* N(Quizmo_VannaTEffect); - -#include "world/common/atomic/Quizmo.inc.c" - -#include "world/common/todo/GetNpcCollisionHeight.inc.c" - -#include "world/common/todo/AddPlayerHandsOffset.inc.c" - -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); -#include "world/common/todo/ItemChoice_WaitForSelection.inc.c" - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} - -BSS s32 nok_01_D_80251C40[12]; // unused? -BSS s32 nok_01_D_80251C70[114]; - -ApiStatus func_802420B4_9C7494(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - nok_01_D_80251C70[i] = ptr[i]; - } - nok_01_D_80251C70[i] = 0; - } else { - for (i = 0; i < 112; i++) { - nok_01_D_80251C70[i] = i + 16; - nok_01_D_80251C70[112] = 0; - } - } - return ApiStatus_DONE2; -} - -extern s32 N(LetterDelivery_SavedNpcAnim); -#include "world/common/todo/LetterDelivery.inc.c" - -ApiStatus func_8024243C_9C781C(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 npcID = evt_get_variable(script, *args++); - s32 outVar = *args++; - f32 angle = clamp_angle((get_npc_safe(npcID)->yaw + 180.0f) - gCameras[gCurrentCameraID].currentYaw); - s32 outVal; - - outVal = FALSE; - if (angle > 270.0f || angle < 90.0f) { - outVal = TRUE; - } - - evt_set_variable(script, outVar, outVal); - return ApiStatus_DONE2; -} - -#include "common/CosInterpMinMax.inc.c" - -ApiStatus func_802426A4_9C7A84(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - f32 temp_f20; - f32 temp_f22; - f32 f3; - - temp_f22 = evt_get_variable(script, *args++); - temp_f20 = evt_get_variable(script, *args++); - f3 = evt_get_variable(script, *args++); - - fx_explosion(0, temp_f22, temp_f20 + 15.0f, f3); - exec_ShakeCam1(0, 0, 20); - return ApiStatus_DONE2; -} - -ApiStatus func_80242760_9C7B40(Evt* script, s32 isInitialCall) { - func_800E98EC(); - status_menu_ignore_changes(); - open_status_menu_long(); - return ApiStatus_DONE2; -} - -ApiStatus func_80242790_9C7B70(Evt* script, s32 isInitialCall) { - func_800E9900(); - status_menu_respond_to_changes(); - close_status_menu(); - return ApiStatus_DONE2; -} - -ApiStatus func_802427C0_9C7BA0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - evt_get_variable(script, *args++); - snd_ambient_80055448(16); - snd_ambient_80055760(4); - au_ambience_set_volume(0, 250, 1); - return ApiStatus_DONE2; -} - -extern s16 D_80250810_9D5BF0[]; - -ApiStatus func_80242804_9C7BE4(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *args++); - - snd_ambient_80055848(D_80250810_9D5BF0[idx]); - au_ambience_set_volume(D_80250810_9D5BF0[idx], 1500, 127); - return ApiStatus_DONE2; -} - -ApiStatus func_80242858_9C7C38(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *args++); - - au_ambience_set_volume(D_80250810_9D5BF0[idx], 1500, 1); - return ApiStatus_DONE2; -} - -ApiStatus func_80242898_9C7C78(Evt* script, s32 isInitialCall) { - snd_ambient_80055848(4); - return ApiStatus_DONE2; -} - -ApiStatus func_802428B8_9C7C98(Evt* script, s32 isInitialCall) { - snd_ambient_800557CC(100); - return ApiStatus_DONE2; -} - -ApiStatus func_802428D8_9C7CB8(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 index = evt_get_variable(script, *args++); - - NOP_FIX // TODO: REMOVE WHEN DATA (D_80250810_9D5BF0) IS MIGRATED - snd_ambient_80055848(D_80250810_9D5BF0[index]); - return ApiStatus_DONE2; -} - -ApiStatus func_80242910_9C7CF0(Evt* script, s32 isInitialCall) { - gPlayerData.tradeEventStartTime = gPlayerData.frameCounter; - return ApiStatus_DONE2; -} diff --git a/src/world/area_nok/nok_01/9C7D10.c b/src/world/area_nok/nok_01/9C7D10.c deleted file mode 100644 index 134c0cc443..0000000000 --- a/src/world/area_nok/nok_01/9C7D10.c +++ /dev/null @@ -1,4 +0,0 @@ -#include "nok_01.h" - -#include "common/foliage.inc.c" - diff --git a/src/world/area_nok/nok_01/nok_01.h b/src/world/area_nok/nok_01/nok_01.h index 7a8dfeffe0..67ec24bbc1 100644 --- a/src/world/area_nok/nok_01/nok_01.h +++ b/src/world/area_nok/nok_01/nok_01.h @@ -2,8 +2,62 @@ /// @brief Koopa Region - Koopa Village 1 #include "common.h" -#include "../nok.h" #include "message_ids.h" #include "map.h" +#include "../nok.h" +#include "mapfs/nok_01_shape.h" +#include "mapfs/nok_01_hit.h" + +#include "sprite/npc/WorldBombette.h" + +enum { + NPC_Koover = 0, + NPC_FuzzyWithShell = 1, + NPC_KooversShell = 2, + NPC_Koopa_02 = 3, + NPC_KoopaShell_02 = 4, + NPC_Koopa_03 = 5, + NPC_KoopaShell_03 = 6, + NPC_RelaxedKoopa = 7, + NPC_MortT = 8, + NPC_Koopa_ShopOwner = 9, + NPC_MiscFuzzy1 = 10, + NPC_MiscFuzzy2 = 11, + NPC_Bobomb_01 = 12, + NPC_Bobomb_02 = 13, + NPC_Bobomb_03 = 14, + NPC_ChuckQuizmo = 15, +}; + +enum { + MF_Bush8_Drop = MapFlag(10), + MF_Bush9_Drop = MapFlag(11), + MF_Bush3_Drop = MapFlag(12), + MF_Bush1_Drop = MapFlag(13), +}; + #define NAMESPACE nok_01 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_PlayRestingSong); +extern EvtScript N(EVS_BreakBlock_DropShell); +extern EvtScript N(EVS_Scene_RecoverTreeShell); +extern EvtScript N(EVS_SetupShop); +extern EvtScript N(EVS_SetupRadio); +extern EvtScript N(EVS_MakeRooms); +extern EvtScript N(EVS_80242C38); +extern EvtScript N(EVS_80242DE0); +extern EvtScript N(EVS_SetupFoliage); +extern EvtScript N(EVS_MakeEntities); + +extern NpcGroupList N(CrisisNPCs); +extern NpcGroupList N(NormalNPCs); + +API_CALLABLE(N(InitializeRadio)); +API_CALLABLE(N(SetRadioVolumeMax)); +API_CALLABLE(N(SetRadioVolumeMute)); +API_CALLABLE(N(func_80242898_9C7C78)); +API_CALLABLE(N(func_802428B8_9C7C98)); +API_CALLABLE(N(func_802428D8_9C7CB8)); diff --git a/src/world/area_nok/nok_01/nok_01_0_header.c b/src/world/area_nok/nok_01/nok_01_0_header.c new file mode 100644 index 0000000000..6a57d2d54f --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_0_header.c @@ -0,0 +1,14 @@ +#include "nok_01.h" + +EntryList N(Entrances) = { + [nok_01_ENTRY_0] { -333.0, 0.0, 350.0, 45.0 }, + [nok_01_ENTRY_1] { 470.0, 0.0, 10.0, 270.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_nok_01 }, +}; diff --git a/src/world/area_nok/nok_01/nok_01_1_music.c b/src/world/area_nok/nok_01/nok_01_1_music.c new file mode 100644 index 0000000000..e1f43bcaf2 --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_1_music.c @@ -0,0 +1,65 @@ +#include "nok_01.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_80242C38) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 7) + EVT_WAIT(4) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 6) + EVT_WAIT(4) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 5) + EVT_WAIT(4) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 4) + EVT_WAIT(4) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 3) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 7) + EVT_WAIT(4) + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 6) + EVT_WAIT(4) + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 5) + EVT_WAIT(4) + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 4) + EVT_WAIT(4) + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 3) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_80242DE0) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 4) + EVT_WAIT(2) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 5) + EVT_WAIT(2) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 6) + EVT_WAIT(2) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 7) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 4) + EVT_WAIT(2) + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 5) + EVT_WAIT(2) + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 6) + EVT_WAIT(2) + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 7) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayRestingSong) = { + EVT_CALL(SetMusicTrack, 0, SONG_TAKING_REST, 0, 8) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_01/nok_01_2_main.c b/src/world/area_nok/nok_01/nok_01_2_main.c new file mode 100644 index 0000000000..0ad216aa60 --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_2_main.c @@ -0,0 +1,119 @@ +#include "nok_01.h" + +EvtScript N(EVS_ExitWalk_nok_13_1) = { + EVT_IF_EQ(GB_KootFavor_State, KOOT_FAVOR_STATE_2) + EVT_SET(GF_KootFavor_LeftKoopaVillage, TRUE) + EVT_END_IF + EVT_CALL(N(func_802428B8_9C7C98)) + EVT_CALL(ClearAmbientSounds, 250) + EVT_CALL(UseExitHeading, 60, nok_01_ENTRY_0) + EVT_EXEC(ExitWalk) + EVT_CALL(GotoMap, EVT_PTR("nok_13"), nok_13_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitWalk_nok_02_0) = { + EVT_CALL(N(func_802428B8_9C7C98)) + EVT_CALL(ClearAmbientSounds, 250) + EVT_CALL(UseExitHeading, 60, nok_01_ENTRY_1) + EVT_EXEC(ExitWalk) + EVT_CALL(GotoMap, EVT_PTR("nok_02"), nok_02_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_13_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilisw, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_02_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilie, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetLoadType, LVar1) + EVT_IF_EQ(LVar1, LOAD_FROM_FILE_SELECT) + EVT_EXEC(EnterSavePoint) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetEntryID, LVar0) + EVT_SET(LocalFlag(0), FALSE) + EVT_IF_EQ(LVar0, nok_01_ENTRY_0) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_SET(LocalFlag(0), TRUE) + EVT_THREAD + EVT_WAIT(30) + EVT_EXEC(N(EVS_BindExitTriggers)) + EVT_END_THREAD + EVT_END_IF + EVT_END_IF + EVT_IF_EQ(LocalFlag(0), FALSE) + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Flowers) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(SetTexPanner, MODEL_o298, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o320, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o402, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o396, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o397, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o398, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o399, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o400, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o401, TEX_PANNER_0) + EVT_LABEL(10) + EVT_LOOP(12) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_LOOP(12) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, 0x4000, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_KOOPA_VILLAGE) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_SET(GF_MAP_KoopaVillage, TRUE) + EVT_SET(AF_NOK_09, FALSE) + EVT_SET(AF_NOK_0A, FALSE) + EVT_SET(AF_NOK_0C, FALSE) + EVT_SET(AF_NOK_0E, FALSE) + EVT_SET(GF_NOK01_Bush4_KoopaLeaf, FALSE) + EVT_IF_GE(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_SET(GF_NOK01_RecoveredShellA, TRUE) + EVT_SET(GF_NOK01_RecoveredBlockShell, TRUE) + EVT_SET(GF_NOK01_RecoveredTreeShell, TRUE) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(CrisisNPCs))) + EVT_ELSE + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NormalNPCs))) + EVT_END_IF + EVT_CALL(ClearDefeatedEnemies) + EVT_EXEC(N(EVS_SetupShop)) + EVT_EXEC(N(EVS_SetupRadio)) + EVT_EXEC(N(EVS_TexPan_Flowers)) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_MakeRooms)) + EVT_WAIT(1) + EVT_EXEC_WAIT(N(EVS_SetupFoliage)) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_SET(AB_NOK_0, 0) + EVT_EXEC(N(EVS_EnterMap)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_01/nok_01_3_entity.c b/src/world/area_nok/nok_01/nok_01_3_entity.c new file mode 100644 index 0000000000..d560747c00 --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_3_entity.c @@ -0,0 +1,14 @@ +#include "nok_01.h" +#include "entity.h" + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 20, 60, 370, 0, MAKE_ENTITY_END) + EVT_IF_EQ(GF_NOK01_RecoveredBlockShell, FALSE) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_BreakBlock_DropShell))) + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_SavePoint), 425, 60, 125, 0, MAKE_ENTITY_END) + EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenPanel), 150, 0, 350, 0, MODEL_o4, MAKE_ENTITY_END) + EVT_CALL(AssignPanelFlag, GF_NOK01_HiddenPanel) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_01/nok_01_4_npc.c b/src/world/area_nok/nok_01/nok_01_4_npc.c new file mode 100644 index 0000000000..a69ddd9953 --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_4_npc.c @@ -0,0 +1,776 @@ +#include "nok_01.h" + +#include "world/common/enemy/ai/GuardAI.inc.c" + +#include "world/common/npc/KoopaWithoutShell_Wander.inc.c" +#include "world/common/npc/Koopa_Wander.inc.c" + +NpcSettings N(NpcSettings_Unused2) = { + .height = 35, + .radius = 24, + .level = 99, +}; + +NpcSettings N(NpcSettings_Unused3) = { + .height = 42, + .radius = 24, + .level = 99, +}; + +#include "world/common/npc/Koopa.inc.c" +#include "world/common/enemy/complete/Fuzzy.inc.c" +#include "world/common/npc/Toad_Stationary.inc.c" +#include "world/common/npc/Bobomb.inc.c" + +#include "world/common/complete/ToadHouseBlanketAnim.inc.c" +#include "world/common/atomic/ToadHouse.inc.c" +#include "world/common/atomic/ToadHouse.data.inc.c" + +#define CHUCK_QUIZMO_NPC_ID NPC_ChuckQuizmo +#include "world/common/complete/Quizmo.inc.c" + +MAP_STATIC_PAD(1,key_item); +#include "world/common/complete/KeyItemChoice.inc.c" + +#include "world/common/complete/LetterDelivery.inc.c" + +s32 N(LettersKoover1)[] = { + ITEM_LETTER_CHAIN_KOOVER_1, ITEM_NONE +}; + +EvtScript N(EVS_LetterPrompt_Koover1) = { + EVT_CALL(N(LetterDelivery_Init), + NPC_Koover, ANIM_Koopa_Talk, ANIM_Koopa_Idle, + ITEM_LETTER_CHAIN_KOOVER_1, ITEM_LETTER_CHAIN_FISHMAEL, + MSG_CH1_0009, MSG_CH1_000A, MSG_CH1_000B, MSG_CH1_000C, + EVT_PTR(N(LettersKoover1))) + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) + EVT_RETURN + EVT_END +}; + +s32 N(LettersKoover2)[] = { + ITEM_LETTER_CHAIN_KOOVER_2, ITEM_NONE +}; + +EvtScript N(EVS_LetterPrompt_Koover2) = { + EVT_CALL(N(LetterDelivery_Init), + NPC_Koover, ANIM_Koopa_Talk, ANIM_Koopa_Idle, + ITEM_LETTER_CHAIN_KOOVER_2, ITEM_LETTER_CHAIN_MR_E, + MSG_CH1_000D, MSG_CH1_000E, MSG_CH1_000F, MSG_CH1_0010, + EVT_PTR(N(LettersKoover2))) + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) + EVT_RETURN + EVT_END +}; + +s32 N(LettersMortT)[] = { + ITEM_LETTER_TO_MORT_T, ITEM_NONE +}; + +EvtScript N(EVS_LetterPrompt_MortT) = { + EVT_CALL(N(LetterDelivery_Init), + NPC_MortT, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, + ITEM_LETTER_TO_MORT_T, ITEM_NONE, + MSG_CH1_0039, MSG_CH1_003A, MSG_CH1_003B, MSG_CH1_003C, + EVT_PTR(N(LettersMortT))) + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_LetterReward_MortT) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) + EVT_GIVE_STAR_PIECE() + EVT_END_IF + EVT_RETURN + EVT_END +}; + +API_CALLABLE(N(IsNpcFacingRight)) { + Bytecode* args = script->ptrReadPos; + s32 npcID = evt_get_variable(script, *args++); + s32 outVar = *args++; + Npc* npc = get_npc_safe(npcID); + f32 angle = clamp_angle((npc->yaw + 180.0f) - gCameras[gCurrentCameraID].currentYaw); + s32 outVal; + + outVal = FALSE; + if (angle > 270.0f || angle < 90.0f) { + outVal = TRUE; + } + + evt_set_variable(script, outVar, outVal); + return ApiStatus_DONE2; +} + +#include "common/CosInterpMinMax.inc.c" + +API_CALLABLE(N(SpawnExplosionEffect)) { + Bytecode* args = script->ptrReadPos; + f32 posY; + f32 posX; + f32 posZ; + + posX = evt_get_variable(script, *args++); + posY = evt_get_variable(script, *args++); + posZ = evt_get_variable(script, *args++); + + fx_explosion(0, posX, posY + 15.0f, posZ); + exec_ShakeCam1(0, 0, 20); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_DoNothing) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_GetBackIntoShell) = { + EVT_CALL(GetNpcYaw, LVar4, LVar1) + EVT_SET(LVar2, 30) + EVT_IF_GT(LVar1, 151) + EVT_IF_LE(LVar1, 331) + EVT_SET(LVar2, -30) + EVT_END_IF + EVT_END_IF + EVT_SET(LVar0, 0) + EVT_LOOP(15) + EVT_ADD(LVar0, LVar2) + EVT_CALL(SetNpcRotation, LVar3, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +Vec2i N(FuzzyJumpPath1)[] = { + { -255, 399 }, + { -100, 430 }, + { -91, 475 }, + { 0, 470 }, + { 56, 470 }, + { 120, 470 }, + { 200, 473 }, + { 250, 400 }, + { 308, 362 }, + { 370, 280 }, + { 446, 236 }, + { 444, 110 }, + { 448, 53 }, + { 330, 60 }, + { 273, 74 }, + { 200, 80 }, + { 135, 108 }, + { 30, 140 }, + { -47, 185 }, + { -100, 240 }, + { -170, 324 }, + { -210, 360 }, +}; + +Vec2i N(FuzzyJumpPath2)[] = { + { -170, 324 }, + { -100, 240 }, + { -47, 185 }, + { 30, 140 }, + { 135, 108 }, + { 200, 80 }, + { 273, 74 }, + { 330, 60 }, + { 448, 53 }, + { 444, 110 }, + { 446, 236 }, + { 370, 280 }, + { 308, 362 }, + { 250, 400 }, + { 200, 473 }, + { 120, 470 }, + { 56, 470 }, + { 0, 470 }, + { -91, 475 }, + { -100, 430 }, + { -255, 399 }, + { -210, 360 }, +}; + +EvtScript N(EVS_NpcIdle_MiscFuzzy1) = { + EVT_LABEL(100) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_WAIT(8) + EVT_GOTO(100) + EVT_END_IF + EVT_USE_BUF(EVT_PTR(N(FuzzyJumpPath1))) + EVT_SET(LVar1, 200) + EVT_BUF_READ2(LVar0, LVar2) + EVT_CALL(SetNpcPos, NPC_MiscFuzzy1, LVar0, LVar1, LVar2) + EVT_LABEL(0) + EVT_USE_BUF(EVT_PTR(N(FuzzyJumpPath1))) + EVT_LOOP(22) + EVT_SET(LVar1, 0) + EVT_BUF_READ2(LVar0, LVar2) + EVT_CALL(RandInt, 10, LVar3) + EVT_ADD(LVar3, 15) + EVT_CALL(PlaySoundAtNpc, NPC_MiscFuzzy1, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_MiscFuzzy1, LVar0, LVar1, LVar2, LVar3) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MiscFuzzyFlee) = { + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_THREAD + EVT_CALL(MakeItemEntity, ITEM_COIN, LVar0, LVar1, LVar2, ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS, 0) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Fuzzy_Hurt) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 25) + EVT_ADD(LVar0, 40) + EVT_ADD(LVar2, -40) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Fuzzy_Hurt) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 15) + EVT_ADD(LVar0, 30) + EVT_ADD(LVar2, -30) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Fuzzy_Anim09) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 13) + EVT_ADD(LVar0, 20) + EVT_ADD(LVar2, -20) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 11) + EVT_ADD(LVar0, 10) + EVT_ADD(LVar2, -10) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 9) + EVT_ADD(LVar0, 80) + EVT_ADD(LVar2, -80) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Fuzzy_Run) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 15) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_MiscFuzzy1) = { + EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_MiscFuzzyFlee))) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_MiscFuzzy2) = { + EVT_LABEL(100) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_WAIT(8) + EVT_GOTO(100) + EVT_END_IF + EVT_USE_BUF(EVT_PTR(N(FuzzyJumpPath2))) + EVT_SET(LVar1, 200) + EVT_BUF_READ2(LVar0, LVar2) + EVT_MULF(LVar0, EVT_FLOAT(0.9)) + EVT_MULF(LVar2, EVT_FLOAT(0.9)) + EVT_CALL(SetNpcPos, NPC_MiscFuzzy2, LVar0, LVar1, LVar2) + EVT_LABEL(0) + EVT_USE_BUF(EVT_PTR(N(FuzzyJumpPath2))) + EVT_LOOP(22) + EVT_SET(LVar1, 0) + EVT_BUF_READ2(LVar0, LVar2) + EVT_CALL(RandInt, 9, LVar3) + EVT_ADD(LVar3, 13) + EVT_MULF(LVar0, EVT_FLOAT(0.9)) + EVT_MULF(LVar2, EVT_FLOAT(0.9)) + EVT_CALL(PlaySoundAtNpc, NPC_MiscFuzzy2, SOUND_333, 0) + EVT_CALL(NpcJump0, NPC_MiscFuzzy2, LVar0, LVar1, LVar2, LVar3) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_MiscFuzzy2) = { + EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_MiscFuzzyFlee))) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_ShopOwner) = { + EVT_EXEC_WAIT(ItemShopInteract) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_ShopOwner) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_ShopOwner))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToadHouse_SetDialogue) = { + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_IF_GT(LVar1, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, 0, MSG_CH1_0035) + EVT_SET(LVar0, 0) + EVT_RETURN + EVT_END_IF + EVT_SET(LVar0, MSG_CH1_0033) + EVT_SET(LVar8, MSG_CH1_0034) + EVT_SET(LVar1, MSG_CH1_0036) + EVT_SET(LVar2, MSG_CH1_0037) + EVT_SET(LVar3, MSG_CH1_0038) + EVT_SET(LVar4, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToadHouse_GetInBed) = { + EVT_EXEC(N(EVS_PlayRestingSong)) + EVT_CALL(func_802D1270, -311, 85, EVT_FLOAT(3.0)) + EVT_THREAD + EVT_WAIT(5) + EVT_CALL(N(ToadHouse_CamSetFOV), 0, 40) + EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE) + EVT_CALL(SetCamPitch, CAM_DEFAULT, 34, -8) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 220) + EVT_CALL(SetCamPosA, CAM_DEFAULT, -200, 53) + EVT_CALL(SetCamPosB, CAM_DEFAULT, -401, 50) + EVT_CALL(SetCamPosC, CAM_DEFAULT, 0, -2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_END_THREAD + EVT_CALL(func_802D1270, -334, 70, EVT_FLOAT(3.0)) + EVT_CALL(func_802D1270, -385, -6, EVT_FLOAT(3.0)) + EVT_WAIT(1) + EVT_CALL(InterpPlayerYaw, 160, 1) + EVT_CALL(HidePlayerShadow, TRUE) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_StandStill) + EVT_CALL(func_802D286C, 0x800) + EVT_CALL(func_802D2520, ANIM_Mario_10002, 5, 7, 1, 1, 0) + EVT_THREAD + EVT_WAIT(60) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8001D) + EVT_END_THREAD + EVT_WAIT(20) + EVT_THREAD + EVT_WAIT(63) + EVT_CALL(N(ToadHouse_CamSetFOV), 0, 25) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_END_THREAD + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ToadHouse_ReturnFromRest) = { + EVT_CALL(HidePlayerShadow, FALSE) + EVT_CALL(func_802D2520, ANIM_Mario_10002, 0, 0, 0, 0, 0) + EVT_CALL(SetPlayerPos, -380, 0, 5) + EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0)) + EVT_CALL(PlayerMoveTo, -325, 79, 0) + EVT_EXEC(N(EVS_SetupMusic)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_MortT) = { + EVT_EXEC_WAIT(N(EVS_LetterPrompt_MortT)) + EVT_EXEC_WAIT(N(EVS_LetterReward_MortT)) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) + EVT_RETURN + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_NpcInteract_ToadHouseKeeper)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_MortT) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_MortT))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_RelaxedKoopa) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_IF_EQ(AF_NOK_09, FALSE) + EVT_CALL(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0021) + EVT_SET(AF_NOK_09, TRUE) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0022) + EVT_SET(AF_NOK_09, FALSE) + EVT_END_IF + EVT_RETURN + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0023) + EVT_RETURN + EVT_END_IF + EVT_SWITCH(AB_NOK_0) + EVT_CASE_EQ(0) + EVT_CALL(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0024) + EVT_CASE_EQ(1) + EVT_CALL(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0025) + EVT_CASE_EQ(2) + EVT_CALL(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0026) + EVT_CASE_EQ(3) + EVT_CALL(SpeakToPlayer, NPC_RelaxedKoopa, ANIM_Koopa_LeanBackTalk, ANIM_Koopa_LeanBack, 5, MSG_CH1_0027) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +#include "npcs_crisis.inc.c" + +EvtScript N(EVS_NpcInit_RelaxedKoopa) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_RelaxedKoopa))) + EVT_CALL(SetNpcPos, NPC_RelaxedKoopa, 333, 17, -162) + EVT_CALL(InterpNpcYaw, NPC_RelaxedKoopa, 180, 0) + EVT_CALL(SetNpcAnimation, NPC_RelaxedKoopa, ANIM_Koopa_LeanBack) + EVT_RETURN + EVT_END +}; + +#include "npcs_normal.inc.c" + +StaticNpc N(NpcData_Crisis)[] = { + { + .id = NPC_Koover, + .settings = &N(NpcSettings_Koopa_Wander), + .pos = { -233.0f, 0.0f, 256.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Koover_Crisis), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { -233, 0, 256 }, + .wanderSize = { 100 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { -233, 0, 256 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_Greeter, + }, + { + .id = NPC_FuzzyWithShell, + .settings = &N(NpcSettings_Fuzzy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000, + .init = &N(EVS_NpcInit_FuzzyWithShell), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 0, 0, 0 }, + .wanderSize = { 0 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 0 }, + } + }, + .animations = FUZZY_ANIMS, + }, + { + .id = NPC_KooversShell, + .settings = &N(NpcSettings_Koopa), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_KooversShell), + .drops = NPC_NO_DROPS, + .animations = KOOPA_ANIMS, + }, + { + .id = NPC_Koopa_02, + .settings = &N(NpcSettings_KoopaWithoutShell_Wander), + .pos = { 50.0f, 0.0f, 300.0f }, + .yaw = 180, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_02_Crisis), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 50, 0, 325 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 52, 0, 330 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_WITHOUT_SHELL_ANIMS, + .tattle = MSG_NpcTattle_NOK_GenericKoopaA, + }, + { + .id = NPC_KoopaShell_02, + .settings = &N(NpcSettings_Koopa), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_KoopaShell_02), + .drops = NPC_NO_DROPS, + .animations = KOOPA_ANIMS, + }, + { + .id = NPC_Koopa_03, + .settings = &N(NpcSettings_KoopaWithoutShell_Wander), + .pos = { 150.0f, 0.0f, 217.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_03_Crisis), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = OVERRIDE_MOVEMENT_SPEED(3.0f), + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 175, 0, 225 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 150, 0, 217 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_WITHOUT_SHELL_ANIMS, + .tattle = MSG_NpcTattle_NOK_GenericKoopaB, + }, + { + .id = NPC_KoopaShell_03, + .settings = &N(NpcSettings_Koopa), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_KoopaShell_03), + .drops = NPC_NO_DROPS, + .animations = KOOPA_ANIMS, + }, + { + .id = NPC_Bobomb_01, + .settings = &N(NpcSettings_Bobomb), + .pos = { 260.0f, 0.0f, -110.0f }, + .yaw = 82, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Bobomb_01_Crisis), + .drops = NPC_NO_DROPS, + .animations = BOBOMB_RED_ANIMS, + .tattle = MSG_NpcTattle_NOK_BobombA, + }, + { + .id = NPC_Bobomb_02, + .settings = &N(NpcSettings_Bobomb), + .pos = { 270.0f, 0.0f, -160.0f }, + .yaw = 82, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Bobomb_02_Crisis), + .drops = NPC_NO_DROPS, + .animations = BOBOMB_RED_ANIMS, + .tattle = MSG_NpcTattle_NOK_BobombB, + }, +}; + +// just jumps around the map; can be hit for a coin +StaticNpc N(NpcData_MiscFuzzy1) = { + .id = NPC_MiscFuzzy1, + .settings = &N(NpcSettings_Fuzzy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000, + .init = &N(EVS_NpcInit_MiscFuzzy1), + .drops = NPC_NO_DROPS, + .animations = FUZZY_ANIMS, +}; + +// just jumps around the map; can be hit for a coin +StaticNpc N(NpcData_MiscFuzzy2) = { + .id = NPC_MiscFuzzy2, + .settings = &N(NpcSettings_Fuzzy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000, + .init = &N(EVS_NpcInit_MiscFuzzy2), + .drops = NPC_NO_DROPS, + .animations = FUZZY_ANIMS, +}; + +StaticNpc N(NpcData_Normal)[] = { + { + .id = NPC_Koover, + .settings = &N(NpcSettings_Koopa_Wander), + .pos = { -233.0f, 0.0f, 256.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koover_Normal), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { -233, 0, 256 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { -233, 0, 256 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_Greeter, + }, + { + .id = NPC_Koopa_02, + .settings = &N(NpcSettings_Koopa_Wander), + .pos = { 52.0f, 0.0f, 330.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_02_Normal), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 50, 0, 325 }, + .wanderSize = { 50 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 52, 0, 330 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_GenericKoopaA, + }, + { + .id = NPC_Koopa_03, + .settings = &N(NpcSettings_Koopa_Wander), + .pos = { 110.0f, 0.0f, 240.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_03_Normal), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { 110, 0, 240 }, + .wanderSize = { 45 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 150, 0, 217 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_GenericKoopaB, + }, + { + .id = NPC_Bobomb_01, + .settings = &N(NpcSettings_Bobomb), + .pos = { 236.0f, 0.0f, 251.0f }, + .yaw = 82, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Bobomb_01_Normal), + .drops = NPC_NO_DROPS, + .animations = BOBOMB_RED_ANIMS, + .tattle = MSG_NpcTattle_NOK_BobombA, + }, + { + .id = NPC_Bobomb_02, + .settings = &N(NpcSettings_Bobomb), + .pos = { 224.0f, 0.0f, 309.0f }, + .yaw = 82, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Bobomb_02_Normal), + .drops = NPC_NO_DROPS, + .animations = BOBOMB_RED_ANIMS, + .tattle = MSG_NpcTattle_NOK_BobombB, + }, + { + .id = NPC_Bobomb_03, + .settings = &N(NpcSettings_Bobomb), + .pos = { 280.0f, 0.0f, 274.0f }, + .yaw = 262, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Bobomb_03_Normal), + .drops = NPC_NO_DROPS, + .animations = BOBOMB_RED_ANIMS, + .tattle = MSG_NpcTattle_NOK_BobombC, + }, +}; + +StaticNpc N(NpcData_Shared)[] = { + { + .id = NPC_MortT, + .settings = &N(NpcSettings_Toad_Stationary), + .pos = { -268.0f, 10.0f, 68.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_MortT), + .drops = NPC_NO_DROPS, + .animations = TOAD_RED_ANIMS, + .tattle = MSG_NpcTattle_NOK_ToadHouseToad, + }, + { + .id = NPC_Koopa_ShopOwner, + .settings = &N(NpcSettings_Koopa), + .pos = { -73.0f, 0.0f, -338.0f }, + .yaw = 157, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_ShopOwner), + .drops = NPC_NO_DROPS, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_ShopOwner, + }, + { + .id = NPC_RelaxedKoopa, + .settings = &N(NpcSettings_Koopa), + .pos = { 337.0f, 17.0f, -162.0f }, + .yaw = 262, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_RelaxedKoopa), + .drops = NPC_NO_DROPS, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_RadioLover, + }, + { + .id = NPC_ChuckQuizmo, + .settings = &N(NpcSettings_ChuckQuizmo), + .pos = { 356.0f, 0.0f, 166.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .initVarCount = 1, + .initVar = { .bytes = { 0, QUIZ_AREA_NOK, QUIZ_COUNT_NOK, QUIZ_MAP_NOK_01 }}, + .drops = NPC_NO_DROPS, + .animations = QUIZMO_ANIMS, + .tattle = MSG_NpcTattle_ChuckQuizmo, + }, +}; + +NpcGroupList N(CrisisNPCs) = { + NPC_GROUP(N(NpcData_Crisis)), + NPC_GROUP(N(NpcData_Shared)), + NPC_GROUP(N(NpcData_MiscFuzzy1)), + NPC_GROUP(N(NpcData_MiscFuzzy2)), + {} +}; + +NpcGroupList N(NormalNPCs) = { + NPC_GROUP(N(NpcData_Normal)), + NPC_GROUP(N(NpcData_Shared)), + {} +}; diff --git a/src/world/area_nok/nok_01/nok_01_5_shop.c b/src/world/area_nok/nok_01/nok_01_5_shop.c new file mode 100644 index 0000000000..072fd22572 --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_5_shop.c @@ -0,0 +1,96 @@ +#include "nok_01.h" +#include "sprite/npc/Koopa.h" + +s32 N(ShopMessages)[] = { + [SHOP_MSG_BUY_CONFIRM ] MSG_Shop_00_NOK01, + [SHOP_MSG_NOT_ENOUGH_COINS ] MSG_Shop_01_NOK01, + [SHOP_MSG_NOT_ENOUGH_ROOM ] MSG_Shop_02_NOK01, + [SHOP_MSG_BUY_THANK_YOU ] MSG_Shop_03_NOK01, + [SHOP_MSG_GREETING ] MSG_Shop_04_NOK01, + [SHOP_MSG_INSTRUCTIONS ] MSG_Shop_05_NOK01, + [SHOP_MSG_NOTHING_TO_SELL ] MSG_Shop_06_NOK01, + [SHOP_MSG_SELL_WHICH ] MSG_Shop_07_NOK01, + [SHOP_MSG_SELL_CONFIRM ] MSG_Shop_08_NOK01, + [SHOP_MSG_SELL_CANCEL ] MSG_Shop_09_NOK01, + [SHOP_MSG_SELL_MORE ] MSG_Shop_0A_NOK01, + [SHOP_MSG_SELL_THANKS ] MSG_Shop_0B_NOK01, + [SHOP_MSG_NOTHING_TO_CHECK ] MSG_Shop_0C_NOK01, + [SHOP_MSG_NO_CHECK_ROOM ] MSG_Shop_0D_NOK01, + [SHOP_MSG_CHECK_WHICH ] MSG_Shop_0E_NOK01, + [SHOP_MSG_CHECK_ACCEPTED ] MSG_Shop_0F_NOK01, + [SHOP_MSG_CHECK_MORE ] MSG_Shop_10_NOK01, + [SHOP_MSG_NOTHING_TO_CLAIM ] MSG_Shop_11_NOK01, + [SHOP_MSG_NO_CLAIM_ROOM ] MSG_Shop_12_NOK01, + [SHOP_MSG_CLAIM_WHICH ] MSG_Shop_13_NOK01, + [SHOP_MSG_CLAIM_ACCEPTED ] MSG_Shop_14_NOK01, + [SHOP_MSG_CLAIM_MORE ] MSG_Shop_15_NOK01, + [SHOP_MSG_FAREWELL ] MSG_Shop_16_NOK01, +}; + +ShopItemData N(Inventory)[] = { + { .itemID = ITEM_DIZZY_DIAL, .price = 10, MSG_ItemShopDesc_DizzyDial }, + { .itemID = ITEM_POW_BLOCK, .price = 4, MSG_ItemShopDesc_POWBlock }, + { .itemID = ITEM_FIRE_FLOWER, .price = 8, MSG_ItemShopDesc_FireFlower }, + { .itemID = ITEM_HONEY_SYRUP, .price = 8, MSG_ItemShopDesc_HoneySyrup }, + { .itemID = ITEM_VOLT_SHROOM, .price = 15, MSG_ItemShopDesc_VoltShroom }, + { .itemID = ITEM_MUSHROOM, .price = 4, MSG_ItemShopDesc_Mushroom }, + {} +}; + +ShopSellPriceData N(PriceList)[] = { + { .itemID = ITEM_KOOPASTA, .sellPrice = 12 }, + { .itemID = ITEM_KOOPA_TEA, .sellPrice = 4 }, + { .itemID = ITEM_KOOKY_COOKIE, .sellPrice = 15 }, + { .itemID = ITEM_SPECIAL_SHAKE, .sellPrice = 12 }, + { .itemID = ITEM_BLAND_MEAL, .sellPrice = 12 }, + { .itemID = ITEM_SUPER_SODA, .sellPrice = 5 }, + { .itemID = ITEM_LIFE_SHROOM, .sellPrice = 30 }, + {} +}; + +s32 N(missing_8024FC20_FC20)[] = { + ITEM_FIRE_FLOWER, 5, + ITEM_SNOWMAN_DOLL, 5, + ITEM_THUNDER_RAGE, 5, + ITEM_SHOOTING_STAR, 10, + ITEM_DUSTY_HAMMER, 3, + ITEM_PEBBLE, 3, + ITEM_STONE_CAP, 5, + ITEM_VOLT_SHROOM, 5, + ITEM_VOLT_SHROOM, 5, +}; + +EvtScript N(EVS_OnBuy) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(SHOP_BUY_RESULT_CANCEL) + EVT_CASE_EQ(SHOP_BUY_RESULT_4) + EVT_CASE_EQ(SHOP_BUY_RESULT_OK) + EVT_CASE_EQ(SHOP_BUY_RESULT_2) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +ShopItemLocation N(ItemPositions)[] = { + { .posModelID = MODEL_o213, .triggerColliderID = COLLIDER_o343 }, + { .posModelID = MODEL_o214, .triggerColliderID = COLLIDER_o344 }, + { .posModelID = MODEL_o215, .triggerColliderID = COLLIDER_o345 }, + { .posModelID = MODEL_o216, .triggerColliderID = COLLIDER_o346 }, + { .posModelID = MODEL_o217, .triggerColliderID = COLLIDER_o347 }, + { .posModelID = MODEL_o218, .triggerColliderID = COLLIDER_o348 }, +}; + +ShopOwner N(Owner) = { + .npcID = NPC_Koopa_ShopOwner, + .idleAnim = ANIM_Koopa_Idle, + .talkAnim = ANIM_Koopa_Talk, + .onBuyEvt = &N(EVS_OnBuy), + .shopMsgIDs = N(ShopMessages), +}; + +EvtScript N(EVS_SetupShop) = { + EVT_CALL(MakeShop, EVT_PTR(N(ItemPositions)), EVT_PTR(N(Inventory)), EVT_PTR(N(PriceList)), ITEM_ENTITY_FLAG_10000) + EVT_CALL(MakeShopOwner, EVT_PTR(N(Owner))) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_01/nok_01_6_rooms.c b/src/world/area_nok/nok_01/nok_01_6_rooms.c new file mode 100644 index 0000000000..cbd41b281b --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_6_rooms.c @@ -0,0 +1,299 @@ +#include "nok_01.h" + +API_CALLABLE(N(OnEnterShop)) { + func_800E98EC(); + status_menu_ignore_changes(); + open_status_menu_long(); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(OnExitShop)) { + func_800E9900(); + status_menu_respond_to_changes(); + close_status_menu(); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_AnimateSwingingSigns) = { + EVT_LABEL(9) + EVT_CALL(MakeLerp, 10, -10, 30, EASING_COS_IN_OUT) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o287, LVar0, 1, 0, 0) + EVT_CALL(RotateModel, MODEL_o201, LVar0, 1, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(MakeLerp, -10, 10, 30, EASING_COS_IN_OUT) + EVT_LABEL(11) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o287, LVar0, 1, 0, 0) + EVT_CALL(RotateModel, MODEL_o201, LVar0, 1, 0, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(11) + EVT_END_IF + EVT_GOTO(9) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SpinCeilingFan) = { + EVT_LABEL(0) + EVT_SET(LVar0, 35) + EVT_LOOP(LVar0) + EVT_SET(LVar1, LVar0) + EVT_MUL(LVar1, 10) + EVT_CALL(RotateModel, MODEL_o247, LVar1, 0, -1, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_ToadHouse) = { + EVT_CALL(RotateModel, MODEL_o200, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallsRot_ToadHouse) = { + EVT_CALL(RotateModel, MODEL_o197, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o196, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o195, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o199, LVar0, 0, -1, 0) + EVT_CALL(RotateModel, MODEL_o194, LVar0, 0, 1, 0) + EVT_CALL(RotateModel, MODEL_o193, LVar0, 0, 1, 0) + EVT_CALL(RotateModel, MODEL_o190, LVar0, 0, 1, 0) + EVT_CALL(RotateModel, MODEL_o192, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallRot_ToadHouse) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_WAIT(20) + EVT_SET(LVar0, 0) + EVT_LOOP(18) + EVT_ADD(LVar0, 5) + EVT_EXEC_WAIT(N(EVS_SetWallsRot_ToadHouse)) + EVT_END_LOOP + EVT_CASE_EQ(3) + EVT_SET(LVar0, 90) + EVT_LOOP(18) + EVT_SUB(LVar0, 5) + EVT_EXEC_WAIT(N(EVS_SetWallsRot_ToadHouse)) + EVT_END_LOOP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_Shop) = { + EVT_CALL(RotateModel, MODEL_o226, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallsRot_Shop) = { + EVT_SET(LVar1, LVar0) + EVT_DIVF(LVar1, 45) + EVT_CALL(TranslateModel, MODEL_o225, 0, LVar1, 0) + EVT_CALL(RotateModel, MODEL_o225, LVar0, 0, 0, -1) + EVT_CALL(RotateModel, MODEL_o224, LVar0, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_o223, LVar0, 0, 0, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallRot_Shop) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_WAIT(20) + EVT_CALL(N(OnEnterShop)) + EVT_SET(LVar0, 0) + EVT_LOOP(18) + EVT_ADD(LVar0, 5) + EVT_EXEC_WAIT(N(EVS_SetWallsRot_Shop)) + EVT_END_LOOP + EVT_CASE_EQ(3) + EVT_CALL(N(OnExitShop)) + EVT_SET(LVar0, 90) + EVT_LOOP(18) + EVT_SUB(LVar0, 5) + EVT_EXEC_WAIT(N(EVS_SetWallsRot_Shop)) + EVT_END_LOOP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_BeachHouse) = { + EVT_CALL(RotateModel, MODEL_o246, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallsRot_BeachHouse) = { + EVT_SETF(LVar1, LVar0) + EVT_DIVF(LVar1, 2) + EVT_CALL(RotateModel, MODEL_o243, LVar1, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o244, LVar1, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o242, LVar1, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o245, LVar1, -1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallRot_BeachHouse) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_SET(LVar0, 0) + EVT_LOOP(18) + EVT_ADD(LVar0, 5) + EVT_EXEC_WAIT(N(EVS_SetWallsRot_BeachHouse)) + EVT_END_LOOP + EVT_CASE_EQ(3) + EVT_SET(LVar0, 90) + EVT_LOOP(18) + EVT_SUB(LVar0, 5) + EVT_EXEC_WAIT(N(EVS_SetWallsRot_BeachHouse)) + EVT_END_LOOP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DropDoor_BeachHouse) = { + EVT_SET(LVar1, LVar0) + EVT_DIVF(LVar1, 45) + EVT_CALL(TranslateModel, MODEL_o246, 0, LVar1, 0) + EVT_CALL(RotateModel, MODEL_o246, LVar0, 1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_RoomListener_ToadHouse) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) + EVT_CALL(SetGroupEnabled, MODEL_g111, 1) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) + EVT_CALL(SetGroupEnabled, MODEL_g111, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_RoomListener_Shop) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) + EVT_CALL(SetGroupEnabled, MODEL_g114, 1) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) + EVT_CALL(SetGroupEnabled, MODEL_g114, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_RoomListener_BeachHouse) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) + EVT_CALL(SetGroupEnabled, MODEL_g79, 1) + EVT_CALL(N(SetRadioVolumeMax), AB_NOK_0) + EVT_EXEC(N(EVS_80242C38)) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + EVT_CALL(N(SetRadioVolumeMute), AB_NOK_0) + EVT_EXEC(N(EVS_80242DE0)) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) + EVT_CALL(SetGroupEnabled, MODEL_g79, 0) + EVT_CALL(N(func_80242898_9C7C78)) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +s32 N(InteriorNPCs_ToadHouse)[] = { + NPC_MortT, + -1 +}; + +s32 N(InteriorNPCs_Shop)[] = { + NPC_Koopa_ShopOwner, + -1 +}; + +s32 N(InteriorNPCs_BeachHouse_Before)[] = { + NPC_RelaxedKoopa, + NPC_Bobomb_01, + NPC_Bobomb_02, + -1 +}; + +s32 N(InteriorNPCs_BeachHouse_After)[] = { + NPC_RelaxedKoopa, + -1 +}; + +EvtScript N(EVS_MakeRooms) = { + // toad house + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT | ROOM_FLAG_CUSTOM_ANIM_WALL_ROT), + EVT_PTR(N(EVS_SetDoorRot_ToadHouse)), + EVT_PTR(N(EVS_SetWallRot_ToadHouse)), + NULL, + EVT_PTR(N(EVS_RoomListener_ToadHouse)), + COLLIDER_o200, + COLLIDER_o284, + MODEL_aka, + EVT_PTR(N(InteriorNPCs_ToadHouse))) + // shop + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_1, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT | ROOM_FLAG_CUSTOM_ANIM_WALL_ROT), + EVT_PTR(N(EVS_SetDoorRot_Shop)), + EVT_PTR(N(EVS_SetWallRot_Shop)), + NULL, + EVT_PTR(N(EVS_RoomListener_Shop)), + COLLIDER_o226, + COLLIDER_o286, + MODEL_ki, + EVT_PTR(N(InteriorNPCs_Shop))) + // beach house + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT | ROOM_FLAG_CUSTOM_ANIM_WALL_ROT), + EVT_PTR(N(EVS_SetDoorRot_BeachHouse)), + EVT_PTR(N(EVS_SetWallRot_BeachHouse)), + EVT_PTR(N(EVS_DropDoor_BeachHouse)), + EVT_PTR(N(EVS_RoomListener_BeachHouse)), + COLLIDER_o246, + COLLIDER_o291, + MODEL_ao, + EVT_PTR(N(InteriorNPCs_BeachHouse_Before))) + EVT_ELSE + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT | ROOM_FLAG_CUSTOM_ANIM_WALL_ROT), + EVT_PTR(N(EVS_SetDoorRot_BeachHouse)), + EVT_PTR(N(EVS_SetWallRot_BeachHouse)), + EVT_PTR(N(EVS_DropDoor_BeachHouse)), + EVT_PTR(N(EVS_RoomListener_BeachHouse)), + COLLIDER_o246, + COLLIDER_o291, + MODEL_ao, + EVT_PTR(N(InteriorNPCs_BeachHouse_After))) + EVT_END_IF + EVT_CALL(N(InitializeRadio)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_ToadHouse)) + EVT_EXEC(N(EVS_RoomListener_Shop)) + EVT_EXEC(N(EVS_RoomListener_BeachHouse)) + EVT_EXEC(N(EVS_AnimateSwingingSigns)) + EVT_EXEC(N(EVS_SpinCeilingFan)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_01/nok_01_7_radio.c b/src/world/area_nok/nok_01/nok_01_7_radio.c new file mode 100644 index 0000000000..211bef513b --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_7_radio.c @@ -0,0 +1,131 @@ +#include "nok_01.h" + +s16 N(StationMseqMapping)[] = { + 0, 2, 1, 4 +}; + +API_CALLABLE(N(InitializeRadio)) { + Bytecode* args = script->ptrReadPos; + + evt_get_variable(script, *args++); + snd_ambient_load(AMBIENT_RADIO); + snd_ambient_80055760(4); + snd_ambient_set_volume(0, 250, 1); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetRadioVolumeMax)) { + Bytecode* args = script->ptrReadPos; + s32 idx = evt_get_variable(script, *args++); + + snd_ambient_set_track(N(StationMseqMapping)[idx]); + snd_ambient_set_volume(N(StationMseqMapping)[idx], 1500, 127); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetRadioVolumeMute)) { + Bytecode* args = script->ptrReadPos; + s32 idx = evt_get_variable(script, *args++); + + snd_ambient_set_volume(N(StationMseqMapping)[idx], 1500, 1); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_80242898_9C7C78)) { + snd_ambient_set_track(4); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(func_802428B8_9C7C98)) { + snd_ambient_800557CC(100); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetRadioStation)) { + Bytecode* args = script->ptrReadPos; + s32 index = evt_get_variable(script, *args++); + + snd_ambient_set_track(N(StationMseqMapping)[index]); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetTradeEventStartTime)) { + gPlayerData.tradeEventStartTime = gPlayerData.frameCounter; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_InitiateTradingEvent) = { + EVT_SWITCH(GB_TradingEvent_Count) + EVT_CASE_EQ(0) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SwitchMessage, MSG_CH1_0028) + EVT_ELSE + EVT_CALL(SwitchMessage, MSG_CH1_0029) + EVT_END_IF + EVT_ELSE + EVT_CALL(SwitchMessage, MSG_CH1_002A) + EVT_SET(GF_TradingEvent1_Active, TRUE) + EVT_CALL(N(SetTradeEventStartTime)) + EVT_END_IF + EVT_CASE_EQ(1) + EVT_IF_LT(GB_StoryProgress, STORY_CH3_BEGAN_PEACH_MISSION) + EVT_CALL(SwitchMessage, MSG_CH1_002E) + EVT_ELSE + EVT_CALL(SwitchMessage, MSG_CH1_002B) + EVT_SET(GF_TradingEvent2_Active, TRUE) + EVT_CALL(N(SetTradeEventStartTime)) + EVT_END_IF + EVT_CASE_EQ(2) + EVT_IF_LT(GB_StoryProgress, STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SwitchMessage, MSG_CH1_002E) + EVT_ELSE + EVT_CALL(SwitchMessage, MSG_CH1_002C) + EVT_SET(GF_TradingEvent3_Active, TRUE) + EVT_CALL(N(SetTradeEventStartTime)) + EVT_END_IF + EVT_CASE_EQ(3) + EVT_CALL(SwitchMessage, MSG_CH1_002D) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Interact_Radio) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(2) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8000E) + EVT_WAIT(7) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_ADD(AB_NOK_0, 1) + EVT_IF_GE(AB_NOK_0, 4) + EVT_SET(AB_NOK_0, 0) + EVT_END_IF + EVT_IF_NE(GF_MAC05_SimonGotMelody, TRUE) + EVT_IF_EQ(AB_NOK_0, 2) + EVT_ADD(AB_NOK_0, 1) + EVT_END_IF + EVT_END_IF + EVT_CALL(N(SetRadioStation), AB_NOK_0) + EVT_SWITCH(AB_NOK_0) + EVT_CASE_EQ(0) // island sounds + EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_002F, 160, 40) + EVT_CASE_EQ(1) // golden oldies + EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_0030, 160, 40) + EVT_CASE_EQ(2) // hot hits + EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_0031, 160, 40) + EVT_CASE_EQ(3) // information + EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_0032, 160, 40) + EVT_EXEC_WAIT(N(EVS_InitiateTradingEvent)) + EVT_END_SWITCH + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupRadio) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Interact_Radio)), TRIGGER_WALL_PRESS_A, COLLIDER_o235, 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_01/nok_01_8_foliage.c b/src/world/area_nok/nok_01/nok_01_8_foliage.c new file mode 100644 index 0000000000..215f46dea0 --- /dev/null +++ b/src/world/area_nok/nok_01/nok_01_8_foliage.c @@ -0,0 +1,223 @@ +#include "nok_01.h" + +#include "common/foliage.inc.c" + +FoliageModelList N(Bush5_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o315); + +FoliageDropList N(Bush5_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_COIN, + .pos = { -113, 16, 430 }, + .spawnMode = ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE, + .pickupFlag = GF_NOK01_Bush1_Coin, + }, + } +}; + +SearchBushConfig N(SearchBush_Bush5) = { + .bush = &N(Bush5_BushModels), + .drops = &N(Bush5_Drops), +}; + +FoliageModelList N(Bush4_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o322, MODEL_o320); + +FoliageDropList N(Bush3_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_KOOT_GLASSES, + .pos = { -39, 16, 404 }, + .spawnMode = ITEM_SPAWN_MODE_TOSS_NEVER_VANISH, + .pickupFlag = GF_NOK01_Bush6_Glasses, + .spawnFlag = MF_Bush3_Drop, + }, + } +}; + +SearchBushConfig N(SearchBush_Bush4) = { + .bush = &N(Bush4_BushModels), +}; + +SearchBushConfig N(SearchBush_Bush3) = { + .bush = &N(Bush4_BushModels), + .drops = &N(Bush3_Drops), +}; + +FoliageModelList N(Bush6_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o390, MODEL_o396, MODEL_o397, MODEL_o398); + +EvtScript N(EVS_Bush6_HideFlowers) = { + EVT_CALL(EnableModel, MODEL_o396, FALSE) + EVT_CALL(EnableModel, MODEL_o397, FALSE) + EVT_CALL(EnableModel, MODEL_o398, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnSearchBush6) = { + EVT_CALL(EnableModel, MODEL_o396, TRUE) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_o398, TRUE) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_o397, TRUE) + EVT_RETURN + EVT_END +}; + +SearchBushConfig N(SearchBush_Bush6) = { + .bush = &N(Bush6_BushModels), + .callback = &N(EVS_OnSearchBush6), +}; + +FoliageModelList N(Bush7_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o391); + +FoliageDropList N(Bush7_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_DRIED_SHROOM, + .pos = { 43, 16, 443 }, + .spawnMode = ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE, + .pickupFlag = GF_NOK01_Bush3_DriedShroom, + }, + } +}; + +SearchBushConfig N(SearchBush_Bush7) = { + .bush = &N(Bush7_BushModels), + .drops = &N(Bush7_Drops), +}; + +FoliageModelList N(Bush8_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o392); + +FoliageDropList N(Bush8_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_KOOPA_LEAF, + .pos = { 329, 16, 245 }, + .spawnMode = ITEM_SPAWN_MODE_TOSS, + .pickupFlag = GF_NOK01_Bush4_KoopaLeaf, + .spawnFlag = MF_Bush8_Drop, + }, + } +}; + +SearchBushConfig N(SearchBush_Bush8) = { + .bush = &N(Bush8_BushModels), + .drops = &N(Bush8_Drops), +}; + +FoliageModelList N(Bush9_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o393, MODEL_o402); + +FoliageDropList N(Bush9_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_COIN, + .pos = { 364, 16, 102 }, + .spawnMode = ITEM_SPAWN_MODE_TOSS, + .pickupFlag = GF_NOK01_Bush5_Coin, + .spawnFlag = MF_Bush9_Drop, + }, + } +}; + +SearchBushConfig N(SearchBush_Bush9) = { + .bush = &N(Bush9_BushModels), + .drops = &N(Bush9_Drops), +}; + +FoliageModelList N(Bush2_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o394, MODEL_o399, MODEL_o400, MODEL_o401); + +FoliageDropList N(Bush1_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_KOOT_EMPTY_WALLET, + .pos = { 441, 16, 57 }, + .spawnMode = ITEM_SPAWN_MODE_TOSS_NEVER_VANISH, + .pickupFlag = GF_NOK01_Bush7_EmptyWallet, + .spawnFlag = MF_Bush1_Drop, + }, + } +}; + +EvtScript N(EVS_Bush2_HideFlowers) = { + EVT_CALL(EnableModel, MODEL_o399, FALSE) + EVT_CALL(EnableModel, MODEL_o400, FALSE) + EVT_CALL(EnableModel, MODEL_o401, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnSearchBush2) = { + EVT_CALL(EnableModel, MODEL_o399, TRUE) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_o401, TRUE) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_o400, TRUE) + EVT_RETURN + EVT_END +}; + +SearchBushConfig N(SearchBush_Bush2) = { + .bush = &N(Bush2_BushModels), + .callback = &N(EVS_OnSearchBush2), +}; + +SearchBushConfig N(SearchBush_Bush1) = { + .bush = &N(Bush2_BushModels), + .drops = &N(Bush1_Drops), + .callback = &N(EVS_OnSearchBush2), +}; + +FoliageModelList N(Tree1_LeafModels) = FOLIAGE_MODEL_LIST(MODEL_o300); + +FoliageModelList N(Tree1_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o299); + +ShakeTreeConfig N(ShakeTree_Tree1) = { + .leaves = &N(Tree1_LeafModels), + .trunk = &N(Tree1_TrunkModels), +}; + +BombTrigger N(BombPos_Tree1) = { + .pos = { 198.0f, 0.0f, 147.0f }, + .radius = 0.0f +}; + +EvtScript N(EVS_SetupFoliage) = { + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush5))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o312, 1, 0) + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH6_2) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush3))) + EVT_ELSE + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush4))) + EVT_END_IF + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o313, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush6))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o419, 1, 0) + EVT_EXEC(N(EVS_Bush6_HideFlowers)) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush7))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o420, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush8))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o421, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush9))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o422, 1, 0) + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH3_2) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush1))) + EVT_ELSE + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush2))) + EVT_END_IF + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o423, 1, 0) + EVT_EXEC(N(EVS_Bush2_HideFlowers)) + EVT_SET(LVar0, EVT_PTR(N(ShakeTree_Tree1))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ShakeTree)), TRIGGER_WALL_HAMMER, COLLIDER_o323, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ShakeTree)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Tree1)), 1, 0) + // bind the same tree a second time for the koopa shell stuck inside + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_RecoverTreeShell)), TRIGGER_WALL_HAMMER, COLLIDER_o323, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Scene_RecoverTreeShell)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Tree1)), 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_01/npcs_crisis.inc.c b/src/world/area_nok/nok_01/npcs_crisis.inc.c new file mode 100644 index 0000000000..cff826b160 --- /dev/null +++ b/src/world/area_nok/nok_01/npcs_crisis.inc.c @@ -0,0 +1,584 @@ +EvtScript N(EVS_Scene_RecoverTreeShell) = { + EVT_WAIT(1) + EVT_IF_EQ(GF_NOK01_RecoveredTreeShell, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_NOK01_RecoveredTreeShell, TRUE) + EVT_CALL(BindNpcAI, NPC_Koopa_03, EVT_PTR(N(EVS_DoNothing))) + EVT_CALL(SetNpcAux, NPC_Koopa_03, EVT_PTR(N(EVS_DoNothing))) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_WAIT(5) + EVT_CALL(NpcJump0, NPC_KoopaShell_03, 220, 0, 210, 20) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaShell_03, SOUND_21A, 0) + EVT_CALL(PlayerFaceNpc, NPC_KoopaShell_03, FALSE) + EVT_CALL(NpcFaceNpc, NPC_Koopa_03, NPC_KoopaShell_03, 0) + EVT_CALL(SetNpcFlagBits, NPC_Koopa_03, NPC_FLAG_100, TRUE) + EVT_ADD(LVar0, -1) + EVT_ADD(LVar2, -1) + EVT_CALL(GetNpcPos, NPC_Koopa_03, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcAnimation, NPC_Koopa_03, ANIM_KoopaWithoutShell_Happy) + EVT_CALL(NpcJump0, NPC_Koopa_03, LVar0, 0, LVar2, 15) + EVT_CALL(GetNpcPos, NPC_KoopaShell_03, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(SetNpcAnimation, NPC_Koopa_03, ANIM_KoopaWithoutShell_Run) + EVT_CALL(NpcMoveTo, NPC_Koopa_03, LVar0, LVar2, 15) + EVT_CALL(SetNpcAnimation, NPC_Koopa_03, ANIM_KoopaWithoutShell_Idle) + EVT_CALL(GetNpcPos, NPC_Koopa_03, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 10) + EVT_CALL(NpcJump0, NPC_KoopaShell_03, LVar0, LVar1, LVar2, 10) + EVT_CALL(PlayerFaceNpc, NPC_Koopa_03, FALSE) + EVT_CALL(NpcFacePlayer, NPC_Koopa_03, 0) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Koopa_03, ANIM_KoopaWithoutShell_Still) + EVT_CALL(EnableNpcBlur, NPC_KoopaShell_03, TRUE) + EVT_CALL(GetNpcPos, NPC_Koopa_03, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 20) + EVT_SET(LVar3, NPC_KoopaShell_03) + EVT_SET(LVar4, NPC_Koopa_03) + EVT_EXEC(N(EVS_GetBackIntoShell)) + EVT_CALL(InterpNpcYaw, LVar3, 60, 0) + EVT_CALL(NpcJump0, NPC_KoopaShell_03, LVar0, LVar1, LVar2, 30) + EVT_CALL(SetNpcPos, NPC_KoopaShell_03, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcSprite, NPC_Koopa_03, ANIM_Koopa_Idle) + EVT_CALL(SetNpcFlagBits, NPC_Koopa_03, NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Koopa_03, ANIM_Koopa_Still) + EVT_WAIT(4) + EVT_CALL(EnableNpcBlur, NPC_KoopaShell_03, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Koopa_03, ANIM_Koopa_Happy) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_Koopa_03, ANIM_Koopa_Idle) + EVT_CALL(SpeakToPlayer, NPC_Koopa_03, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_001A) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_03_Crisis) = { + EVT_IF_EQ(GF_NOK01_RecoveredTreeShell, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Koopa_03, ANIM_Koopa_Talk, ANIM_Koopa_Happy, 0, MSG_CH1_001B) + EVT_RETURN + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_Koopa_03, ANIM_KoopaWithoutShell_CryTalk, ANIM_KoopaWithoutShell_CryIdle, 0, MSG_CH1_0019) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_Koopa_03_Crisis) = { + EVT_IF_EQ(GF_NOK01_RecoveredTreeShell, TRUE) + EVT_RETURN + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_NpcAI_KoopaWithoutShell_Wander)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_RecoverBlockShell) = { + EVT_IF_EQ(GF_NOK01_RecoveredBlockShell, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_NOK01_RecoveredBlockShell, TRUE) + EVT_CALL(BindNpcAI, NPC_Koopa_02, EVT_PTR(N(EVS_DoNothing))) + EVT_CALL(SetNpcAux, NPC_Koopa_02, EVT_PTR(N(EVS_DoNothing))) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(NpcJump0, NPC_KoopaShell_02, 60, 0, 328, 20) + EVT_CALL(PlaySound, SOUND_21A) + EVT_CALL(PlayerFaceNpc, NPC_KoopaShell_02, FALSE) + EVT_CALL(NpcFaceNpc, NPC_Koopa_02, NPC_KoopaShell_02, 0) + EVT_CALL(SetNpcFlagBits, NPC_Koopa_02, NPC_FLAG_100, TRUE) + EVT_ADD(LVar0, -1) + EVT_ADD(LVar2, -1) + EVT_CALL(GetNpcPos, NPC_Koopa_02, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_Happy) + EVT_CALL(NpcJump0, NPC_Koopa_02, LVar0, 0, LVar2, 15) + EVT_CALL(GetNpcPos, NPC_KoopaShell_02, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_Run) + EVT_CALL(NpcMoveTo, NPC_Koopa_02, LVar0, LVar2, 15) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_Idle) + EVT_CALL(GetNpcPos, NPC_Koopa_02, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 10) + EVT_CALL(NpcJump0, NPC_KoopaShell_02, LVar0, LVar1, LVar2, 10) + EVT_CALL(PlayerFaceNpc, NPC_Koopa_02, FALSE) + EVT_CALL(NpcFacePlayer, NPC_Koopa_02, 0) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_Still) + EVT_CALL(EnableNpcBlur, NPC_KoopaShell_02, TRUE) + EVT_CALL(GetNpcPos, NPC_Koopa_02, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 20) + EVT_SET(LVar3, NPC_KoopaShell_02) + EVT_SET(LVar4, NPC_Koopa_02) + EVT_EXEC(N(EVS_GetBackIntoShell)) + EVT_CALL(InterpNpcYaw, LVar3, 60, 0) + EVT_CALL(NpcJump0, NPC_KoopaShell_02, LVar0, LVar1, LVar2, 30) + EVT_CALL(SetNpcPos, NPC_KoopaShell_02, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcSprite, NPC_Koopa_02, ANIM_Koopa_Idle) + EVT_CALL(SetNpcFlagBits, NPC_Koopa_02, NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_Koopa_Still) + EVT_WAIT(4) + EVT_CALL(EnableNpcBlur, NPC_KoopaShell_02, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_Koopa_Happy) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_Koopa_Idle) + EVT_CALL(SpeakToPlayer, NPC_Koopa_02, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0012) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BreakBlock_DropShell) = { + EVT_EXEC(N(EVS_Scene_RecoverBlockShell)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_02_Crisis) = { + EVT_IF_EQ(GF_NOK01_RecoveredBlockShell, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Koopa_02, ANIM_Koopa_Idle, ANIM_Koopa_Happy, 0, MSG_CH1_0013) + EVT_RETURN + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_Koopa_02, ANIM_KoopaWithoutShell_CryTalk, ANIM_KoopaWithoutShell_CryIdle, 0, MSG_CH1_0011) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_Koopa_02_Crisis) = { + EVT_IF_EQ(GF_NOK01_RecoveredBlockShell, TRUE) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_KooverGetsMugged) = { + EVT_CALL(GetNpcPos, NPC_Koover, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 200) + EVT_CALL(SetNpcPos, NPC_FuzzyWithShell, LVar0, LVar1, LVar2) + EVT_ADD(LVar1, -200) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, LVar1, LVar2, 20) + EVT_PLAY_EFFECT(EFFECT_DAMAGE_STARS, 3, LVar0, LVar1, LVar2, 0, -1, 0, 3) + EVT_THREAD + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, 4) + EVT_WAIT(60) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, 1) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(SetPlayerAnimation, ANIM_Mario_8000A) + EVT_WAIT(30) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_END_THREAD + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(SetNpcSprite, NPC_Koover, ANIM_KoopaWithoutShell_Idle) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_Toppled) + EVT_CALL(GetNpcPos, NPC_Koover, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -20) + EVT_ADD(LVar2, -10) + EVT_CALL(NpcJump0, NPC_Koover, LVar0, LVar1, LVar2, 15) + EVT_CALL(GetNpcPos, NPC_FuzzyWithShell, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(SetNpcPos, NPC_KooversShell, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, -1) + EVT_ADD(LVar2, -1) + EVT_WAIT(10) + EVT_ADD(LVar0, 50) + EVT_ADD(LVar2, -20) + EVT_THREAD + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(NpcJump0, NPC_KooversShell, LVar0, 0, LVar2, 20) + EVT_END_THREAD + EVT_WAIT(1) + EVT_CALL(SetNpcAnimation, NPC_FuzzyWithShell, ANIM_Fuzzy_Idle) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 20) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_Idle) + EVT_CALL(SetNpcAnimation, NPC_FuzzyWithShell, ANIM_Fuzzy_Anim0C) + EVT_THREAD + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(NpcJump0, NPC_KooversShell, LVar0, 0, LVar2, 20) + EVT_END_THREAD + EVT_WAIT(1) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 20) + EVT_CALL(NpcFaceNpc, NPC_Koover, NPC_FuzzyWithShell, 0) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_CryIdle) + EVT_THREAD + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(NpcJump0, NPC_KooversShell, LVar0, 0, LVar2, 20) + EVT_END_THREAD + EVT_WAIT(1) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 20) + EVT_CALL(SetNpcAnimation, NPC_FuzzyWithShell, ANIM_Fuzzy_Idle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koover_Crisis) = { + EVT_IF_EQ(GF_NOK01_RecoveredShellA, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Koover, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0003) + EVT_END_IF + EVT_IF_GE(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_RETURN + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_Koover, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0000) + EVT_CALL(InterpPlayerYaw, 227, 5) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_Thinking) + EVT_CALL(EndSpeech, NPC_Koover, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0) + EVT_CALL(InterpPlayerYaw, 47, 5) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_CALL(EndSpeech, NPC_Koover, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) + EVT_WAIT(15) + EVT_CALL(EndSpeech, NPC_Koover, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0) + EVT_EXEC_WAIT(N(EVS_Scene_KooverGetsMugged)) + EVT_CALL(SpeakToNpc, NPC_Koover, ANIM_KoopaWithoutShell_CryTalk, ANIM_KoopaWithoutShell_CryIdle, 0, NPC_FuzzyWithShell, MSG_CH1_0001) + EVT_SET(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_Koover_Crisis) = { + EVT_IF_EQ(GF_NOK01_RecoveredShellA, TRUE) + EVT_CALL(SetNpcPos, NPC_FuzzyWithShell, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SetPlayerPos, -386, 0, 399) + EVT_CALL(PlayerMoveTo, -308, 326, 30) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(NpcFacePlayer, NPC_Koover, 5) + EVT_WAIT(5) + EVT_CALL(GetNpcPos, NPC_Koover, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 5) + EVT_ADD(LVar1, 35) + EVT_CALL(PlaySoundAtNpc, NPC_Koover, SOUND_262, 0) + EVT_CALL(ShowEmote, NPC_Koover, EMOTE_EXCLAMATION, 0, 20, 2, LVar0, LVar1, LVar2, 0) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_Koopa_Run) + EVT_CALL(GetPlayerPos, LVarA, LVarB, LVarC) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVarA, LVarB, LVarC) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVarA, LVarB, LVarC) + EVT_CALL(GetCamDistance, CAM_DEFAULT, LVarA) + EVT_MULF(LVarA, EVT_FLOAT(0.7)) + EVT_CALL(SetCamDistance, CAM_DEFAULT, LVarA) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, 4) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(NpcMoveTo, NPC_Koover, -280, 301, 30) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_Koopa_Idle) + EVT_WAIT(7) + EVT_EXEC_WAIT(N(EVS_NpcInteract_Koover_Crisis)) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_ELSE + EVT_WAIT(5) + EVT_CALL(GetNpcPos, NPC_FuzzyWithShell, LVar0, LVar1, LVar2) + EVT_SUB(LVar0, 40) + EVT_CALL(SetNpcPos, NPC_Koover, LVar0, LVar1, LVar2) + EVT_END_IF + EVT_CALL(BindNpcInteract, NPC_Koover, 0) + EVT_CALL(SetNpcFlagBits, NPC_Koover, NPC_FLAG_100, TRUE) + EVT_SET(LVar0, 0) + EVT_LABEL(0) + EVT_IF_EQ(GF_NOK01_RecoveredShellA, TRUE) + EVT_CALL(BindNpcInteract, NPC_Koover, EVT_PTR(N(EVS_NpcInteract_Koover_Crisis))) + EVT_CALL(SetNpcFlagBits, NPC_Koover, NPC_FLAG_100, FALSE) + EVT_RETURN + EVT_END_IF + EVT_CALL(GetNpcPos, NPC_FuzzyWithShell, LVar0, LVar1, LVar2) + EVT_CALL(NpcFaceNpc, NPC_Koover, NPC_FuzzyWithShell, 0) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_CryRun) + EVT_CALL(NpcMoveTo, NPC_Koover, LVar0, LVar2, 17) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_CryIdle) + EVT_LABEL(1) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_FuzzyWithShell) = { + EVT_SET_GROUP(EVT_GROUP_0A) + EVT_IF_EQ(GF_NOK01_RecoveredShellA, TRUE) + EVT_CALL(SetNpcPos, NPC_FuzzyWithShell, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_KooversShell, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END_IF + EVT_SET(LVarA, -208) + EVT_SET(LVarB, 0) + EVT_SET(LVarC, 282) + EVT_LABEL(10) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_CALL(GetNpcPos, NPC_FuzzyWithShell, LVarA, LVarB, LVarC) + EVT_ADD(LVarA, 20) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_IF + EVT_SET(LVar0, 162) + EVT_LABEL(0) + EVT_IF_EQ(GF_NOK01_RecoveredShellA, TRUE) + EVT_CALL(SetNpcPos, NPC_FuzzyWithShell, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END_IF + EVT_CALL(N(CosInterpMinMax), LVar0, LVar1, -50, 50, 120, 0, 180) + EVT_CALL(N(CosInterpMinMax), LVar0, LVar2, -32, 32, 120, 0, 30) + EVT_ADD(LVar1, LVarA) + EVT_ADD(LVar2, LVarC) + EVT_CALL(SetNpcAnimation, NPC_FuzzyWithShell, ANIM_Fuzzy_Run) + EVT_CALL(SetNpcPos, NPC_FuzzyWithShell, LVar1, LVarB, LVar2) + EVT_SET(LVar3, LVarB) + EVT_ADD(LVar3, 2) + EVT_ADD(LVar0, 2) + EVT_ADD(LVar2, 1) + EVT_IF_EQ(LVar0, 240) + EVT_SET(LVar0, 0) + EVT_END_IF + EVT_CALL(SetNpcPos, NPC_KooversShell, LVar1, LVar3, LVar2) + EVT_LABEL(1) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_FuzzyWithShell) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SET(LVar1, 0) + EVT_IF_EQ(LVar0, ENCOUNTER_TRIGGER_HAMMER) + EVT_ADD(LVar1, 1) + EVT_END_IF + EVT_IF_EQ(LVar0, ENCOUNTER_TRIGGER_JUMP) + EVT_ADD(LVar1, 1) + EVT_END_IF + EVT_IF_NE(LVar1, 0) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_SET(GF_NOK01_RecoveredShellA, TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 1) + EVT_THREAD + EVT_CALL(GetNpcPos, NPC_KooversShell, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcAnimation, NPC_FuzzyWithShell, ANIM_Fuzzy_Hurt) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 25) + EVT_ADD(LVar0, 40) + EVT_ADD(LVar2, -40) + EVT_CALL(SetNpcAnimation, NPC_FuzzyWithShell, ANIM_Fuzzy_Hurt) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 15) + EVT_ADD(LVar0, 30) + EVT_ADD(LVar2, -30) + EVT_CALL(SetNpcAnimation, NPC_FuzzyWithShell, ANIM_Fuzzy_Anim09) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 13) + EVT_ADD(LVar0, 20) + EVT_ADD(LVar2, -20) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 11) + EVT_ADD(LVar0, 10) + EVT_ADD(LVar2, -10) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 9) + EVT_ADD(LVar0, 80) + EVT_ADD(LVar2, -80) + EVT_CALL(SetNpcAnimation, NPC_FuzzyWithShell, ANIM_Fuzzy_Run) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyWithShell, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyWithShell, LVar0, 0, LVar2, 15) + EVT_CALL(SetNpcPos, NPC_FuzzyWithShell, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_CALL(GetNpcPos, NPC_KooversShell, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_KooversShell, LVar0, 0, LVar2, 15) + EVT_LOOP(70) + EVT_CALL(PlayerFaceNpc, NPC_FuzzyWithShell, FALSE) + EVT_CALL(NpcFaceNpc, NPC_Koover, NPC_FuzzyWithShell, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(PlayerFaceNpc, NPC_KooversShell, FALSE) + EVT_CALL(NpcFaceNpc, NPC_Koover, NPC_KooversShell, 0) + EVT_THREAD + EVT_CALL(AdjustCam, CAM_DEFAULT, 4, 0, EVT_FLOAT(-300.0), EVT_FLOAT(17.0), EVT_FLOAT(-7.0)) + EVT_END_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Koover, NPC_FLAG_100, TRUE) + EVT_CALL(GetNpcPos, NPC_Koover, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_Happy) + EVT_CALL(NpcJump0, NPC_Koover, LVar0, 0, LVar2, 15) + EVT_CALL(GetNpcPos, NPC_KooversShell, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_Run) + EVT_CALL(NpcMoveTo, NPC_Koover, LVar0, LVar2, 15) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_Idle) + EVT_CALL(GetNpcPos, NPC_Koover, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 10) + EVT_CALL(NpcJump0, NPC_KooversShell, LVar0, LVar1, LVar2, 10) + EVT_CALL(PlayerFaceNpc, NPC_Koover, FALSE) + EVT_CALL(NpcFacePlayer, NPC_Koover, 0) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_KoopaWithoutShell_Still) + EVT_CALL(EnableNpcBlur, NPC_KooversShell, TRUE) + EVT_CALL(GetNpcPos, NPC_Koover, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 20) + EVT_SET(LVar3, NPC_KooversShell) + EVT_SET(LVar4, NPC_Koover) + EVT_EXEC(N(EVS_GetBackIntoShell)) + EVT_CALL(InterpNpcYaw, LVar3, 60, 0) + EVT_CALL(NpcJump0, NPC_KooversShell, LVar0, LVar1, LVar2, 30) + EVT_CALL(SetNpcPos, NPC_KooversShell, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcSprite, NPC_Koover, ANIM_Koopa_Idle) + EVT_CALL(SetNpcFlagBits, NPC_Koover, NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_Koopa_Still) + EVT_WAIT(4) + EVT_CALL(EnableNpcBlur, NPC_KooversShell, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_Koopa_Idle) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_Koopa_Happy) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_Koover, ANIM_Koopa_Idle) + EVT_CALL(SpeakToPlayer, NPC_Koover, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0002) + EVT_THREAD + EVT_CALL(ResetCam, CAM_DEFAULT, 4) + EVT_END_THREAD + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(SetEnemyFlagBits, NPC_Koover, ENEMY_FLAG_400000, 0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bobomb_01_Crisis) = { + EVT_IF_EQ(AF_NOK_0A, FALSE) + EVT_SET(AF_NOK_0A, TRUE) + EVT_SET(LVar0, MSG_CH1_003D) + EVT_ELSE + EVT_SET(AF_NOK_0A, FALSE) + EVT_SET(LVar0, MSG_CH1_003E) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, LVar0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bobomb_01_Crisis) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bobomb_01_Crisis))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bobomb_02_Crisis) = { + EVT_IF_EQ(AF_NOK_0C, FALSE) + EVT_SET(AF_NOK_0C, TRUE) + EVT_SET(LVar0, MSG_CH1_0044) + EVT_ELSE + EVT_SET(AF_NOK_0C, FALSE) + EVT_SET(LVar0, MSG_CH1_0045) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, LVar0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bobomb_02_Crisis) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bobomb_02_Crisis))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koover_Crisis) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Koover_Crisis))) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koover_Crisis))) + EVT_IF_EQ(GF_NOK01_RecoveredShellA, TRUE) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAG_400000, 0) + EVT_RETURN + EVT_END_IF + EVT_IF_GE(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_CALL(SetNpcSprite, NPC_SELF, ANIM_KoopaWithoutShell_Idle) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_FuzzyWithShell) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_FuzzyWithShell))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_FuzzyWithShell))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_MiscFuzzy1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MiscFuzzy1))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_MiscFuzzy1))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_MiscFuzzy2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MiscFuzzy2))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_MiscFuzzy2))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KooversShell) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Koopa_Shell) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_02_Crisis) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Koopa_02_Crisis))) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_02_Crisis))) + EVT_CALL(SetNpcPos, NPC_Koopa_02, 40, 0, 325) + EVT_CALL(InterpNpcYaw, NPC_Koopa_02, 180, 0) + EVT_IF_EQ(GF_NOK01_RecoveredBlockShell, FALSE) + EVT_CALL(SetNpcPos, NPC_KoopaShell_02, 22, 85, 375) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_CryRun) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetNpcSprite, NPC_Koopa_02, ANIM_Koopa_Idle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopaShell_02) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Koopa_Shell) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_03_Crisis) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Koopa_03_Crisis))) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_03_Crisis))) + EVT_IF_EQ(GF_NOK01_RecoveredTreeShell, FALSE) + EVT_CALL(SetNpcPos, NPC_KoopaShell_03, 190, 114, 220) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetNpcSprite, NPC_Koopa_03, ANIM_Koopa_Idle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopaShell_03) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Koopa_Shell) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_01/npcs_normal.inc.c b/src/world/area_nok/nok_01/npcs_normal.inc.c new file mode 100644 index 0000000000..a9aef7d86d --- /dev/null +++ b/src/world/area_nok/nok_01/npcs_normal.inc.c @@ -0,0 +1,273 @@ +EvtScript N(EVS_NpcInteract_Koover_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0003) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0004) + EVT_CASE_LT(STORY_CH2_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0005) + EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0006) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(GF_NOK11_Defeated_KentC, FALSE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0007) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0008) + EVT_END_IF + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0008) + EVT_END_SWITCH + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Koover1)) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) + EVT_RETURN + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Koover2)) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_02_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0014) + EVT_CASE_LT(STORY_CH2_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0015) + EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0016) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(GF_NOK11_Defeated_KentC, FALSE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0017) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0018) + EVT_END_IF + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0018) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_Koopa_03_Normal) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_03_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_001C) + EVT_CASE_LT(STORY_CH2_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_001D) + EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_001E) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(GF_NOK11_Defeated_KentC, FALSE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_001F) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0020) + EVT_END_IF + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0020) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bobomb_01_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(AF_NOK_0B, FALSE) + EVT_SET(AF_NOK_0B, TRUE) + EVT_SET(LVar0, MSG_CH1_003F) + EVT_ELSE + EVT_SET(AF_NOK_0B, FALSE) + EVT_SET(LVar0, MSG_CH1_0040) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, LVar0) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_0041) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_0042) + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_0043) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bobomb_02_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(AF_NOK_0C, FALSE) + EVT_SET(AF_NOK_0C, TRUE) + EVT_SET(LVar0, MSG_CH1_0046) + EVT_ELSE + EVT_SET(AF_NOK_0C, FALSE) + EVT_SET(LVar0, MSG_CH1_0047) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, LVar0) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(AF_NOK_0C, FALSE) + EVT_SET(AF_NOK_0C, TRUE) + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_CALL(BringPartnerOut, PARTNER_BOMBETTE) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_SELF, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_0048) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldBombette_Talk, ANIM_WorldBombette_Idle, 0, MSG_CH1_0049) + EVT_CALL(EnablePartnerAI) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_004A) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_WAIT(30) + EVT_CALL(PutPartnerAway) + EVT_ELSE + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_004B) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_END_IF + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_004C) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_004D) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bobomb_03_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(AF_NOK_0E, FALSE) + EVT_SET(AF_NOK_0E, TRUE) + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_CALL(NpcFacePlayer, NPC_Bobomb_01, 0) + EVT_CALL(NpcFacePlayer, NPC_Bobomb_02, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_004E) + EVT_CALL(PlayerFaceNpc, NPC_Bobomb_01, FALSE) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_01, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_004F) + EVT_CALL(PlayerFaceNpc, NPC_Bobomb_02, FALSE) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_02, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_0050) + EVT_THREAD + EVT_CALL(SetNpcAnimation, NPC_Bobomb_02, ANIM_WorldBobomb_Red_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Bobomb_02, ANIM_WorldBobomb_Red_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Bobomb_02, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_Bobomb_02, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_END_THREAD + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(PlayerFaceNpc, NPC_Bobomb_01, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Bobomb_01, ANIM_WorldBobomb_Red_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Bobomb_01, ANIM_WorldBobomb_Red_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Bobomb_01, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_Bobomb_01, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_END_THREAD + EVT_WAIT(20) + EVT_THREAD + EVT_CALL(PlayerFaceNpc, NPC_SELF, FALSE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBobomb_Red_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_END_THREAD + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_0051) + EVT_END_IF + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_0052) + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Red_Talk, ANIM_WorldBobomb_Red_Idle, 0, MSG_CH1_0053) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koover_Normal) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koover_Normal))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_02_Normal) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_02_Normal))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_03_Normal) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_03_Normal))) + EVT_IF_GE(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Koopa_03_Normal))) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Koopa_Still) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bobomb_01_Normal) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bobomb_01_Normal))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bobomb_02_Normal) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bobomb_02_Normal))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bobomb_03_Normal) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bobomb_03_Normal))) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(RemoveNpc, NPC_SELF) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/9D7020.c b/src/world/area_nok/nok_02/9D7020.c deleted file mode 100644 index 71649ee3ff..0000000000 --- a/src/world/area_nok/nok_02/9D7020.c +++ /dev/null @@ -1,48 +0,0 @@ -#include "nok_02.h" - -static char* N(exit_str_0) = "nok_01"; -static char* N(exit_str_1) = "nok_03"; -static char* N(exit_str_2) = "tik_01"; -static char* N(exit_str_3) = ""; - -#include "world/common/entity/Pipe.inc.c" - -#define NAMESPACE dup_nok_02 -#include "world/common/todo/StashVars.inc.c" -#include "world/common/todo/GetItemName.inc.c" -#include "world/common/todo/GetNpcCollisionHeight.inc.c" -#include "world/common/todo/AddPlayerHandsOffset.inc.c" -#define NAMESPACE nok_02 - -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); -#include "world/common/todo/ItemChoice_WaitForSelection.inc.c" - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} - -BSS s32 nok_02_D_802547D0[114]; - -ApiStatus func_802406B0_9D76D0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - nok_02_D_802547D0[i] = ptr[i]; - } - nok_02_D_802547D0[i] = 0; - } else { - for (i = 0; i < 112; i++) { - nok_02_D_802547D0[i] = i + 16; - nok_02_D_802547D0[112] = 0; - } - } - return ApiStatus_DONE2; -} diff --git a/src/world/area_nok/nok_02/9D7770.c b/src/world/area_nok/nok_02/9D7770.c deleted file mode 100644 index 650002603e..0000000000 --- a/src/world/area_nok/nok_02/9D7770.c +++ /dev/null @@ -1,3 +0,0 @@ -#include "nok_02.h" - -#include "common/ItemEntityJumpToPos.inc.c" diff --git a/src/world/area_nok/nok_02/9D7990.c b/src/world/area_nok/nok_02/9D7990.c deleted file mode 100644 index d5e82e7885..0000000000 --- a/src/world/area_nok/nok_02/9D7990.c +++ /dev/null @@ -1,9 +0,0 @@ -#include "nok_02.h" -#include "effects.h" - -ApiStatus func_80240970_9D7990(Evt* script, s32 isInitialCall) { - fx_walking_dust(2, rand_int(200) - 100, rand_int(150), -180.0f, 0.0f, 0.0f); - fx_walking_dust(2, rand_int(200) - 100, rand_int(150), -180.0f, 0.0f, 0.0f); - fx_walking_dust(2, rand_int(200) - 100, rand_int(150), -180.0f, 0.0f, 0.0f); - return ApiStatus_DONE2; -} diff --git a/src/world/area_nok/nok_02/9D7AA0.c b/src/world/area_nok/nok_02/9D7AA0.c deleted file mode 100644 index eaac7a9bab..0000000000 --- a/src/world/area_nok/nok_02/9D7AA0.c +++ /dev/null @@ -1,259 +0,0 @@ -#include "nok_02.h" - -#define CHUCK_QUIZMO_NPC_ID 19 - -#include "world/common/enemy/ai/PatrolNoAttackAI.inc.c" - -static char* N(exit_str_0) = "nok_02"; -static char* N(exit_str_1) = "obk_09"; - -extern s32 N(Quizmo_Worker); -extern s32 N(Quizmo_AnswerResult); -extern EffectInstance* N(Quizmo_StageEffect); -extern EffectInstance* N(Quizmo_AudienceEffect); -extern EffectInstance* N(Quizmo_VannaTEffect); - -#include "world/common/atomic/Quizmo.inc.c" - -#include "world/common/todo/GetNpcCollisionHeight.inc.c" - -#include "world/common/todo/AddPlayerHandsOffset.inc.c" - -#define NAMESPACE dup_nok_02 -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); -#include "world/common/todo/ItemChoice_WaitForSelection.inc.c" - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} -#define NAMESPACE nok_02 - -BSS s32 nok_02_D_802549A0[12]; // unused? -BSS s32 nok_02_D_802549D0[114]; - -ApiStatus func_80242C5C_9D9C7C(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - nok_02_D_802549D0[i] = ptr[i]; - } - nok_02_D_802549D0[i] = 0; - } else { - for (i = 0; i < 112; i++) { - nok_02_D_802549D0[i] = i + 16; - nok_02_D_802549D0[112] = 0; - } - } - return ApiStatus_DONE2; -} - -extern s32 N(LetterDelivery_SavedNpcAnim); -#include "world/common/todo/LetterDelivery.inc.c" - -#include "world/common/todo/SwitchToPartner.inc.c" - -ApiStatus func_80243010_9DA030(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - f32 temp_f20; - f32 temp_f22; - f32 f3; - - temp_f22 = evt_get_variable(script, *args++); - temp_f20 = evt_get_variable(script, *args++); - f3 = evt_get_variable(script, *args++); - - fx_explosion(0, temp_f22, temp_f20 + 15.0f, f3); - exec_ShakeCam1(0, 0, 20); - return ApiStatus_DONE2; -} - -ApiStatus func_802430CC_9DA0EC(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - Bytecode* args = script->ptrReadPos; - Npc* npc1 = (Npc*) evt_get_variable(script, *args++); - Npc* npc2 = (Npc*) evt_get_variable(script, *args++); - s32 outVal = FALSE; - f32 xDiff, zDiff; - - if (playerStatus->currentSpeed >= 4.0f) { - script->varTable[2]++; - if (script->varTable[2] > 2) { - script->varTable[2] = 2; - } - } else { - script->varTable[2] = 0; - } - - do { - xDiff = npc1->pos.x - playerStatus->position.x; - zDiff = npc1->pos.z - playerStatus->position.z; - if ((SQ(xDiff) + SQ(zDiff) < 6400.0f) && (script->varTable[2] >= 2)) { - do { - outVal = TRUE; - } while (0); // TODO required to match - } - - xDiff = npc1->pos.x - npc2->pos.x; - zDiff = npc1->pos.z - npc2->pos.z; - if (SQ(xDiff) + SQ(zDiff) < 1600.0f) { - outVal = TRUE; - } - } while (0); // TODO required to match - - script->varTable[0] = outVal; - return ApiStatus_DONE2; -} - -ApiStatus func_80243214_9DA234(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - - if (playerStatus->currentSpeed >= 4.0f) { - script->varTable[2]++; - if (script->varTable[2] > 2) { - script->varTable[2] = 2; - } - } else { - script->varTable[2] = 0; - } - - script->varTable[0] = 1; - if (script->varTable[2] >= 2) { - script->varTable[0] = 0; - } - if (playerStatus->currentSpeed == 0.0f) { - script->varTable[0] = 0; - } - - return ApiStatus_DONE2; -} - -ApiStatus func_80243294_9DA2B4(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - Bytecode* args = script->ptrReadPos; - s32 randRange = 10000; - Npc* npc1 = (Npc*) evt_get_variable(script, *args++); - Npc* npc2 = (Npc*) evt_get_variable(script, *args++); - f32 xDiff, zDiff; - f32 x, z; - f32 dist; - s32 rand; - - while (TRUE) { - rand = rand_int(randRange); - x = ((rand - (randRange / 2)) / 100) + npc1->pos.x; - rand = rand_int(randRange); - z = ((rand - (randRange / 2)) / 100) + npc1->pos.z; - - xDiff = x - -150.0f; - zDiff = z - 250.0f; - if (SQ(xDiff) + SQ(zDiff) < 22500.0f) { - xDiff = x - playerStatus->position.x; - zDiff = z - playerStatus->position.z; - if (SQ(xDiff) + SQ(zDiff) > 6400.0f) { - xDiff = x - npc2->pos.x; - zDiff = z - npc2->pos.z; - if (SQ(xDiff) + SQ(zDiff) > 1600.0f) { - break; - } - } - } - - randRange += 5000; - if (randRange > 30000) { - randRange = 30000; - } - } - xDiff = x - npc1->pos.x; - zDiff = z - npc1->pos.z; - dist = SQ(xDiff) + SQ(zDiff); - if (dist != 0.0f) { - dist = sqrtf(dist) / 10.0f; - } - script->varTable[10] = x; - script->varTable[11] = z; - script->varTable[12] = (s32) dist + 1; - return ApiStatus_DONE2; -} - -ApiStatus func_8024351C_9DA53C(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - Bytecode* args = script->ptrReadPos; - s32 randRange = 10000; - Npc* npc = (Npc*) evt_get_variable(script, *args++); - f32 xDiff, zDiff; - f32 x, z; - f32 dist; - s32 rand; - - while (TRUE) { - rand = rand_int(randRange); - x = ((rand - (randRange / 2)) / 100) + npc->pos.x; - rand = rand_int(randRange); - z = ((rand - (randRange / 2)) / 100) + npc->pos.z; - - xDiff = x - -150.0f; - zDiff = z - 250.0f; - if (SQ(xDiff) + SQ(zDiff) < 22500.0f) { - xDiff = x - playerStatus->position.x; - zDiff = z - playerStatus->position.z; - if (SQ(xDiff) + SQ(zDiff) > 6400.0f) { - break; - } - } - - randRange += 5000; - if (randRange > 30000) { - randRange = 30000; - } - } - xDiff = x - npc->pos.x; - zDiff = z - npc->pos.z; - dist = SQ(xDiff) + SQ(zDiff); - if (dist != 0.0f) { - dist = sqrtf(dist) / 10.0f; - } - script->varTable[10] = x; - script->varTable[11] = z; - script->varTable[12] = (s32) dist + 1; - return ApiStatus_DONE2; -} - -ApiStatus func_80243754_9DA774(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - Npc* npc; - f32 yaw; - - if (isInitialCall) { - script->functionTempPtr[1] = npc = (Npc*) evt_get_variable(script, *args++); - npc->moveToPos.x = (evt_get_variable(script, *args++) + npc->pos.x) * 0.5f; - npc->moveToPos.z = (evt_get_variable(script, *args++) + npc->pos.z) * 0.5f; - npc->moveToPos.y = dist2D(npc->moveToPos.x, npc->moveToPos.z, npc->pos.x, npc->pos.z); - script->functionTemp[2] = atan2(npc->moveToPos.x, npc->moveToPos.z, npc->pos.x, npc->pos.z); - npc->duration = 0; - } - - npc = script->functionTempPtr[1]; - npc->pos.x = npc->moveToPos.x; - npc->pos.z = npc->moveToPos.z; - - npc->duration += 9; - if (npc->duration >= 360) { - npc->duration = 360; - } - yaw = script->functionTemp[2] + npc->duration; - npc->yaw = clamp_angle(yaw + 90.0f); - npc_move_heading(npc, npc->moveToPos.y, yaw); - - if (npc->duration == 360) { - return ApiStatus_DONE2; - } - return ApiStatus_BLOCK; -} diff --git a/src/world/area_nok/nok_02/9DA8F0.c b/src/world/area_nok/nok_02/9DA8F0.c deleted file mode 100644 index 946bfce228..0000000000 --- a/src/world/area_nok/nok_02/9DA8F0.c +++ /dev/null @@ -1,246 +0,0 @@ -#include "nok_02.h" - -extern s32 D_802523B4_9E93D4; -extern Npc* wPartnerNpc; - -// SetupDemoScene -ApiStatus func_802438D0_9DA8F0(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - - switch (D_802523B4_9E93D4) { - case 0: - D_802523B4_9E93D4 = 1; - break; - case 1: - case 2: - D_802523B4_9E93D4++; - break; - case 3: - partner_clear_player_tracking(wPartnerNpc); - partner_set_goal_pos(playerStatus->position.x, playerStatus->position.z); - func_800EF3D4(0); - set_npc_yaw(wPartnerNpc, 90.0f); - playerStatus->targetYaw = 90.0f; - playerStatus->currentYaw = 90.0f; - playerStatus->spriteFacingAngle = 0.0f; - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} - -#define NAMESPACE dup2_nok_02 -#include "world/common/todo/GetNpcCollisionHeight.inc.c" - -#include "world/common/todo/AddPlayerHandsOffset.inc.c" - -extern s32 N(ItemChoice_HasSelectedItem); -extern s32 N(ItemChoice_SelectedItemID); -#include "world/common/todo/ItemChoice_WaitForSelection.inc.c" - -ApiStatus N(ItemChoice_SaveSelected)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - N(ItemChoice_SelectedItemID) = evt_get_variable(script, *args++); - N(ItemChoice_HasSelectedItem) = TRUE; - return ApiStatus_DONE2; -} -#define NAMESPACE nok_02 - -BSS s32 nok_02_D_80254BA0[114]; -BSS s32 nok_02_D_80254D68[92]; - -ApiStatus func_80243C78_9DAC98(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - nok_02_D_80254BA0[i] = ptr[i]; - } - nok_02_D_80254BA0[i] = 0; - } else { - for (i = 0; i < 112; i++) { - nok_02_D_80254BA0[i] = i + 16; - nok_02_D_80254BA0[112] = 0; - } - } - return ApiStatus_DONE2; -} - -ApiStatus func_80243D14_9DAD34(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32* ptr = (s32*) evt_get_variable(script, *args++); - s32 i; - - if (ptr != NULL) { - for (i = 0; ptr[i] != 0; i++) { - nok_02_D_80254D68[i] = ptr[i]; - } - nok_02_D_80254D68[i] = 0; - } else { - for (i = 0; i < 91; i++) { - nok_02_D_80254D68[i] = i + 128; - nok_02_D_80254D68[91] = 0; - } - } - return ApiStatus_DONE2; -} - -#define NAMESPACE dup2_nok_02 -#include "world/common/todo/StashVars.inc.c" -#define NAMESPACE nok_02 - -#define NAMESPACE dup2_nok_02 -#include "world/common/todo/GetItemName.inc.c" -#define NAMESPACE nok_02 - -ApiStatus func_80243EC8_9DAEE8(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - if ((evt_get_variable(script, *args++) % 4) != 0) { - script->varTable[0] = 0; - } else { - script->varTable[0] = 1; - } - return ApiStatus_DONE2; -} - -typedef struct UnkNok02 { - /* 0x00 */ s32 unk_00; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s32 unk_08; - /* 0x0C */ s32 unk_0C; - /* 0x10 */ s32 unk_10; - /* 0x14 */ s32 unk_14; - /* 0x18 */ s32 unk_18; -} UnkNok02; // size = 0x1C - -extern UnkNok02 D_80252784_9E97A4[20]; -extern s32 D_802529B4_9E99D4; - -ApiStatus func_80243F10_9DAF30(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 a0 = *args++; - u32 count = 0; - UnkNok02* it = D_80252784_9E97A4; - u32 i; - - for (i = 0; i < ARRAY_COUNT(D_80252784_9E97A4); i++, it++) { - if (evt_get_variable(script, it->unk_0C) != 0 && evt_get_variable(script, it->unk_14) == 0) { - count++; - if (evt_get_variable(script, it->unk_10) == 0) { - break; - } - } - } - - if (i == ARRAY_COUNT(D_80252784_9E97A4)) { - if (count == 0) { - script->varTable[0] = 0; - evt_set_variable(script, a0, 0xFF); - return ApiStatus_DONE2; - } else { - s32 temp_s6 = rand_int(count - 1); - count = 0; - - it = D_80252784_9E97A4; - for (i = 0; i < ARRAY_COUNT(D_80252784_9E97A4); i++, it++) { - if (evt_get_variable(script, it->unk_0C) != 0 && evt_get_variable(script, it->unk_14) == 0) { - if (count++ == temp_s6) { - break; - } - } - } - } - script->varTable[0] = it->unk_00; - evt_set_variable(script, a0, i + 1); - return ApiStatus_DONE2; - } else { - script->varTable[0] = it->unk_00; - evt_set_variable(script, a0, i + 1); - return ApiStatus_DONE2; - } -} - -ApiStatus func_80244078_9DB098(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 a0 = *args++; - s32 count = 0; - s32 thing = evt_get_variable(script, a0) - 1; - UnkNok02* it = D_80252784_9E97A4; - u32 i; - - evt_set_variable(script, D_80252784_9E97A4[thing].unk_10, 1); - - for (i = 0; i < ARRAY_COUNT(D_80252784_9E97A4); i++, it++) { - if (evt_get_variable(script, it->unk_0C) != 0 && evt_get_variable(script, it->unk_14) == 0) { - count++; - if (evt_get_variable(script, it->unk_10) == 0) { - break; - } - } - } - - if (i == ARRAY_COUNT(D_80252784_9E97A4)) { - if (count < 2) { - script->varTable[0] = 0; - evt_set_variable(script, a0, 0xFF); - return ApiStatus_DONE2; - } else { - s32 temp_s6 = rand_int(count - 2); - - count = 0; - - it = D_80252784_9E97A4; - for (i = 0; i < ARRAY_COUNT(D_80252784_9E97A4); i++, it++) { - if (i != thing && - evt_get_variable(script, it->unk_0C) != 0 && - evt_get_variable(script, it->unk_14) == 0) - { - if (count++ == temp_s6) { - break; - } - } - } - } - script->varTable[0] = it->unk_00; - evt_set_variable(script, a0, i + 1); - return ApiStatus_DONE2; - } else { - script->varTable[0] = it->unk_00; - evt_set_variable(script, a0, i + 1); - return ApiStatus_DONE2; - } -} - -ApiStatus func_80244224_9DB244(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *args++) - 1; - UnkNok02* temp_v1 = &D_80252784_9E97A4[idx]; - - script->varTable[0] = temp_v1->unk_00; - script->varTable[1] = temp_v1->unk_04; - script->varTable[2] = temp_v1->unk_08; - return ApiStatus_DONE2; -} - -ApiStatus func_80244288_9DB2A8(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - evt_set_variable(script, D_80252784_9E97A4[evt_get_variable(script, *args++) - 1].unk_14, 1); - return ApiStatus_DONE2; -} - -ApiStatus func_802442E0_9DB300(Evt* script, s32 isInitialCall) { - Bytecode *args = script->ptrReadPos; - s32 idx = evt_get_variable(script, *(args++)) - 1; - s32 val = D_80252784_9E97A4[idx].unk_18; - s16* typeFlags = &gItemTable[val].typeFlags; - - D_802529B4_9E99D4 = val; - script->varTable[0] = (*typeFlags & ITEM_TYPE_FLAG_CONSUMABLE) > 0; - script->varTable[1] = val; - return ApiStatus_DONE2; -} diff --git a/src/world/area_nok/nok_02/9DB380.c b/src/world/area_nok/nok_02/9DB380.c deleted file mode 100644 index ade51284d2..0000000000 --- a/src/world/area_nok/nok_02/9DB380.c +++ /dev/null @@ -1,4 +0,0 @@ -#include "nok_02.h" - -#include "common/foliage.inc.c" - diff --git a/src/world/area_nok/nok_02/nok_02.h b/src/world/area_nok/nok_02/nok_02.h index bdf3e54eca..15f3dfda26 100644 --- a/src/world/area_nok/nok_02/nok_02.h +++ b/src/world/area_nok/nok_02/nok_02.h @@ -2,8 +2,80 @@ /// @brief Koopa Region - Koopa Village 2 #include "common.h" -#include "../nok.h" #include "message_ids.h" #include "map.h" +#include "../nok.h" +#include "mapfs/nok_02_shape.h" +#include "mapfs/nok_02_hit.h" + +#include "sprite/npc/WorldParakarry.h" +#include "sprite/npc/KooperWithoutShell.h" +#include "sprite/npc/KoopaWithoutShell.h" +#include "sprite/npc/WorldGoombario.h" +#include "sprite/npc/WorldKooper.h" +#include "sprite/npc/WorldBobomb.h" +#include "sprite/npc/WorldBombette.h" +#include "sprite/npc/Kolorado.h" +#include "sprite/npc/KoloradoWife.h" +#include "sprite/npc/KoopaKoot.h" + +enum { + NPC_Koopa_01 = 0, + NPC_FuzzyThief = 1, + NPC_KoopaShell_01 = 2, + NPC_Koopa_02 = 3, + NPC_KoopaShell_02 = 4, + NPC_Koopa_03 = 5, + NPC_Koopa_04 = 6, + NPC_Kolorado = 7, + NPC_KoloradoWife = 8, + NPC_KoopaKoot = 9, + NPC_Kooper = 10, + NPC_KoopersShell = 11, + NPC_FuzzyBoss = 12, + NPC_MiscFuzzy1 = 13, + NPC_MiscFuzzy2 = 14, + NPC_Fuzzy_Later = 15, + NPC_Bobomb_01 = 16, + NPC_Bobomb_02 = 17, + NPC_Bobomb_03 = 18, + NPC_ChuckQuizmo = 19, + // epilogue + NPC_Parakarry = 0, + NPC_Bombette = 1, + NPC_KoloradoWife_Epilogue = 2, +}; + +enum { + MV_KoopaChaseThiefScript = MapVar(0), + MV_Unk_01 = MapVar(1), + MV_IsPlayerNearbyThief = MapVar(2), + MV_KooperFightSoundsScript = MapVar(3), + MV_StarPieceItem = MapVar(10), +}; + +enum { + MF_FuzzyBossTaunt = MapFlag(0), + MF_Bush1_Drop = MapFlag(10), +}; + #define NAMESPACE nok_02 + +extern EvtScript N(EVS_Main); +extern EvtScript N(EVS_SetupMusic); +extern EvtScript N(EVS_Scene_Epilogue); +extern EvtScript N(EVS_BreakBlock_DropShell); +extern EvtScript N(EVS_Scene_MeetKooper); +extern EvtScript N(EVS_FuzzyBoss_PlayerEntersKoopersHouse); +extern EvtScript N(EVS_SetupKootFavors); +extern EvtScript N(EVS_NpcInteract_KoopaKoot); +extern EvtScript N(EVS_Setup_Bookshelf); +extern EvtScript N(EVS_SetupRooms); +extern EvtScript N(EVS_MakeEntities); +extern EvtScript N(EVS_SetupFoliage); +extern EvtScript N(EVS_SetupDemo); + +extern NpcGroupList N(EpilogueNPCs); +extern NpcGroupList N(CrisisNPCs); +extern NpcGroupList N(NormalNPCs); diff --git a/src/world/area_nok/nok_02/nok_02_0_header.c b/src/world/area_nok/nok_02/nok_02_0_header.c new file mode 100644 index 0000000000..6d016b70fd --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_0_header.c @@ -0,0 +1,17 @@ +#include "nok_02.h" + +EntryList N(Entrances) = { + [nok_02_ENTRY_0] { -484.0, 0.0, 5.0, 90.0 }, + [nok_02_ENTRY_1] { 2.0, 0.0, -479.0, 180.0 }, + [nok_02_ENTRY_2] { 365.0, 35.0, 90.0, 180.0 }, + [nok_02_ENTRY_3] { 0.0, 0.0, -60.0, 0.0 }, + [nok_02_ENTRY_4] { -360.0, 0.0, -50.0, 90.0 }, +}; + +MapSettings N(settings) = { + .main = &N(EVS_Main), + .entryList = &N(Entrances), + .entryCount = ENTRY_COUNT(N(Entrances)), + .background = &gBackgroundImage, + .tattle = { MSG_MapTattle_nok_02 }, +}; diff --git a/src/world/area_nok/nok_02/nok_02_10_epilogue.c b/src/world/area_nok/nok_02/nok_02_10_epilogue.c new file mode 100644 index 0000000000..08aca7ae3c --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_10_epilogue.c @@ -0,0 +1,36 @@ +#include "nok_02.h" + +EvtScript N(EVS_Scene_Epilogue) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetPlayerPos, NPC_DISPOSE_LOCATION) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetPanTarget, CAM_DEFAULT, LVar0, LVar1, LVar2) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0)) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_WAIT(50) + EVT_CALL(SetNpcAnimation, NPC_Parakarry, ANIM_WorldParakarry_Talk) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_Parakarry, ANIM_WorldParakarry_Idle) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_Bombette, ANIM_WorldBombette_Talk) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_Bombette, ANIM_WorldBombette_Idle) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_KoloradoWife_Epilogue, ANIM_KoloradoWife_Walk) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife_Epilogue, -80, -50, 30) + EVT_CALL(SetNpcAnimation, NPC_KoloradoWife_Epilogue, ANIM_KoloradoWife_Idle) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(SetPanTarget, CAM_DEFAULT, -53, LVar1, LVar2) + EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) + EVT_CALL(InterpNpcYaw, NPC_Parakarry, 270, 0) + EVT_WAIT(15) + EVT_CALL(SetNpcAnimation, NPC_KoloradoWife_Epilogue, ANIM_KoloradoWife_Talk) + EVT_WAIT(45) + EVT_CALL(FadeOutMusic, 0, 1000) + EVT_CALL(GotoMap, EVT_PTR("obk_09"), obk_09_ENTRY_2) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/nok_02_1_music.c b/src/world/area_nok/nok_02/nok_02_1_music.c new file mode 100644 index 0000000000..8ef4593c29 --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_1_music.c @@ -0,0 +1,11 @@ +#include "nok_02.h" + +EvtScript N(EVS_SetupMusic) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SetMusicTrack, 0, SONG_FUZZY_ATTACK, 0, 8) + EVT_ELSE + EVT_CALL(SetMusicTrack, 0, SONG_KOOPA_VILLAGE, 0, 8) + EVT_END_IF + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/nok_02_2_main.c b/src/world/area_nok/nok_02/nok_02_2_main.c new file mode 100644 index 0000000000..9221ba14ed --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_2_main.c @@ -0,0 +1,145 @@ +#include "nok_02.h" + +#include "world/common/entity/Pipe.inc.c" +#include "world/common/entity/Pipe.data.inc.c" + +#define NAME_SUFFIX _Unused +#include "world/common/complete/GiveReward.inc.c" + +//MAP_STATIC_PAD(1,key_item); +#include "world/common/complete/KeyItemChoice.inc.c" +#define NAME_SUFFIX + +EvtScript N(EVS_ExitWalk_nok_01_1) = { + EVT_CALL(UseExitHeading, 60, nok_02_ENTRY_0) + EVT_EXEC(ExitWalk) + EVT_CALL(GotoMap, EVT_PTR("nok_01"), nok_01_ENTRY_1) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ExitWalk_nok_03_0) = { + EVT_IF_EQ(GB_KootFavor_State, KOOT_FAVOR_STATE_2) + EVT_SET(GF_KootFavor_LeftKoopaVillage, TRUE) + EVT_END_IF + EVT_CALL(UseExitHeading, 60, nok_02_ENTRY_1) + EVT_EXEC(ExitWalk) + EVT_CALL(GotoMap, EVT_PTR("nok_03"), nok_03_ENTRY_0) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BindExitTriggers) = { + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_01_1)), TRIGGER_FLOOR_ABOVE, COLLIDER_deiliw, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ExitWalk_nok_03_0)), TRIGGER_FLOOR_ABOVE, COLLIDER_deilin, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TexPan_Flowers) = { + EVT_SET_GROUP(EVT_GROUP_00) + EVT_CALL(SetTexPanner, MODEL_o312, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o460, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o461, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o462, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o454, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o455, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o456, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o457, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o458, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o459, TEX_PANNER_0) + EVT_CALL(SetTexPanner, MODEL_o314, TEX_PANNER_0) + EVT_LABEL(10) + EVT_LOOP(12) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, 0, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_LOOP(12) + EVT_CALL(SetTexPanOffset, TEX_PANNER_0, TEX_PANNER_MAIN, 0x4000, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_EnterMap) = { + EVT_CALL(GetEntryID, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(nok_02_ENTRY_2) + EVT_IF_EQ(GF_NOK02_WarpPipe, FALSE) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(SetPlayerPos, LVar0, NPC_DISPOSE_POS_Y, LVar2) + EVT_WAIT(30) + EVT_CALL(PlaySound, SOUND_208E) + EVT_SET(GF_NOK02_WarpPipe, TRUE) + EVT_WAIT(30) + EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) + EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_END_IF + EVT_SET(LVarA, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC_WAIT(N(EVS_Pipe_EnterVertical)) + EVT_CASE_EQ(nok_02_ENTRY_4) + EVT_CASE_DEFAULT + EVT_SET(LVar0, EVT_PTR(N(EVS_BindExitTriggers))) + EVT_EXEC(EnterWalk) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Main) = { + EVT_SET(GB_WorldLocation, LOCATION_KOOPA_VILLAGE) + EVT_CALL(SetSpriteShading, SHADING_NONE) + EVT_SETUP_CAMERA_NO_LEAD() + EVT_CALL(GetEntryID, LVar0) + EVT_IF_EQ(LVar0, nok_02_ENTRY_3) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(EpilogueNPCs))) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC(N(EVS_TexPan_Flowers)) + EVT_EXEC(N(EVS_Scene_Epilogue)) + EVT_CALL(FadeInMusic, 0, SONG_KOOPA_VILLAGE, 0, 3000, 0, 127) + EVT_WAIT(1) + EVT_RETURN + EVT_END_IF + EVT_SET(AF_NOK_0F, FALSE) + EVT_SET(AF_NOK_10, FALSE) + EVT_SET(AF_NOK_12, FALSE) + EVT_SET(GF_NOK02_Bush1_KoopaLeaf, FALSE) + EVT_SET(AF_NOK_13, FALSE) + EVT_IF_GE(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_SET(GF_NOK02_RecoveredShellA, TRUE) + EVT_SET(GF_NOK02_RecoveredShellB, TRUE) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(CrisisNPCs))) + EVT_ELSE + EVT_CALL(MakeNpcs, FALSE, EVT_PTR(N(NormalNPCs))) + EVT_END_IF + EVT_CALL(ClearDefeatedEnemies) + EVT_EXEC_WAIT(N(EVS_MakeEntities)) + EVT_EXEC_WAIT(N(EVS_SetupFoliage)) + EVT_EXEC(N(EVS_TexPan_Flowers)) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_Setup_Bookshelf)), TRIGGER_WALL_PRESS_A, COLLIDER_o236, 1, 0) + EVT_EXEC_WAIT(N(EVS_SetupRooms)) + EVT_CALL(GetDemoState, LVar0) + EVT_IF_NE(LVar0, DEMO_STATE_NONE) + EVT_EXEC_WAIT(N(EVS_SetupDemo)) + EVT_RETURN + EVT_END_IF + EVT_EXEC(N(EVS_SetupMusic)) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilitw, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_deilitn, COLLIDER_FLAGS_UPPER_MASK) + EVT_EXEC(N(EVS_EnterMap)) + EVT_WAIT(1) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/nok_02_3_entity.c b/src/world/area_nok/nok_02/nok_02_3_entity.c new file mode 100644 index 0000000000..7cc5c10939 --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_3_entity.c @@ -0,0 +1,48 @@ +#include "nok_02.h" +#include "entity.h" + +#include "common/ItemEntityJumpToPos.inc.c" + +EvtScript N(EVS_BreakBlock_DropStarPiece) = { + EVT_CALL(N(ItemEntityJumpToPos), MV_StarPieceItem, EVT_FLOAT(227.0), EVT_FLOAT(0.0), EVT_FLOAT(247.0), 20, EVT_FLOAT(1.0)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_GotoMap_tik_01_3) = { + EVT_CALL(GotoMap, EVT_PTR("tik_01"), tik_01_ENTRY_3) + EVT_WAIT(100) + EVT_RETURN + EVT_END +}; + +MAP_RODATA_PAD(1, exits); + +EvtScript N(EVS_MakeEntities) = { + EVT_CALL(MakeEntity, EVT_PTR(Entity_BrickBlock), 151, 81, 251, 0, MAKE_ENTITY_END) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_IF_EQ(GF_NOK02_RecoveredShellB, FALSE) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_BreakBlock_DropShell))) + EVT_END_IF + EVT_CASE_GE(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_IF_EQ(GF_NOK02_Item_StarPiece, FALSE) + EVT_CALL(AssignScript, EVT_PTR(N(EVS_BreakBlock_DropStarPiece))) + EVT_CALL(MakeItemEntity, ITEM_STAR_PIECE, 150, 106, 250, ITEM_SPAWN_MODE_FIXED_NEVER_VANISH, GF_NOK02_Item_StarPiece) + EVT_SET(MV_StarPieceItem, LVar0) + EVT_END_IF + EVT_END_SWITCH + EVT_CALL(CreatePushBlockGrid, 0, 5, 5, 88, -4, 188, 0) + EVT_CALL(SetPushBlock, 0, 0, 0, PUSH_GRID_BLOCK) + EVT_IF_EQ(GF_NOK02_WarpPipe, FALSE) + EVT_IF_EQ(GF_TIK01_WarpPipes, TRUE) + EVT_CALL(GetEntryID, LVar0) + EVT_IF_NE(LVar0, nok_02_ENTRY_2) + EVT_SET(GF_NOK02_WarpPipe, TRUE) + EVT_END_IF + EVT_END_IF + EVT_END_IF + EVT_CALL(MakeEntity, EVT_PTR(Entity_BlueWarpPipe), 365, 0, 90, 30, nok_02_ENTRY_2, EVT_PTR(N(EVS_GotoMap_tik_01_3)), EVT_INDEX_OF_GAME_FLAG(GF_NOK02_WarpPipe), MAKE_ENTITY_END) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/nok_02_4_rooms.c b/src/world/area_nok/nok_02/nok_02_4_rooms.c new file mode 100644 index 0000000000..0599033d65 --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_4_rooms.c @@ -0,0 +1,429 @@ +#include "nok_02.h" +#include "effects.h" + +API_CALLABLE(N(SpawnKooperFightingDust)) { + fx_walking_dust(2, rand_int(200) - 100, rand_int(150), -180.0f, 0.0f, 0.0f); + fx_walking_dust(2, rand_int(200) - 100, rand_int(150), -180.0f, 0.0f, 0.0f); + fx_walking_dust(2, rand_int(200) - 100, rand_int(150), -180.0f, 0.0f, 0.0f); + return ApiStatus_DONE2; +} + +EvtScript N(EVS_SpinKooperCeilingFan) = { + EVT_LABEL(0) + EVT_SET(LVar0, 35) + EVT_LOOP(LVar0) + EVT_SET(LVar1, LVar0) + EVT_MUL(LVar1, 10) + EVT_CALL(RotateModel, MODEL_o184, LVar1, 0, -1, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_UpdateKooperFightSounds) = { + EVT_LOOP(0) + EVT_IF_EQ(GF_Quizmo_TakingQuiz, FALSE) + EVT_CALL(PlaySoundAt, SOUND_77, 0, 0, 0, -180) + EVT_END_IF + EVT_CALL(RandInt, 30, LVar5) + EVT_ADD(LVar5, 30) + EVT_WAIT(LVar5) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_PlayKooperVsFuzzyEffects) = { + EVT_SET_GROUP(EVT_GROUP_0A) + EVT_EXEC_GET_TID(N(EVS_UpdateKooperFightSounds), MV_KooperFightSoundsScript) + EVT_LABEL(0) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_RANGE(STORY_CH1_PROMISED_TO_HELP_KOOPER, STORY_CH4_BEGAN_PEACH_MISSION) + EVT_KILL_THREAD(MV_KooperFightSoundsScript) + EVT_RETURN + EVT_END_SWITCH + EVT_IF_EQ(GF_NOK02_ConfrontedBobombs, TRUE) + EVT_KILL_THREAD(MV_KooperFightSoundsScript) + EVT_RETURN + EVT_END_IF + EVT_CALL(RandInt, 30, LVar0) + EVT_ADD(LVar0, 10) + EVT_WAIT(LVar0) + EVT_CALL(RandInt, 10, LVar0) + EVT_ADD(LVar0, 5) + EVT_IF_EQ(GF_Quizmo_TakingQuiz, FALSE) + EVT_CALL(N(SpawnKooperFightingDust)) + EVT_END_IF + EVT_LOOP(LVar0) + EVT_IF_EQ(AF_NOK_12, TRUE) + EVT_KILL_THREAD(MV_KooperFightSoundsScript) + EVT_CALL(TranslateGroup, MODEL_kameki, 0, 0, 0) + EVT_LABEL(10) + EVT_IF_EQ(AF_NOK_12, TRUE) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_IF + EVT_EXEC_GET_TID(N(EVS_UpdateKooperFightSounds), MV_KooperFightSoundsScript) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(RandInt, 5, LVar1) + EVT_ADD(LVar1, 1) + EVT_MUL(LVar1, -1) + EVT_CALL(TranslateGroup, MODEL_kameki, 0, LVar1, 0) + EVT_WAIT(1) + EVT_CALL(TranslateGroup, MODEL_kameki, 0, LVar1, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_KoloradoHouse) = { + EVT_CALL(RotateModel, MODEL_o149, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallRot_KoloradoHouse) = { + EVT_MULF(LVar0, EVT_FLOAT(-0.5)) + EVT_CALL(RotateModel, MODEL_o151, LVar0, 1, 0, 0) + EVT_CALL(RotateModel, MODEL_o152, LVar0, 1, 0, 0) + EVT_CALL(RotateModel, MODEL_o153, LVar0, 1, 0, 0) + EVT_CALL(RotateModel, MODEL_o150, LVar0, 1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DropDoor_KoloradoHouse) = { + EVT_SET(LVar1, LVar0) + EVT_DIVF(LVar1, 45) + EVT_CALL(TranslateModel, MODEL_o149, 0, LVar1, 0) + EVT_CALL(RotateModel, MODEL_o149, LVar0, 1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_KoloradoOffice) = { + EVT_CALL(RotateGroup, MODEL_g41, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallRot_KoloradoOffice) = { + EVT_SET(LVar1, LVar0) + EVT_SUB(LVar1, 90) + EVT_MULF(LVar0, EVT_FLOAT(1.0)) + EVT_CALL(RotateModel, MODEL_o156, LVar0, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_o154, LVar0, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_o155, LVar0, 0, 0, 1) + EVT_MULF(LVar1, EVT_FLOAT(0.5)) + EVT_CALL(RotateModel, MODEL_o151, LVar1, 1, 0, 0) + EVT_CALL(RotateModel, MODEL_o152, LVar1, 1, 0, 0) + EVT_CALL(RotateModel, MODEL_o153, LVar1, 1, 0, 0) + EVT_CALL(RotateModel, MODEL_o150, LVar1, 1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_KooperFrontDoor) = { + EVT_CALL(RotateModel, MODEL_o185, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_KooperBackDoor) = { + EVT_CALL(RotateModel, MODEL_o183, LVar0, 0, -1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallsRot_KooperHouse) = { + EVT_SET(LVar2, LVar0) + EVT_SET(LVar1, LVar0) + EVT_SUB(LVar1, 90) + EVT_DIVF(LVar1, -90) + EVT_MULF(LVar2, EVT_FLOAT(0.5)) + EVT_CALL(RotateModel, MODEL_o171, LVar2, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_o181, LVar2, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_o182, LVar2, 0, 0, 1) + EVT_CALL(RotateModel, MODEL_o180, LVar2, 0, 0, 1) + EVT_IF_NE(LVar1, 0) + EVT_CALL(ScaleModel, MODEL_o308, 1, LVar1, 1) + EVT_CALL(ScaleModel, MODEL_o307, 1, LVar1, 1) + EVT_CALL(EnableModel, MODEL_o308, TRUE) + EVT_CALL(EnableModel, MODEL_o307, TRUE) + EVT_ELSE + EVT_CALL(EnableModel, MODEL_o308, FALSE) + EVT_CALL(EnableModel, MODEL_o307, FALSE) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallRot_KooperHouse) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) + EVT_WAIT(20) + EVT_SET(LVar0, 0) + EVT_LOOP(18) + EVT_ADD(LVar0, 5) + EVT_EXEC_WAIT(N(EVS_SetWallsRot_KooperHouse)) + EVT_END_LOOP + EVT_CASE_EQ(3) + EVT_SET(LVar0, 90) + EVT_LOOP(18) + EVT_SUB(LVar0, 5) + EVT_EXEC_WAIT(N(EVS_SetWallsRot_KooperHouse)) + EVT_END_LOOP + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetDoorRot_KootHouse) = { + EVT_CALL(RotateModel, MODEL_o226, LVar0, 0, 1, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetWallRot_KootHouse) = { + EVT_MULF(LVar0, EVT_FLOAT(0.5)) + EVT_CALL(RotateModel, MODEL_o225, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o224, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o223, LVar0, -1, 0, 0) + EVT_CALL(RotateModel, MODEL_o222, LVar0, -1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DropDoor_KootHouse) = { + EVT_SET(LVar1, LVar0) + EVT_DIVF(LVar1, 45) + EVT_CALL(TranslateModel, MODEL_o226, 0, LVar1, 0) + EVT_CALL(RotateModel, MODEL_o226, LVar0, 1, 0, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_RoomListener_KooperHouse) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) + EVT_SET(AF_NOK_12, TRUE) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_PROMISED_TO_HELP_KOOPER) + EVT_EXEC_WAIT(N(EVS_Scene_MeetKooper)) + EVT_SET(LVar0, ROOM_UPDATE_REQUEST_CANCEL) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetGroupEnabled, MODEL_g111, 1) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + EVT_EXEC(N(EVS_FuzzyBoss_PlayerEntersKoopersHouse)) + EVT_SET(AF_NOK_10, TRUE) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + EVT_SET(AF_NOK_10, FALSE) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) + EVT_SET(AF_NOK_12, FALSE) + EVT_CALL(SetGroupEnabled, MODEL_g111, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_RoomListener_KoloradoHouse) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) + EVT_CALL(SetGroupEnabled, MODEL_g45, 1) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) + EVT_CALL(SetGroupEnabled, MODEL_g45, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_RoomListener_KootHouse) = { + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) + EVT_CALL(SetGroupEnabled, MODEL_g63, 1) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) + EVT_CALL(SetGroupEnabled, MODEL_g63, 0) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +s32 N(InteriorNPCs_BeforeKentC)[] = { + NPC_KoloradoWife, + -1 +}; + +s32 N(InteriorNPCs_AfterKentC)[] = { + -1 +}; + +s32 N(InteriorNPCs_KooperHouse_BeforeJoin)[] = { + NPC_FuzzyBoss, + NPC_KoopersShell, + -1 +}; + +s32 N(InteriorNPCs_KooperHouse_AfterJoin)[] = { + NPC_Bobomb_01, + NPC_Bobomb_02, + -1 +}; + +s32 N(InteriorNPCs_KootHouse)[] = { + NPC_KoopaKoot, + -1 +}; + +EvtScript N(EVS_SetupRooms) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED) + // kolorado house + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_KoloradoHouse)), + EVT_PTR(N(EVS_SetWallRot_KoloradoHouse)), + EVT_PTR(N(EVS_DropDoor_KoloradoHouse)), + EVT_PTR(N(EVS_RoomListener_KoloradoHouse)), + COLLIDER_o310, + COLLIDER_o313, + MODEL_sakuji, + EVT_PTR(N(InteriorNPCs_AfterKentC))) + // kolorado office + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_KoloradoOffice)), + EVT_PTR(N(EVS_SetWallRot_KoloradoOffice)), + NULL, + NULL, + COLLIDER_o314, + COLLIDER_o317, + MODEL_o271, + NULL) + EVT_ELSE + EVT_IF_EQ(GF_NOK11_Defeated_KentC, TRUE) + // kolorado house + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_KoloradoHouse)), + EVT_PTR(N(EVS_SetWallRot_KoloradoHouse)), + EVT_PTR(N(EVS_DropDoor_KoloradoHouse)), + EVT_PTR(N(EVS_RoomListener_KoloradoHouse)), + COLLIDER_o310, + COLLIDER_o313, + MODEL_sakuji, + EVT_PTR(N(InteriorNPCs_AfterKentC))) + // kolorado office + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_KoloradoOffice)), + EVT_PTR(N(EVS_SetWallRot_KoloradoOffice)), + NULL, + NULL, + COLLIDER_o314, + COLLIDER_o317, + MODEL_o271, + NULL) + EVT_ELSE + // kolorado house + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_KoloradoHouse)), + EVT_PTR(N(EVS_SetWallRot_KoloradoHouse)), + EVT_PTR(N(EVS_DropDoor_KoloradoHouse)), + EVT_PTR(N(EVS_RoomListener_KoloradoHouse)), + COLLIDER_o310, + COLLIDER_o313, + MODEL_sakuji, + EVT_PTR(N(InteriorNPCs_BeforeKentC))) + // kolorado office + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_KoloradoOffice)), + EVT_PTR(N(EVS_SetWallRot_KoloradoOffice)), + NULL, + NULL, + COLLIDER_o314, + COLLIDER_o317, + MODEL_o271, + NULL) + EVT_END_IF + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + // kooper front door + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT | ROOM_FLAG_CUSTOM_ANIM_WALL_ROT), + EVT_PTR(N(EVS_SetDoorRot_KooperFrontDoor)), + EVT_PTR(N(EVS_SetWallRot_KooperHouse)), + NULL, + EVT_PTR(N(EVS_RoomListener_KooperHouse)), + COLLIDER_o284, + COLLIDER_o287, + MODEL_kameki, + EVT_PTR(N(InteriorNPCs_KooperHouse_BeforeJoin))) + // kooper back door + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT | ROOM_FLAG_CUSTOM_ANIM_WALL_ROT), + EVT_PTR(N(EVS_SetDoorRot_KooperBackDoor)), + EVT_PTR(N(EVS_SetWallRot_KooperHouse)), + NULL, + EVT_PTR(N(EVS_RoomListener_KooperHouse)), + COLLIDER_o302, + COLLIDER_o299, + MODEL_kameki, + EVT_PTR(N(InteriorNPCs_KooperHouse_BeforeJoin))) + EVT_ELSE + // kooper front door + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT | ROOM_FLAG_CUSTOM_ANIM_WALL_ROT), + EVT_PTR(N(EVS_SetDoorRot_KooperFrontDoor)), + EVT_PTR(N(EVS_SetWallRot_KooperHouse)), + NULL, + EVT_PTR(N(EVS_RoomListener_KooperHouse)), + COLLIDER_o284, + COLLIDER_o287, + MODEL_kameki, + EVT_PTR(N(InteriorNPCs_KooperHouse_AfterJoin))) + // kooper back door + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT | ROOM_FLAG_CUSTOM_ANIM_WALL_ROT), + EVT_PTR(N(EVS_SetDoorRot_KooperBackDoor)), + EVT_PTR(N(EVS_SetWallRot_KooperHouse)), + NULL, + EVT_PTR(N(EVS_RoomListener_KooperHouse)), + COLLIDER_o302, + COLLIDER_o299, + MODEL_kameki, + EVT_PTR(N(InteriorNPCs_KooperHouse_AfterJoin))) + EVT_END_IF + // koot house + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), + EVT_PTR(N(EVS_SetDoorRot_KootHouse)), + EVT_PTR(N(EVS_SetWallRot_KootHouse)), + EVT_PTR(N(EVS_DropDoor_KootHouse)), + EVT_PTR(N(EVS_RoomListener_KootHouse)), + COLLIDER_o226, + COLLIDER_o283, + MODEL_mura, + EVT_PTR(N(InteriorNPCs_KootHouse))) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC(N(EVS_RoomListener_KoloradoHouse)) + EVT_EXEC(N(EVS_RoomListener_KooperHouse)) + EVT_EXEC(N(EVS_RoomListener_KootHouse)) + EVT_EXEC(N(EVS_SpinKooperCeilingFan)) + EVT_EXEC(N(EVS_PlayKooperVsFuzzyEffects)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/nok_02_5_bookshelf.c b/src/world/area_nok/nok_02/nok_02_5_bookshelf.c new file mode 100644 index 0000000000..2e4b29c970 --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_5_bookshelf.c @@ -0,0 +1,9 @@ +#include "nok_02.h" + +EvtScript N(EVS_Setup_Bookshelf) = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_00A1, 160, 40) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/nok_02_6_npc.c b/src/world/area_nok/nok_02/nok_02_6_npc.c new file mode 100644 index 0000000000..c61d266318 --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_6_npc.c @@ -0,0 +1,1071 @@ +#include "nok_02.h" + +#include "world/common/npc/Koopa_Wander.inc.c" +#include "world/common/npc/KoopaWithoutShell_Patrol.inc.c" +#include "world/common/npc/Koopa.inc.c" +#include "world/common/npc/Kolorado.inc.c" +#include "world/common/npc/KoloradoWife.inc.c" +#include "world/common/enemy/complete/Fuzzy.inc.c" +#include "world/common/npc/KoopaKoot.inc.c" +#include "world/common/npc/Bobomb.inc.c" + +#define CHUCK_QUIZMO_NPC_ID NPC_ChuckQuizmo +#include "world/common/complete/Quizmo.inc.c" + +MAP_STATIC_PAD(1,key_item); +#include "world/common/complete/KeyItemChoice.inc.c" + +#include "world/common/atomic/MarioSalute.inc.c" + +#include "world/common/complete/LetterDelivery.inc.c" + +s32 N(LetterList_Kolorado)[] = { + ITEM_LETTER_TO_KOLORADO, ITEM_NONE +}; + +EvtScript N(EVS_LetterPrompt_Kolorado) = { + EVT_CALL(N(LetterDelivery_Init), + NPC_Kolorado, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, + ITEM_LETTER_TO_KOLORADO, ITEM_NONE, + MSG_CH1_0097, MSG_CH1_0098, MSG_CH1_0099, MSG_CH1_009A, + EVT_PTR(N(LetterList_Kolorado))) + EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_LetterReward_Kolorado) = { + EVT_IF_EQ(LVarC, DELIVERY_ACCEPTED) + EVT_GIVE_STAR_PIECE() + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_DoNothing) = { + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_GetBackIntoShell) = { + EVT_CALL(GetNpcYaw, LVar4, LVar1) + EVT_SET(LVar2, 30) + EVT_IF_GT(LVar1, 151) + EVT_IF_LE(LVar1, 331) + EVT_SET(LVar2, -30) + EVT_END_IF + EVT_END_IF + EVT_SET(LVar0, 0) + EVT_LOOP(15) + EVT_ADD(LVar0, LVar2) + EVT_CALL(SetNpcRotation, LVar3, 0, 0, LVar0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +#include "world/common/todo/SwitchToPartner.inc.c" + +EvtScript N(EVS_NpcInteract_Kooper) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_PROMISED_TO_HELP_KOOPER) + EVT_SET(GB_StoryProgress, STORY_CH1_PROMISED_TO_HELP_KOOPER) + EVT_CALL(ShowMessageAtScreenPos, MSG_CH1_00B4, 160, 40) + EVT_CALL(GetPlayerPos, LVarA, LVarB, LVarC) + EVT_CALL(UseSettingsFrom, CAM_DEFAULT, LVarA, LVarB, LVarC) + EVT_CALL(SetPanTarget, CAM_DEFAULT, 0, 0, -180) + EVT_CALL(SetCamDistance, CAM_DEFAULT, 375) + EVT_CALL(SetCamPitch, CAM_DEFAULT, 17, EVT_FLOAT(-5.5)) + EVT_CALL(SetCamSpeed, CAM_DEFAULT, 4) + EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) + EVT_CALL(SetGroupEnabled, MODEL_g111, 1) + EVT_THREAD + EVT_WAIT(10) + EVT_CALL(PlaySoundAt, SOUND_BASIC_DOOR_OPEN, 0, 0, 0, -180) + EVT_CALL(MakeLerp, 0, 90, 15, EASING_COS_FAST_OVERSHOOT) + EVT_LABEL(10) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o185, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(10) + EVT_END_IF + EVT_END_THREAD + EVT_THREAD + EVT_CALL(PlayerMoveTo, -25, -130, 10) + EVT_CALL(PlayerFaceNpc, NPC_Kooper, FALSE) + EVT_END_THREAD + EVT_THREAD + EVT_CALL(N(SwitchToPartner), 1) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(NpcMoveTo, NPC_PARTNER, -55, -130, 15) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_Kooper, 0) + EVT_CALL(EnablePartnerAI) + EVT_END_THREAD + EVT_CALL(SetNpcFlagBits, NPC_Kooper, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcPos, NPC_Kooper, 0, 0, -207) + EVT_CALL(SetNpcAnimation, NPC_Kooper, ANIM_KooperWithoutShell_Idle) + EVT_WAIT(35) + EVT_CALL(SetNpcAnimation, NPC_Kooper, ANIM_KooperWithoutShell_Run) + EVT_THREAD + EVT_LOOP(30) + EVT_CALL(PlayerFaceNpc, NPC_Kooper, FALSE) + EVT_WAIT(1) + EVT_END_LOOP + EVT_END_THREAD + EVT_CALL(NpcMoveTo, NPC_Kooper, 0, -148, 20) + EVT_THREAD + EVT_CALL(MakeLerp, 90, 0, 30, EASING_COS_IN_OUT) + EVT_LABEL(20) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateModel, MODEL_o185, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(20) + EVT_END_IF + EVT_CALL(PlaySoundAt, SOUND_BASIC_DOOR_CLOSE, 0, 0, 0, -180) + EVT_CALL(SetGroupEnabled, MODEL_g111, 0) + EVT_END_THREAD + EVT_CALL(NpcMoveTo, NPC_Kooper, 25, -130, 10) + EVT_CALL(SetNpcAnimation, NPC_Kooper, ANIM_KooperWithoutShell_Idle) + EVT_CALL(NpcFacePlayer, NPC_Kooper, 0) + EVT_CALL(SetNpcFlagBits, NPC_Kooper, NPC_FLAG_100, FALSE) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Kooper, ANIM_KooperWithoutShell_Celebrate, ANIM_KooperWithoutShell_Idle, 0, MSG_CH1_00B5) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_NodYes) + EVT_WAIT(15) + EVT_CALL(EndSpeech, NPC_Kooper, ANIM_KooperWithoutShell_Talk, ANIM_KooperWithoutShell_Idle, 0) + EVT_CALL(SetNpcAnimation, NPC_Kooper, ANIM_KooperWithoutShell_Celebrate) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_Kooper, ANIM_KooperWithoutShell_Idle) + EVT_CALL(EndSpeech, NPC_Kooper, ANIM_KooperWithoutShell_Talk, ANIM_KooperWithoutShell_Idle, 0) + EVT_CALL(AdjustCam, CAM_DEFAULT, 6, 30, EVT_FLOAT(225.0), EVT_FLOAT(17.0), EVT_FLOAT(-8.5)) + EVT_WAIT(5) + EVT_CALL(SpeakToPlayer, NPC_Kooper, ANIM_KooperWithoutShell_Talk, ANIM_KooperWithoutShell_Idle, 0, MSG_CH1_00B6) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Kooper, ANIM_KooperWithoutShell_Bow) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_Kooper, ANIM_KooperWithoutShell_Idle) + EVT_CALL(EndSpeech, NPC_Kooper, ANIM_KooperWithoutShell_Talk, ANIM_KooperWithoutShell_Idle, 0) + EVT_CALL(AdjustCam, CAM_DEFAULT, 4, -30, EVT_FLOAT(225.0), EVT_FLOAT(17.0), EVT_FLOAT(-8.5)) + EVT_WAIT(10) + EVT_THREAD + EVT_WAIT(3) + EVT_CALL(PlayerFaceNpc, NPC_PARTNER, FALSE) + EVT_END_THREAD + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldGoombario_Talk, ANIM_WorldGoombario_Idle, 0, MSG_CH1_00B7) + EVT_CALL(EnablePartnerAI) + EVT_CALL(AdjustCam, CAM_DEFAULT, EVT_FLOAT(90.0), 0, EVT_FLOAT(375.0), EVT_FLOAT(17.0), EVT_FLOAT(-5.5)) + EVT_WAIT(10) + EVT_CALL(PlayerFaceNpc, NPC_Kooper, FALSE) + EVT_WAIT(10) + EVT_CALL(SpeakToPlayer, NPC_Kooper, ANIM_KooperWithoutShell_Talk, ANIM_KooperWithoutShell_Idle, 0, MSG_CH1_00B8) + EVT_CALL(BindNpcInteract, NPC_Kooper, EVT_PTR(N(EVS_NpcInteract_Kooper))) + EVT_THREAD + EVT_CALL(ResetCam, CAM_DEFAULT, 3) + EVT_END_THREAD + EVT_RETURN + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH1_FUZZY_THIEF_HID_IN_TREE) + EVT_CALL(SpeakToPlayer, NPC_Kooper, ANIM_KooperWithoutShell_Talk, ANIM_KooperWithoutShell_Idle, 0, MSG_CH1_00BA) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Kooper, ANIM_KooperWithoutShell_Talk, ANIM_KooperWithoutShell_Idle, 0, MSG_CH1_00BB) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_MeetKooper) = { + EVT_EXEC_WAIT(N(EVS_NpcInteract_Kooper)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FuzzyBoss_PlayerEntersKoopersHouse) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH1_FUZZY_THIEF_LEFT_TOWN) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(MF_FuzzyBossTaunt, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(MF_FuzzyBossTaunt, TRUE) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(SpeakToPlayer, NPC_FuzzyBoss, ANIM_Fuzzy_Anim0C, ANIM_Fuzzy_Idle, 0, MSG_CH1_00B9) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(SetNpcAnimation, NPC_FuzzyBoss, ANIM_Fuzzy_Walk) + EVT_CALL(GetNpcPos, NPC_FuzzyBoss, LVarA, LVarB, LVarC) + EVT_SET(LVarD, LVarA) + EVT_ADD(LVarD, -5) + EVT_LABEL(10) + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_KoopersShell, 2) + EVT_CALL(NpcJump0, NPC_KoopersShell, LVarD, 0, LVarC, 12) + EVT_END_THREAD + EVT_WAIT(1) + EVT_CALL(SetNpcJumpscale, NPC_FuzzyBoss, 2) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyBoss, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyBoss, LVarA, 0, LVarC, 12) + EVT_CALL(IsPlayerWithin, 0, -400, 130, LVar0) + EVT_IF_EQ(LVar0, 0) + EVT_GOTO(10) + EVT_END_IF + EVT_SET(GB_StoryProgress, STORY_CH1_FUZZY_THIEF_LEFT_TOWN) + EVT_SET(LVarB, 0) + EVT_SET(LVarC, 0) + EVT_SET(LVarD, -514) + EVT_SET(LVarE, 15) + EVT_THREAD + EVT_CALL(SetNpcJumpscale, NPC_KoopersShell, 2) + EVT_CALL(NpcJump0, NPC_KoopersShell, LVarB, LVarC, LVarD, LVarE) + EVT_END_THREAD + EVT_WAIT(1) + EVT_CALL(SetNpcJumpscale, NPC_FuzzyBoss, 2) + EVT_CALL(PlaySoundAtNpc, NPC_FuzzyBoss, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyBoss, LVarB, LVarC, LVarD, LVarE) + EVT_CALL(SetNpcFlagBits, NPC_FuzzyBoss, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_KoopersShell, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_FuzzyBoss, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_KoopersShell, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END +}; + +Vec2i N(FuzzyJumpPath1)[] = { + { -466, 103 }, + { -441, 213 }, + { -385, 285 }, + { -302, 324 }, + { -250, 428 }, + { -158, 451 }, + { -45, 485 }, + { 62, 428 }, + { 214, 424 }, + { 324, 295 }, + { 416, 193 }, + { 293, 123 }, + { 181, 63 }, + { 95, 57 }, + { -14, 16 }, + { -161, 56 }, + { -317, 81 }, + { -401, 73 }, +}; + +Vec2i N(FuzzyJumpPath2)[] = { + { 416, 193 }, + { 324, 295 }, + { 214, 424 }, + { 62, 428 }, + { -45, 485 }, + { -158, 451 }, + { -250, 428 }, + { -302, 324 }, + { -385, 285 }, + { -441, 213 }, + { -466, 103 }, + { -401, 73 }, + { -317, 81 }, + { -161, 56 }, + { -14, 16 }, + { 95, 57 }, + { 181, 63 }, + { 293, 123 }, +}; + +EvtScript N(EVS_NpcIdle_MiscFuzzy1) = { + EVT_LABEL(100) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_ARRIVED_AT_KOOPA_VILLAGE) + EVT_WAIT(8) + EVT_GOTO(100) + EVT_END_IF + EVT_USE_BUF(EVT_PTR(N(FuzzyJumpPath1))) + EVT_SET(LVar1, 200) + EVT_BUF_READ2(LVar0, LVar2) + EVT_CALL(SetNpcPos, NPC_MiscFuzzy1, LVar0, LVar1, LVar2) + EVT_LABEL(0) + EVT_USE_BUF(EVT_PTR(N(FuzzyJumpPath1))) + EVT_LOOP(18) + EVT_SET(LVar1, 0) + EVT_BUF_READ2(LVar0, LVar2) + EVT_CALL(RandInt, 10, LVar3) + EVT_ADD(LVar3, 15) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_MiscFuzzy1, LVar0, LVar1, LVar2, LVar3) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MiscFuzzyFlee) = { + EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) + EVT_THREAD + EVT_CALL(MakeItemEntity, ITEM_COIN, LVar0, LVar1, LVar2, ITEM_SPAWN_MODE_TOSS_SPAWN_ALWAYS, 0) + EVT_END_THREAD + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Fuzzy_Hurt) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 25) + EVT_ADD(LVar0, 40) + EVT_ADD(LVar2, -40) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Fuzzy_Hurt) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 15) + EVT_ADD(LVar0, 30) + EVT_ADD(LVar2, -30) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Fuzzy_Anim09) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 13) + EVT_ADD(LVar0, 20) + EVT_ADD(LVar2, -20) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 11) + EVT_ADD(LVar0, 10) + EVT_ADD(LVar2, -10) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 9) + EVT_ADD(LVar0, 80) + EVT_ADD(LVar2, -80) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Fuzzy_Run) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_332, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, 0, LVar2, 15) + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_MiscFuzzy1) = { + EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_MiscFuzzyFlee))) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_MiscFuzzy2) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_RETURN + EVT_END_IF + EVT_LABEL(100) + EVT_IF_EQ(AF_NOK_13, FALSE) + EVT_WAIT(1) + EVT_GOTO(100) + EVT_END_IF + EVT_CALL(SetNpcPos, NPC_SELF, 438, 150, 155) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_333, 0) + EVT_CALL(NpcJump0, NPC_SELF, 438, 0, 150, 10) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_333, 0) + EVT_CALL(NpcJump0, NPC_SELF, 402, 0, 160, 15) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_333, 0) + EVT_CALL(NpcJump0, NPC_SELF, 384, 0, 160, 7) + EVT_LABEL(0) + EVT_USE_BUF(EVT_PTR(N(FuzzyJumpPath2))) + EVT_LOOP(18) + EVT_SET(LVar1, 0) + EVT_BUF_READ2(LVar0, LVar2) + EVT_CALL(RandInt, 9, LVar3) + EVT_ADD(LVar3, 13) + EVT_MULF(LVar0, EVT_FLOAT(0.9)) + EVT_MULF(LVar2, EVT_FLOAT(0.9)) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_333, 0) + EVT_CALL(NpcJump0, NPC_SELF, LVar0, LVar1, LVar2, LVar3) + EVT_END_LOOP + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_MiscFuzzy2) = { + EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_MiscFuzzyFlee))) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP | ENEMY_FLAG_IGNORE_HAMMER | ENEMY_FLAG_8000000 | ENEMY_FLAG_10000000, 1) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_MiscFuzzy1) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MiscFuzzy1))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_MiscFuzzy1))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_MiscFuzzy2) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MiscFuzzy2))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_MiscFuzzy2))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Fuzzy_Later) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MiscFuzzy2))) + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_MiscFuzzy2))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_BreakBlock_DropShell) = { + EVT_IF_EQ(GF_NOK02_RecoveredShellB, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_NOK02_RecoveredShellB, TRUE) + EVT_CALL(BindNpcAI, NPC_Koopa_02, EVT_PTR(N(EVS_DoNothing))) + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(NpcJump0, NPC_KoopaShell_02, 227, 0, 247, 20) + EVT_CALL(PlaySoundAtNpc, NPC_KoopaShell_02, SOUND_21A, 0) + EVT_CALL(PlayerFaceNpc, NPC_KoopaShell_02, FALSE) + EVT_CALL(NpcFaceNpc, NPC_Koopa_02, NPC_KoopaShell_02, 0) + EVT_CALL(SetNpcFlagBits, NPC_Koopa_02, NPC_FLAG_100, TRUE) + EVT_ADD(LVar0, -1) + EVT_ADD(LVar2, -1) + EVT_CALL(GetNpcPos, NPC_Koopa_02, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_Happy) + EVT_CALL(NpcJump0, NPC_Koopa_02, LVar0, 0, LVar2, 15) + EVT_CALL(GetNpcPos, NPC_KoopaShell_02, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_Run) + EVT_CALL(NpcMoveTo, NPC_Koopa_02, LVar0, LVar2, 15) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_Idle) + EVT_CALL(GetNpcPos, NPC_Koopa_02, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 10) + EVT_CALL(NpcJump0, NPC_KoopaShell_02, LVar0, LVar1, LVar2, 10) + EVT_CALL(PlayerFaceNpc, NPC_Koopa_02, FALSE) + EVT_CALL(NpcFacePlayer, NPC_Koopa_02, 0) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_KoopaWithoutShell_Still) + EVT_CALL(EnableNpcBlur, NPC_KoopaShell_02, TRUE) + EVT_CALL(GetNpcPos, NPC_Koopa_02, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 20) + EVT_SET(LVar3, NPC_KoopaShell_02) + EVT_SET(LVar4, NPC_Koopa_02) + EVT_EXEC(N(EVS_GetBackIntoShell)) + EVT_CALL(InterpNpcYaw, LVar3, 60, 0) + EVT_CALL(NpcJump0, NPC_KoopaShell_02, LVar0, LVar1, LVar2, 30) + EVT_CALL(SetNpcPos, NPC_KoopaShell_02, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcSprite, NPC_Koopa_02, ANIM_Koopa_Idle) + EVT_CALL(SetNpcFlagBits, NPC_Koopa_02, NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_Koopa_Still) + EVT_WAIT(4) + EVT_CALL(EnableNpcBlur, NPC_KoopaShell_02, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_Koopa_Happy) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_Koopa_02, ANIM_Koopa_Idle) + EVT_CALL(SpeakToPlayer, NPC_Koopa_02, ANIM_Koopa_Happy, ANIM_Koopa_Idle, 0, MSG_CH1_005E) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +#include "npcs_crisis.inc.c" +#include "npcs_normal.inc.c" + +EvtScript N(EVS_AnimateDoor_KoloradoHouse) = { + EVT_CALL(PlaySoundAtCollider, LVar9, SOUND_BASIC_DOOR_OPEN, 0) + EVT_CALL(MakeLerp, 0, 80, 15, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateGroup, LVarA, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_WAIT(20) + EVT_CALL(MakeLerp, 80, 0, 15, EASING_QUADRATIC_IN) + EVT_LOOP(0) + EVT_CALL(UpdateLerp) + EVT_CALL(RotateGroup, LVarA, LVar0, 0, 1, 0) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 0) + EVT_BREAK_LOOP + EVT_END_IF + EVT_END_LOOP + EVT_CALL(PlaySoundAtCollider, LVar9, SOUND_BASIC_DOOR_CLOSE, 0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_KoloradoWife_FetchFromHouse) = { + EVT_CALL(EnableModel, MODEL_g98, TRUE) + EVT_CALL(EnableGroup, MODEL_g109, TRUE) + EVT_CALL(EnableGroup, MODEL_g47, TRUE) + EVT_SET(LVarA, MODEL_g42) + EVT_SET(LVar9, COLLIDER_o310) + EVT_EXEC(N(EVS_AnimateDoor_KoloradoHouse)) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife, -314, -94, 10) + EVT_WAIT(10) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife, -304, -161, 20) + EVT_WAIT(100) + EVT_EXEC(N(EVS_AnimateDoor_KoloradoHouse)) + EVT_WAIT(10) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife, -308, -102, 20) + EVT_WAIT(10) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife, -338, -85, 20) + EVT_CALL(NpcFacePlayer, NPC_KoloradoWife, 0) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_KoloradoWife, ANIM_KoloradoWife_Idle) + EVT_CALL(EnableModel, MODEL_g98, FALSE) + EVT_CALL(EnableGroup, MODEL_g109, FALSE) + EVT_CALL(EnableGroup, MODEL_g47, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_KoloradoWife_FetchFromOffice) = { + EVT_SET(LVarA, MODEL_g41) + EVT_SET(LVar9, COLLIDER_o314) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife, -277, -186, 20) + EVT_EXEC(N(EVS_AnimateDoor_KoloradoHouse)) + EVT_WAIT(10) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife, -265, -261, 20) + EVT_WAIT(100) + EVT_EXEC(N(EVS_AnimateDoor_KoloradoHouse)) + EVT_WAIT(10) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife, -277, -186, 20) + EVT_WAIT(10) + EVT_CALL(NpcMoveTo, NPC_KoloradoWife, -328, -180, 20) + EVT_CALL(NpcFacePlayer, NPC_KoloradoWife, 0) + EVT_WAIT(20) + EVT_CALL(SetNpcAnimation, NPC_KoloradoWife, ANIM_KoloradoWife_Idle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_KoloradoWife_FetchKoopaLegends) = { + EVT_CALL(SetNpcFlagBits, NPC_KoloradoWife, NPC_FLAG_100, TRUE) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_0090) + EVT_CALL(SetNpcAnimation, NPC_KoloradoWife, ANIM_KoloradoWife_Walk) + EVT_IF_GE(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_EXEC_WAIT(N(EVS_KoloradoWife_FetchFromHouse)) + EVT_ELSE + EVT_IF_EQ(GF_NOK11_Defeated_KentC, TRUE) + EVT_EXEC_WAIT(N(EVS_KoloradoWife_FetchFromHouse)) + EVT_ELSE + EVT_EXEC_WAIT(N(EVS_KoloradoWife_FetchFromOffice)) + EVT_END_IF + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_0091) + EVT_GIVE_KEY_REWARD(ITEM_KOOT_KOOPA_LEGENDS) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_0092) + EVT_CALL(SetNpcFlagBits, NPC_KoloradoWife, NPC_FLAG_100, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_KoloradoWife) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_IF_EQ(GF_NOK02_KoloradoWife_FuzzyComplaint, FALSE) + EVT_SET(GF_NOK02_KoloradoWife_FuzzyComplaint, TRUE) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_0088) + EVT_RETURN + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_0089) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_008A) + EVT_CASE_LT(STORY_CH2_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_008B) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_008C) + EVT_CASE_LT(STORY_CH5_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_008D) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(GF_NOK11_Defeated_KentC, FALSE) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_008E) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_008F) + EVT_END_IF + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 0, MSG_CH1_008F) + EVT_END_SWITCH + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH1_2) + EVT_IF_EQ(GF_NOK02_Gift_KoopaLegends, FALSE) + EVT_SET(GF_NOK02_Gift_KoopaLegends, TRUE) + EVT_EXEC_WAIT(N(EVS_MarioSalute)) + EVT_EXEC_WAIT(N(EVS_KoloradoWife_FetchKoopaLegends)) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoloradoWife) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_KoloradoWife))) + EVT_IF_GE(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SetNpcPos, NPC_SELF, -338, 0, -85) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(GF_NOK11_Defeated_KentC, TRUE) + EVT_CALL(SetNpcPos, NPC_SELF, -338, 0, -85) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopaKoot) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_KoopaKoot))) + EVT_EXEC(N(EVS_SetupKootFavors)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_Epilogue) = { + EVT_CALL(SetNpcPos, NPC_SELF, -25, 10, -50) + EVT_CALL(SetNpcYaw, NPC_SELF, 90) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bombette_Epilogue) = { + EVT_CALL(SetNpcPos, NPC_SELF, 25, 0, -50) + EVT_CALL(SetNpcYaw, NPC_SELF, 270) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoloradoWife_Epilogue) = { + EVT_CALL(SetNpcPos, NPC_SELF, -150, 0, -50) + EVT_CALL(SetNpcYaw, NPC_SELF, 90) + EVT_RETURN + EVT_END +}; + +StaticNpc N(NpcData_Crisis)[] = { + { + .id = NPC_Koopa_01, + .settings = &N(NpcSettings_Koopa_Wander), + .pos = { -109.0f, 0.0f, 191.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Koopa_01_Crisis), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { -109, 0, 191 }, + .wanderSize = { 100 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { -109, 0, 191 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_GenericKoopaC, + }, + { + .id = NPC_FuzzyThief, + .settings = &N(NpcSettings_Fuzzy), + .pos = { -109.0f, 0.0f, 191.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH, + .init = &N(EVS_NpcInit_Fuzzy_Thief), + .drops = NPC_NO_DROPS, + .animations = FUZZY_ANIMS, + }, + { + .id = NPC_KoopaShell_01, + .settings = &N(NpcSettings_Koopa), + .pos = { -109.0f, 0.0f, 191.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_KoopaShell_01_Crisis), + .drops = NPC_NO_DROPS, + .animations = KOOPA_ANIMS, + }, + { + .id = NPC_Koopa_02, + .settings = &N(NpcSettings_KoopaWithoutShell_Patrol), + .pos = { 192.0f, 0.0f, 152.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_02_Crisis), + .drops = NPC_NO_DROPS, + .territory = { + .patrol = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .numPoints = 2, + .points = { + { 199, 0, 152 }, + { 107, 0, 152 }, + }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 192, 0, 152 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_WITHOUT_SHELL_ANIMS, + .tattle = MSG_NpcTattle_NOK_GenericKoopaD, + }, + { + .id = NPC_KoopaShell_02, + .settings = &N(NpcSettings_Koopa), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_KoopaShell_02_Crisis), + .drops = NPC_NO_DROPS, + .animations = KOOPA_ANIMS, + }, + { + .id = NPC_Kooper, + .settings = &N(NpcSettings_Koopa), + .pos = { 20.0f, 0.0f, -145.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Kooper), + .drops = NPC_NO_DROPS, + .animations = { + .idle = ANIM_WorldKooper_Idle, + .walk = ANIM_WorldKooper_Walk, + .run = ANIM_WorldKooper_Walk, + .chase = ANIM_WorldKooper_Walk, + .anim_4 = ANIM_WorldKooper_Walk, + .anim_5 = ANIM_WorldKooper_Walk, + .death = ANIM_WorldKooper_Still, + .hit = ANIM_WorldKooper_Still, + .anim_8 = ANIM_WorldKooper_Still, + .anim_9 = ANIM_WorldKooper_Still, + .anim_A = ANIM_WorldKooper_Still, + .anim_B = ANIM_WorldKooper_Still, + .anim_C = ANIM_WorldKooper_Still, + .anim_D = ANIM_WorldKooper_Still, + .anim_E = ANIM_WorldKooper_Still, + .anim_F = ANIM_WorldKooper_Still, + }, + .tattle = MSG_NpcTattle_NOK_Kooper, + }, + { + .id = NPC_FuzzyBoss, + .settings = &N(NpcSettings_Fuzzy), + .pos = { 12.0f, 10.0f, -351.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_FuzzyBoss), + .drops = NPC_NO_DROPS, + .animations = FUZZY_ANIMS, + }, + { + .id = NPC_KoopersShell, + .settings = &N(NpcSettings_Koopa), + .pos = { 12.0f, 0.0f, -351.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_KoopersShell), + .drops = NPC_NO_DROPS, + .animations = { + .idle = ANIM_WorldKooper_Idle, + .walk = ANIM_WorldKooper_Walk, + .run = ANIM_WorldKooper_Walk, + .chase = ANIM_WorldKooper_Walk, + .anim_4 = ANIM_WorldKooper_Walk, + .anim_5 = ANIM_WorldKooper_Walk, + .death = ANIM_WorldKooper_Still, + .hit = ANIM_WorldKooper_Still, + .anim_8 = ANIM_WorldKooper_Still, + .anim_9 = ANIM_WorldKooper_Still, + .anim_A = ANIM_WorldKooper_Still, + .anim_B = ANIM_WorldKooper_Still, + .anim_C = ANIM_WorldKooper_Still, + .anim_D = ANIM_WorldKooper_Still, + .anim_E = ANIM_WorldKooper_Still, + .anim_F = ANIM_WorldKooper_Still, + }, + }, +}; + +StaticNpc N(NpcData_Fuzzy_01) = { + .id = NPC_MiscFuzzy1, + .settings = &N(NpcSettings_Fuzzy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_10000000, + .init = &N(EVS_NpcInit_MiscFuzzy1), + .drops = NPC_NO_DROPS, + .animations = FUZZY_ANIMS, +}; + +StaticNpc N(NpcData_Fuzzy_02) = { + .id = NPC_MiscFuzzy2, + .settings = &N(NpcSettings_Fuzzy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_10000000, + .init = &N(EVS_NpcInit_MiscFuzzy2), + .drops = NPC_NO_DROPS, + .animations = FUZZY_ANIMS, +}; + +StaticNpc N(NpcData_Normal)[] = { + { + .id = NPC_Koopa_01, + .settings = &N(NpcSettings_Koopa_Wander), + .pos = { -109.0f, 0.0f, 191.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_01_Normal), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_CYLINDER, + .centerPos = { -124, 0, 250 }, + .wanderSize = { 80 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { -85, 0, 260 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_GenericKoopaC, + }, + { + .id = NPC_Koopa_02, + .settings = &N(NpcSettings_Koopa_Wander), + .pos = { 200.0f, 0.0f, 117.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_02_Normal), + .drops = NPC_NO_DROPS, + .territory = { + .wander = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .wanderShape = SHAPE_RECT, + .centerPos = { 200, 0, 117 }, + .wanderSize = { 50, 30 }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 170 }, + .detectSize = { 500 }, + } + }, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_GenericKoopaD, + }, + { + .id = NPC_Bobomb_01, + .settings = &N(NpcSettings_Bobomb), + .pos = { 0.0f, 0.0f, -333.0f }, + .yaw = 180, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Bobomb_01), + .drops = NPC_NO_DROPS, + .animations = BOBOMB_BLUE_ANIMS, + .tattle = MSG_NpcTattle_NOK_BobombD, + }, + { + .id = NPC_Bobomb_02, + .settings = &N(NpcSettings_Bobomb), + .pos = { -7.0f, 0.0f, -285.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .init = &N(EVS_NpcInit_Bobomb_02), + .drops = NPC_NO_DROPS, + .animations = BOBOMB_GREEN_ANIMS, + .tattle = MSG_NpcTattle_NOK_BobombE, + }, + { + .id = NPC_Bobomb_03, + .settings = &N(NpcSettings_Bobomb), + .pos = { 47.0f, 0.0f, -140.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Bobomb_03), + .drops = NPC_NO_DROPS, + .animations = BOBOMB_GREEN_ANIMS, + .tattle = MSG_NpcTattle_NOK_BobombF, + }, + { + .id = NPC_Kolorado, + .settings = &N(NpcSettings_Kolorado), + .pos = { -240.0f, 0.0f, -70.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Kolorado), + .drops = NPC_NO_DROPS, + .animations = KOLORADO_ANIMS, + .tattle = MSG_NpcTattle_Kolorado, + }, +}; + +StaticNpc N(NpcData_Fuzzy_Later) = { + .id = NPC_Fuzzy_Later, + .settings = &N(NpcSettings_Fuzzy), + .pos = { NPC_DISPOSE_LOCATION }, + .yaw = 0, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_10000000, + .init = &N(EVS_NpcInit_Fuzzy_Later), + .drops = NPC_NO_DROPS, + .animations = FUZZY_ANIMS, +}; + +StaticNpc N(NpcData_Shared)[] = { + { + .id = NPC_KoopaKoot, + .settings = &N(NpcSettings_KoopaKoot), + .pos = { 330.0f, 0.0f, -100.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_KoopaKoot), + .drops = NPC_NO_DROPS, + .animations = KOOPA_KOOT_ANIMS, + .tattle = MSG_NpcTattle_KoopaKoot, + }, + { + .id = NPC_KoloradoWife, + .settings = &N(NpcSettings_KoloradoWife), + .pos = { -328.0f, 0.0f, -180.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_KoloradoWife), + .drops = NPC_NO_DROPS, + .animations = KOLORADO_WIFE_ANIMS, + .tattle = MSG_NpcTattle_KoloradoWife, + }, + { + .id = NPC_Koopa_03, + .settings = &N(NpcSettings_Koopa), + .pos = { -307.0f, 0.0f, 97.0f }, + .yaw = 90, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_03), + .drops = NPC_NO_DROPS, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_SenseOfJustice, + }, + { + .id = NPC_Koopa_04, + .settings = &N(NpcSettings_KoopaWithoutShell_Patrol), + .pos = { 285.0f, 0.0f, 223.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .init = &N(EVS_NpcInit_Koopa_04), + .drops = NPC_NO_DROPS, + .territory = { + .patrol = { + .isFlying = TRUE, + .moveSpeedOverride = NO_OVERRIDE_MOVEMENT_SPEED, + .numPoints = 2, + .points = { + { 240, 0, 175 }, + { 350, 0, 250 }, + }, + .detectShape = SHAPE_CYLINDER, + .detectPos = { 0, 0, 0 }, + .detectSize = { 0 }, + } + }, + .animations = KOOPA_ANIMS, + .tattle = MSG_NpcTattle_NOK_PrettyMellow, + }, +}; + +StaticNpc N(NpcData_Epilogue)[] = { + { + .id = NPC_Parakarry, + .settings = &N(NpcSettings_Koopa), + .pos = { 0.0f, 0.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Koopa_Epilogue), + .drops = NPC_NO_DROPS, + .animations = { + .idle = ANIM_WorldParakarry_Idle, + .walk = ANIM_WorldParakarry_Walk, + .run = ANIM_WorldParakarry_Run, + .chase = ANIM_WorldParakarry_Run, + .anim_4 = ANIM_WorldParakarry_Idle, + .anim_5 = ANIM_WorldParakarry_Idle, + .death = ANIM_WorldParakarry_Still, + .hit = ANIM_WorldParakarry_Still, + .anim_8 = ANIM_WorldParakarry_Idle, + .anim_9 = ANIM_WorldParakarry_Idle, + .anim_A = ANIM_WorldParakarry_Idle, + .anim_B = ANIM_WorldParakarry_Idle, + .anim_C = ANIM_WorldParakarry_Idle, + .anim_D = ANIM_WorldParakarry_Idle, + .anim_E = ANIM_WorldParakarry_Idle, + .anim_F = ANIM_WorldParakarry_Idle, + }, + }, + { + .id = NPC_Bombette, + .settings = &N(NpcSettings_Koopa), + .pos = { 0.0f, 0.0f, 0.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_Bombette_Epilogue), + .drops = NPC_NO_DROPS, + .animations = { + .idle = ANIM_WorldBombette_Idle, + .walk = ANIM_WorldBombette_Walk, + .run = ANIM_WorldBombette_Walk, + .chase = ANIM_WorldBombette_Walk, + .anim_4 = ANIM_WorldBombette_Walk, + .anim_5 = ANIM_WorldBombette_Walk, + .death = ANIM_WorldBombette_Still, + .hit = ANIM_WorldBombette_Still, + .anim_8 = ANIM_WorldBombette_Still, + .anim_9 = ANIM_WorldBombette_Still, + .anim_A = ANIM_WorldBombette_Still, + .anim_B = ANIM_WorldBombette_Still, + .anim_C = ANIM_WorldBombette_Still, + .anim_D = ANIM_WorldBombette_Still, + .anim_E = ANIM_WorldBombette_Still, + .anim_F = ANIM_WorldBombette_Still, + }, + }, + { + .id = NPC_KoloradoWife_Epilogue, + .settings = &N(NpcSettings_Koopa), + .pos = { -328.0f, 0.0f, -180.0f }, + .yaw = 0, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .init = &N(EVS_NpcInit_KoloradoWife_Epilogue), + .drops = NPC_NO_DROPS, + .animations = KOLORADO_WIFE_ANIMS, + .tattle = MSG_NpcTattle_KoloradoWife, + }, +}; + +StaticNpc N(NpcData_ChuckQuizmo) = { + .id = NPC_ChuckQuizmo, + .settings = &N(NpcSettings_ChuckQuizmo), + .pos = { 300.0f, 0.0f, 330.0f }, + .yaw = 270, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .initVarCount = 1, + .initVar = { .bytes = { 0, QUIZ_AREA_NOK, QUIZ_COUNT_NOK, QUIZ_MAP_NOK_02 }}, + .drops = NPC_NO_DROPS, + .animations = QUIZMO_ANIMS, + .tattle = MSG_NpcTattle_ChuckQuizmo, +}; + +NpcGroupList N(CrisisNPCs) = { + NPC_GROUP(N(NpcData_Crisis)), + NPC_GROUP(N(NpcData_Shared)), + NPC_GROUP(N(NpcData_Fuzzy_01)), + NPC_GROUP(N(NpcData_Fuzzy_02)), + {} +}; + +NpcGroupList N(NormalNPCs) = { + NPC_GROUP(N(NpcData_Normal)), + NPC_GROUP(N(NpcData_Shared)), + NPC_GROUP(N(NpcData_Fuzzy_Later)), + NPC_GROUP(N(NpcData_ChuckQuizmo)), + {} +}; + +NpcGroupList N(EpilogueNPCs) = { + NPC_GROUP(N(NpcData_Epilogue)), + {} +}; diff --git a/src/world/area_nok/nok_02/nok_02_7_demo.c b/src/world/area_nok/nok_02/nok_02_7_demo.c new file mode 100644 index 0000000000..e9517a3024 --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_7_demo.c @@ -0,0 +1,185 @@ +#include "nok_02.h" +#include "world/partners.h" + +EvtScript N(EVS_ProvideDemoInputs) = { + EVT_CALL(DemoJoystickXY, 6, 4) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 29, 20) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 64, 34) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 68, 41) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 67, 44) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 65, 52) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 63, 60) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 62, 65) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 62, 66) + EVT_WAIT(3) + EVT_CALL(DemoJoystickXY, 62, 67) + EVT_WAIT(2) + EVT_CALL(DemoJoystickXY, 61, 69) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 24, 79) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 1, 83) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 2, 84) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 2, 82) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 3, 43) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, -1, 0) + EVT_WAIT(3) + EVT_CALL(DemoSetButtons, BUTTON_A) + EVT_WAIT(8) + EVT_CALL(DemoSetButtons, 0) + EVT_WAIT(75) + EVT_CALL(DemoJoystickXY, 7, 2) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 39, 8) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 74, 10) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 74, 12) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 74, 19) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 72, 29) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 68, 42) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 65, 54) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 63, 62) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 62, 66) + EVT_WAIT(3) + EVT_CALL(DemoJoystickXY, 59, 70) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 53, 72) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 52, 73) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 43, 75) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 35, 77) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 33, 77) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 34, 77) + EVT_WAIT(3) + EVT_CALL(DemoJoystickXY, 33, 77) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 18, 78) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 11, 79) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 4, 32) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, -1, 1) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, -1, 0) + EVT_WAIT(1) + EVT_CALL(DemoSetButtons, BUTTON_A) + EVT_WAIT(6) + EVT_CALL(DemoSetButtons, 0) + EVT_WAIT(53) + EVT_CALL(DemoJoystickXY, 2, 0) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 11, 1) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 28, 5) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 57, 15) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 68, 26) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 69, 33) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 65, 51) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 63, 61) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 62, 66) + EVT_WAIT(4) + EVT_CALL(DemoJoystickXY, 61, 66) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 52, 68) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 38, 72) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 30, 74) + EVT_WAIT(2) + EVT_CALL(DemoJoystickXY, 27, 67) + EVT_WAIT(1) + EVT_CALL(DemoJoystickXY, 0, 0) + EVT_WAIT(10) + EVT_IF_EQ(GF_DemoSceneDone, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_DemoSceneDone, TRUE) + EVT_CALL(GotoMapSpecial, EVT_PTR("nok_02"), nok_02_ENTRY_2, TRANSITION_2) + EVT_WAIT(110) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_MonitorDemoState) = { + EVT_WAIT(10) + EVT_LOOP(0) + EVT_CALL(GetDemoState, LVar0) + EVT_IF_EQ(LVar0, 2) + EVT_BREAK_LOOP + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_IF_EQ(GF_DemoSceneDone, TRUE) + EVT_RETURN + EVT_END_IF + EVT_SET(GF_DemoSceneDone, TRUE) + EVT_CALL(GotoMapSpecial, EVT_PTR("nok_02"), nok_02_ENTRY_2, TRANSITION_3) + EVT_WAIT(110) + EVT_RETURN + EVT_END +}; + +s32 N(DemoInitState) = 0; + +API_CALLABLE(N(SetupDemoScene)) { + PlayerStatus* playerStatus = &gPlayerStatus; + + switch (N(DemoInitState)) { + case 0: + N(DemoInitState) = 1; + break; + case 1: + case 2: + N(DemoInitState)++; + break; + case 3: + partner_clear_player_tracking(wPartnerNpc); + partner_set_goal_pos(playerStatus->position.x, playerStatus->position.z); + func_800EF3D4(0); + set_npc_yaw(wPartnerNpc, 90.0f); + playerStatus->targetYaw = 90.0f; + playerStatus->currentYaw = 90.0f; + playerStatus->spriteFacingAngle = 0.0f; + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +EvtScript N(EVS_SetupDemo) = { + EVT_CALL(N(SetupDemoScene)) + EVT_SET(GF_DemoSceneDone, FALSE) + EVT_EXEC(N(EVS_MonitorDemoState)) + EVT_EXEC(N(EVS_ProvideDemoInputs)) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/nok_02_8_koot_favors.c b/src/world/area_nok/nok_02/nok_02_8_koot_favors.c new file mode 100644 index 0000000000..92f6db5bdd --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_8_koot_favors.c @@ -0,0 +1,556 @@ +#include "nok_02.h" + +#define NAME_SUFFIX _Koot +#include "world/common/complete/KeyItemChoice.inc.c" +MAP_STATIC_PAD(1,item_choice); +#include "world/common/complete/NormalItemChoice.inc.c" +#include "world/common/complete/GiveReward.inc.c" +#define NAME_SUFFIX + +typedef struct KootFavor { + /* 0x00 */ s32 requestMsg; + /* 0x04 */ s32 minorRewardMsg; + /* 0x08 */ s32 majorRewardMsg; + /* 0x0C */ s32 unlockedFlag; + /* 0x10 */ s32 gaveUpFlag; + /* 0x14 */ s32 completeFlag; + /* 0x18 */ s32 requiredItem; +} KootFavor; // size = 0x1C + +KootFavor N(KootFavorData)[] = { + [KOOT_FAVOR_CH1_1] { + .requestMsg = MSG_KootFavor_0000, + .minorRewardMsg = MSG_KootFavor_0001, + .majorRewardMsg = MSG_KootFavor_0002, + .unlockedFlag = GF_NOK02_KootFavor00_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor00_GaveUp, + .completeFlag = GF_NOK02_KootFavor00_Complete, + .requiredItem = ITEM_KOOT_KOOPA_LEGENDS, + }, + [KOOT_FAVOR_CH1_2] { + .requestMsg = MSG_KootFavor_0003, + .minorRewardMsg = MSG_KootFavor_0004, + .majorRewardMsg = MSG_KootFavor_0005, + .unlockedFlag = GF_NOK02_KootFavor01_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor01_GaveUp, + .completeFlag = GF_NOK02_KootFavor01_Complete, + .requiredItem = ITEM_SLEEPY_SHEEP, + }, + [KOOT_FAVOR_CH2_1] { + .requestMsg = MSG_KootFavor_0006, + .minorRewardMsg = MSG_KootFavor_0007, + .majorRewardMsg = MSG_KootFavor_0008, + .unlockedFlag = GF_NOK02_KootFavor02_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor02_GaveUp, + .completeFlag = GF_NOK02_KootFavor02_Complete, + .requiredItem = ITEM_KOOT_THE_TAPE, + }, + [KOOT_FAVOR_CH2_2] { + .requestMsg = MSG_KootFavor_0009, + .minorRewardMsg = MSG_KootFavor_000A, + .majorRewardMsg = MSG_KootFavor_000B, + .unlockedFlag = GF_NOK02_KootFavor03_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor03_GaveUp, + .completeFlag = GF_NOK02_KootFavor03_Complete, + .requiredItem = ITEM_KOOPA_TEA, + }, + [KOOT_FAVOR_CH2_3] { + .requestMsg = MSG_KootFavor_000C, + .minorRewardMsg = MSG_KootFavor_000D, + .majorRewardMsg = MSG_KootFavor_000E, + .unlockedFlag = GF_NOK02_KootFavor04_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor04_GaveUp, + .completeFlag = GF_NOK02_KootFavor04_Complete, + .requiredItem = ITEM_KOOT_MERLUVLEE_AUTOGRAPH, + }, + [KOOT_FAVOR_CH3_1] { + .requestMsg = MSG_KootFavor_000F, + .minorRewardMsg = MSG_KootFavor_0010, + .majorRewardMsg = MSG_KootFavor_0011, + .unlockedFlag = GF_NOK02_KootFavor05_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor05_GaveUp, + .completeFlag = GF_NOK02_KootFavor05_Complete, + .requiredItem = ITEM_KOOT_EMPTY_WALLET, + }, + [KOOT_FAVOR_CH3_2] { + .requestMsg = MSG_KootFavor_0012, + .minorRewardMsg = MSG_KootFavor_0013, + .majorRewardMsg = MSG_KootFavor_0014, + .unlockedFlag = GF_NOK02_KootFavor06_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor06_GaveUp, + .completeFlag = GF_NOK02_KootFavor06_Complete, + .requiredItem = ITEM_TASTY_TONIC, + }, + [KOOT_FAVOR_CH3_3] { + .requestMsg = MSG_KootFavor_0015, + .minorRewardMsg = MSG_KootFavor_0016, + .majorRewardMsg = MSG_KootFavor_0017, + .unlockedFlag = GF_NOK02_KootFavor07_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor07_GaveUp, + .completeFlag = GF_NOK02_KootFavor07_Complete, + .requiredItem = ITEM_KOOT_LUIGI_AUTOGRAPH, + }, + [KOOT_FAVOR_CH4_1] { + .requestMsg = MSG_KootFavor_0018, + .minorRewardMsg = MSG_KootFavor_0019, + .majorRewardMsg = MSG_KootFavor_001A, + .unlockedFlag = GF_NOK02_KootFavor08_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor08_GaveUp, + .completeFlag = GF_NOK02_KootFavor08_Complete, + .requiredItem = ITEM_NONE, + }, + [KOOT_FAVOR_CH4_2] { + .requestMsg = MSG_KootFavor_001B, + .minorRewardMsg = MSG_KootFavor_001C, + .majorRewardMsg = MSG_KootFavor_001D, + .unlockedFlag = GF_NOK02_KootFavor09_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor09_GaveUp, + .completeFlag = GF_NOK02_KootFavor09_Complete, + .requiredItem = ITEM_LIFE_SHROOM, + }, + [KOOT_FAVOR_CH4_3] { + .requestMsg = MSG_KootFavor_001E, + .minorRewardMsg = MSG_KootFavor_001F, + .majorRewardMsg = MSG_KootFavor_0020, + .unlockedFlag = GF_NOK02_KootFavor0A_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor0A_GaveUp, + .completeFlag = GF_NOK02_KootFavor0A_Complete, + .requiredItem = ITEM_NUTTY_CAKE, + }, + [KOOT_FAVOR_CH5_1] { + .requestMsg = MSG_KootFavor_0021, + .minorRewardMsg = MSG_KootFavor_0022, + .majorRewardMsg = MSG_KootFavor_0023, + .unlockedFlag = GF_NOK02_KootFavor0B_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor0B_GaveUp, + .completeFlag = GF_NOK02_KootFavor0B_Complete, + .requiredItem = ITEM_NONE, + }, + [KOOT_FAVOR_CH5_2] { + .requestMsg = MSG_KootFavor_0024, + .minorRewardMsg = MSG_KootFavor_0025, + .majorRewardMsg = MSG_KootFavor_0026, + .unlockedFlag = GF_NOK02_KootFavor0C_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor0C_GaveUp, + .completeFlag = GF_NOK02_KootFavor0C_Complete, + .requiredItem = ITEM_KOOT_OLD_PHOTO, + }, + [KOOT_FAVOR_CH5_3] { + .requestMsg = MSG_KootFavor_0027, + .minorRewardMsg = MSG_KootFavor_0028, + .majorRewardMsg = MSG_KootFavor_0029, + .unlockedFlag = GF_NOK02_KootFavor0D_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor0D_GaveUp, + .completeFlag = GF_NOK02_KootFavor0D_Complete, + .requiredItem = ITEM_KOOPASTA, + }, + [KOOT_FAVOR_CH6_1] { + .requestMsg = MSG_KootFavor_002A, + .minorRewardMsg = MSG_KootFavor_002B, + .majorRewardMsg = MSG_KootFavor_002C, + .unlockedFlag = GF_NOK02_KootFavor0E_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor0E_GaveUp, + .completeFlag = GF_NOK02_KootFavor0E_Complete, + .requiredItem = ITEM_KOOT_GLASSES, + }, + [KOOT_FAVOR_CH6_2] { + .requestMsg = MSG_KootFavor_002D, + .minorRewardMsg = MSG_KootFavor_002E, + .majorRewardMsg = MSG_KootFavor_002F, + .unlockedFlag = GF_NOK02_KootFavor0F_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor0F_GaveUp, + .completeFlag = GF_NOK02_KootFavor0F_Complete, + .requiredItem = ITEM_LIME, + }, + [KOOT_FAVOR_CH6_3] { + .requestMsg = MSG_KootFavor_0030, + .minorRewardMsg = MSG_KootFavor_0031, + .majorRewardMsg = MSG_KootFavor_0032, + .unlockedFlag = GF_NOK02_KootFavor10_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor10_GaveUp, + .completeFlag = GF_NOK02_KootFavor10_Complete, + .requiredItem = ITEM_KOOKY_COOKIE, + }, + [KOOT_FAVOR_CH7_1] { + .requestMsg = MSG_KootFavor_0033, + .minorRewardMsg = MSG_KootFavor_0034, + .majorRewardMsg = MSG_KootFavor_0035, + .unlockedFlag = GF_NOK02_KootFavor11_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor11_GaveUp, + .completeFlag = GF_NOK02_KootFavor11_Complete, + .requiredItem = ITEM_KOOT_PACKAGE, + }, + [KOOT_FAVOR_CH7_2] { + .requestMsg = MSG_KootFavor_0036, + .minorRewardMsg = MSG_KootFavor_0037, + .majorRewardMsg = MSG_KootFavor_0038, + .unlockedFlag = GF_NOK02_KootFavor12_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor12_GaveUp, + .completeFlag = GF_NOK02_KootFavor12_Complete, + .requiredItem = ITEM_COCONUT, + }, + [KOOT_FAVOR_CH7_3] { + .requestMsg = MSG_KootFavor_0039, + .minorRewardMsg = MSG_KootFavor_003A, + .majorRewardMsg = MSG_KootFavor_003B, + .unlockedFlag = GF_NOK02_KootFavor13_Unlocked, + .gaveUpFlag = GF_NOK02_KootFavor13_GaveUp, + .completeFlag = GF_NOK02_KootFavor13_Complete, + .requiredItem = ITEM_KOOT_RED_JAR, + } +}; + +API_CALLABLE(N(IsFourthMultipleFavor)) { + Bytecode* args = script->ptrReadPos; + s32 favorIdx = evt_get_variable(script, *args++); + + if ((favorIdx % 4) != 0) { + script->varTable[0] = FALSE; + } else { + script->varTable[0] = TRUE; + } + return ApiStatus_DONE2; +} + +API_CALLABLE(N(FindNextFavor)) { + Bytecode* args = script->ptrReadPos; + s32 currentFavorVar = *args++; + u32 count = 0; + KootFavor* it = N(KootFavorData); + s32 randomIdx; + u32 i; + + // count number of available favors + for (i = 0; i < ARRAY_COUNT(N(KootFavorData)); i++, it++) { + if (evt_get_variable(script, it->unlockedFlag) && !evt_get_variable(script, it->completeFlag)) { + count++; + if (!evt_get_variable(script, it->gaveUpFlag)) { + // after first non-skipped favor is found, break the loop + break; + } + } + } + + if (i == ARRAY_COUNT(N(KootFavorData))) { + if (count == 0) { + // found no available favors and none were skipped + script->varTable[0] = 0; + evt_set_variable(script, currentFavorVar, 0xFF); + return ApiStatus_DONE2; + } else { + // found no new favors, choose one randomly among the skipped ones + randomIdx = rand_int(count - 1); + count = 0; + + it = N(KootFavorData); + for (i = 0; i < ARRAY_COUNT(N(KootFavorData)); i++, it++) { + if (evt_get_variable(script, it->unlockedFlag) && !evt_get_variable(script, it->completeFlag)) { + if (count++ == randomIdx) { + break; + } + } + } + } + script->varTable[0] = it->requestMsg; + evt_set_variable(script, currentFavorVar, i + 1); + return ApiStatus_DONE2; + } else { + // found a new pending favor + script->varTable[0] = it->requestMsg; + evt_set_variable(script, currentFavorVar, i + 1); + return ApiStatus_DONE2; + } +} + +API_CALLABLE(N(GiveUpFavor)) { + Bytecode* args = script->ptrReadPos; + s32 currentFavorVar = *args++; + s32 favorIdx = evt_get_variable(script, currentFavorVar) - 1; + KootFavor* it = N(KootFavorData); + s32 count = 0; + s32 randomIdx; + u32 i; + + evt_set_variable(script, N(KootFavorData)[favorIdx].gaveUpFlag, TRUE); + + for (i = 0; i < ARRAY_COUNT(N(KootFavorData)); i++, it++) { + if (evt_get_variable(script, it->unlockedFlag) && !evt_get_variable(script, it->completeFlag)) { + count++; + if (!evt_get_variable(script, it->gaveUpFlag)) { + break; + } + } + } + + if (i == ARRAY_COUNT(N(KootFavorData))) { + if (count < 2) { + script->varTable[0] = 0; + evt_set_variable(script, currentFavorVar, 0xFF); + return ApiStatus_DONE2; + } else { + randomIdx = rand_int(count - 2); + count = 0; + + it = N(KootFavorData); + for (i = 0; i < ARRAY_COUNT(N(KootFavorData)); i++, it++) { + if (i == favorIdx) { + continue; + } + if (evt_get_variable(script, it->unlockedFlag) && !evt_get_variable(script, it->completeFlag)) { + if (count++ == randomIdx) { + break; + } + } + } + } + script->varTable[0] = it->requestMsg; + evt_set_variable(script, currentFavorVar, i + 1); + return ApiStatus_DONE2; + } else { + script->varTable[0] = it->requestMsg; + evt_set_variable(script, currentFavorVar, i + 1); + return ApiStatus_DONE2; + } +} + +API_CALLABLE(N(GetFavorMessages)) { + Bytecode* args = script->ptrReadPos; + s32 favorIdx = evt_get_variable(script, *args++) - 1; + KootFavor* favor = &N(KootFavorData)[favorIdx]; + + script->varTable[0] = favor->requestMsg; + script->varTable[1] = favor->minorRewardMsg; + script->varTable[2] = favor->majorRewardMsg; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(SetFavorComplete)) { + Bytecode* args = script->ptrReadPos; + s32 favorIdx = evt_get_variable(script, *args++) - 1; + KootFavor* favor = &N(KootFavorData)[favorIdx]; + + evt_set_variable(script, favor->completeFlag, TRUE); + return ApiStatus_DONE2; +} + +s32 N(FavorItemList)[] = { + ITEM_NONE, + ITEM_NONE, +}; + +API_CALLABLE(N(MakeFavorItemList)) { + Bytecode *args = script->ptrReadPos; + s32 favorIdx = evt_get_variable(script, *args++) - 1; + s32 itemID = N(KootFavorData)[favorIdx].requiredItem; + s16* typeFlags = &gItemTable[itemID].typeFlags; + + N(FavorItemList)[0] = itemID; + script->varTable[0] = (*typeFlags & ITEM_TYPE_FLAG_CONSUMABLE) > 0; + script->varTable[1] = itemID; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_NpcInteract_KoopaKoot) = { + EVT_CALL(func_802CF56C, 1) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00A2) + EVT_GOTO(90) + EVT_END_IF + EVT_IF_EQ(GB_KootFavor_State, KOOT_FAVOR_STATE_2) + EVT_IF_EQ(GF_MAC02_KootFavor_CurrentComplete, FALSE) + EVT_CALL(N(MakeFavorItemList), GB_KootFavor_Current) + EVT_IF_EQ(LVar0, 0) + EVT_SET(LVar0, EVT_PTR(N(FavorItemList))) + EVT_SET(LVar1, 9) + EVT_EXEC_WAIT(N(EVS_ChooseKeyItem_Koot)) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(-1) + EVT_CASE_EQ(0) + EVT_CASE_DEFAULT + EVT_SET(GF_MAC02_KootFavor_CurrentComplete, TRUE) + EVT_END_SWITCH + EVT_ELSE + EVT_SET(LVar0, EVT_PTR(N(FavorItemList))) + EVT_SET(LVar1, 9) + EVT_EXEC_WAIT(N(EVS_ChooseItem_Koot)) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(-1) + EVT_CASE_EQ(0) + EVT_CASE_DEFAULT + EVT_SET(GF_MAC02_KootFavor_CurrentComplete, TRUE) + EVT_END_SWITCH + EVT_END_IF + EVT_END_IF + EVT_IF_EQ(GF_MAC02_KootFavor_CurrentComplete, TRUE) + EVT_CALL(N(SetFavorComplete), GB_KootFavor_Current) + EVT_ADD(GB_KootFavor_Completed, 1) + EVT_CALL(N(IsFourthMultipleFavor), GB_KootFavor_Completed) + EVT_IF_FALSE(LVar0) + EVT_CALL(N(GetFavorMessages), GB_KootFavor_Current) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, LVar1) + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00B1) + #define NAME_SUFFIX _Koot + EVT_GIVE_COIN() + #define NAME_SUFFIX + EVT_ELSE + EVT_CALL(N(GetFavorMessages), GB_KootFavor_Current) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, LVar2) + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00B1) + EVT_CALL(ShowGotItem, ITEM_STAR_PIECE, TRUE, 32) + EVT_CALL(AddStarPieces, 3) + EVT_END_IF + EVT_SWITCH(GB_KootFavor_Completed) + #define NAME_SUFFIX _Koot + EVT_CASE_EQ(1 + KOOT_FAVOR_CH1_2) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00B2) + EVT_GIVE_KEY_REWARD(ITEM_SILVER_CREDIT) + EVT_CASE_EQ(1 + KOOT_FAVOR_CH4_2) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00B3) + EVT_GIVE_KEY_REWARD(ITEM_GOLD_CREDIT) + EVT_CALL(FindKeyItem, ITEM_SILVER_CREDIT, LVar1) + EVT_CALL(RemoveKeyItemAt, LVar1) + #define NAME_SUFFIX + EVT_END_SWITCH + EVT_SET(GB_KootFavor_State, KOOT_FAVOR_STATE_0) + EVT_GOTO(90) + EVT_END_IF + // ask about current favor progress + EVT_IF_EQ(GF_KootFavor_LeftKoopaArea, TRUE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00AD) + EVT_CALL(ShowChoice, MSG_Choice_0012) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(0) // go on + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00AE) + EVT_CASE_EQ(1) // give up + EVT_CALL(N(GiveUpFavor), GB_KootFavor_Current) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00B0) + EVT_SET(GB_KootFavor_State, KOOT_FAVOR_STATE_1) + EVT_GOTO(90) + EVT_ELSE + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00AF) + EVT_END_IF + EVT_GOTO(50) + EVT_CASE_EQ(2) // forgotten + EVT_CALL(N(GetFavorMessages), GB_KootFavor_Current) + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, LVar0) + EVT_END_SWITCH + EVT_ELSE + EVT_IF_EQ(GF_KootFavor_LeftKoopaVillage, FALSE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00AA) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00AB) + EVT_END_IF + EVT_CALL(ShowChoice, MSG_Choice_0010) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(N(GetFavorMessages), GB_KootFavor_Current) + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, LVar0) + EVT_SET(GF_KootFavor_LeftKoopaVillage, FALSE) + EVT_ELSE + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00AC) + EVT_END_IF + EVT_END_IF + EVT_GOTO(90) + EVT_END_IF + EVT_CALL(N(FindNextFavor), GB_KootFavor_Current) + EVT_IF_EQ(LVar0, 0) + EVT_IF_LT(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00A5) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00A6) + EVT_END_IF + EVT_GOTO(90) + EVT_ELSE + EVT_IF_EQ(GB_KootFavor_State, KOOT_FAVOR_STATE_0) + EVT_IF_EQ(GF_NOK02_Met_KoopaKoot, FALSE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00A3) + EVT_SET(GF_NOK02_Met_KoopaKoot, TRUE) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00A4) + EVT_END_IF + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00A7) + EVT_END_IF + EVT_END_IF + EVT_LABEL(50) + EVT_CALL(ShowChoice, MSG_Choice_0010) + EVT_IF_EQ(LVar0, 0) + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00A9) + EVT_CALL(N(GetFavorMessages), GB_KootFavor_Current) + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, LVar0) + EVT_SET(GB_KootFavor_State, KOOT_FAVOR_STATE_2) + EVT_SET(GF_KootFavor_LeftKoopaVillage, FALSE) + EVT_SET(GF_MAC02_KootFavor_CurrentComplete, FALSE) + EVT_SET(GF_KootFavor_LeftKoopaArea, FALSE) + EVT_ELSE + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_KoopaKoot_Talk, ANIM_KoopaKoot_Idle, 0, MSG_CH1_00A8) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaKoot_SwingCane) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaKoot_IdleCane) + EVT_CALL(EndSpeech, NPC_SELF, ANIM_KoopaKoot_TalkCane, ANIM_KoopaKoot_IdleCane, 0) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaKoot_StillCane) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaKoot_Idle) + EVT_SET(GB_KootFavor_State, KOOT_FAVOR_STATE_1) + EVT_SET(GB_KootFavor_Current, KOOT_FAVOR_CH1_1) + EVT_END_IF + EVT_LABEL(90) + EVT_CALL(EnablePartnerAI) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_SetupKootFavors) = { + EVT_IF_LT(GB_StoryProgress, STORY_CH1_KOOPER_JOINED_PARTY) + EVT_GOTO(80) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_GOTO(75) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH2_STAR_SPRIT_DEPARTED) + EVT_GOTO(70) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH3_STAR_SPRIT_DEPARTED) + EVT_GOTO(60) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_GOTO(50) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH5_RETURNED_TO_TOAD_TOWN) + EVT_GOTO(40) + EVT_END_IF + EVT_IF_LT(GB_StoryProgress, STORY_CH6_RETURNED_TO_TOAD_TOWN) + EVT_GOTO(30) + EVT_END_IF + EVT_SET(GF_NOK02_KootFavor14_Unlocked, TRUE) + EVT_LABEL(20) + EVT_SET(GF_NOK02_KootFavor13_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor12_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor11_Unlocked, TRUE) + EVT_LABEL(30) + EVT_SET(GF_NOK02_KootFavor10_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor0F_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor0E_Unlocked, TRUE) + EVT_LABEL(40) + EVT_SET(GF_NOK02_KootFavor0D_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor0C_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor0B_Unlocked, TRUE) + EVT_LABEL(50) + EVT_SET(GF_NOK02_KootFavor0A_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor09_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor08_Unlocked, TRUE) + EVT_LABEL(60) + EVT_SET(GF_NOK02_KootFavor07_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor06_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor05_Unlocked, TRUE) + EVT_LABEL(70) + EVT_SET(GF_NOK02_KootFavor04_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor03_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor02_Unlocked, TRUE) + EVT_LABEL(75) + EVT_SET(GF_NOK02_KootFavor01_Unlocked, TRUE) + EVT_SET(GF_NOK02_KootFavor00_Unlocked, TRUE) + EVT_LABEL(80) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/nok_02_9_foliage.c b/src/world/area_nok/nok_02/nok_02_9_foliage.c new file mode 100644 index 0000000000..7b4af86cf5 --- /dev/null +++ b/src/world/area_nok/nok_02/nok_02_9_foliage.c @@ -0,0 +1,147 @@ +#include "nok_02.h" + +#include "common/foliage.inc.c" + +FoliageModelList N(Bush1_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o443, MODEL_o460); + +FoliageDropList N(Bush1_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_KOOPA_LEAF, + .pos = { -407, 16, 90 }, + .spawnMode = ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE, + .pickupFlag = GF_NOK02_Bush1_KoopaLeaf, + .spawnFlag = MF_Bush1_Drop, + }, + } +}; + +SearchBushConfig N(SearchBush_Bush1) = { + .bush = &N(Bush1_BushModels), + .drops = &N(Bush1_Drops), +}; + +FoliageModelList N(Bush2_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o444, MODEL_o461); + +SearchBushConfig N(SearchBush_Bush2) = { + .bush = &N(Bush2_BushModels), +}; + +FoliageModelList N(Bush3_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o445, MODEL_o462); + +SearchBushConfig N(SearchBush_Bush3) = { + .bush = &N(Bush3_BushModels), +}; + +FoliageModelList N(Bush4_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o446, MODEL_o454, MODEL_o455, MODEL_o456); + +EvtScript N(EVS_Bush4_HideFlowers) = { + EVT_CALL(EnableModel, MODEL_o454, FALSE) + EVT_CALL(EnableModel, MODEL_o455, FALSE) + EVT_CALL(EnableModel, MODEL_o456, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnSearchBush4) = { + EVT_CALL(EnableModel, MODEL_o454, TRUE) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_o456, TRUE) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_o455, TRUE) + EVT_RETURN + EVT_END +}; + +SearchBushConfig N(SearchBush_Bush4) = { + .bush = &N(Bush4_BushModels), + .callback = &N(EVS_OnSearchBush4), +}; + +FoliageModelList N(Bush5_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o447, MODEL_o457, MODEL_o458, MODEL_o459); + +EvtScript N(EVS_Bush5_HideFlowers) = { + EVT_CALL(EnableModel, MODEL_o457, FALSE) + EVT_CALL(EnableModel, MODEL_o458, FALSE) + EVT_CALL(EnableModel, MODEL_o459, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_OnSearchBush5) = { + EVT_CALL(EnableModel, MODEL_o457, TRUE) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_o459, TRUE) + EVT_WAIT(10) + EVT_CALL(EnableModel, MODEL_o458, TRUE) + EVT_RETURN + EVT_END +}; + +SearchBushConfig N(SearchBush_Bush5) = { + .bush = &N(Bush5_BushModels), + .callback = &N(EVS_OnSearchBush5), +}; + +FoliageModelList N(Bush6_BushModels) = FOLIAGE_MODEL_LIST(MODEL_o448, MODEL_o314); + +FoliageDropList N(Bush6_Drops) = { + .count = 1, + .drops = { + { + .itemID = ITEM_COIN, + .pos = { 387, 16, 202 }, + .spawnMode = ITEM_SPAWN_MODE_TOSS_SPAWN_ONCE, + .pickupFlag = GF_NOK01_Bush5_Coin, + }, + } +}; + +SearchBushConfig N(SearchBush_Bush6) = { + .bush = &N(Bush6_BushModels), + .drops = &N(Bush6_Drops), +}; + +FoliageModelList N(Tree1_LeafModels) = FOLIAGE_MODEL_LIST(MODEL_o284); +FoliageModelList N(Tree1_TrunkModels) = FOLIAGE_MODEL_LIST(MODEL_o283); + +EvtScript N(EVS_OnShakeTree1) = { + EVT_WAIT(15) + EVT_SET(AF_NOK_13, TRUE) + EVT_RETURN + EVT_END +}; + +ShakeTreeConfig N(ShakeTree_Tree1) = { + .leaves = &N(Tree1_LeafModels), + .trunk = &N(Tree1_TrunkModels), + .callback = &N(EVS_OnShakeTree1), +}; + +BombTrigger N(BombPos_Tree1) = { + .pos = { 443.0f, 0.0f, 68.0f }, + .radius = 0.0f +}; + +EvtScript N(EVS_SetupFoliage) = { + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush1))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o332, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush2))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o427, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush3))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o458, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush4))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o459, 1, 0) + EVT_EXEC(N(EVS_Bush4_HideFlowers)) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush5))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o460, 1, 0) + EVT_EXEC(N(EVS_Bush5_HideFlowers)) + EVT_SET(LVar0, EVT_PTR(N(SearchBush_Bush6))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_SearchBush)), TRIGGER_WALL_PRESS_A, COLLIDER_o461, 1, 0) + EVT_SET(LVar0, EVT_PTR(N(ShakeTree_Tree1))) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ShakeTree)), TRIGGER_WALL_HAMMER, COLLIDER_o346, 1, 0) + EVT_BIND_TRIGGER(EVT_PTR(N(EVS_ShakeTree)), TRIGGER_POINT_BOMB, EVT_PTR(N(BombPos_Tree1)), 1, 0) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/npcs_crisis.inc.c b/src/world/area_nok/nok_02/npcs_crisis.inc.c new file mode 100644 index 0000000000..81580ba4c2 --- /dev/null +++ b/src/world/area_nok/nok_02/npcs_crisis.inc.c @@ -0,0 +1,522 @@ +API_CALLABLE(N(SpawnExplosionEffect)) { + Bytecode* args = script->ptrReadPos; + f32 posY; + f32 posX; + f32 posZ; + + posX = evt_get_variable(script, *args++); + posY = evt_get_variable(script, *args++); + posZ = evt_get_variable(script, *args++); + + fx_explosion(0, posX, posY + 15.0f, posZ); + exec_ShakeCam1(0, 0, 20); + return ApiStatus_DONE2; +} + +API_CALLABLE(N(IsPlayerOrKoopaNearby)) { + PlayerStatus* playerStatus = &gPlayerStatus; + Bytecode* args = script->ptrReadPos; + Npc* fuzzyNpc = (Npc*) evt_get_variable(script, *args++); + Npc* koopaNpc = (Npc*) evt_get_variable(script, *args++); + s32 outVal = FALSE; + f32 xDiff, zDiff; + + if (playerStatus->currentSpeed >= 4.0f) { + script->varTable[2]++; + if (script->varTable[2] > 2) { + script->varTable[2] = 2; + } + } else { + script->varTable[2] = 0; + } + + do { + xDiff = fuzzyNpc->pos.x - playerStatus->position.x; + zDiff = fuzzyNpc->pos.z - playerStatus->position.z; + if ((SQ(xDiff) + SQ(zDiff) < SQ(80.0f)) && (script->varTable[2] >= 2)) { + do { + outVal = TRUE; + } while (0); // TODO required to match + } + + xDiff = fuzzyNpc->pos.x - koopaNpc->pos.x; + zDiff = fuzzyNpc->pos.z - koopaNpc->pos.z; + if (SQ(xDiff) + SQ(zDiff) < SQ(40.0f)) { + outVal = TRUE; + } + } while (0); // TODO required to match + + script->varTable[0] = outVal; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(IsPlayerWalking)) { + PlayerStatus* playerStatus = &gPlayerStatus; + + if (playerStatus->currentSpeed >= 4.0f) { + script->varTable[2]++; + if (script->varTable[2] > 2) { + script->varTable[2] = 2; + } + } else { + script->varTable[2] = 0; + } + + script->varTable[0] = TRUE; + if (script->varTable[2] >= 2) { + script->varTable[0] = FALSE; + } + if (playerStatus->currentSpeed == 0.0f) { + script->varTable[0] = FALSE; + } + + return ApiStatus_DONE2; +} + +API_CALLABLE(N(ChooseSafeJumpLocation)) { + PlayerStatus* playerStatus = &gPlayerStatus; + Bytecode* args = script->ptrReadPos; + s32 randRange = 10000; + Npc* fuzzyNpc = (Npc*) evt_get_variable(script, *args++); + Npc* koopaNpc = (Npc*) evt_get_variable(script, *args++); + f32 xDiff, zDiff; + f32 x, z; + f32 dist; + s32 rand; + + while (TRUE) { + rand = rand_int(randRange); + x = ((rand - (randRange / 2)) / 100) + fuzzyNpc->pos.x; + rand = rand_int(randRange); + z = ((rand - (randRange / 2)) / 100) + fuzzyNpc->pos.z; + + xDiff = x - -150.0f; + zDiff = z - 250.0f; + if (SQ(xDiff) + SQ(zDiff) < SQ(150.0f)) { + xDiff = x - playerStatus->position.x; + zDiff = z - playerStatus->position.z; + if (SQ(xDiff) + SQ(zDiff) > SQ(80.0f)) { + xDiff = x - koopaNpc->pos.x; + zDiff = z - koopaNpc->pos.z; + if (SQ(xDiff) + SQ(zDiff) > SQ(40.0f)) { + break; + } + } + } + + randRange += 5000; + if (randRange > 30000) { + randRange = 30000; + } + } + xDiff = x - fuzzyNpc->pos.x; + zDiff = z - fuzzyNpc->pos.z; + dist = SQ(xDiff) + SQ(zDiff); + if (dist != 0.0f) { + dist = sqrtf(dist) / 10.0f; + } + script->varTable[10] = x; + script->varTable[11] = z; + script->varTable[12] = (s32) dist + 1; + return ApiStatus_DONE2; +} + +API_CALLABLE(N(ChooseLocationNotNearPlayer)) { + PlayerStatus* playerStatus = &gPlayerStatus; + Bytecode* args = script->ptrReadPos; + s32 randRange = 10000; + Npc* koopaNpc = (Npc*) evt_get_variable(script, *args++); + f32 xDiff, zDiff; + f32 x, z; + f32 dist; + s32 rand; + + while (TRUE) { + rand = rand_int(randRange); + x = ((rand - (randRange / 2)) / 100) + koopaNpc->pos.x; + rand = rand_int(randRange); + z = ((rand - (randRange / 2)) / 100) + koopaNpc->pos.z; + + xDiff = x - -150.0f; + zDiff = z - 250.0f; + if (SQ(xDiff) + SQ(zDiff) < SQ(150.0f)) { + xDiff = x - playerStatus->position.x; + zDiff = z - playerStatus->position.z; + if (SQ(xDiff) + SQ(zDiff) > SQ(80.0f)) { + break; + } + } + + randRange += 5000; + if (randRange > 30000) { + randRange = 30000; + } + } + xDiff = x - koopaNpc->pos.x; + zDiff = z - koopaNpc->pos.z; + dist = SQ(xDiff) + SQ(zDiff); + if (dist != 0.0f) { + dist = sqrtf(dist) / 10.0f; + } + script->varTable[10] = x; + script->varTable[11] = z; + script->varTable[12] = (s32) dist + 1; + return ApiStatus_DONE2; +} + +EvtScript N(EVS_NpcInteract_Koopa_02_Crisis) = { + EVT_IF_EQ(GF_NOK02_RecoveredShellB, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Koopa_02, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_005F) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(GF_NOK02_StolenShellComplaintB, FALSE) + EVT_SET(GF_NOK02_StolenShellComplaintB, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Koopa_02, ANIM_KoopaWithoutShell_CryTalk, ANIM_KoopaWithoutShell_CryIdle, 0, MSG_CH1_005C) + EVT_RETURN + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_Koopa_02, ANIM_KoopaWithoutShell_CryTalk, ANIM_KoopaWithoutShell_CryIdle, 0, MSG_CH1_005D) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_Koopa_02_Crisis) = { + EVT_IF_EQ(GF_NOK02_RecoveredShellB, TRUE) + EVT_RETURN + EVT_END_IF + EVT_EXEC_WAIT(N(EVS_NpcAI_Koopa_Wander)) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_01_Crisis) = { + EVT_IF_EQ(GF_NOK02_RecoveredShellA, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Koopa_01, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0057) + EVT_RETURN + EVT_END_IF + EVT_SUSPEND_THREAD(MV_KoopaChaseThiefScript) + EVT_WAIT(1) + EVT_IF_EQ(GF_NOK02_StolenShellComplaintA, FALSE) + EVT_SET(GF_NOK02_StolenShellComplaintA, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Koopa_01, ANIM_KoopaWithoutShell_CryTalk, ANIM_KoopaWithoutShell_CryIdle, 0, MSG_CH1_0054) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_Koopa_01, ANIM_KoopaWithoutShell_CryTalk, ANIM_KoopaWithoutShell_CryIdle, 0, MSG_CH1_0055) + EVT_END_IF + EVT_RESUME_THREAD(MV_KoopaChaseThiefScript) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_TetherShellToFuzzy) = { + EVT_LABEL(0) + EVT_CALL(GetNpcPos, NPC_FuzzyThief, LVar0, LVar1, LVar2) + EVT_ADD(LVar2, 1) + EVT_CALL(SetNpcPos, NPC_KoopaShell_01, LVar0, LVar1, LVar2) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_FuzzyThief_AvoidCapture) = { + EVT_CALL(GetNpcPointer, NPC_FuzzyThief, LVarF) + EVT_CALL(GetNpcPointer, NPC_Koopa_01, LVarE) + EVT_SET(LVar2, 0) + EVT_LABEL(0) + EVT_CALL(N(IsPlayerOrKoopaNearby), LVarF, LVarE) + EVT_SET(MV_IsPlayerNearbyThief, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_LABEL(1) + EVT_CALL(N(ChooseSafeJumpLocation), LVarF, LVarE) + EVT_CALL(SetNpcFlagBits, NPC_FuzzyThief, NPC_FLAG_100, TRUE) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyThief, LVarA, 0, LVarB, LVarC) + EVT_CALL(SetNpcFlagBits, NPC_FuzzyThief, NPC_FLAG_100, FALSE) + EVT_CALL(N(IsPlayerOrKoopaNearby), LVarF, LVarE) + EVT_SET(MV_IsPlayerNearbyThief, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_GOTO(1) + EVT_END_IF + EVT_END_IF + EVT_WAIT(1) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Koopa_01_ChaseThief) = { + EVT_SET_GROUP(EVT_GROUP_0B) + EVT_LABEL(0) + EVT_CALL(GetNpcPos, NPC_KoopaShell_01, LVar0, LVar1, LVar2) + EVT_CALL(GetNpcAnimation, NPC_Koopa_01, LVarF) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_KoopaWithoutShell_CryRun) + EVT_CALL(NpcMoveTo, NPC_Koopa_01, LVar0, LVar2, 30) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_KoopaWithoutShell_CryIdle) + EVT_CALL(RandInt, 20, LVar0) + EVT_IF_NE(LVar0, 0) + EVT_WAIT(LVar0) + EVT_END_IF + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Koopa_01_FaceShell) = { + EVT_LABEL(0) + EVT_CALL(NpcFaceNpc, NPC_Koopa_01, NPC_KoopaShell_01, 0) + EVT_WAIT(5) + EVT_GOTO(0) + EVT_RETURN + EVT_END +}; + +EvtScript N(D_8024BDB0_9E2DD0) = { + EVT_SET_GROUP(EVT_GROUP_0B) + EVT_SET(LVar3, 0) + EVT_SET(LVar4, 0) + EVT_LOOP(0) + EVT_CALL(N(IsPlayerWalking)) + EVT_CALL(IsPlayerWithin, -150, 250, 150, LVar1) + EVT_IF_EQ(LVar1, TRUE) + EVT_IF_EQ(LVar0, 1) + EVT_SET(LVar3, 1) + EVT_ELSE + EVT_SET(LVar3, 0) + EVT_WAIT(20) + EVT_END_IF + EVT_ELSE + EVT_SET(LVar3, 0) + EVT_END_IF + EVT_IF_NE(LVar3, LVar4) + EVT_IF_EQ(LVar3, 0) + EVT_EXEC_GET_TID(N(EVS_Koopa_01_ChaseThief), MV_KoopaChaseThiefScript) + EVT_ELSE + EVT_IF_NE(MV_KoopaChaseThiefScript, -1) + EVT_KILL_THREAD(MV_KoopaChaseThiefScript) + EVT_SET(MV_KoopaChaseThiefScript, -1) + EVT_END_IF + EVT_END_IF + EVT_SET(LVar4, LVar3) + EVT_END_IF + EVT_WAIT(1) + EVT_END_LOOP + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcIdle_Koopa_01_Crisis) = { + EVT_IF_EQ(GF_NOK02_RecoveredShellA, TRUE) + EVT_CALL(SetNpcPos, NPC_FuzzyThief, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_KoopaShell_01, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcSpeed, NPC_Koopa_01, EVT_FLOAT(3.0)) + EVT_LABEL(5) + EVT_CALL(GetNpcPointer, NPC_Koopa_01, LVarF) + EVT_CALL(N(ChooseLocationNotNearPlayer), LVarF) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_Koopa_Run) + EVT_CALL(NpcMoveTo, NPC_Koopa_01, LVarA, LVarB, 0) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_Koopa_Talk) + EVT_WAIT(10) + EVT_GOTO(5) + EVT_END_IF + EVT_EXEC_GET_TID(N(EVS_TetherShellToFuzzy), LVar9) + EVT_EXEC_GET_TID(N(EVS_FuzzyThief_AvoidCapture), LVar8) + EVT_EXEC_GET_TID(N(EVS_Koopa_01_ChaseThief), MV_KoopaChaseThiefScript) + EVT_EXEC_GET_TID(N(D_8024BDB0_9E2DD0), MV_Unk_01) + EVT_LABEL(10) + EVT_IF_EQ(GF_NOK02_RecoveredShellA, FALSE) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_ELSE + EVT_KILL_THREAD(LVar9) + EVT_KILL_THREAD(LVar8) + EVT_IS_THREAD_RUNNING(MV_KoopaChaseThiefScript, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_KoopaChaseThiefScript) + EVT_END_IF + EVT_IS_THREAD_RUNNING(MV_Unk_01, LVar0) + EVT_IF_EQ(LVar0, 1) + EVT_KILL_THREAD(MV_Unk_01) + EVT_END_IF + EVT_CALL(DisablePlayerInput, TRUE) + EVT_THREAD + EVT_CALL(SetNpcFlagBits, NPC_FuzzyThief, NPC_FLAG_100, TRUE) + EVT_CALL(GetNpcPos, NPC_KoopaShell_01, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcAnimation, NPC_FuzzyThief, ANIM_Fuzzy_Hurt) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyThief, LVar0, 0, LVar2, 25) + EVT_ADD(LVar0, 40) + EVT_ADD(LVar2, -40) + EVT_CALL(SetNpcAnimation, NPC_FuzzyThief, ANIM_Fuzzy_Hurt) + EVT_WAIT(10) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyThief, LVar0, 0, LVar2, 15) + EVT_ADD(LVar0, 30) + EVT_CALL(SetNpcAnimation, NPC_FuzzyThief, ANIM_Fuzzy_Anim09) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyThief, LVar0, 0, LVar2, 13) + EVT_ADD(LVar0, 20) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyThief, LVar0, 0, LVar2, 11) + EVT_ADD(LVar0, 10) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyThief, LVar0, 0, LVar2, 9) + EVT_ADD(LVar0, 160) + EVT_CALL(SetNpcAnimation, NPC_FuzzyThief, ANIM_Fuzzy_Run) + EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_331, 0) + EVT_CALL(NpcJump0, NPC_FuzzyThief, LVar0, 0, LVar2, 15) + EVT_CALL(SetNpcFlagBits, NPC_FuzzyThief, NPC_FLAG_GRAVITY, FALSE) + EVT_CALL(SetNpcPos, NPC_FuzzyThief, NPC_DISPOSE_LOCATION) + EVT_END_THREAD + EVT_CALL(GetNpcPos, NPC_KoopaShell_01, LVar0, LVar1, LVar2) + EVT_CALL(NpcJump0, NPC_KoopaShell_01, LVar0, 0, LVar2, 15) + EVT_LOOP(70) + EVT_CALL(PlayerFaceNpc, NPC_FuzzyThief, FALSE) + EVT_CALL(NpcFaceNpc, NPC_Koopa_01, NPC_FuzzyThief, 0) + EVT_WAIT(1) + EVT_END_LOOP + EVT_CALL(PlayerFaceNpc, NPC_KoopaShell_01, FALSE) + EVT_CALL(NpcFaceNpc, NPC_Koopa_01, NPC_KoopaShell_01, 0) + EVT_THREAD + EVT_CALL(AdjustCam, CAM_DEFAULT, 4, 0, EVT_FLOAT(300.0), EVT_FLOAT(17.0), EVT_FLOAT(-7.0)) + EVT_END_THREAD + EVT_CALL(GetNpcPos, NPC_Koopa_01, LVar0, LVar1, LVar2) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_KoopaWithoutShell_Happy) + EVT_CALL(NpcJump0, NPC_Koopa_01, LVar0, 0, LVar2, 15) + EVT_CALL(GetNpcPos, NPC_KoopaShell_01, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_KoopaWithoutShell_Run) + EVT_CALL(NpcMoveTo, NPC_Koopa_01, LVar0, LVar2, 15) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_KoopaWithoutShell_Idle) + EVT_CALL(GetNpcPos, NPC_Koopa_01, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 10) + EVT_CALL(NpcJump0, NPC_KoopaShell_01, LVar0, LVar1, LVar2, 10) + EVT_CALL(PlayerFaceNpc, NPC_Koopa_01, FALSE) + EVT_CALL(NpcFacePlayer, NPC_Koopa_01, 0) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_KoopaWithoutShell_Still) + EVT_CALL(EnableNpcBlur, NPC_KoopaShell_01, TRUE) + EVT_CALL(GetNpcPos, NPC_Koopa_01, LVar0, LVar1, LVar2) + EVT_ADD(LVar0, 1) + EVT_ADD(LVar2, 1) + EVT_ADD(LVar1, 20) + EVT_SET(LVar3, NPC_KoopaShell_01) + EVT_SET(LVar4, NPC_Koopa_01) + EVT_EXEC(N(EVS_GetBackIntoShell)) + EVT_CALL(InterpNpcYaw, LVar3, 60, 0) + EVT_CALL(NpcJump0, NPC_KoopaShell_01, LVar0, LVar1, LVar2, 30) + EVT_CALL(SetNpcPos, NPC_KoopaShell_01, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcSprite, NPC_Koopa_01, ANIM_Koopa_Idle) + EVT_CALL(SetNpcFlagBits, NPC_Koopa_01, NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_Koopa_Still) + EVT_WAIT(4) + EVT_CALL(EnableNpcBlur, NPC_KoopaShell_01, TRUE) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_Koopa_Happy) + EVT_WAIT(30) + EVT_CALL(SetNpcAnimation, NPC_Koopa_01, ANIM_Koopa_Idle) + EVT_CALL(SpeakToPlayer, NPC_Koopa_01, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0056) + EVT_THREAD + EVT_CALL(ResetCam, CAM_DEFAULT, 4) + EVT_END_THREAD + EVT_WAIT(30) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Koopa_01_Crisis))) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcHit_Fuzzy_Thief) = { + EVT_CALL(GetOwnerEncounterTrigger, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_HAMMER) + EVT_SET(GF_NOK02_RecoveredShellA, TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 1) + EVT_CASE_EQ(ENCOUNTER_TRIGGER_JUMP) + EVT_SET(GF_NOK02_RecoveredShellA, TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 1) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_01_Crisis) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Koopa_01_Crisis))) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_01_Crisis))) + EVT_IF_EQ(GF_NOK02_RecoveredShellA, TRUE) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcSprite, NPC_SELF, ANIM_KoopaWithoutShell_CryIdle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Fuzzy_Thief) = { + EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_Fuzzy_Thief))) + EVT_IF_EQ(GF_NOK02_RecoveredShellA, TRUE) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopaShell_01_Crisis) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Koopa_Shell) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_02_Crisis) = { + EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_Koopa_02_Crisis))) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_02_Crisis))) + EVT_IF_EQ(GF_NOK02_RecoveredShellB, FALSE) + EVT_CALL(SetNpcPos, NPC_KoopaShell_02, 150, 106, 250) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetNpcSprite, NPC_Koopa_02, ANIM_Koopa_Idle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopaShell_02_Crisis) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Koopa_Shell) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Kooper) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_PROMISED_TO_HELP_KOOPER) + EVT_CALL(SetNpcPos, NPC_Kooper, NPC_DISPOSE_LOCATION) + EVT_CASE_GE(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Kooper))) + EVT_CALL(SetNpcPos, NPC_Kooper, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_CASE_DEFAULT + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Kooper))) + EVT_END_SWITCH + EVT_CALL(SetNpcSprite, NPC_Kooper, ANIM_KooperWithoutShell_Idle) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_FuzzyBoss) = { + EVT_IF_GE(GB_StoryProgress, STORY_CH1_FUZZY_THIEF_LEFT_TOWN) + EVT_CALL(SetNpcPos, NPC_FuzzyBoss, NPC_DISPOSE_LOCATION) + EVT_CALL(SetNpcPos, NPC_KoopersShell, NPC_DISPOSE_LOCATION) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_KoopersShell) = { + EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldKooper_StillShellAlt) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_02/npcs_normal.inc.c b/src/world/area_nok/nok_02/npcs_normal.inc.c new file mode 100644 index 0000000000..a46d34876d --- /dev/null +++ b/src/world/area_nok/nok_02/npcs_normal.inc.c @@ -0,0 +1,420 @@ +API_CALLABLE(N(DoCircleSprint)) { + Bytecode* args = script->ptrReadPos; + Npc* npc; + f32 yaw; + + if (isInitialCall) { + script->functionTempPtr[1] = npc = (Npc*) evt_get_variable(script, *args++); + npc->moveToPos.x = (evt_get_variable(script, *args++) + npc->pos.x) * 0.5f; + npc->moveToPos.z = (evt_get_variable(script, *args++) + npc->pos.z) * 0.5f; + npc->moveToPos.y = dist2D(npc->moveToPos.x, npc->moveToPos.z, npc->pos.x, npc->pos.z); + script->functionTemp[2] = atan2(npc->moveToPos.x, npc->moveToPos.z, npc->pos.x, npc->pos.z); + npc->duration = 0; + } + + npc = script->functionTempPtr[1]; + npc->pos.x = npc->moveToPos.x; + npc->pos.z = npc->moveToPos.z; + + npc->duration += 9; + if (npc->duration >= 360) { + npc->duration = 360; + } + yaw = script->functionTemp[2] + npc->duration; + npc->yaw = clamp_angle(yaw + 90.0f); + npc_move_heading(npc, npc->moveToPos.y, yaw); + + if (npc->duration == 360) { + return ApiStatus_DONE2; + } + return ApiStatus_BLOCK; +} + +EvtScript N(EVS_NpcInteract_Koopa_01_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0057) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0058) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0059) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_005A) + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_005B) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_01_Normal) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_01_Normal))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_02_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_005F) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0060) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0061) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0062) + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0063) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_02_Normal) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_02_Normal))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Koopa_03_CircleSprint) = { + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Koopa_Run) + EVT_CALL(EnableNpcBlur, NPC_Koopa_03, TRUE) + EVT_CALL(GetNpcPointer, NPC_Koopa_03, LVarF) + EVT_CALL(N(DoCircleSprint), LVarF, -150, 15) + EVT_CALL(EnableNpcBlur, NPC_Koopa_03, FALSE) + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Koopa_Idle) + EVT_WAIT(5) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_03_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0064) + EVT_EXEC_WAIT(N(EVS_Koopa_03_CircleSprint)) + EVT_CALL(ContinueSpeech, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0065) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0066) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0067) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0068) + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_0069) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_03) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_03_Normal))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Koopa_04_Normal) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_KOOPER_JOINED_PARTY) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_006A) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_006B) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_006C) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_006D) + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Koopa_Talk, ANIM_Koopa_Idle, 0, MSG_CH1_006E) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Koopa_04) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Koopa_04_Normal))) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Dueling_Bobombs) = { + EVT_LABEL(10) + EVT_IF_EQ(AF_NOK_10, FALSE) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_IF + EVT_IF_EQ(AF_NOK_11, TRUE) + EVT_WAIT(1) + EVT_GOTO(10) + EVT_END_IF + EVT_CALL(SetNpcAnimation, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Bobomb_02, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_Bobomb_02, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_WAIT(30) + EVT_LABEL(20) + EVT_IF_EQ(AF_NOK_10, FALSE) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_END_IF + EVT_IF_EQ(AF_NOK_11, TRUE) + EVT_WAIT(1) + EVT_GOTO(20) + EVT_END_IF + EVT_CALL(SetNpcAnimation, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Run) + EVT_WAIT(10) + EVT_CALL(SetNpcAnimation, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Idle) + EVT_WAIT(3) + EVT_CALL(GetNpcPos, NPC_Bobomb_01, LVar0, LVar1, LVar2) + EVT_CALL(PlaySoundAtNpc, NPC_Bobomb_01, SOUND_CANNON1, 0) + EVT_CALL(N(SpawnExplosionEffect), LVar0, LVar1, LVar2) + EVT_WAIT(30) + EVT_GOTO(10) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_Scene_ConfrontBobombs) = { + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH5_2) + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_IF_EQ(LVar0, PARTNER_BOMBETTE) + EVT_SET(AF_NOK_11, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, MSG_CH1_007B) + EVT_CALL(SpeakToNpc, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, NPC_Bobomb_01, MSG_CH1_007C) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, MSG_CH1_007D) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldBombette_Talk, ANIM_WorldBombette_Idle, 0, NPC_Bobomb_01, MSG_CH1_007E) + EVT_CALL(EnablePartnerAI) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 5, MSG_CH1_007F) + EVT_CALL(SpeakToNpc, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, NPC_Bobomb_01, MSG_CH1_0080) + EVT_CALL(SetNpcAnimation, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Idle) + EVT_CALL(SetNpcAnimation, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Idle) + EVT_SET(GF_NOK02_ConfrontedBobombs, TRUE) + EVT_SET(GF_MAC02_KootFavor_CurrentComplete, TRUE) + EVT_ELSE + EVT_SET(AF_NOK_11, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, MSG_CH1_007B) + EVT_CALL(SpeakToNpc, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, NPC_Bobomb_01, MSG_CH1_007C) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 5, MSG_CH1_0081) + EVT_CALL(SpeakToNpc, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, NPC_Bobomb_01, MSG_CH1_0082) + EVT_SET(AF_NOK_11, FALSE) + EVT_END_IF + EVT_ELSE + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_IF_EQ(LVar0, PARTNER_BOMBETTE) + EVT_SET(AF_NOK_11, TRUE) + EVT_CALL(SpeakToNpc, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, NPC_PARTNER, MSG_CH1_0077) + EVT_CALL(SpeakToNpc, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, NPC_PARTNER, MSG_CH1_0078) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToNpc, NPC_PARTNER, ANIM_WorldBombette_Talk, ANIM_WorldBombette_Idle, 0, NPC_Bobomb_01, MSG_CH1_0079) + EVT_CALL(EnablePartnerAI) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 5, MSG_CH1_007A) + EVT_SET(AF_NOK_11, FALSE) + EVT_ELSE + EVT_SET(AF_NOK_11, TRUE) + EVT_CALL(SpeakToPlayer, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, MSG_CH1_0073) + EVT_CALL(SpeakToNpc, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, NPC_Bobomb_02, MSG_CH1_0074) + EVT_CALL(SpeakToNpc, NPC_Bobomb_02, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, NPC_Bobomb_01, MSG_CH1_0075) + EVT_CALL(SpeakToNpc, NPC_Bobomb_01, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, NPC_Bobomb_02, MSG_CH1_0076) + EVT_SET(AF_NOK_11, FALSE) + EVT_END_IF + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bobomb_01) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(AF_NOK_0F, FALSE) + EVT_CALL(GetCurrentPartnerID, LVar0) + EVT_IF_EQ(LVar0, PARTNER_BOMBETTE) + EVT_SET(AF_NOK_0F, TRUE) + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_CALL(NpcFaceNpc, NPC_PARTNER, NPC_SELF, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, MSG_CH1_006F) + EVT_CALL(DisablePartnerAI, 0) + EVT_CALL(SpeakToPlayer, NPC_PARTNER, ANIM_WorldBombette_Talk, ANIM_WorldBombette_Idle, 0, MSG_CH1_0070) + EVT_CALL(EnablePartnerAI) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, MSG_CH1_0071) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, MSG_CH1_0072) + EVT_END_IF + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, MSG_CH1_0072) + EVT_END_IF + EVT_CASE_GE(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(GF_NOK02_ConfrontedBobombs, FALSE) + EVT_EXEC_WAIT(N(EVS_Scene_ConfrontBobombs)) + EVT_ELSE + EVT_SET(AF_NOK_11, TRUE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Blue_Talk, ANIM_WorldBobomb_Blue_Idle, 0, MSG_CH1_007F) + EVT_END_IF + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bobomb_02) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, MSG_CH1_0083) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(GF_NOK02_ConfrontedBobombs, FALSE) + EVT_EXEC_WAIT(N(EVS_Scene_ConfrontBobombs)) + EVT_ELSE + EVT_SET(AF_NOK_11, TRUE) + EVT_CALL(SpeakToNpc, NPC_SELF, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, NPC_Bobomb_01, MSG_CH1_0080) + EVT_END_IF + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, MSG_CH1_0084) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Bobomb_03) = { + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, MSG_CH1_0085) + EVT_CASE_LT(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(GF_NOK02_ConfrontedBobombs, FALSE) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, MSG_CH1_0086) + EVT_ELSE + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, MSG_CH1_0087) + EVT_END_IF + EVT_CASE_GE(STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_WorldBobomb_Green_Talk, ANIM_WorldBobomb_Green_Idle, 0, MSG_CH1_0087) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bobomb_01) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bobomb_01))) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bobomb_02) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bobomb_02))) + EVT_SWITCH(GB_StoryProgress) + EVT_CASE_LT(STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_CASE_GE(STORY_CH4_STAR_SPRIT_DEPARTED) + EVT_IF_EQ(GF_NOK02_ConfrontedBobombs, TRUE) + EVT_RETURN + EVT_END_IF + EVT_EXEC(N(EVS_Dueling_Bobombs)) + EVT_SET(AF_NOK_11, FALSE) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Bobomb_03) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Bobomb_03))) + EVT_IF_LT(GB_StoryProgress, STORY_CH1_STAR_SPRIT_DEPARTED) + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +s32 N(ItemList_Artifact)[] = { + ITEM_ARTIFACT, + ITEM_NONE +}; + +EvtScript N(EVS_ArtifactReward_Kolorado) = { + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH1_009F) + EVT_GIVE_STAR_PIECE() + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH1_00A0) + EVT_SET(GF_SBK_GaveArtifactToKolorado, TRUE) + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_ArtifactPrompt_Kolorado) = { + EVT_IF_EQ(GF_SBK_GaveArtifactToKolorado, TRUE) + EVT_RETURN + EVT_END_IF + EVT_CALL(FindKeyItem, ITEM_ARTIFACT, LVar0) + EVT_IF_EQ(LVar0, -1) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(AF_NOK_15, FALSE) + EVT_SET(AF_NOK_15, TRUE) + EVT_IF_EQ(GF_SBK_KeptArtifactFromKolorado, FALSE) + EVT_SET(GF_SBK_KeptArtifactFromKolorado, FALSE) + EVT_SET(LVar0, MSG_CH1_009B) + EVT_ELSE + EVT_SET(LVar0, MSG_CH1_009C) + EVT_END_IF + EVT_ELSE + EVT_SET(LVar0, MSG_CH1_009C) + EVT_END_IF + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, LVar0) + EVT_SET(LVar0, EVT_PTR(N(ItemList_Artifact))) + EVT_SET(LVar1, 7) + EVT_EXEC_WAIT(N(EVS_ChooseKeyItem)) + EVT_SWITCH(LVar0) + EVT_CASE_GE(1) + EVT_EXEC_WAIT(N(EVS_ArtifactReward_Kolorado)) + EVT_BREAK_SWITCH + EVT_CASE_DEFAULT + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH1_009D) + EVT_SET(LVar0, EVT_PTR(N(ItemList_Artifact))) + EVT_SET(LVar1, 7) + EVT_EXEC_WAIT(N(EVS_ChooseKeyItem)) + EVT_SWITCH(LVar0) + EVT_CASE_GE(1) + EVT_EXEC_WAIT(N(EVS_ArtifactReward_Kolorado)) + EVT_CASE_DEFAULT + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH1_009E) + EVT_END_SWITCH + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInteract_Kolorado) = { + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH1_0093) + EVT_CALL(NpcFaceNpc, NPC_KoloradoWife, NPC_SELF, 0) + EVT_CALL(SpeakToPlayer, NPC_KoloradoWife, ANIM_KoloradoWife_Talk, ANIM_KoloradoWife_Idle, 5, MSG_CH1_0094) + EVT_CALL(NpcFaceNpc, NPC_SELF, NPC_KoloradoWife, 0) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 5, MSG_CH1_0095) + EVT_WAIT(15) + EVT_CALL(NpcFacePlayer, NPC_SELF, 0) + EVT_WAIT(15) + EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Kolorado_Talk, ANIM_Kolorado_Idle, 0, MSG_CH1_0096) + EVT_EXEC_WAIT(N(EVS_ArtifactPrompt_Kolorado)) + EVT_EXEC_WAIT(N(EVS_LetterPrompt_Kolorado)) + EVT_EXEC_WAIT(N(EVS_LetterReward_Kolorado)) + EVT_IF_NE(LVarC, DELIVERY_NOT_POSSIBLE) + EVT_RETURN + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript N(EVS_NpcInit_Kolorado) = { + EVT_CALL(BindNpcInteract, NPC_SELF, EVT_PTR(N(EVS_NpcInteract_Kolorado))) + EVT_IF_GE(GB_StoryProgress, STORY_CH7_STAR_SPRIT_DEPARTED) + EVT_RETURN + EVT_END_IF + EVT_IF_EQ(GF_NOK11_Defeated_KentC, TRUE) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) + EVT_RETURN + EVT_END +}; diff --git a/src/world/area_nok/nok_11/nok_11_2_main.c b/src/world/area_nok/nok_11/nok_11_2_main.c index f96f02d925..9c89435fb7 100644 --- a/src/world/area_nok/nok_11/nok_11_2_main.c +++ b/src/world/area_nok/nok_11/nok_11_2_main.c @@ -1,7 +1,7 @@ #include "nok_11.h" EvtScript N(EVS_ExitWalk_mac_01_1) = { - EVT_IF_EQ(GB_KootFavor_State, 2) + EVT_IF_EQ(GB_KootFavor_State, KOOT_FAVOR_STATE_2) EVT_SET(GF_KootFavor_LeftKoopaArea, TRUE) EVT_END_IF EVT_CALL(UseExitHeading, 60, nok_11_ENTRY_0) diff --git a/src/world/area_nok/nok_11/nok_11_4_npc.c b/src/world/area_nok/nok_11/nok_11_4_npc.c index d8034260ac..db46ac3f67 100644 --- a/src/world/area_nok/nok_11/nok_11_4_npc.c +++ b/src/world/area_nok/nok_11/nok_11_4_npc.c @@ -538,7 +538,7 @@ StaticNpc N(NpcData_JrTroopa)[] = { .settings = &N(NpcSettings_JrTroopa), .pos = { -170.0f, 0.0f, -155.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_JrTroopa_01), .drops = JR_TROOPA_DROPS, .animations = JR_TROOPA_ANIMS, @@ -549,7 +549,7 @@ StaticNpc N(NpcData_JrTroopa)[] = { .settings = &N(NpcSettings_JrTroopa), .pos = { -170.0f, 0.0f, -155.0f }, .yaw = 90, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_JrTroopa_02), .drops = JR_TROOPA_DROPS, .animations = JR_TROOPA_ANIMS, @@ -586,7 +586,7 @@ StaticNpc N(NpcData_KentCKoopa)[] = { .settings = &N(NpcSettings_KentCKoopa), .pos = { -164.0f, 0.0f, -37.0f }, .yaw = 270, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_KentCKoopa_01), .drops = KENT_C_KOOPA_DROPS, .animations = KENT_C_KOOPA_ANIMS, @@ -596,7 +596,7 @@ StaticNpc N(NpcData_KentCKoopa)[] = { .settings = &N(NpcSettings_KentCKoopa), .pos = { -164.0f, 0.0f, -37.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_KentCKoopa_02), .drops = KENT_C_KOOPA_DROPS, .animations = KENT_C_KOOPA_ANIMS, diff --git a/src/world/area_nok/nok_14/nok_14_5_npc.c b/src/world/area_nok/nok_14/nok_14_5_npc.c index 42a0d04dea..c982a84308 100644 --- a/src/world/area_nok/nok_14/nok_14_5_npc.c +++ b/src/world/area_nok/nok_14/nok_14_5_npc.c @@ -18,7 +18,7 @@ EvtScript N(EVS_NpcIdle_KoopaTroopa_01) = { EVT_END_LOOP EVT_END_THREAD EVT_WAIT(5) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40 | NPC_FLAG_40000 | NPC_FLAG_200000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_40000 | NPC_FLAG_200000, TRUE) EVT_THREAD EVT_CALL(MakeLerp, 0, 360, 20, EASING_LINEAR) EVT_LABEL(1) @@ -31,7 +31,7 @@ EvtScript N(EVS_NpcIdle_KoopaTroopa_01) = { EVT_END_THREAD EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.6)) EVT_CALL(NpcJump0, NPC_SELF, -650, 75, -30, 20) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40 | NPC_FLAG_40000 | NPC_FLAG_200000, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_40000 | NPC_FLAG_200000, FALSE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, TRUE) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_KoopaTroopa_Wander))) EVT_RETURN @@ -124,7 +124,7 @@ StaticNpc N(NpcData_KoopaTroopa_02) = { .settings = &N(NpcSettings_KoopaTroopa_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, .init = &N(EVS_NpcInit_KoopaTroopa_02), .drops = KOOPA_TROOPA_NOK_DROPS, .animations = KOOPA_TROOPA_ANIMS, diff --git a/src/world/area_obk/obk_01/obk_01_6_npc.c b/src/world/area_obk/obk_01/obk_01_6_npc.c index d7f64504b7..05c483f9e0 100644 --- a/src/world/area_obk/obk_01/obk_01_6_npc.c +++ b/src/world/area_obk/obk_01/obk_01_6_npc.c @@ -3,26 +3,19 @@ #include "world/common/npc/Boo_Wander.inc.c" #include "world/common/npc/Boo.inc.c" -EvtScript N(EVS_PlayerReaction_GetOldPhoto) = { - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) - EVT_WAIT(20) - EVT_RETURN - EVT_END -}; +#include "world/common/atomic/MarioSalute.inc.c" #include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList_Franky)[] = { - ITEM_LETTER_TO_FRANKY, + ITEM_LETTER_CHAIN_FRANKY, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_Franky) = { EVT_CALL(N(LetterDelivery_Init), NPC_Franky, ANIM_Boo_Talk, ANIM_Boo_Idle, - ITEM_LETTER_TO_FRANKY, ITEM_LETTER20, + ITEM_LETTER_CHAIN_FRANKY, ITEM_LETTER_CHAIN_DANE_T_1, MSG_CH3_0067, MSG_CH3_0068, MSG_CH3_0069, MSG_CH3_006A, EVT_PTR(N(LetterList_Franky))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -165,10 +158,10 @@ EvtScript N(EVS_NpcInteract_Franky) = { EVT_IF_NE(LVarC, 0) EVT_RETURN EVT_END_IF - EVT_IF_EQ(GB_KootFavor_Current, 13) + EVT_IF_EQ(GB_KootFavor_Current, KOOT_FAVOR_CH5_3) EVT_IF_EQ(GF_OBK01_Gift_OldPhoto, FALSE) EVT_SET(GF_OBK01_Gift_OldPhoto, TRUE) - EVT_EXEC_WAIT(N(EVS_PlayerReaction_GetOldPhoto)) + EVT_EXEC_WAIT(N(EVS_MarioSalute)) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Boo_Talk, ANIM_Boo_Idle, 0, MSG_CH3_006B) EVT_GIVE_KEY_REWARD(ITEM_KOOT_OLD_PHOTO) EVT_END_IF @@ -200,7 +193,7 @@ StaticNpc N(NpcData_JumpScareBoo) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, }; @@ -210,7 +203,7 @@ StaticNpc N(NpcData_TrafficBoo1) = { .settings = &N(NpcSettings_Boo), .pos = { 523.0f, -139.0f, 193.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo1), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -221,7 +214,7 @@ StaticNpc N(NpcData_TrafficBoo2) = { .settings = &N(NpcSettings_Boo), .pos = { 473.0f, -122.0f, 247.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo2), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -233,7 +226,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo_Wander), .pos = { 422.0f, -200.0f, 112.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_UpstairsBoo), .drops = BOO_DROPS, .territory = { @@ -256,7 +249,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo_Wander), .pos = { 397.0f, -410.0f, 352.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Franky), .drops = BOO_DROPS, .territory = { diff --git a/src/world/area_obk/obk_02/obk_02_3_npc.c b/src/world/area_obk/obk_02/obk_02_3_npc.c index 891a257158..323b731817 100644 --- a/src/world/area_obk/obk_02/obk_02_3_npc.c +++ b/src/world/area_obk/obk_02/obk_02_3_npc.c @@ -24,7 +24,7 @@ StaticNpc N(NpcData_TrafficBoos)[] = { .settings = &N(NpcSettings_Boo), .pos = { 523.0f, -139.0f, 193.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo1), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -34,7 +34,7 @@ StaticNpc N(NpcData_TrafficBoos)[] = { .settings = &N(NpcSettings_Boo), .pos = { 473.0f, -122.0f, 247.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo2), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, diff --git a/src/world/area_obk/obk_03/obk_03_6_npc.c b/src/world/area_obk/obk_03/obk_03_6_npc.c index 26ffd64df4..b94808d4a8 100644 --- a/src/world/area_obk/obk_03/obk_03_6_npc.c +++ b/src/world/area_obk/obk_03/obk_03_6_npc.c @@ -54,7 +54,7 @@ StaticNpc N(NpcData_Igor) = { .settings = &N(NpcSettings_Boo), .pos = { 43.0f, -200.0f, -9.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Igor), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, diff --git a/src/world/area_obk/obk_04/obk_04_3_npc.c b/src/world/area_obk/obk_04/obk_04_3_npc.c index 3832f653b7..8ea2a42a7a 100644 --- a/src/world/area_obk/obk_04/obk_04_3_npc.c +++ b/src/world/area_obk/obk_04/obk_04_3_npc.c @@ -626,7 +626,7 @@ StaticNpc N(NpcData_KeepAwayExtras)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_10), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -636,7 +636,7 @@ StaticNpc N(NpcData_KeepAwayExtras)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, .init = &N(EVS_NpcInit_Boo_11), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -648,7 +648,7 @@ StaticNpc N(NpcData_TutorialBoo) = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TutorialBoo), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, diff --git a/src/world/area_obk/obk_05/obk_05_5_npc.c b/src/world/area_obk/obk_05/obk_05_5_npc.c index 7ceb33dce3..f5b5138a69 100644 --- a/src/world/area_obk/obk_05/obk_05_5_npc.c +++ b/src/world/area_obk/obk_05/obk_05_5_npc.c @@ -24,7 +24,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo), .pos = { 523.0f, -139.0f, 193.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo1), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -34,7 +34,7 @@ StaticNpc N(NpcData_Boo_01)[] = { .settings = &N(NpcSettings_Boo), .pos = { 473.0f, -122.0f, 247.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo2), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, diff --git a/src/world/area_obk/obk_07/obk_07_5_npc.c b/src/world/area_obk/obk_07/obk_07_5_npc.c index 7a898545e0..bcbcf8a359 100644 --- a/src/world/area_obk/obk_07/obk_07_5_npc.c +++ b/src/world/area_obk/obk_07/obk_07_5_npc.c @@ -17,7 +17,7 @@ StaticNpc N(NpcData_TrafficBoo1) = { .settings = &N(NpcSettings_Boo), .pos = { 523.0f, -139.0f, 193.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo1), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -34,7 +34,7 @@ StaticNpc N(NpcData_TrafficBoo2) = { .settings = &N(NpcSettings_Boo), .pos = { 473.0f, -122.0f, 247.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo2), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -56,7 +56,7 @@ StaticNpc N(NpcData_GuardBoo) = { .settings = &N(NpcSettings_Boo), .pos = { 168.0f, 0.0f, -161.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_GuardBoo), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, diff --git a/src/world/area_obk/obk_08/obk_08_5_npc.c b/src/world/area_obk/obk_08/obk_08_5_npc.c index df1a56610b..c4608070a2 100644 --- a/src/world/area_obk/obk_08/obk_08_5_npc.c +++ b/src/world/area_obk/obk_08/obk_08_5_npc.c @@ -567,7 +567,7 @@ StaticNpc N(NpcData_TrafficBoos)[] = { .settings = &N(NpcSettings_Boo), .pos = { 523.0f, -139.0f, 193.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo1), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -577,7 +577,7 @@ StaticNpc N(NpcData_TrafficBoos)[] = { .settings = &N(NpcSettings_Boo), .pos = { 473.0f, -122.0f, 247.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_TrafficBoo2), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -601,7 +601,7 @@ StaticNpc N(NpcData_KeepAwayExtras)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_12), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -611,7 +611,7 @@ StaticNpc N(NpcData_KeepAwayExtras)[] = { .settings = &N(NpcSettings_Boo), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, .init = &N(EVS_NpcInit_Boo_13), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, diff --git a/src/world/area_obk/obk_09/obk_09_4_npc.c b/src/world/area_obk/obk_09/obk_09_4_npc.c index 8d7daf98f0..b6f5dc33ea 100644 --- a/src/world/area_obk/obk_09/obk_09_4_npc.c +++ b/src/world/area_obk/obk_09/obk_09_4_npc.c @@ -136,7 +136,7 @@ StaticNpc N(NpcData_Default)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bow), .drops = BOW_DROPS, .animations = BOW_ANIMS, @@ -146,7 +146,7 @@ StaticNpc N(NpcData_Default)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bootler), .drops = BOOTLER_DROPS, .animations = BOOTLER_ANIMS, @@ -157,7 +157,7 @@ StaticNpc N(NpcData_Default)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Skolar), .drops = SKOLAR_DROPS, .animations = SKOLAR_ANIMS, @@ -170,7 +170,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bow_Epilogue), .drops = BOW_DROPS, .animations = BOW_ANIMS, @@ -180,7 +180,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_Dummy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bootler_Epilogue), .drops = BOOTLER_DROPS, .animations = BOOTLER_ANIMS, diff --git a/src/world/area_omo/common/ToyTrain.inc.c b/src/world/area_omo/common/ToyTrain.inc.c index 853d4fa688..7284a718bc 100644 --- a/src/world/area_omo/common/ToyTrain.inc.c +++ b/src/world/area_omo/common/ToyTrain.inc.c @@ -327,8 +327,8 @@ EvtScript N(EVS_TrainUnk_C) = { }; EvtScript N(EVS_TrainUnk_D) = { - EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_40 | NPC_FLAG_100, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_THREAD EVT_USE_BUF(LVar0) EVT_BUF_READ3(LVar1, LVar2, LVar3) @@ -385,8 +385,8 @@ EvtScript N(EVS_TrainUnk_D) = { #ifdef INCLUDE_ALTERNATES EvtScript N(EVS_TrainUnk_AltD) = { - EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_40 | NPC_FLAG_100, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_SET(AF_OMO_06, FALSE) EVT_CALL(GetPlayerPos, LVar1, LVar2, LVar3) EVT_IF_LT(LVar2, 50) @@ -451,8 +451,8 @@ EvtScript N(EVS_TrainUnk_AltD) = { EvtScript N(EVS_TrainUnk_E) = { EVT_CALL(StopSound, SOUND_83) EVT_CALL(SetMusicTrack, 0, SONG_SHY_GUY_TOYBOX, 0, 8) - EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_40 | NPC_FLAG_100, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_SETF(LVar0, MV_TrainPos) EVT_SETF(LVar1, MV_TrainUnk_0C) EVT_SETF(LVar2, MV_TrainUnk_0D) @@ -472,7 +472,7 @@ EvtScript N(EVS_TrainUnk_E) = { EVT_CALL(NpcMoveTo, NPC_Conductor, LVar3, LVar4, 0) EVT_CALL(SetNpcAnimation, NPC_Conductor, ANIM_TrainToad_Idle) EVT_CALL(InterpNpcYaw, NPC_Conductor, 270, 15) - EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_40 | NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, FALSE) EVT_END_THREAD EVT_WAIT(10) EVT_THREAD @@ -489,7 +489,7 @@ EvtScript N(EVS_TrainUnk_E) = { EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(2.5)) EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar0, LVar1, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, FALSE) EVT_RETURN EVT_END }; @@ -498,8 +498,8 @@ EvtScript N(EVS_TrainUnk_E) = { EvtScript N(EVS_TrainUnk_AltE) = { EVT_CALL(StopSound, SOUND_83) EVT_CALL(SetMusicTrack, 0, SONG_SHY_GUY_TOYBOX, 0, 8) - EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_40 | NPC_FLAG_100, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_SET(AF_OMO_06, TRUE) EVT_SETF(LVar0, MV_TrainPos) EVT_SETF(LVar1, MV_TrainUnk_0C) @@ -512,7 +512,7 @@ EvtScript N(EVS_TrainUnk_AltE) = { EVT_CALL(NpcMoveTo, NPC_Conductor, LVar3, LVar4, 0) EVT_CALL(SetNpcAnimation, NPC_Conductor, ANIM_TrainToad_SadIdle) EVT_CALL(InterpNpcYaw, NPC_Conductor, 90, 0) - EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_40 | NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_Conductor, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, FALSE) EVT_END_THREAD EVT_WAIT(10) EVT_THREAD @@ -530,7 +530,7 @@ EvtScript N(EVS_TrainUnk_AltE) = { EVT_CALL(SetNpcSpeed, NPC_PARTNER, EVT_FLOAT(2.5)) EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar0, LVar1, 0) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_40 | NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, FALSE) EVT_RETURN EVT_END }; diff --git a/src/world/area_omo/omo_02/omo_02_5_barricade.c b/src/world/area_omo/omo_02/omo_02_5_barricade.c index 783c600339..b2b0e46d37 100644 --- a/src/world/area_omo/omo_02/omo_02_5_barricade.c +++ b/src/world/area_omo/omo_02/omo_02_5_barricade.c @@ -367,7 +367,7 @@ EvtScript N(EVS_Scene_BreakBarricade) = { EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_WAIT(165) EVT_CALL(PlaySound, SOUND_76D) - EVT_CALL(func_802D62E4, 877) + EVT_CALL(func_802D62E4, SOUND_36D) EVT_CALL(SetNpcAnimation, NPC_ShyGuy_01, ANIM_ShyGuy_Red_Anim04) EVT_CALL(SetNpcPos, NPC_ShyGuy_01, -285, 0, 35) EVT_CALL(SetNpcSpeed, NPC_ShyGuy_01, EVT_FLOAT(8.0)) diff --git a/src/world/area_omo/omo_02/omo_02_6_npc.c b/src/world/area_omo/omo_02/omo_02_6_npc.c index c281e97911..54f8bf4097 100644 --- a/src/world/area_omo/omo_02/omo_02_6_npc.c +++ b/src/world/area_omo/omo_02/omo_02_6_npc.c @@ -288,7 +288,7 @@ StaticNpc N(NpcData_ShyGuy_Loner) = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Loner), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -300,7 +300,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -310,7 +310,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -320,7 +320,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -330,7 +330,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -340,7 +340,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -350,7 +350,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -360,7 +360,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -370,7 +370,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -380,7 +380,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -390,7 +390,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, diff --git a/src/world/area_omo/omo_03/omo_03_5_npc.c b/src/world/area_omo/omo_03/omo_03_5_npc.c index 2f8de98db9..a09a63ad43 100644 --- a/src/world/area_omo/omo_03/omo_03_5_npc.c +++ b/src/world/area_omo/omo_03/omo_03_5_npc.c @@ -127,7 +127,7 @@ StaticNpc N(NpcData_TrainToads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { 170.0f, 50.0f, -115.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Conductor), .drops = NPC_NO_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, @@ -138,7 +138,7 @@ StaticNpc N(NpcData_TrainToads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { 158.0f, 0.0f, 85.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_TrainToad), .drops = NPC_NO_DROPS, .animations = TRAIN_TOAD_BLUE_ANIMS, @@ -152,7 +152,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_Parakarry), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4, .drops = NPC_NO_DROPS, .animations = PARAKARRY_ANIMS, }, @@ -161,7 +161,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { 50.0f, 15.0f, 160.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4, .drops = NPC_NO_DROPS, .animations = { .idle = ANIM_WorldWatt_Idle, @@ -187,7 +187,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { 100.0f, 0.0f, 160.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4, .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, }, @@ -196,7 +196,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { 115.0f, 0.0f, 200.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4, .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, }, @@ -205,7 +205,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { 145.0f, 0.0f, 150.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4, .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, }, diff --git a/src/world/area_omo/omo_05/omo_05_4_npc.c b/src/world/area_omo/omo_05/omo_05_4_npc.c index 1589e608e9..279176334a 100644 --- a/src/world/area_omo/omo_05/omo_05_4_npc.c +++ b/src/world/area_omo/omo_05/omo_05_4_npc.c @@ -398,7 +398,7 @@ StaticNpc N(NpcData_GourmetGuy)[] = { .settings = &N(NpcSettings_GourmetGuy), .pos = { -250.0f, 10.0f, 85.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_GourmetGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -430,7 +430,7 @@ StaticNpc N(NpcData_GourmetGuy)[] = { .settings = &N(NpcSettings_GourmetGuy), .pos = { -250.0f, 10.0f, 85.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -461,7 +461,7 @@ StaticNpc N(NpcData_GourmetGuy)[] = { .settings = &N(NpcSettings_GourmetGuy), .pos = { -250.0f, 10.0f, 85.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_800, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_omo/omo_06/omo_06_5_npc.c b/src/world/area_omo/omo_06/omo_06_5_npc.c index f2384a41f8..208f781cbd 100644 --- a/src/world/area_omo/omo_06/omo_06_5_npc.c +++ b/src/world/area_omo/omo_06/omo_06_5_npc.c @@ -51,7 +51,7 @@ StaticNpc N(NpcSettings_Toads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { 50.0f, 50.0f, 45.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Conductor), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, @@ -62,7 +62,7 @@ StaticNpc N(NpcSettings_Toads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { 55.0f, 0.0f, 240.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_TrainToad), .drops = TRAIN_CONDUCTOR_DROPS, .animations = TRAIN_TOAD_PINK_ANIMS, diff --git a/src/world/area_omo/omo_07/omo_07_4_npc.c b/src/world/area_omo/omo_07/omo_07_4_npc.c index 5a66b6bcba..8151b96b08 100644 --- a/src/world/area_omo/omo_07/omo_07_4_npc.c +++ b/src/world/area_omo/omo_07/omo_07_4_npc.c @@ -173,7 +173,7 @@ EvtScript N(EVS_NpcAI_ShyGuy) = { EVT_CASE_EQ(SHYGUY_STATE_RUN_TO_DOOR) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_2, FALSE) EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_1, 0) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_PASSIVE, 0) EVT_CALL(SetNpcPos, NPC_SELF, 800, 0, 75) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(4.0)) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ShyGuy_Red_Anim03) @@ -217,7 +217,7 @@ EvtScript N(EVS_NpcAI_ShyGuy) = { EVT_SET(MV_SecretDoorAngle, LVar2) EVT_MOD(MV_SecretDoorAngle, 360) EVT_SET(AF_OMO07_DoorOpening, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_WAIT(10) EVT_CALL(NpcMoveTo, NPC_SELF, -10, 50, 0) @@ -255,8 +255,8 @@ EvtScript N(EVS_NpcDefeat_ShyGuy) = { EVT_CALL(GetBattleOutcome, LVar0) EVT_SWITCH(LVar0) EVT_CASE_EQ(OUTCOME_PLAYER_WON) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40 | NPC_FLAG_100, TRUE) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_1, 1) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_PASSIVE, 1) EVT_CALL(EnableNpcShadow, NPC_SELF, FALSE) EVT_CALL(SetSelfVar, SHYGUY_VAR_STATE, SHYGUY_STATE_RECYCLE) EVT_WAIT(1) diff --git a/src/world/area_omo/omo_08/omo_08_3_boxes.c b/src/world/area_omo/omo_08/omo_08_3_boxes.c index f2941a6daa..e7f29e7db3 100644 --- a/src/world/area_omo/omo_08/omo_08_3_boxes.c +++ b/src/world/area_omo/omo_08/omo_08_3_boxes.c @@ -564,7 +564,7 @@ EvtScript N(EVS_BoxResult_ReleaseShyGuys) = { EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_01, EVT_FLOAT(1.0)) EVT_ADD(LVar2, 60) EVT_CALL(NpcJump0, NPC_ShyGuy_01, LVar0, 0, LVar2, 20) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_01, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_01, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_WAIT(3) EVT_THREAD @@ -584,7 +584,7 @@ EvtScript N(EVS_BoxResult_ReleaseShyGuys) = { EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_02, EVT_FLOAT(1.0)) EVT_ADD(LVar2, 60) EVT_CALL(NpcJump0, NPC_ShyGuy_02, LVar0, 0, LVar2, 20) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_02, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_02, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_WAIT(3) EVT_THREAD @@ -604,7 +604,7 @@ EvtScript N(EVS_BoxResult_ReleaseShyGuys) = { EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_03, EVT_FLOAT(1.0)) EVT_ADD(LVar2, 60) EVT_CALL(NpcJump0, NPC_ShyGuy_03, LVar0, 0, LVar2, 20) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_03, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_03, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_WAIT(3) EVT_THREAD @@ -624,7 +624,7 @@ EvtScript N(EVS_BoxResult_ReleaseShyGuys) = { EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_04, EVT_FLOAT(1.0)) EVT_ADD(LVar2, 60) EVT_CALL(NpcJump0, NPC_ShyGuy_04, LVar0, 0, LVar2, 20) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_04, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_04, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(ResetCam, CAM_DEFAULT, 1) EVT_EXEC(N(EVS_ResetBoxesAfterAmbush)) EVT_END_THREAD diff --git a/src/world/area_omo/omo_08/omo_08_6_npc.c b/src/world/area_omo/omo_08/omo_08_6_npc.c index 1e5cc1acc3..d51ab62b5e 100644 --- a/src/world/area_omo/omo_08/omo_08_6_npc.c +++ b/src/world/area_omo/omo_08/omo_08_6_npc.c @@ -66,7 +66,7 @@ EvtScript N(EVS_NpcAI_BoxedShyGuy) = { EVT_WAIT(25) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_2, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetSelfVar, 0, 0) EVT_CALL(DisablePlayerInput, FALSE) EVT_END_SWITCH @@ -103,7 +103,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { -145.0f, 50.0f, -110.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Conductor), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -118,7 +118,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { -250.0f, 0.0f, 50.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_TrainToad), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_omo/omo_09/omo_09_4_slot_machine.c b/src/world/area_omo/omo_09/omo_09_4_slot_machine.c index a3f86afa0c..5419e89fd1 100644 --- a/src/world/area_omo/omo_09/omo_09_4_slot_machine.c +++ b/src/world/area_omo/omo_09/omo_09_4_slot_machine.c @@ -630,31 +630,31 @@ EvtScript N(EVS_SlotMachine_MainUpdate) = { EVT_CALL(SetNpcPos, NPC_ShyGuy_Jackpot1, 485, 130, -50) EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_Jackpot1, EVT_FLOAT(0.8)) EVT_CALL(NpcJump0, NPC_ShyGuy_Jackpot1, 460, 0, 50, 30) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot1, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot1, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_THREAD EVT_CALL(SetNpcPos, NPC_ShyGuy_Jackpot2, 510, 130, -50) EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_Jackpot2, EVT_FLOAT(0.8)) EVT_CALL(NpcJump0, NPC_ShyGuy_Jackpot2, 497, 0, 50, 30) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot2, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot2, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_THREAD EVT_CALL(SetNpcPos, NPC_ShyGuy_Jackpot3, 535, 130, -50) EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_Jackpot3, EVT_FLOAT(0.8)) EVT_CALL(NpcJump0, NPC_ShyGuy_Jackpot3, 535, 0, 50, 30) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot3, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot3, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_THREAD EVT_CALL(SetNpcPos, NPC_ShyGuy_Jackpot4, 560, 130, -50) EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_Jackpot4, EVT_FLOAT(0.8)) EVT_CALL(NpcJump0, NPC_ShyGuy_Jackpot4, 573, 0, 50, 30) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot4, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot4, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_THREAD EVT_CALL(SetNpcPos, NPC_ShyGuy_Jackpot5, 585, 130, -50) EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_Jackpot5, EVT_FLOAT(0.8)) EVT_CALL(NpcJump0, NPC_ShyGuy_Jackpot5, 610, 0, 50, 30) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot5, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot5, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_WAIT(20) EVT_CASE_EQ(SLOT_MATCH_TWO) @@ -663,13 +663,13 @@ EvtScript N(EVS_SlotMachine_MainUpdate) = { EVT_CALL(SetNpcPos, NPC_ShyGuy_Jackpot2, 510, 130, -50) EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_Jackpot2, EVT_FLOAT(0.8)) EVT_CALL(NpcJump0, NPC_ShyGuy_Jackpot2, 497, 0, 50, 30) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot2, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot2, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_THREAD EVT_CALL(SetNpcPos, NPC_ShyGuy_Jackpot4, 560, 130, -50) EVT_CALL(SetNpcJumpscale, NPC_ShyGuy_Jackpot4, EVT_FLOAT(0.8)) EVT_CALL(NpcJump0, NPC_ShyGuy_Jackpot4, 573, 0, 50, 30) - EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot4, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_ShyGuy_Jackpot4, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_END_THREAD EVT_WAIT(20) EVT_CASE_DEFAULT diff --git a/src/world/area_omo/omo_09/omo_09_7_npc.c b/src/world/area_omo/omo_09/omo_09_7_npc.c index 8c8abfeb33..2dc2b162df 100644 --- a/src/world/area_omo/omo_09/omo_09_7_npc.c +++ b/src/world/area_omo/omo_09/omo_09_7_npc.c @@ -178,7 +178,7 @@ EvtScript N(EVS_NpcAI_ShyGuy_Jackpot) = { EVT_WAIT(25) EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_2, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetSelfVar, 0, 0) EVT_CALL(DisablePlayerInput, FALSE) EVT_END_SWITCH diff --git a/src/world/area_omo/omo_10/omo_10_5_npc.c b/src/world/area_omo/omo_10/omo_10_5_npc.c index 300057ad4f..99c379384d 100644 --- a/src/world/area_omo/omo_10/omo_10_5_npc.c +++ b/src/world/area_omo/omo_10/omo_10_5_npc.c @@ -41,7 +41,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { 10.0f, 50.0f, -105.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Conductor), .drops = NPC_NO_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, @@ -52,7 +52,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_TrainToad), .pos = { -50.0f, 0.0f, 80.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_TrainToad), .drops = NPC_NO_DROPS, .animations = TRAIN_TOAD_RED_ANIMS, diff --git a/src/world/area_omo/omo_12/omo_12_3_npc.c b/src/world/area_omo/omo_12/omo_12_3_npc.c index b934295ce3..49b5c973f7 100644 --- a/src/world/area_omo/omo_12/omo_12_3_npc.c +++ b/src/world/area_omo/omo_12/omo_12_3_npc.c @@ -648,7 +648,7 @@ StaticNpc N(NpcData_Watt) = { .settings = &N(NpcSettings_Watt), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Watt), .initVarCount = 1, .initVar = { .value = 0 }, @@ -679,7 +679,7 @@ StaticNpc N(NpcData_LanternTop) = { .settings = &N(NpcSettings_Watt), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_LanternTop), .initVarCount = 1, .initVar = { .value = 0 }, @@ -694,7 +694,7 @@ StaticNpc N(NpcData_LanternBottom) = { .settings = &N(NpcSettings_Watt), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_8000000, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_100000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_8000000, .init = &N(EVS_NpcInit_LanternBottom), .initVarCount = 1, .initVar = { .value = 0 }, diff --git a/src/world/area_omo/omo_13/omo_13_4_npc.c b/src/world/area_omo/omo_13/omo_13_4_npc.c index d50b1faa50..3e0f463500 100644 --- a/src/world/area_omo/omo_13/omo_13_4_npc.c +++ b/src/world/area_omo/omo_13/omo_13_4_npc.c @@ -213,7 +213,7 @@ StaticNpc N(NpcData_AntiGuy) = { .settings = &N(NpcSettings_AntiGuy), .pos = { 110.0f, 0.0f, -20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_AntiGuy), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_omo/omo_14/omo_14_3_npc.c b/src/world/area_omo/omo_14/omo_14_3_npc.c index f11aa7f527..18c4bd77bd 100644 --- a/src/world/area_omo/omo_14/omo_14_3_npc.c +++ b/src/world/area_omo/omo_14/omo_14_3_npc.c @@ -326,7 +326,7 @@ EvtScript N(EVS_NpcIdle_ShyGuy_Crowd) = { EVT_WAIT(30) EVT_CALL(SetSelfVar, 0, 3) EVT_CASE_EQ(3) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(4.0)) EVT_CALL(NpcMoveTo, NPC_SELF, 235, 0, 0) EVT_CALL(NpcMoveTo, NPC_SELF, 300, 0, 0) @@ -386,7 +386,7 @@ StaticNpc N(NpcData_ShyGuy_Loner) = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Loner), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -398,7 +398,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -408,7 +408,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -418,7 +418,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -428,7 +428,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -438,7 +438,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -448,7 +448,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -458,7 +458,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -468,7 +468,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -478,7 +478,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -488,7 +488,7 @@ StaticNpc N(NpcData_ShyGuy_Crowd)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .init = &N(EVS_NpcInit_ShyGuy_Crowd), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, diff --git a/src/world/area_omo/omo_15/omo_15_3_npc.c b/src/world/area_omo/omo_15/omo_15_3_npc.c index 145e4a7e5c..7b6549238d 100644 --- a/src/world/area_omo/omo_15/omo_15_3_npc.c +++ b/src/world/area_omo/omo_15/omo_15_3_npc.c @@ -444,7 +444,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { 187.0f, 38.0f, 20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_GeneralGuy), .drops = NPC_NO_DROPS, .animations = { @@ -471,7 +471,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -481,7 +481,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -491,7 +491,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -501,7 +501,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -511,7 +511,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -521,7 +521,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -531,7 +531,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -541,7 +541,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, @@ -551,7 +551,7 @@ StaticNpc N(NpcData_GeneralGuy)[] = { .settings = &N(NpcSettings_ShyGuy_Stationary), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_GRAVITY | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_ShyGuy), .drops = NPC_NO_DROPS, .animations = RED_SHY_GUY_ANIMS, diff --git a/src/world/area_omo/omo_16/omo_16_3_npc.c b/src/world/area_omo/omo_16/omo_16_3_npc.c index 66ca7919d8..f14df00de1 100644 --- a/src/world/area_omo/omo_16/omo_16_3_npc.c +++ b/src/world/area_omo/omo_16/omo_16_3_npc.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_TrainToad) = { .settings = &N(NpcSettings_TrainToad), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .drops = NPC_NO_DROPS, .animations = TRAIN_CONDUCTOR_ANIMS, }; diff --git a/src/world/area_omo/omo_17/omo_17_4_npc.c b/src/world/area_omo/omo_17/omo_17_4_npc.c index 7b4fa219b7..35ddbb49d5 100644 --- a/src/world/area_omo/omo_17/omo_17_4_npc.c +++ b/src/world/area_omo/omo_17/omo_17_4_npc.c @@ -36,7 +36,7 @@ StaticNpc N(NpcData_Conductor) = { .settings = &N(NpcSettings_Conductor), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .initVarCount = 1, .initVar = { .value = 0 }, }; diff --git a/src/world/area_osr/osr_00/osr_00_3_npc_intro.c b/src/world/area_osr/osr_00/osr_00_3_npc_intro.c index 895dd321b1..d18dff90ab 100644 --- a/src/world/area_osr/osr_00/osr_00_3_npc_intro.c +++ b/src/world/area_osr/osr_00/osr_00_3_npc_intro.c @@ -7,7 +7,7 @@ StaticNpc N(NpcData_Luigi) = { .settings = &N(NpcSettings_Luigi), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = LUIGI_DROPS, .animations = LUIGI_ANIMS, }; diff --git a/src/world/area_osr/osr_00/osr_00_4_npc_epilogue.c b/src/world/area_osr/osr_00/osr_00_4_npc_epilogue.c index 1ade3dd871..a496ae6c17 100644 --- a/src/world/area_osr/osr_00/osr_00_4_npc_epilogue.c +++ b/src/world/area_osr/osr_00/osr_00_4_npc_epilogue.c @@ -222,7 +222,7 @@ StaticNpc N(NpcData_Yoshis)[] = { .settings = &N(NpcSettings_Yoshi), .pos = { 70.0f, 0.0f, -30.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_LeaderYoshi), .drops = YOSHI_DROPS, .animations = YOSHI_LEADER_ANIMS, @@ -234,7 +234,7 @@ StaticNpc N(NpcData_Yoshis)[] = { .settings = &N(NpcSettings_Yoshi), .pos = { 70.0f, 0.0f, 400.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Yoshi), .drops = YOSHI_DROPS, .animations = YOSHI_GREEN_ANIMS, @@ -246,7 +246,7 @@ StaticNpc N(NpcData_Yoshis)[] = { .settings = &N(NpcSettings_YoshiKid), .pos = { 160.0f, 0.0f, 540.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_YoshiKid), .drops = YOSHI_KID_DROPS, .animations = YOSHI_KID_GREEN_ANIMS, @@ -282,7 +282,7 @@ StaticNpc N(NpcData_Penguins)[] = { .settings = &N(NpcSettings_Penguin), .pos = { 150.0f, 0.0f, 105.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_MayorPenguin), .drops = PENGUIN_DROPS, .animations = MAYOR_PENGUIN_ANIMS, @@ -294,7 +294,7 @@ StaticNpc N(NpcData_Penguins)[] = { .settings = &N(NpcSettings_Penguin), .pos = { 200.0f, 0.0f, 105.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_MayorPenguinWife), .drops = PENGUIN_DROPS, .animations = MAYOR_PENGUIN_WIFE_ANIMS, @@ -306,7 +306,7 @@ StaticNpc N(NpcData_Penguins)[] = { .settings = &N(NpcSettings_Penguin), .pos = { 115.0f, 0.0f, 540.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Penguin_01), .drops = PENGUIN_DROPS, .animations = PENGUIN_ANIMS, @@ -317,7 +317,7 @@ StaticNpc N(NpcData_Penguins)[] = { .settings = &N(NpcSettings_Penguin), .pos = { 208.0f, 0.0f, 540.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Penguin_02), .drops = PENGUIN_DROPS, .animations = PENGUIN_ANIMS, @@ -345,7 +345,7 @@ StaticNpc N(NpcData_Mousers)[] = { .settings = &N(NpcSettings_Mouser), .pos = { -60.0f, 0.0f, -20.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Moustafa), .drops = MOUSER_DROPS, .animations = MOUSTAFA_ANIMS, @@ -357,7 +357,7 @@ StaticNpc N(NpcData_Mousers)[] = { .settings = &N(NpcSettings_Mouser), .pos = { -100.0f, 0.0f, -50.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Mouser), .drops = MOUSER_DROPS, .animations = MOUSER_PURPLE_ANIMS, @@ -378,7 +378,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { 270.0f, 20.0f, 175.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_01), .drops = BOO_DROPS, .animations = NORMAL_BOO_ANIMS, @@ -389,7 +389,7 @@ StaticNpc N(NpcData_Boos)[] = { .settings = &N(NpcSettings_Boo), .pos = { 320.0f, 20.0f, 200.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Boo_02), .drops = BOO_DROPS, .animations = GUSTY_BOO_ANIMS, @@ -417,7 +417,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -25.0f, 0.0f, 200.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_BLUE_ANIMS, @@ -428,7 +428,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -50.0f, 0.0f, -200.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadGuard_01), .drops = TOAD_DROPS, .animations = TOAD_GUARD_RED_ANIMS, @@ -439,7 +439,7 @@ StaticNpc N(NpcData_Toads)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 560.0f, 20.0f, 100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_ToadGuard_02), .drops = TOAD_DROPS, .animations = TOAD_GUARD_YELLOW_ANIMS, diff --git a/src/world/area_osr/osr_01/osr_01_3_npc.c b/src/world/area_osr/osr_01/osr_01_3_npc.c index bbff5f1fe1..f6988ef5c0 100644 --- a/src/world/area_osr/osr_01/osr_01_3_npc.c +++ b/src/world/area_osr/osr_01/osr_01_3_npc.c @@ -27,7 +27,7 @@ EvtScript N(EVS_Scene_Wishing) = { }; s32 N(LetterList)[] = { - ITEM_LETTER13, + ITEM_LETTER_CHAIN_MUSS_T, ITEM_NONE }; @@ -75,7 +75,7 @@ EvtScript N(EVS_NpcInteract_Toad) = { EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, 0, LVar0) EVT_CALL(N(LetterDelivery_Init), NPC_Toad, ANIM_Toad_Red_Talk, ANIM_Toad_Red_Idle, - ITEM_LETTER13, ITEM_LETTER14, + ITEM_LETTER_CHAIN_MUSS_T, ITEM_LETTER_CHAIN_KOOVER_1, MSG_OSR_0010, MSG_OSR_0011, MSG_OSR_0012, MSG_OSR_0013, EVT_PTR(N(LetterList))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -104,7 +104,7 @@ StaticNpc N(NpcData_Toad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 25.0f, 0.0f, 130.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Toad), .drops = TOAD_DROPS, .animations = TOAD_RED_ANIMS, diff --git a/src/world/area_osr/osr_02/osr_02_3_npc.c b/src/world/area_osr/osr_02/osr_02_3_npc.c index 1eaeec0c02..a75e473d97 100644 --- a/src/world/area_osr/osr_02/osr_02_3_npc.c +++ b/src/world/area_osr/osr_02/osr_02_3_npc.c @@ -549,7 +549,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_Peach), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_20000, .init = &N(EVS_NpcInit_Peach), .drops = NPC_NO_DROPS, .animations = { @@ -577,7 +577,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Twink), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -588,7 +588,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar), .drops = NPC_NO_DROPS, .animations = ELDSTAR_ANIMS, @@ -599,7 +599,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Mamar), .drops = NPC_NO_DROPS, .animations = MAMAR_ANIMS, @@ -610,7 +610,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Skolar), .drops = NPC_NO_DROPS, .animations = SKOLAR_ANIMS, @@ -621,7 +621,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Muskular), .drops = NPC_NO_DROPS, .animations = MUSKULAR_ANIMS, @@ -632,7 +632,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Misstar), .drops = NPC_NO_DROPS, .animations = MISSTAR_ANIMS, @@ -643,7 +643,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Klevar), .drops = NPC_NO_DROPS, .animations = KLEVAR_ANIMS, @@ -654,7 +654,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Kalmar), .drops = NPC_NO_DROPS, .animations = KALMAR_ANIMS, @@ -665,7 +665,7 @@ StaticNpc N(NpcData_Spirits)[] = { .settings = &N(NpcSettings_StarRod), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarRod), .drops = NPC_NO_DROPS, .animations = { diff --git a/src/world/area_osr/osr_02/osr_02_4_npc_peach.c b/src/world/area_osr/osr_02/osr_02_4_npc_peach.c index 45a7cda7f3..cd71ef86bc 100644 --- a/src/world/area_osr/osr_02/osr_02_4_npc_peach.c +++ b/src/world/area_osr/osr_02/osr_02_4_npc_peach.c @@ -78,7 +78,7 @@ StaticNpc N(NpcData_Clubba) = { .settings = &N(NpcSettings_Clubba), .pos = { -70.0f, 0.0f, -100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Clubba), .drops = NPC_NO_DROPS, .animations = CLUBBA_ANIMS, diff --git a/src/world/area_osr/osr_03/osr_03_2_npc.c b/src/world/area_osr/osr_03/osr_03_2_npc.c index c61d7eedd7..3f5d2be46e 100644 --- a/src/world/area_osr/osr_03/osr_03_2_npc.c +++ b/src/world/area_osr/osr_03/osr_03_2_npc.c @@ -34,7 +34,7 @@ StaticNpc N(NpcData_Kammy) = { .settings = &N(NpcSettings_Kammy), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = NPC_NO_DROPS, .animations = KAMMY_ANIMS, .extraAnimations = N(ExtraAnims_Kammy), diff --git a/src/world/area_pra/pra_01/pra_01_3_npc.c b/src/world/area_pra/pra_01/pra_01_3_npc.c index 060531cdf0..8d17af67e0 100644 --- a/src/world/area_pra/pra_01/pra_01_3_npc.c +++ b/src/world/area_pra/pra_01/pra_01_3_npc.c @@ -182,7 +182,7 @@ StaticNpc N(NpcData_Kalmar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kalmar), .drops = NPC_NO_DROPS, .animations = KALMAR_ANIMS, diff --git a/src/world/area_pra/pra_19/pra_19_3_npc.c b/src/world/area_pra/pra_19/pra_19_3_npc.c index 9d847a9df9..a68c2ebb70 100644 --- a/src/world/area_pra/pra_19/pra_19_3_npc.c +++ b/src/world/area_pra/pra_19/pra_19_3_npc.c @@ -1044,7 +1044,7 @@ StaticNpc N(NpcData_Imposters)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_FakeKooper), .drops = NPC_NO_DROPS, .animations = { @@ -1071,7 +1071,7 @@ StaticNpc N(NpcData_Imposters)[] = { .settings = &N(NpcSettings_Goompa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_FakeGoompa), .drops = NPC_NO_DROPS, .animations = { @@ -1099,7 +1099,7 @@ StaticNpc N(NpcData_Imposters)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_FakeLuigi), .drops = NPC_NO_DROPS, .animations = LUIGI_ANIMS, @@ -1110,7 +1110,7 @@ StaticNpc N(NpcData_Imposters)[] = { .settings = &N(NpcSettings_KoopaKoot), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_FakeKoopaKoot), .drops = NPC_NO_DROPS, .animations = { @@ -1138,7 +1138,7 @@ StaticNpc N(NpcData_Imposters)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_FakeKolorado), .drops = NPC_NO_DROPS, .animations = KOLORADO_ANIMS, @@ -1149,7 +1149,7 @@ StaticNpc N(NpcData_Imposters)[] = { .settings = &N(NpcSettings_Duplighost), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ExamplePlayer), .drops = NPC_NO_DROPS, .animations = { @@ -1177,7 +1177,7 @@ StaticNpc N(NpcData_Imposters)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_ExampleKooper), .drops = NPC_NO_DROPS, .animations = { @@ -1207,7 +1207,7 @@ StaticNpc N(NpcData_Duplighosts)[] = { .settings = &N(NpcSettings_Duplighost), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Duplighost_Goompa), .drops = NPC_NO_DROPS, .animations = { @@ -1235,7 +1235,7 @@ StaticNpc N(NpcData_Duplighosts)[] = { .settings = &N(NpcSettings_Duplighost), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Duplighost_Luigi), .drops = NPC_NO_DROPS, .animations = { @@ -1263,7 +1263,7 @@ StaticNpc N(NpcData_Duplighosts)[] = { .settings = &N(NpcSettings_Duplighost), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Duplighost_KoopaKoot), .drops = NPC_NO_DROPS, .animations = { @@ -1291,7 +1291,7 @@ StaticNpc N(NpcData_Duplighosts)[] = { .settings = &N(NpcSettings_Duplighost), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Duplighost_Kolorado), .drops = NPC_NO_DROPS, .animations = { @@ -1319,7 +1319,7 @@ StaticNpc N(NpcData_Duplighosts)[] = { .settings = &N(NpcSettings_Duplighost), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Duplighost_Controller), .drops = NPC_NO_DROPS, .animations = { @@ -1490,7 +1490,7 @@ StaticNpc N(NpcData_Targets)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_TargetKooper), .drops = NPC_NO_DROPS, .animations = { @@ -1517,7 +1517,7 @@ StaticNpc N(NpcData_Targets)[] = { .settings = &N(NpcSettings_Goompa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_TargetGoompa), .drops = NPC_NO_DROPS, .animations = { @@ -1545,7 +1545,7 @@ StaticNpc N(NpcData_Targets)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_TargetLuigi), .drops = NPC_NO_DROPS, .animations = LUIGI_ANIMS, @@ -1556,7 +1556,7 @@ StaticNpc N(NpcData_Targets)[] = { .settings = &N(NpcSettings_KoopaKoot), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_TargetKoopaKoot), .drops = NPC_NO_DROPS, .animations = { @@ -1584,7 +1584,7 @@ StaticNpc N(NpcData_Targets)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_TargetKolorado), .drops = NPC_NO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/area_sam/sam_01/sam_01_3_rooms.c b/src/world/area_sam/sam_01/sam_01_3_rooms.c index 85a07ce260..1ca865b4b9 100644 --- a/src/world/area_sam/sam_01/sam_01_3_rooms.c +++ b/src/world/area_sam/sam_01/sam_01_3_rooms.c @@ -6,7 +6,7 @@ EvtScript N(EVS_SetDoorRot_MayorFoyer) = { EVT_END }; -EvtScript N(EVS_MoveWalls_MayorFoyer) = { +EvtScript N(EVS_SetWallRot_MayorFoyer) = { EVT_CALL(RotateGroup, MODEL_s_mae, LVar0, 1, 0, 0) EVT_IF_GT(LVar0, 89) EVT_CALL(SetGroupEnabled, MODEL_s_mae, 0) @@ -24,10 +24,10 @@ EvtScript N(EVS_DropDoor_MayorFoyer) = { EVT_END }; -EvtScript N(EVS_ToggleVis_MayorFoyer) = { - EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_BASIC) +EvtScript N(EVS_RoomListener_MayorFoyer) = { + EVT_CALL(UseRoomDoorSounds, DOOR_SOUNDS_BASIC) EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_04, TRUE) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_s_naisou, 1) @@ -37,7 +37,7 @@ EvtScript N(EVS_ToggleVis_MayorFoyer) = { EVT_CALL(SetNpcPos, NPC_MayorPenguinWife, -300, 0, -50) EVT_CALL(InterpNpcYaw, NPC_MayorPenguinWife, 0, 0) EVT_END_IF - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_04, FALSE) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_s_naisou, 0) @@ -52,7 +52,7 @@ EvtScript N(EVS_SetDoorRot_MayorOffice) = { EVT_END }; -EvtScript N(EVS_MoveWalls_MayorOffice) = { +EvtScript N(EVS_SetWallRot_MayorOffice) = { EVT_CALL(RotateGroup, MODEL_s_yane, LVar0, 0, 0, 1) EVT_CALL(RotateGroup, MODEL_s_yoko, LVar0, 0, 0, -1) EVT_IF_GT(LVar0, 89) @@ -65,8 +65,8 @@ EvtScript N(EVS_MoveWalls_MayorOffice) = { EVT_END }; -EvtScript N(EVS_ToggleVis_MayorOffice) = { - EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_BASIC) +EvtScript N(EVS_RoomListener_MayorOffice) = { + EVT_CALL(UseRoomDoorSounds, DOOR_SOUNDS_BASIC) EVT_IF_EQ(GB_StoryProgress, STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) EVT_IF_EQ(AF_SAM_03, TRUE) EVT_SET(LVar0, -1) @@ -74,12 +74,12 @@ EvtScript N(EVS_ToggleVis_MayorOffice) = { EVT_END_IF EVT_END_IF EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_IF_EQ(GB_StoryProgress, STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) EVT_THREAD EVT_CALL(BindNpcInteract, NPC_Herringway, 0) EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_100, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Herringway, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcAnimation, NPC_Herringway, ANIM_Penguin_Walk) EVT_CALL(SetNpcSpeed, NPC_Herringway, EVT_FLOAT(1.5)) EVT_CALL(NpcMoveTo, NPC_Herringway, -252, -55, 0) @@ -88,12 +88,12 @@ EvtScript N(EVS_ToggleVis_MayorOffice) = { EVT_CALL(BindNpcInteract, NPC_Herringway, EVT_PTR(N(EVS_NpcInteract_Herringway))) EVT_END_THREAD EVT_END_IF - EVT_CASE_EQ(1) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) EVT_IF_EQ(GB_StoryProgress, STORY_CH7_HERRINGWAY_AT_MAYORS_HOUSE) EVT_CALL(SetMusicTrack, 0, SONG_PENGUIN_WHODUNIT, 1, 8) EVT_END_IF EVT_SET(AF_SAM_03, TRUE) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_IF_EQ(GB_StoryProgress, STORY_CH7_MAYOR_MURDER_MYSTERY) EVT_EXEC(N(EVS_SetupMusic)) EVT_END_IF @@ -109,7 +109,7 @@ EvtScript N(EVS_SetDoorRot_MiddleHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_MiddleHouse) = { +EvtScript N(EVS_SetWallRot_MiddleHouse) = { EVT_CALL(RotateGroup, MODEL_f_ue, LVar0, 0, 0, -1) EVT_CALL(RotateGroup, MODEL_f_sita, LVar0, 0, 0, 1) EVT_IF_GT(LVar0, 89) @@ -122,15 +122,17 @@ EvtScript N(EVS_MoveWalls_MiddleHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_MiddleHouse) = { - EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_DOOR) +EvtScript N(EVS_RoomListener_MiddleHouse) = { + EVT_CALL(UseRoomDoorSounds, DOOR_SOUNDS_DOOR) EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_f_naiso, 1) - EVT_CASE_EQ(1) - EVT_CASE_EQ(2) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_DONE) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) + // do nothing + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_f_naiso, 0) EVT_END_SWITCH @@ -150,7 +152,7 @@ EvtScript N(EVS_SetDoorRot_LowerRightHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_RightHouse) = { +EvtScript N(EVS_SetWallRot_RightHouse) = { EVT_CALL(RotateGroup, MODEL_m_ue, LVar0, 0, 0, 1) EVT_CALL(RotateGroup, MODEL_m_mae, LVar0, 0, 0, -1) EVT_IF_GT(LVar0, 89) @@ -163,13 +165,13 @@ EvtScript N(EVS_MoveWalls_RightHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_UpperRightHouse) = { - EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_BASIC) +EvtScript N(EVS_RoomListener_UpperRightHouse) = { + EVT_CALL(UseRoomDoorSounds, DOOR_SOUNDS_BASIC) EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 1) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) EVT_END_SWITCH @@ -177,13 +179,13 @@ EvtScript N(EVS_ToggleVis_UpperRightHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_LowerRightHouse) = { - EVT_CALL(UseAdvancedDoorSounds, DOOR_SOUNDS_DOOR) +EvtScript N(EVS_RoomListener_LowerRightHouse) = { + EVT_CALL(UseRoomDoorSounds, DOOR_SOUNDS_DOOR) EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 1) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) EVT_END_SWITCH @@ -230,23 +232,23 @@ EvtScript N(EVS_SetupMayorRooms) = { EVT_SET(LVar0, EVT_PTR(N(InteriorNPCs_MayorAfter))) EVT_END_SWITCH // mayor's foyer - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_MayorFoyer)), - EVT_PTR(N(EVS_MoveWalls_MayorFoyer)), + EVT_PTR(N(EVS_SetWallRot_MayorFoyer)), EVT_PTR(N(EVS_DropDoor_MayorFoyer)), - EVT_PTR(N(EVS_ToggleVis_MayorFoyer)), + EVT_PTR(N(EVS_RoomListener_MayorFoyer)), COLLIDER_tts, COLLIDER_o352, MODEL_son, LVar0) // mayor's office - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_MayorOffice)), - EVT_PTR(N(EVS_MoveWalls_MayorOffice)), + EVT_PTR(N(EVS_SetWallRot_MayorOffice)), NULL, - EVT_PTR(N(EVS_ToggleVis_MayorOffice)), + EVT_PTR(N(EVS_RoomListener_MayorOffice)), COLLIDER_ttsn, COLLIDER_o353, MODEL_o430, @@ -262,36 +264,36 @@ EvtScript N(EVS_SetupRooms) = { EVT_END_IF // upper middle house EVT_CALL(SetGroupEnabled, MODEL_f_naiso, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_MiddleHouse)), - EVT_PTR(N(EVS_MoveWalls_MiddleHouse)), + EVT_PTR(N(EVS_SetWallRot_MiddleHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_MiddleHouse)), + EVT_PTR(N(EVS_RoomListener_MiddleHouse)), COLLIDER_ttf2, COLLIDER_o354, MODEL_f2, EVT_PTR(N(InteriorNPCs_MiddleHouse))) // lower right house EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_1, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_1, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_UpperRightHouse)), - EVT_PTR(N(EVS_MoveWalls_RightHouse)), + EVT_PTR(N(EVS_SetWallRot_RightHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_UpperRightHouse)), + EVT_PTR(N(EVS_RoomListener_UpperRightHouse)), COLLIDER_ttm, COLLIDER_o355, MODEL_min, EVT_PTR(N(InteriorNPCs_RightHouse))) // upper right house EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_0), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_RIGHT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_LowerRightHouse)), - EVT_PTR(N(EVS_MoveWalls_RightHouse)), + EVT_PTR(N(EVS_SetWallRot_RightHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_LowerRightHouse)), + EVT_PTR(N(EVS_RoomListener_LowerRightHouse)), COLLIDER_o376, COLLIDER_o390, MODEL_min, diff --git a/src/world/area_sam/sam_01/sam_01_4_npc.c b/src/world/area_sam/sam_01/sam_01_4_npc.c index 69546b4852..668e27eda1 100644 --- a/src/world/area_sam/sam_01/sam_01_4_npc.c +++ b/src/world/area_sam/sam_01/sam_01_4_npc.c @@ -632,7 +632,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin), .pos = { -272.0f, 0.0f, -180.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_MayorPenguin), .drops = NPC_NO_DROPS, .animations = MAYOR_PENGUIN_ANIMS, @@ -643,7 +643,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin), .pos = { -272.0f, 0.0f, -180.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_MayorDummy), .drops = NPC_NO_DROPS, .animations = MAYOR_PENGUIN_ANIMS, @@ -654,7 +654,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin), .pos = { -316.0f, 0.0f, 113.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_MayorPenguinWife), .drops = NPC_NO_DROPS, .animations = MAYOR_PENGUIN_WIFE_ANIMS, @@ -665,7 +665,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_PenguinPatrol), .drops = NPC_NO_DROPS, .animations = PENGUIN_PATROL_ANIMS, @@ -676,7 +676,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Herringway), .drops = NPC_NO_DROPS, .animations = HERRINGWAY_ANIMS, @@ -687,7 +687,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { -150.0f, 0.0f, 400.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_01), .drops = NPC_NO_DROPS, .territory = { @@ -710,7 +710,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { 100.0f, 0.0f, 250.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_02), .drops = NPC_NO_DROPS, .territory = { @@ -733,7 +733,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { 400.0f, 0.0f, 50.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_03), .drops = NPC_NO_DROPS, .territory = { @@ -756,7 +756,7 @@ StaticNpc N(NpcData_MayorPenguin)[] = { .settings = &N(NpcSettings_Penguin), .pos = { 350.0f, 0.0f, -190.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_04), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -770,7 +770,7 @@ StaticNpc N(NpcData_Penguin_05)[] = { .settings = &N(NpcSettings_Penguin), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_05), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -781,7 +781,7 @@ StaticNpc N(NpcData_Penguin_05)[] = { .settings = &N(NpcSettings_Penguin), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_06), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -792,7 +792,7 @@ StaticNpc N(NpcData_Penguin_05)[] = { .settings = &N(NpcSettings_Penguin), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_07), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -803,7 +803,7 @@ StaticNpc N(NpcData_Penguin_05)[] = { .settings = &N(NpcSettings_Penguin), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_08), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -816,7 +816,7 @@ StaticNpc N(NpcData_Penguin_09) = { .settings = &N(NpcSettings_Penguin), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_09), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -827,7 +827,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { 230.0f, 0.0f, 150.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_SAM, QUIZ_COUNT_SAM, QUIZ_MAP_SAM_01 }}, .drops = NPC_NO_DROPS, diff --git a/src/world/area_sam/sam_01/sam_01_5_scenes.c b/src/world/area_sam/sam_01/sam_01_5_scenes.c index 52b72300c3..594a8fe34b 100644 --- a/src/world/area_sam/sam_01/sam_01_5_scenes.c +++ b/src/world/area_sam/sam_01/sam_01_5_scenes.c @@ -92,7 +92,7 @@ EvtScript N(EVS_Scene_MysteryBegins) = { EVT_WAIT(20) EVT_EXEC_WAIT(N(EVS_CloseMayorsOfficeDoor)) EVT_END_THREAD - EVT_CALL(SetNpcFlagBits, NPC_MayorPenguinWife, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguinWife, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcPos, NPC_MayorPenguinWife, -255, 0, 28) EVT_CALL(SetNpcSpeed, NPC_MayorPenguinWife, EVT_FLOAT(2.0)) EVT_CALL(SetNpcAnimation, NPC_MayorPenguinWife, ANIM_MayorPenguinWife_Walk) @@ -722,8 +722,8 @@ EvtScript N(EVS_Scene_MysterySolved) = { EVT_SET(MV_DialogueState_Penguin2, 0) EVT_SET(MV_DialogueState_Penguin3, 0) EVT_SET(MV_DialogueState_Penguin4, 0) - EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_40, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MayorPenguinWife, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguin, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_MayorPenguinWife, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(SetNpcPos, NPC_Penguin_09, NPC_DISPOSE_LOCATION) EVT_CALL(EnablePartnerAI) EVT_CALL(DisablePlayerInput, FALSE) diff --git a/src/world/area_sam/sam_02/sam_02_3_rooms.c b/src/world/area_sam/sam_02/sam_02_3_rooms.c index f0a0591ef0..9f8f790d32 100644 --- a/src/world/area_sam/sam_02/sam_02_3_rooms.c +++ b/src/world/area_sam/sam_02/sam_02_3_rooms.c @@ -6,7 +6,7 @@ EvtScript N(EVS_SetDoorRot_LeftHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_LeftHouse) = { +EvtScript N(EVS_SetWallRot_LeftHouse) = { EVT_CALL(RotateGroup, MODEL_mc_sita, LVar0, 1, 0, 0) EVT_IF_GT(LVar0, 89) EVT_CALL(SetGroupEnabled, MODEL_mc_sita, 0) @@ -24,12 +24,12 @@ EvtScript N(EVS_DropDoor_LeftHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_LeftHouse) = { +EvtScript N(EVS_RoomListener_LeftHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 1) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) EVT_END_SWITCH @@ -43,7 +43,7 @@ EvtScript N(EVS_SetDoorRot_Shop) = { EVT_END }; -EvtScript N(EVS_MoveWalls_Shop) = { +EvtScript N(EVS_SetWallRot_Shop) = { EVT_CALL(RotateGroup, MODEL_t_ue, LVar0, 0, 0, 1) EVT_CALL(RotateGroup, MODEL_t_sita, LVar0, 0, 0, -1) EVT_IF_GT(LVar0, 89) @@ -56,18 +56,18 @@ EvtScript N(EVS_MoveWalls_Shop) = { EVT_END }; -EvtScript N(EVS_ToggleVis_Shop) = { +EvtScript N(EVS_RoomListener_Shop) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_t_naiso, 1) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_SWITCH(GB_StoryProgress) EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_MYSTERY) EVT_CASE_LT(STORY_CH7_MAYOR_MURDER_SOLVED) EVT_CASE_GE(STORY_CH7_MAYOR_MURDER_SOLVED) EVT_END_SWITCH - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_t_naiso, 0) EVT_END_SWITCH @@ -81,7 +81,7 @@ EvtScript N(EVS_SetDoorRot_ToadHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_ToadHouse) = { +EvtScript N(EVS_SetWallRot_ToadHouse) = { EVT_CALL(RotateGroup, MODEL_mk_ue, LVar0, 0, 0, 1) EVT_CALL(RotateGroup, MODEL_mk_sita, LVar0, 0, 0, -1) EVT_IF_GT(LVar0, 89) @@ -94,12 +94,12 @@ EvtScript N(EVS_MoveWalls_ToadHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_ToadHouse) = { +EvtScript N(EVS_RoomListener_ToadHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_k_naisou, 1) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_k_naisou, 0) EVT_END_SWITCH @@ -125,36 +125,36 @@ s32 N(InteriorNPCs_ToadHouse)[] = { EvtScript N(EVS_SetupRooms) = { // left house EVT_CALL(SetGroupEnabled, MODEL_m_naiso, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_LeftHouse)), - EVT_PTR(N(EVS_MoveWalls_LeftHouse)), + EVT_PTR(N(EVS_SetWallRot_LeftHouse)), EVT_PTR(N(EVS_DropDoor_LeftHouse)), - EVT_PTR(N(EVS_ToggleVis_LeftHouse)), + EVT_PTR(N(EVS_RoomListener_LeftHouse)), COLLIDER_c_doa, COLLIDER_o470, MODEL_min, EVT_PTR(N(InteriorNPCs_LeftHouse))) // shop EVT_CALL(SetGroupEnabled, MODEL_t_naiso, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_1, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_1, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_Shop)), - EVT_PTR(N(EVS_MoveWalls_Shop)), + EVT_PTR(N(EVS_SetWallRot_Shop)), NULL, - EVT_PTR(N(EVS_ToggleVis_Shop)), + EVT_PTR(N(EVS_RoomListener_Shop)), COLLIDER_o382, COLLIDER_o471, MODEL_ten, EVT_PTR(N(InteriorNPCs_Shop))) // toad house EVT_CALL(SetGroupEnabled, MODEL_k_naisou, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_ToadHouse)), - EVT_PTR(N(EVS_MoveWalls_ToadHouse)), + EVT_PTR(N(EVS_SetWallRot_ToadHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_ToadHouse)), + EVT_PTR(N(EVS_RoomListener_ToadHouse)), COLLIDER_k_doa, COLLIDER_o472, MODEL_kino, diff --git a/src/world/area_sam/sam_02/sam_02_4_npc.c b/src/world/area_sam/sam_02/sam_02_4_npc.c index 4543ace2da..d74121a3cc 100644 --- a/src/world/area_sam/sam_02/sam_02_4_npc.c +++ b/src/world/area_sam/sam_02/sam_02_4_npc.c @@ -374,7 +374,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin), .pos = { 35.0f, 0.0f, -365.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_ShopOwner), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -385,7 +385,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_ShiverToad), .pos = { 329.0f, 0.0f, -167.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ShiverToad), .drops = NPC_NO_DROPS, .animations = SHIVER_TOAD_RED_ANIMS, @@ -397,7 +397,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { 0.0f, 0.0f, 60.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_04), .drops = NPC_NO_DROPS, .territory = { @@ -420,7 +420,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { -400.0f, 0.0f, 60.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_05), .drops = NPC_NO_DROPS, .territory = { @@ -443,7 +443,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { 400.0f, 0.0f, 60.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_06), .drops = NPC_NO_DROPS, .territory = { @@ -466,7 +466,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin), .pos = { -237.0f, 0.0f, 273.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_07), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -480,7 +480,7 @@ StaticNpc N(NpcData_MysteryOnly)[] = { .settings = &N(NpcSettings_Penguin), .pos = { -380.0f, 0.0f, -140.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_02), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -491,7 +491,7 @@ StaticNpc N(NpcData_MysteryOnly)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { 200.0f, 0.0f, 60.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_03), .drops = NPC_NO_DROPS, .territory = { @@ -516,7 +516,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { -230.0f, 0.0f, 160.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_SAM, QUIZ_COUNT_SAM, QUIZ_MAP_SAM_02 }}, .drops = NPC_NO_DROPS, diff --git a/src/world/area_sam/sam_03/sam_03_3_npc1.c b/src/world/area_sam/sam_03/sam_03_3_npc1.c index 275738576b..fb416ff87c 100644 --- a/src/world/area_sam/sam_03/sam_03_3_npc1.c +++ b/src/world/area_sam/sam_03/sam_03_3_npc1.c @@ -150,7 +150,7 @@ StaticNpc N(NpcData_JrTroopa)[] = { .settings = &N(NpcSettings_JrTroopa), .pos = { 261.0f, 0.0f, -76.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_JrTroopa), .drops = NPC_NO_DROPS, .animations = JR_TROOPA_ANIMS, @@ -161,7 +161,7 @@ StaticNpc N(NpcData_JrTroopa)[] = { .settings = &N(NpcSettings_JrTroopa), .pos = { 261.0f, 0.0f, -76.0f }, .yaw = 270, - .flags = ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_20000000, + .flags = ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_20000000, .init = &N(EVS_NpcInit_JrTroopaHitbox), .drops = NPC_NO_DROPS, .animations = JR_TROOPA_ANIMS, diff --git a/src/world/area_sam/sam_04/sam_04_4_npc.c b/src/world/area_sam/sam_04/sam_04_4_npc.c index 13a940e48b..8eac400073 100644 --- a/src/world/area_sam/sam_04/sam_04_4_npc.c +++ b/src/world/area_sam/sam_04/sam_04_4_npc.c @@ -225,7 +225,7 @@ StaticNpc N(NpcData_Snowmen)[] = { .settings = &N(NpcSettings_Snowman), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Snowman_01), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -236,7 +236,7 @@ StaticNpc N(NpcData_Snowmen)[] = { .settings = &N(NpcSettings_Snowman), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Snowman_02), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -247,7 +247,7 @@ StaticNpc N(NpcData_Snowmen)[] = { .settings = &N(NpcSettings_Snowman), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Snowman_03), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -258,7 +258,7 @@ StaticNpc N(NpcData_Snowmen)[] = { .settings = &N(NpcSettings_Snowman), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Snowman_04), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -269,7 +269,7 @@ StaticNpc N(NpcData_Snowmen)[] = { .settings = &N(NpcSettings_Snowman), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Snowman_05), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -280,7 +280,7 @@ StaticNpc N(NpcData_Snowmen)[] = { .settings = &N(NpcSettings_Snowman), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Snowman_06), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -293,7 +293,7 @@ StaticNpc N(NpcData_Dummy) = { .settings = &N(NpcSettings_Snowman), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Dummy), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, diff --git a/src/world/area_sam/sam_05/sam_05_4_npc.c b/src/world/area_sam/sam_05/sam_05_4_npc.c index 9473bc0627..7193fc4fcc 100644 --- a/src/world/area_sam/sam_05/sam_05_4_npc.c +++ b/src/world/area_sam/sam_05/sam_05_4_npc.c @@ -167,7 +167,7 @@ StaticNpc N(NpcData_Monstar) = { .settings = &N(NpcSettings_Monstar), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Monstar), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -209,7 +209,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -220,7 +220,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -231,7 +231,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -242,7 +242,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -253,7 +253,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -264,7 +264,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -275,7 +275,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -286,7 +286,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -297,7 +297,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -308,7 +308,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -319,7 +319,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -330,7 +330,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -341,7 +341,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -352,7 +352,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -363,7 +363,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, @@ -374,7 +374,7 @@ StaticNpc N(NpcData_StarKids)[] = { .settings = &N(NpcSettings_Twink), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_StarKid), .drops = NPC_NO_DROPS, .animations = TWINK_ANIMS, diff --git a/src/world/area_sam/sam_06/sam_06_3_rooms.c b/src/world/area_sam/sam_06/sam_06_3_rooms.c index 337ef2a3b9..739e350fc0 100644 --- a/src/world/area_sam/sam_06/sam_06_3_rooms.c +++ b/src/world/area_sam/sam_06/sam_06_3_rooms.c @@ -6,7 +6,7 @@ EvtScript N(EVS_SetDoorRot_ToadHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_ToadHouse) = { +EvtScript N(EVS_SetWallRot_ToadHouse) = { EVT_CALL(RotateGroup, MODEL_khm_yane, LVar0, 0, 0, 1) EVT_CALL(RotateGroup, MODEL_khm_sita, LVar0, 0, 0, -1) EVT_IF_GT(LVar0, 89) @@ -19,12 +19,12 @@ EvtScript N(EVS_MoveWalls_ToadHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_ToadHouse) = { +EvtScript N(EVS_RoomListener_ToadHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_kh_naiso, 1) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_kh_naiso, 0) EVT_END_SWITCH @@ -38,7 +38,7 @@ EvtScript N(EVS_SetDoorRot_MerleHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_MerleHouse) = { +EvtScript N(EVS_SetWallRot_MerleHouse) = { EVT_CALL(RotateGroup, MODEL_km_yane, LVar0, 0, 0, 1) EVT_CALL(RotateGroup, MODEL_km_sita, LVar0, 0, 0, -1) EVT_IF_GT(LVar0, 89) @@ -51,17 +51,17 @@ EvtScript N(EVS_MoveWalls_MerleHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_MerleHouse) = { +EvtScript N(EVS_RoomListener_MerleHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_k_naiso, 1) EVT_CALL(EnableModel, MODEL_k_naiso, TRUE) - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_IF_LT(GB_StoryProgress, STORY_CH7_GOT_SNOWMAN_SCARF) EVT_CALL(DisablePlayerInput, TRUE) EVT_END_IF - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_k_naiso, 0) EVT_IF_LT(GB_StoryProgress, STORY_CH7_GOT_SNOWMAN_SCARF) @@ -78,7 +78,7 @@ EvtScript N(EVS_SetDoorRot_CookHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_CookHouse) = { +EvtScript N(EVS_SetWallRot_CookHouse) = { EVT_CALL(RotateGroup, MODEL_hm_yane, LVar0, 0, 0, 1) EVT_CALL(RotateGroup, MODEL_hm_sita, LVar0, 0, 0, -1) EVT_IF_GT(LVar0, 89) @@ -101,12 +101,12 @@ EvtScript N(EVS_MoveWalls_CookHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_CookHouse) = { +EvtScript N(EVS_RoomListener_CookHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_h_naiso, 1) - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_h_naiso, 0) EVT_END_SWITCH @@ -135,36 +135,36 @@ s32 N(InteriorNPCs_CookHouse)[] = { EvtScript N(EVS_SetupRooms) = { // toad house EVT_CALL(SetGroupEnabled, MODEL_kh_naiso, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_ToadHouse)), - EVT_PTR(N(EVS_MoveWalls_ToadHouse)), + EVT_PTR(N(EVS_SetWallRot_ToadHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_ToadHouse)), + EVT_PTR(N(EVS_RoomListener_ToadHouse)), COLLIDER_kh_d1, COLLIDER_kh_d2, MODEL_kinohuse, EVT_PTR(N(InteriorNPCs_ToadHouse))) // merle's house EVT_CALL(SetGroupEnabled, MODEL_k_naiso, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_MerleHouse)), - EVT_PTR(N(EVS_MoveWalls_MerleHouse)), + EVT_PTR(N(EVS_SetWallRot_MerleHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_MerleHouse)), + EVT_PTR(N(EVS_RoomListener_MerleHouse)), COLLIDER_k_d1, COLLIDER_k_d2, MODEL_k, EVT_PTR(N(InteriorNPCs_MerleHouse))) // cooking house EVT_CALL(SetGroupEnabled, MODEL_h_naiso, 0) - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_CookHouse)), - EVT_PTR(N(EVS_MoveWalls_CookHouse)), + EVT_PTR(N(EVS_SetWallRot_CookHouse)), NULL, - EVT_PTR(N(EVS_ToggleVis_CookHouse)), + EVT_PTR(N(EVS_RoomListener_CookHouse)), COLLIDER_h_doa1, COLLIDER_h_doa2, MODEL_hakun, diff --git a/src/world/area_sam/sam_06/sam_06_4_npc.c b/src/world/area_sam/sam_06/sam_06_4_npc.c index 1f142957d2..048a51c93b 100644 --- a/src/world/area_sam/sam_06/sam_06_4_npc.c +++ b/src/world/area_sam/sam_06/sam_06_4_npc.c @@ -75,14 +75,14 @@ MAP_STATIC_PAD(1,key_item); #include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList_FrostT)[] = { - ITEM_LETTER_TO_FROST_T, + ITEM_LETTER_CHAIN_FROST_T, ITEM_NONE }; EvtScript N(EVS_LetterPrompt_FrostT) = { EVT_CALL(N(LetterDelivery_Init), NPC_ShiverToad_03, ANIM_ShiverToad_Green_Talk, ANIM_ShiverToad_Green_Idle, - ITEM_LETTER_TO_FROST_T, ITEM_LETTER24, + ITEM_LETTER_CHAIN_FROST_T, ITEM_LETTER_CHAIN_GOOMPAPA_2, MSG_CH7_00FE, MSG_CH7_00FF, MSG_CH7_0100, MSG_CH7_0101, EVT_PTR(N(LetterList_FrostT))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -358,8 +358,8 @@ EvtScript N(EVS_Scene_Merle_EnterHouse) = { EVT_THREAD EVT_SET(LVar0, 0) EVT_SET(LVarF, MODEL_k) - EVT_CALL(SetNpcFlagBits, NPC_Merle, NPC_FLAG_NO_DROPS, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_StarKid_03, NPC_FLAG_NO_DROPS, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_Merle, NPC_FLAG_HIDING, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_StarKid_03, NPC_FLAG_HIDING, TRUE) EVT_CALL(N(func_80242538_D223C8)) EVT_END_THREAD EVT_THREAD @@ -893,7 +893,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 0.0f, 90.0f, -300.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Merle), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -925,7 +925,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_ShiverToad_Stationary), .pos = { -376.0f, 60.0f, 112.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ShiverToad_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -957,7 +957,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_ShiverToad_Wander), .pos = { 208.0f, 80.0f, 150.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ShiverToad_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1001,7 +1001,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_ShiverToad_Stationary), .pos = { 127.0f, 0.0f, 445.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ShiverToad_03), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1033,7 +1033,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_Ninji_Wander), .pos = { -99.0f, 90.0f, -90.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Ninji_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1077,7 +1077,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_Ninji_Wander), .pos = { -48.0f, 0.0f, 400.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Ninji_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1121,7 +1121,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_Ninji_Stationary), .pos = { 239.0f, 50.0f, 315.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Ninji_03), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1153,7 +1153,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_Ninji_Stationary), .pos = { 390.0f, 80.0f, 50.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Ninji_04), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -1185,7 +1185,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_StarKid_Wander), .pos = { -166.0f, 10.0f, 390.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_StarKid_01), .drops = STAR_KID_DROPS, .territory = { @@ -1208,7 +1208,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_StarKid), .pos = { 3.0f, 60.0f, 137.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_StarKid_02), .drops = STAR_KID_DROPS, .animations = STAR_KID_ANIMS, @@ -1219,7 +1219,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_StarKid), .pos = { 120.0f, 100.0f, -210.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_StarKid_03), .drops = STAR_KID_DROPS, .animations = STAR_KID_ANIMS, @@ -1230,7 +1230,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_StarKid), .pos = { 369.0f, 90.0f, 9.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_StarKid_04), .drops = STAR_KID_DROPS, .animations = STAR_KID_ANIMS, @@ -1241,7 +1241,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_StarKid), .pos = { 405.0f, 90.0f, -19.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_StarKid_05), .drops = STAR_KID_DROPS, .animations = STAR_KID_ANIMS, @@ -1252,7 +1252,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_StarKid), .pos = { 364.0f, 90.0f, -47.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_StarKid_06), .drops = STAR_KID_DROPS, .animations = STAR_KID_ANIMS, @@ -1263,7 +1263,7 @@ StaticNpc N(NpcData_Merle)[] = { .settings = &N(NpcSettings_ShiverToad_Stationary), .pos = { -274.0f, 60.0f, -28.0f }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_ShiverToad_04), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_sam/sam_08/sam_08_4_npc.c b/src/world/area_sam/sam_08/sam_08_4_npc.c index 395b5ea1ae..ae347cfc00 100644 --- a/src/world/area_sam/sam_08/sam_08_4_npc.c +++ b/src/world/area_sam/sam_08/sam_08_4_npc.c @@ -130,7 +130,7 @@ StaticNpc N(NpcData_Ambush)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_TrueKooperA), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -161,7 +161,7 @@ StaticNpc N(NpcData_Ambush)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_RealKooperA), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_Ambush)[] = { .settings = &N(NpcSettings_Duplighost), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Duplighost), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -232,7 +232,7 @@ EvtScript N(EVS_NpcIdle_TrueKooperB) = { EvtScript N(EVS_NpcInit_TrueKooperB) = { EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, TRUE) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAG_PASSIVE, 0) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_TrueKooperB))) EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_TrueKooperB))) EVT_IF_GE(GB_StoryProgress, STORY_CH7_DEFEATED_FIRST_DUPLIGHOST) @@ -254,7 +254,7 @@ EvtScript N(EVS_NpcIdle_FakeKooperB) = { EvtScript N(EVS_NpcInit_FakeKooperB) = { EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_100, TRUE) - EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_SELF, ENEMY_FLAG_PASSIVE, 0) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_FakeKooperB))) EVT_CALL(BindNpcHit, NPC_SELF, EVT_PTR(N(EVS_NpcHit_FakeKooperB))) EVT_IF_GE(GB_StoryProgress, STORY_CH7_DEFEATED_FIRST_DUPLIGHOST) @@ -270,7 +270,7 @@ StaticNpc N(NpcData_Hittable)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_TrueKooperB), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -301,7 +301,7 @@ StaticNpc N(NpcData_Hittable)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_800000 | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000 | ENEMY_FLAG_40000 | ENEMY_FLAG_100000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000 | ENEMY_FLAG_NO_DROPS | ENEMY_FLAG_IGNORE_TOUCH | ENEMY_FLAG_IGNORE_JUMP, .init = &N(EVS_NpcInit_FakeKooperB), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_sam/sam_11/sam_11_3_rooms.c b/src/world/area_sam/sam_11/sam_11_3_rooms.c index b2a80fec25..441da67ea7 100644 --- a/src/world/area_sam/sam_11/sam_11_3_rooms.c +++ b/src/world/area_sam/sam_11/sam_11_3_rooms.c @@ -6,7 +6,7 @@ EvtScript N(EVS_SetDoorRot_LeftHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_LeftHouse) = { +EvtScript N(EVS_SetWallRot_LeftHouse) = { EVT_CALL(RotateGroup, MODEL_g_ue, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, MODEL_g_sita, LVar0, 1, 0, 0) EVT_IF_GT(LVar0, 89) @@ -31,16 +31,16 @@ EvtScript N(EVS_DropDoor_LeftHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_LeftHouse) = { +EvtScript N(EVS_RoomListener_LeftHouse) = { EVT_SWITCH(LVar0) - EVT_CASE_EQ(0) + EVT_CASE_EQ(ROOM_UPDATE_ENTER_BEGIN) EVT_SET(AF_SAM_Snowing, FALSE) EVT_CALL(SetGroupEnabled, MODEL_g_naiso, 1) EVT_IF_LT(GB_StoryProgress, STORY_CH7_SPOKE_WITH_HERRINGWAY) EVT_ELSE EVT_CALL(EnableModel, MODEL_ana, FALSE) EVT_END_IF - EVT_CASE_EQ(2) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_BEGIN) EVT_IF_EQ(GB_StoryProgress, STORY_CH7_SPOKE_WITH_HERRINGWAY) EVT_IF_EQ(GF_SAM11_LeftHerringwaysHouse, FALSE) EVT_THREAD @@ -63,7 +63,7 @@ EvtScript N(EVS_ToggleVis_LeftHouse) = { EVT_END_THREAD EVT_END_IF EVT_END_IF - EVT_CASE_EQ(3) + EVT_CASE_EQ(ROOM_UPDATE_EXIT_END) EVT_SET(AF_SAM_Snowing, TRUE) EVT_CALL(SetGroupEnabled, MODEL_g_naiso, 0) EVT_CALL(EnableModel, MODEL_gn_dan1, TRUE) @@ -85,7 +85,7 @@ EvtScript N(EVS_SetDoorRot_RightHouse) = { EVT_END }; -EvtScript N(EVS_MoveWalls_RightHouse) = { +EvtScript N(EVS_SetWallRot_RightHouse) = { EVT_CALL(RotateGroup, MODEL_s_ue, LVar0, 1, 0, 0) EVT_CALL(RotateGroup, MODEL_s_sita, LVar0, 1, 0, 0) EVT_IF_GT(LVar0, 89) @@ -143,7 +143,7 @@ EvtScript N(EVS_UnlockPrompt_LeftHouse) = { EVT_END }; -EvtScript N(EVS_ToggleVis_RightHouse) = { +EvtScript N(EVS_RoomListener_RightHouse) = { EVT_SWITCH(LVar0) EVT_CASE_EQ(0) EVT_SET(AF_SAM_Snowing, FALSE) @@ -169,12 +169,12 @@ s32 N(InteriorNPCs_RightHouse)[] = { EvtScript N(EVS_SetupLockedHouse) = { // lower right house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_RightHouse)), - EVT_PTR(N(EVS_MoveWalls_RightHouse)), + EVT_PTR(N(EVS_SetWallRot_RightHouse)), EVT_PTR(N(EVS_DropDoor_RightHouse)), - EVT_PTR(N(EVS_ToggleVis_RightHouse)), + EVT_PTR(N(EVS_RoomListener_RightHouse)), COLLIDER_o540, COLLIDER_o591, MODEL_sou, @@ -187,12 +187,12 @@ EvtScript N(EVS_SetupRooms) = { EVT_CALL(SetGroupEnabled, MODEL_g_naiso, 0) EVT_CALL(EnableModel, MODEL_gn_dan1, TRUE) // lower left house - EVT_CALL(MakeDoorAdvanced, - VIS_GROUP_PAIR(VIS_GROUP_0, VIS_GROUP_2), + EVT_CALL(CreateMapRoom, + PACK_ROOM_FLAGS(VIS_GROUP_0, ROOM_DOOR_LEFT_HINGE_OPENS_OUT), EVT_PTR(N(EVS_SetDoorRot_LeftHouse)), - EVT_PTR(N(EVS_MoveWalls_LeftHouse)), + EVT_PTR(N(EVS_SetWallRot_LeftHouse)), EVT_PTR(N(EVS_DropDoor_LeftHouse)), - EVT_PTR(N(EVS_ToggleVis_LeftHouse)), + EVT_PTR(N(EVS_RoomListener_LeftHouse)), COLLIDER_o541, COLLIDER_o590, MODEL_gon, @@ -212,22 +212,22 @@ EvtScript N(EVS_HideRightHouse) = { EVT_SET(LVar0, 0) EVT_EXEC_WAIT(N(EVS_DropDoor_RightHouse)) EVT_SET(LVar0, 0) - EVT_EXEC_WAIT(N(EVS_MoveWalls_RightHouse)) + EVT_EXEC_WAIT(N(EVS_SetWallRot_RightHouse)) EVT_SET(LVar0, 0) EVT_EXEC_WAIT(N(EVS_SetDoorRot_RightHouse)) - EVT_SET(LVar0, 3) - EVT_EXEC_WAIT(N(EVS_ToggleVis_RightHouse)) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_EXEC_WAIT(N(EVS_RoomListener_RightHouse)) EVT_RETURN EVT_END }; EvtScript N(EVS_RevealRightHouse) = { - EVT_SET(LVar0, 0) - EVT_EXEC_WAIT(N(EVS_ToggleVis_RightHouse)) + EVT_SET(LVar0, ROOM_UPDATE_ENTER_BEGIN) + EVT_EXEC_WAIT(N(EVS_RoomListener_RightHouse)) EVT_SET(LVar0, 0) EVT_EXEC_WAIT(N(EVS_SetDoorRot_RightHouse)) EVT_SET(LVar0, 90) - EVT_EXEC_WAIT(N(EVS_MoveWalls_RightHouse)) + EVT_EXEC_WAIT(N(EVS_SetWallRot_RightHouse)) EVT_SET(LVar0, 90) EVT_EXEC_WAIT(N(EVS_DropDoor_RightHouse)) EVT_RETURN @@ -235,12 +235,12 @@ EvtScript N(EVS_RevealRightHouse) = { }; EvtScript N(EVS_RevealLeftHouse) = { - EVT_SET(LVar0, 0) - EVT_EXEC_WAIT(N(EVS_ToggleVis_LeftHouse)) + EVT_SET(LVar0, ROOM_UPDATE_ENTER_BEGIN) + EVT_EXEC_WAIT(N(EVS_RoomListener_LeftHouse)) EVT_SET(LVar0, 0) EVT_EXEC_WAIT(N(EVS_SetDoorRot_LeftHouse)) EVT_SET(LVar0, 90) - EVT_EXEC_WAIT(N(EVS_MoveWalls_LeftHouse)) + EVT_EXEC_WAIT(N(EVS_SetWallRot_LeftHouse)) EVT_SET(LVar0, 90) EVT_EXEC_WAIT(N(EVS_DropDoor_LeftHouse)) EVT_RETURN diff --git a/src/world/area_sam/sam_11/sam_11_4_entity.c b/src/world/area_sam/sam_11/sam_11_4_entity.c index 06c3a9a06d..afb2a32f47 100644 --- a/src/world/area_sam/sam_11/sam_11_4_entity.c +++ b/src/world/area_sam/sam_11/sam_11_4_entity.c @@ -49,17 +49,17 @@ API_CALLABLE(N(UpdateHouseShowHide)) { } API_CALLABLE(N(SetEntityHideMode1)) { - gEntityHideMode = 1; + gEntityHideMode = ENTITY_HIDE_MODE_1; return ApiStatus_DONE2; } API_CALLABLE(N(SetEntityHideMode2)) { - gEntityHideMode = 2; + gEntityHideMode = ENTITY_HIDE_MODE_2; return ApiStatus_DONE2; } API_CALLABLE(N(SetEntityHideMode0)) { - gEntityHideMode = 0; + gEntityHideMode = ENTITY_HIDE_MODE_0; return ApiStatus_DONE2; } diff --git a/src/world/area_sam/sam_11/sam_11_5_npc.c b/src/world/area_sam/sam_11/sam_11_5_npc.c index 2e60201d6a..3661dbb13e 100644 --- a/src/world/area_sam/sam_11/sam_11_5_npc.c +++ b/src/world/area_sam/sam_11/sam_11_5_npc.c @@ -547,7 +547,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin), .pos = { -275.0f, 0.0f, 100.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_PenguinPatrol), .drops = NPC_NO_DROPS, .animations = PENGUIN_PATROL_ANIMS, @@ -558,7 +558,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_PenguinSentry), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -569,7 +569,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Herringway), .drops = NPC_NO_DROPS, .animations = HERRINGWAY_ANIMS, @@ -580,7 +580,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin), .pos = { 200.0f, 0.0f, -110.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_04), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -591,7 +591,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin), .pos = { -200.0f, 0.0f, -110.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_05), .drops = NPC_NO_DROPS, .animations = PENGUIN_ANIMS, @@ -602,7 +602,7 @@ StaticNpc N(NpcData_Townsfolk)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { 330.0f, 0.0f, 300.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_06), .drops = NPC_NO_DROPS, .territory = { @@ -628,7 +628,7 @@ StaticNpc N(NpcData_PondPenginsBefore)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { -100.0f, -10.0f, 180.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_02), .drops = NPC_NO_DROPS, .territory = { @@ -651,7 +651,7 @@ StaticNpc N(NpcData_PondPenginsBefore)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { 57.0f, -10.0f, 194.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_03), .drops = NPC_NO_DROPS, .territory = { @@ -677,7 +677,7 @@ StaticNpc N(NpcData_PondPenginsAfter)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { -323.0f, 0.0f, 160.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_02), .drops = NPC_NO_DROPS, .territory = { @@ -700,7 +700,7 @@ StaticNpc N(NpcData_PondPenginsAfter)[] = { .settings = &N(NpcSettings_Penguin_Wander), .pos = { 363.0f, 0.0f, 213.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Penguin_03), .drops = NPC_NO_DROPS, .territory = { @@ -726,7 +726,7 @@ StaticNpc N(NpcData_Tourists)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -400.0f, 0.0f, 230.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toadette_01), .drops = NPC_NO_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -737,7 +737,7 @@ StaticNpc N(NpcData_Tourists)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -350.0f, 0.0f, 230.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toadette_02), .drops = NPC_NO_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -748,7 +748,7 @@ StaticNpc N(NpcData_Tourists)[] = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { -375.0f, 0.0f, 220.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Toadette_03), .drops = NPC_NO_DROPS, .animations = TOADETTE_PINK_ANIMS, @@ -987,7 +987,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = NPC_NO_DROPS, .animations = KOLORADO_ANIMS, @@ -997,7 +997,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Archeologist_01), .drops = NPC_NO_DROPS, .animations = ARCHEOLOGIST_ANIMS, @@ -1007,7 +1007,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Archeologist_01), .drops = NPC_NO_DROPS, .animations = ARCHEOLOGIST_ANIMS, @@ -1017,7 +1017,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Archeologist_01), .drops = NPC_NO_DROPS, .animations = { @@ -1044,7 +1044,7 @@ StaticNpc N(NpcData_Epilogue)[] = { .settings = &N(NpcSettings_Kooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_200000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Archeologist_01), .drops = NPC_NO_DROPS, .animations = { @@ -1073,7 +1073,7 @@ StaticNpc N(NpcData_ChuckQuizmo) = { .settings = &N(NpcSettings_ChuckQuizmo), .pos = { 0.0f, 0.0f, -150.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .initVarCount = 1, .initVar = { .bytes = { 0, QUIZ_AREA_SAM, QUIZ_COUNT_SAM, QUIZ_MAP_SAM_11 }}, .drops = NPC_NO_DROPS, diff --git a/src/world/area_sam/sam_12/sam_12_3_npc.c b/src/world/area_sam/sam_12/sam_12_3_npc.c index 9c551a6af6..32e49252cf 100644 --- a/src/world/area_sam/sam_12/sam_12_3_npc.c +++ b/src/world/area_sam/sam_12/sam_12_3_npc.c @@ -15,7 +15,7 @@ StaticNpc N(NpcData_Merlar) = { .settings = &N(NpcSettings_Merlar), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 180, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Merlar), .drops = NPC_NO_DROPS, .animations = MERLAR_ANIMS, diff --git a/src/world/area_sbk/sbk_02/sbk_02_4_npc.c b/src/world/area_sbk/sbk_02/sbk_02_4_npc.c index 99e461e92c..e894813703 100644 --- a/src/world/area_sbk/sbk_02/sbk_02_4_npc.c +++ b/src/world/area_sbk/sbk_02/sbk_02_4_npc.c @@ -256,7 +256,7 @@ StaticNpc N(NpcData_Mamar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Mamar), .drops = MAMAR_DROPS, .animations = MAMAR_ANIMS, @@ -267,7 +267,7 @@ StaticNpc N(NpcData_TradingToad) = { .settings = &N(NpcSettings_Toad_Stationary), .pos = { 0.0f, 2.0f, 150.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_TradingToad), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_sbk/sbk_30/sbk_30_3_npc.c b/src/world/area_sbk/sbk_30/sbk_30_3_npc.c index 7e5aca923c..6f3497307a 100644 --- a/src/world/area_sbk/sbk_30/sbk_30_3_npc.c +++ b/src/world/area_sbk/sbk_30/sbk_30_3_npc.c @@ -299,7 +299,7 @@ StaticNpc N(NpcData_Archeologist_02)[] = { .settings = &N(NpcSettings_Kolorado), .pos = { 200.0f, 0.0f, -100.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Kolorado), .drops = NPC_NO_DROPS, .animations = KOLORADO_ANIMS, @@ -310,7 +310,7 @@ StaticNpc N(NpcData_Archeologist_02)[] = { .settings = &N(NpcSettings_Archeologist_01), .pos = { 238.0f, 0.0f, -112.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Archeologist_01), .drops = NPC_NO_DROPS, .territory = { @@ -333,7 +333,7 @@ StaticNpc N(NpcData_Archeologist_02)[] = { .settings = &N(NpcSettings_Archeologist_01), .pos = { 170.0f, 0.0f, -190.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Archeologist_02), .drops = NPC_NO_DROPS, .territory = { diff --git a/src/world/area_sbk/sbk_30/sbk_30_4_foliage.c b/src/world/area_sbk/sbk_30/sbk_30_4_foliage.c index 1706974c5b..7c82972527 100644 --- a/src/world/area_sbk/sbk_30/sbk_30_4_foliage.c +++ b/src/world/area_sbk/sbk_30/sbk_30_4_foliage.c @@ -9,7 +9,7 @@ FoliageDropList N(Tree1_Drops) = { .count = 1, .drops = { { - .itemID = ITEM_LETTER02, + .itemID = ITEM_LETTER_TO_GOOMPA, .pos = { 204, 92, -220 }, .spawnMode = ITEM_SPAWN_MODE_FALL_NEVER_VANISH, .pickupFlag = GF_SBK30_Tree2_Letter02, diff --git a/src/world/area_sbk/sbk_34/sbk_34_2_npc.c b/src/world/area_sbk/sbk_34/sbk_34_2_npc.c index 6ed899f2cd..ccc40674eb 100644 --- a/src/world/area_sbk/sbk_34/sbk_34_2_npc.c +++ b/src/world/area_sbk/sbk_34/sbk_34_2_npc.c @@ -9,14 +9,14 @@ NpcSettings N(NpcSettings_Nomadimouse) = { #include "world/common/complete/LetterDelivery.inc.c" s32 N(LetterList_Nomadimouse)[] = { - ITEM_LETTER08, + ITEM_LETTER_TO_NOMADIMOUSE, ITEM_NONE }; EvtScript N(EVS_Nomadimouse_LetterDelivery) = { EVT_CALL(N(LetterDelivery_Init), NPC_Nomadimouse, ANIM_Nomadimouse_Talk, ANIM_Nomadimouse_Idle, - ITEM_LETTER08, ITEM_NONE, + ITEM_LETTER_TO_NOMADIMOUSE, ITEM_NONE, MSG_CH2_005B, MSG_CH2_005C, MSG_CH2_005D, MSG_CH2_005E, EVT_PTR(N(LetterList_Nomadimouse))) EVT_EXEC_WAIT(N(EVS_DoLetterDelivery)) @@ -83,7 +83,7 @@ StaticNpc N(NpcData_Nomadimouse)[] = { .settings = &N(NpcSettings_Nomadimouse), .pos = { 114.0f, 0.0f, -50.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Nomadimouse), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -115,7 +115,7 @@ StaticNpc N(NpcData_Nomadimouse)[] = { .settings = &N(NpcSettings_Nomadimouse), .pos = { 134.0f, 0.0f, -50.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Sack), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_sbk/sbk_36/sbk_36_2_foliage.c b/src/world/area_sbk/sbk_36/sbk_36_2_foliage.c index 030290cd27..ab4c11b44d 100644 --- a/src/world/area_sbk/sbk_36/sbk_36_2_foliage.c +++ b/src/world/area_sbk/sbk_36/sbk_36_2_foliage.c @@ -152,7 +152,7 @@ FoliageDropList N(Tree9_Drops) = { .count = 1, .drops = { { - .itemID = ITEM_LETTER03, + .itemID = ITEM_LETTER_TO_MORT_T, .pos = { 366, 92, 101 }, .spawnMode = ITEM_SPAWN_MODE_FALL_NEVER_VANISH, .pickupFlag = GF_SBK36_Tree9_Letter03, diff --git a/src/world/area_tik/tik_01/tik_01_5_npc.c b/src/world/area_tik/tik_01/tik_01_5_npc.c index 8d5e0f2f32..ec6922650d 100644 --- a/src/world/area_tik/tik_01/tik_01_5_npc.c +++ b/src/world/area_tik/tik_01/tik_01_5_npc.c @@ -92,7 +92,7 @@ StaticNpc N(NpcData_Blooper) = { .settings = &N(NpcSettings_Blooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Blooper), .drops = BLOOPER_NO_DROPS, .animations = BLOOPER_ANIMS, diff --git a/src/world/area_tik/tik_02/tik_02_5_npc.c b/src/world/area_tik/tik_02/tik_02_5_npc.c index 163ee718f8..721ff68bc1 100644 --- a/src/world/area_tik/tik_02/tik_02_5_npc.c +++ b/src/world/area_tik/tik_02/tik_02_5_npc.c @@ -110,7 +110,7 @@ StaticNpc N(NpcData_Blooper) = { .settings = &N(NpcSettings_Blooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Blooper), .drops = BLOOPER_NO_DROPS, .animations = BLOOPER_ANIMS, diff --git a/src/world/area_tik/tik_04/tik_04_5_npc.c b/src/world/area_tik/tik_04/tik_04_5_npc.c index b11c5107f0..a9e08b6769 100644 --- a/src/world/area_tik/tik_04/tik_04_5_npc.c +++ b/src/world/area_tik/tik_04/tik_04_5_npc.c @@ -22,7 +22,7 @@ EvtScript N(EVS_NpcIdle_SpikedGloomba) = { EVT_GOTO(100) EVT_END_IF EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_SpikedGoomba_Dark_Run) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_NO_AI, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8 | NPC_FLAG_20, FALSE) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, TRUE) EVT_CALL(SetNpcSpeed, NPC_SELF, 2) EVT_CALL(GetSelfNpcID, LVar0) diff --git a/src/world/area_tik/tik_08/tik_08_5_npc.c b/src/world/area_tik/tik_08/tik_08_5_npc.c index 40085e770e..fa6007226d 100644 --- a/src/world/area_tik/tik_08/tik_08_5_npc.c +++ b/src/world/area_tik/tik_08/tik_08_5_npc.c @@ -109,7 +109,7 @@ StaticNpc N(NpcData_Blooper) = { .settings = &N(NpcSettings_Blooper), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_Blooper), .drops = BLOOPER_NO_DROPS, .animations = BLOOPER_ANIMS, diff --git a/src/world/area_tik/tik_10/tik_10_4_entity.c b/src/world/area_tik/tik_10/tik_10_4_entity.c index 67a0628663..996264be9b 100644 --- a/src/world/area_tik/tik_10/tik_10_4_entity.c +++ b/src/world/area_tik/tik_10/tik_10_4_entity.c @@ -9,7 +9,7 @@ EvtScript N(EVS_MakeEntities) = { EVT_MAKE_SUPER_BLOCK(-140, 160, -40, 0) EVT_CALL(CreatePushBlockGrid, 0, 7, 6, -64, -15, -94, 0) - EVT_CALL(SetPushBlock, 0, 1, 4, 1) + EVT_CALL(SetPushBlock, 0, 1, 4, PUSH_GRID_BLOCK) EVT_CALL(MakeEntity, EVT_PTR(Entity_HiddenYellowBlock), -52, 70, -32, 0, ITEM_COIN, MAKE_ENTITY_END) EVT_CALL(AssignBlockFlag, GF_TIK10_HiddenItem_CoinA) EVT_CALL(UseDynamicShadow, TRUE) diff --git a/src/world/area_tik/tik_15/tik_15_5_npc.c b/src/world/area_tik/tik_15/tik_15_5_npc.c index 113f14e588..ee04b5a1d1 100644 --- a/src/world/area_tik/tik_15/tik_15_5_npc.c +++ b/src/world/area_tik/tik_15/tik_15_5_npc.c @@ -131,7 +131,7 @@ StaticNpc N(NpcData_RipCheato) = { .settings = &N(NpcSettings_RipCheato), .pos = { -80.0f, -10.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_RipCheato), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_trd/trd_00/trd_00_3_npc.c b/src/world/area_trd/trd_00/trd_00_3_npc.c index b198bff535..234e08ca84 100644 --- a/src/world/area_trd/trd_00/trd_00_3_npc.c +++ b/src/world/area_trd/trd_00/trd_00_3_npc.c @@ -49,7 +49,7 @@ EvtScript N(EVS_NpcIdle_KoopaBros) = { EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1) EVT_END_THREAD EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaBros_Black_Anim03) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(4.5)) EVT_CALL(NpcMoveTo, NPC_SELF, -556, 180, 0) EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0)) @@ -309,7 +309,7 @@ StaticNpc N(NpcData_KoopaBros) = { .settings = &N(NpcSettings_KoopaBros), .pos = { -469.0f, 0.0f, 101.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -341,7 +341,7 @@ StaticNpc N(NpcData_Eldstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Eldstar), .drops = ELDSTAR_DROPS, .territory = { diff --git a/src/world/area_trd/trd_01/trd_01_3_npc.c b/src/world/area_trd/trd_01/trd_01_3_npc.c index d372caa7d9..cd9d472951 100644 --- a/src/world/area_trd/trd_01/trd_01_3_npc.c +++ b/src/world/area_trd/trd_01/trd_01_3_npc.c @@ -22,8 +22,8 @@ API_CALLABLE(N(SetNewWanderCenterPos)) { EvtScript N(EVS_NpcIdle_KoopaTroopa_02) = { EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(GetSelfNpcID, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetNpcPos, NPC_SELF, 45, -30, 20) @@ -79,7 +79,7 @@ EvtScript N(EVS_NpcIdle_KoopaTroopa_02) = { EVT_END_IF EVT_WAIT(10) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8, FALSE) EVT_CALL(GetSelfNpcID, LVar0) EVT_IF_EQ(LVar0, 1) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(3.0)) @@ -93,8 +93,8 @@ EvtScript N(EVS_NpcIdle_KoopaTroopa_02) = { EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(1.5)) EVT_CALL(N(SetNewWanderCenterPos)) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_ENABLE_HIT_SCRIPT, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_8, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_KoopaTroopa_Wander))) EVT_RETURN EVT_END @@ -149,7 +149,7 @@ StaticNpc N(NpcData_KoopaTroopa_01) = { .settings = &N(NpcSettings_KoopaTroopa_Wander), .pos = { 260.0f, 0.0f, 30.0f }, .yaw = 0, - .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_KoopaTroopa_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_trd/trd_03/trd_03_3_npc.c b/src/world/area_trd/trd_03/trd_03_3_npc.c index b1a4b4bdf6..6df2fafbde 100644 --- a/src/world/area_trd/trd_03/trd_03_3_npc.c +++ b/src/world/area_trd/trd_03/trd_03_3_npc.c @@ -164,9 +164,9 @@ EvtScript N(EVS_NpcIdle_KoopaTroopa_02) = { EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaTroopa_Run) EVT_CALL(SetNpcSpeed, NPC_SELF, EVT_FLOAT(7.0)) EVT_CALL(NpcMoveTo, NPC_SELF, 35, -130, 0) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(NpcMoveTo, NPC_SELF, 90, -130, 0) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) EVT_CALL(NpcMoveTo, NPC_SELF, 105, 10, 0) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaTroopa_Walk) EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_KoopaTroopa_Wander))) @@ -185,7 +185,7 @@ StaticNpc N(NpcData_KoopaBros) = { .settings = &N(NpcSettings_KoopaBros), .pos = { -569.0f, 0.0f, -57.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_trd/trd_04/trd_04_3_npc.c b/src/world/area_trd/trd_04/trd_04_3_npc.c index 6c661bacf5..02ffafc2be 100644 --- a/src/world/area_trd/trd_04/trd_04_3_npc.c +++ b/src/world/area_trd/trd_04/trd_04_3_npc.c @@ -58,7 +58,7 @@ StaticNpc N(NpcData_KoopaTroopa_Patrol) = { .settings = &N(NpcSettings_KoopaTroopa_Patrol), .pos = { 220.0f, 0.0f, 30.0f }, .yaw = 90, - .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_NO_DROPS, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_trd/trd_05/trd_05_4_npc.c b/src/world/area_trd/trd_05/trd_05_4_npc.c index 5764730246..6d154e2944 100644 --- a/src/world/area_trd/trd_05/trd_05_4_npc.c +++ b/src/world/area_trd/trd_05/trd_05_4_npc.c @@ -207,7 +207,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -238,7 +238,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_KoopaBros), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_trd/trd_06/trd_06_2_falling.c b/src/world/area_trd/trd_06/trd_06_2_falling.c index 06cf72d9cc..8c5e1bd3fb 100644 --- a/src/world/area_trd/trd_06/trd_06_2_falling.c +++ b/src/world/area_trd/trd_06/trd_06_2_falling.c @@ -301,7 +301,7 @@ EvtScript N(EVS_Scene_FallIntoCell) = { EVT_EXEC_WAIT(N(EVS_PlayerFalling)) EVT_CALL(InterpNpcYaw, NPC_Bombette, 90, 0) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_4 | NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_100, TRUE) EVT_EXEC_WAIT(N(EVS_PartnerFalling)) EVT_CALL(InterpNpcYaw, NPC_Bombette, 270, 0) EVT_WAIT(20) @@ -309,7 +309,7 @@ EvtScript N(EVS_Scene_FallIntoCell) = { EVT_CALL(SpeakToPlayer, NPC_Bombette, ANIM_WorldBombette_Talk, ANIM_WorldBombette_Idle, 0, MSG_CH1_00D8) EVT_CALL(N(EnableFallingAnimation)) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_100, FALSE) EVT_CALL(N(DeleteFallingSprite)) EVT_THREAD EVT_CALL(SetNpcRotation, NPC_PARTNER, 0, 0, 0) diff --git a/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c b/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c index ff37114a08..e9307b554b 100644 --- a/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c +++ b/src/world/area_trd/trd_06/trd_06_3_npc_prisoners.c @@ -343,7 +343,7 @@ StaticNpc N(NpcData_Bombette) = { .settings = &N(NpcSettings_Bobomb), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bombette), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -377,7 +377,7 @@ StaticNpc N(NpcData_Jailers)[] = { .settings = &N(NpcSettings_KoopaTroopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_KoopaTroopa), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -413,7 +413,7 @@ StaticNpc N(NpcData_Jailers)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Bobomb_Jailer), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -444,7 +444,7 @@ StaticNpc N(NpcData_Jailers)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Bobomb_Jailer), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -478,7 +478,7 @@ StaticNpc N(NpcData_Inmates)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { 25.0f, 0.0f, 127.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bobomb_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -517,7 +517,7 @@ StaticNpc N(NpcData_Inmates)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { -30.0f, 0.0f, 130.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bobomb_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -556,7 +556,7 @@ StaticNpc N(NpcData_Inmates)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { -140.0f, 0.0f, -90.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bobomb_03), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -595,7 +595,7 @@ StaticNpc N(NpcData_Inmates)[] = { .settings = &N(NpcSettings_Bobomb), .pos = { -75.0f, 0.0f, -80.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Bobomb_04), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c b/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c index 8a393d3ba7..e852735e21 100644 --- a/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c +++ b/src/world/area_trd/trd_06/trd_06_4_npc_koopa_bros.c @@ -52,7 +52,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { 60.0f, 0.0f, -60.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = KOOPA_BROS_DROPS, .territory = { .wander = { @@ -73,7 +73,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { 60.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = KOOPA_BROS_DROPS, .territory = { .wander = { @@ -94,7 +94,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { -10.0f, 0.0f, -60.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = KOOPA_BROS_DROPS, .territory = { .wander = { @@ -115,7 +115,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .drops = KOOPA_BROS_DROPS, .territory = { .wander = { diff --git a/src/world/area_trd/trd_07/trd_07_2_npc.c b/src/world/area_trd/trd_07/trd_07_2_npc.c index 805b4780da..7de42995b3 100644 --- a/src/world/area_trd/trd_07/trd_07_2_npc.c +++ b/src/world/area_trd/trd_07/trd_07_2_npc.c @@ -28,7 +28,7 @@ EvtScript N(EVS_NpcDefeat_KoopaTroopa) = { }; EvtScript N(EVS_NpcInit_KoopaTroopa) = { - EVT_CALL(SetSelfEnemyFlags, ENEMY_FLAG_800000) + EVT_CALL(SetSelfEnemyFlags, ENEMY_FLAG_NO_DROPS) EVT_CALL(BindNpcDefeat, NPC_SELF, EVT_PTR(N(EVS_NpcDefeat_KoopaTroopa))) EVT_IF_EQ(GF_TRD07_Defeated_DungeonAmbush, TRUE) EVT_CALL(RemoveNpc, NPC_SELF) diff --git a/src/world/area_trd/trd_08/trd_08_3_npc.c b/src/world/area_trd/trd_08/trd_08_3_npc.c index 7baea6708f..9f849eca53 100644 --- a/src/world/area_trd/trd_08/trd_08_3_npc.c +++ b/src/world/area_trd/trd_08/trd_08_3_npc.c @@ -136,7 +136,7 @@ StaticNpc N(NpcData_00)[] = { .settings = &N(NpcSettings_FireBar_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -146,7 +146,7 @@ StaticNpc N(NpcData_00)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -156,7 +156,7 @@ StaticNpc N(NpcData_00)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -166,7 +166,7 @@ StaticNpc N(NpcData_00)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_05)[] = { .settings = &N(NpcSettings_FireBar_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -189,7 +189,7 @@ StaticNpc N(NpcData_05)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -199,7 +199,7 @@ StaticNpc N(NpcData_05)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -209,7 +209,7 @@ StaticNpc N(NpcData_05)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, diff --git a/src/world/area_trd/trd_09/trd_09_3_npc.c b/src/world/area_trd/trd_09/trd_09_3_npc.c index 8bae854965..87b1968de3 100644 --- a/src/world/area_trd/trd_09/trd_09_3_npc.c +++ b/src/world/area_trd/trd_09/trd_09_3_npc.c @@ -626,7 +626,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros_Red), .pos = { 1590.0f, 60.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .initVarCount = 1, .initVar = { .value = 0 }, }, @@ -635,7 +635,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros_Green), .pos = { 1590.0f, 60.0f, -10.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .initVarCount = 1, .initVar = { .value = 0 }, }, @@ -644,7 +644,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros_Yellow), .pos = { 1605.0f, 60.0f, 5.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .initVarCount = 1, .initVar = { .value = 0 }, }, @@ -653,7 +653,7 @@ StaticNpc N(NpcData_KoopaBros)[] = { .settings = &N(NpcSettings_KoopaBros_Black), .pos = { 1620.0f, 60.0f, 20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .initVarCount = 1, .initVar = { .value = 0 }, }, diff --git a/src/world/area_trd/trd_10/trd_10_2_npc.c b/src/world/area_trd/trd_10/trd_10_2_npc.c index 42a73ade26..e8b9950268 100644 --- a/src/world/area_trd/trd_10/trd_10_2_npc.c +++ b/src/world/area_trd/trd_10/trd_10_2_npc.c @@ -341,7 +341,7 @@ StaticNpc N(NpcData_KoopaBros_01)[] = { .settings = &N(NpcSettings_KoopaBros_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -371,7 +371,7 @@ StaticNpc N(NpcData_KoopaBros_01)[] = { .settings = &N(NpcSettings_KoopaBros_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -401,7 +401,7 @@ StaticNpc N(NpcData_KoopaBros_01)[] = { .settings = &N(NpcSettings_KoopaBros_03), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, @@ -431,7 +431,7 @@ StaticNpc N(NpcData_KoopaBros_01)[] = { .settings = &N(NpcSettings_KoopaBros_04), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_800000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_NO_DROPS, .drops = { .dropFlags = NPC_DROP_FLAG_80, .heartDrops = NO_DROPS, diff --git a/src/world/area_tst/tst_04/tst_04_4_npc.c b/src/world/area_tst/tst_04/tst_04_4_npc.c index b5fca186e6..edab02989b 100644 --- a/src/world/area_tst/tst_04/tst_04_4_npc.c +++ b/src/world/area_tst/tst_04/tst_04_4_npc.c @@ -48,7 +48,7 @@ NpcSettings N(NpcSettings_Goompa) = { .aux = &N(EVS_NpcAux_Goompa), .onDefeat = &N(EVS_NpcDefeat_Goompa), .unk_24 = 200, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4, }; StaticNpc N(NpcData_GoombaFamily) = { diff --git a/src/world/area_tst/tst_13/tst_13_1_main.c b/src/world/area_tst/tst_13/tst_13_1_main.c index d929fd6829..9db64a14ad 100644 --- a/src/world/area_tst/tst_13/tst_13_1_main.c +++ b/src/world/area_tst/tst_13/tst_13_1_main.c @@ -90,7 +90,7 @@ NpcSettings N(NpcSettings_00) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_00), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_01) = { @@ -99,7 +99,7 @@ NpcSettings N(NpcSettings_01) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_01), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_02) = { @@ -108,7 +108,7 @@ NpcSettings N(NpcSettings_02) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_02), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_03) = { @@ -117,7 +117,7 @@ NpcSettings N(NpcSettings_03) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_03), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_04) = { @@ -126,7 +126,7 @@ NpcSettings N(NpcSettings_04) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_04), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_05) = { @@ -135,7 +135,7 @@ NpcSettings N(NpcSettings_05) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_05), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_06) = { @@ -144,7 +144,7 @@ NpcSettings N(NpcSettings_06) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_06), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_07) = { @@ -153,7 +153,7 @@ NpcSettings N(NpcSettings_07) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_07), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_08) = { @@ -162,7 +162,7 @@ NpcSettings N(NpcSettings_08) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_08), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; NpcSettings N(NpcSettings_09) = { @@ -171,7 +171,7 @@ NpcSettings N(NpcSettings_09) = { .radius = 24, .otherAI = &N(EVS_NpcAuxAI_00), .onInteract = &N(EVS_NpcInteract_09), - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, }; StaticNpc N(NpcData_Testing)[] = { @@ -180,7 +180,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_00), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -189,7 +189,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_01), .pos = { 20.0f, 0.0f, 20.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -198,7 +198,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_02), .pos = { 40.0f, 0.0f, 40.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -207,7 +207,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_03), .pos = { 60.0f, 0.0f, 60.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -216,7 +216,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_04), .pos = { 80.0f, 0.0f, 80.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -225,7 +225,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_05), .pos = { 100.0f, 0.0f, 100.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -234,7 +234,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_06), .pos = { 120.0f, 0.0f, 120.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -243,7 +243,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_07), .pos = { 140.0f, 0.0f, 140.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -252,7 +252,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_08), .pos = { 160.0f, 0.0f, 160.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, @@ -261,7 +261,7 @@ StaticNpc N(NpcData_Testing)[] = { .settings = &N(NpcSettings_09), .pos = { 180.0f, 0.0f, 180.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .animations = { }, }, diff --git a/src/world/common/atomic/MarioSalute.inc.c b/src/world/common/atomic/MarioSalute.inc.c new file mode 100644 index 0000000000..bef4eba06a --- /dev/null +++ b/src/world/common/atomic/MarioSalute.inc.c @@ -0,0 +1,10 @@ +#include "common.h" + +EvtScript N(EVS_MarioSalute) = { + EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) + EVT_WAIT(1) + EVT_CALL(SetPlayerAnimation, ANIM_Mario_80007) + EVT_WAIT(20) + EVT_RETURN + EVT_END +}; diff --git a/src/world/common/atomic/Quizmo.inc.c b/src/world/common/atomic/Quizmo.inc.c deleted file mode 100644 index daa4116470..0000000000 --- a/src/world/common/atomic/Quizmo.inc.c +++ /dev/null @@ -1,466 +0,0 @@ -#include "common.h" -#include "effects.h" -#include "model.h" - -// TODO, can we remove this once all data disasm'ed? -extern QuizRequirement N(Quizmo_Requirements)[]; -extern u8 N(Quizmo_Answers)[64]; -extern s32** N(varStash); - -void N(Quizmo_NPC_OnRender)(Npc* npc); - -ApiStatus N(StashVars)(Evt* script, s32 isInitialCall) { - //static s32** varTable = NULL; - s32 i; - - if (N(varStash) == NULL) { - N(varStash) = heap_malloc(sizeof(script->varTable)); - - for (i = 0; i < ARRAY_COUNT(script->varTable); i++) { - N(varStash)[i] = script->varTablePtr[i]; - } - } else { - for (i = 0; i < ARRAY_COUNT(script->varTable); i++) { - script->varTablePtr[i] = N(varStash)[i]; - } - - heap_free(N(varStash)); - N(varStash) = NULL; - } - - return ApiStatus_DONE2; -} - -ApiStatus N(GetItemName)(Evt* script, s32 isInitialCall) { - Bytecode args = *script->ptrReadPos; - s32 itemID = evt_get_variable(script, args); - - evt_set_variable(script, args, LOOKUP_ITEM(itemID).nameMsg); - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_HideEntities)(Evt* script, s32 isInitialCall) { - gEntityHideMode = 1; - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_ShowEntities)(Evt* script, s32 isInitialCall) { - gEntityHideMode = 0; - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_ShouldAppear)(Evt* script, s32 isInitialCall) { - Enemy* enemy = script->owner1.enemy; - u16 hasLocation = evt_get_variable(script, GF_Quizmo_HasLocation); - u16 changedLocation = evt_get_variable(script, GF_Quizmo_ChangedLocation); - u16 locTown = evt_get_variable(script, GB_ChuckQuizmo_Town); - u16 locMap = evt_get_variable(script, GB_ChuckQuizmo_Map); - s32 var; - s32 i; - - s32 test2; - u16 curTown1 = (enemy->varTable[0] & 0xFF0000) >> 16; - u16 curTown2 = (enemy->varTable[0] & 0xFF0000) >> 16; - u16 numMaps = (enemy->varTable[0] & 0xFF00) >> 8; - u16 curMap = (enemy->varTable[0] & 0xFF) >> 0; - s32 progress; - s32 numAnswered; - - if (curTown1 != locTown) { - changedLocation = FALSE; - hasLocation = FALSE; - } - - if (!hasLocation) { - if (rand_int(100) < 30) { - locMap = rand_int(numMaps - 1); - locTown = curTown1; - evt_set_variable(script, GB_ChuckQuizmo_Town, locTown); - evt_set_variable(script, GB_ChuckQuizmo_Map, locMap); - hasLocation = TRUE; - } - } - - evt_set_variable(script, GF_Quizmo_HasLocation, hasLocation); - evt_set_variable(script, GF_Quizmo_ChangedLocation, changedLocation); - numAnswered = evt_get_variable(NULL, GB_CompletedQuizzes); - progress = evt_get_variable(NULL, GB_StoryProgress); - - // vanilla bug? never checks the final requirement in the list - for (i = 0; i < 8; i++) { - if (progress < N(Quizmo_Requirements)[i].requiredStoryProgress) { - break; - } - } - - //TODO clean this up - progress = numAnswered < N(Quizmo_Requirements)[i].numQuestionsUnlocked; - test2 = var = progress; - - if ((((curTown2 == locTown) && (curMap == locMap) && (changedLocation == 0) && test2)) || - (gGameStatusPtr->debugQuizmo && var)) { - script->varTable[0] = TRUE; - } else { - kill_enemy(enemy); - script->varTable[0] = FALSE; - } - - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_RenderInit)(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(script->owner2.npcID); - - npc->onRender = N(Quizmo_NPC_OnRender); - npc->blur.quizmo = heap_malloc(sizeof(*npc->blur.quizmo)); - npc->blur.quizmo->flags = 0; - - return ApiStatus_DONE1; -} - -ApiStatus N(Quizmo_NPC_Aux_Impl)(Evt* script, s32 isInitialCall) { - // does nothing, probably a default/template function for NPCs - get_npc_unsafe(script->owner2.npcID); - return ApiStatus_BLOCK; -} - -void N(Quizmo_NPC_OnRender)(Npc* npc) { - Camera* camera = &gCameras[gCurrentCamID]; - - if (npc->blur.quizmo->flags & 1) { - clamp_angle(-camera->currentYaw); - } -} - -ApiStatus N(Quizmo_HideWorld)(Evt* script, s32 isInitialCall) { - if (isInitialCall) { - s32 i; - - mdl_set_all_fog_mode(FOG_MODE_1); - *gBackgroundFogModePtr = FOG_MODE_1; - set_background_color_blend(0, 0, 0, 0); - - for (i = 0; i < MAX_NPCS; i++) { - Npc* npc = get_npc_by_index(i); - - if (npc != NULL && npc->flags != 0 && npc->npcID != NPC_PARTNER && npc->npcID != CHUCK_QUIZMO_NPC_ID) { - npc->flags |= NPC_FLAG_NO_DROPS; // odd - } - } - - for (i = 0; i < MAX_ITEM_ENTITIES; i++) { - ItemEntity* itemEntity = get_item_entity(i); - - if (itemEntity != NULL && itemEntity->flags & ITEM_ENTITY_FLAG_10) { - itemEntity->flags |= ITEM_ENTITY_FLAG_8000000; - } - } - - script->functionTemp[0] = 0; - } - - script->functionTemp[0] += 8; - if (script->functionTemp[0] > 255) { - script->functionTemp[0] = 255; - } - - set_background_color_blend(0, 0, 0, script->functionTemp[0]); - - if (script->functionTemp[0] == 255) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus N(Quizmo_FadeInWorld)(Evt* script, s32 isInitialCall) { - s32 i; - - if (isInitialCall) { - set_background_color_blend(0, 0, 0, 255); - script->functionTemp[0] = 255; - script->functionTemp[1] = 0; - } - - script->functionTemp[0] -= 8; - if (script->functionTemp[0] < 0) { - script->functionTemp[0] = 0; - } - - set_background_color_blend(0, 0, 0, script->functionTemp[0]); - if (script->functionTemp[0] == 0 && script->functionTemp[1] == 0) { - script->functionTemp[1] = 1; - } else if (script->functionTemp[1] == 1) { - mdl_set_all_fog_mode(FOG_MODE_0); - *gBackgroundFogModePtr = FOG_MODE_0; - - for (i = 0; i < MAX_NPCS; i++) { - Npc* npc = get_npc_by_index(i); - if (npc != NULL && npc->flags != 0) { - if (npc->npcID != NPC_PARTNER && npc->npcID != CHUCK_QUIZMO_NPC_ID) { - npc->flags &= ~NPC_FLAG_NO_DROPS; - } - } - } - - for (i = 0; i < MAX_ITEM_ENTITIES; i++) { - ItemEntity* entity = get_item_entity(i); - if (entity != NULL && entity->flags & ITEM_ENTITY_FLAG_10) { - entity->flags &= ~ITEM_ENTITY_FLAG_8000000; - } - } - - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} - -ApiStatus N(Quizmo_UpdateRecords)(Evt* script, s32 isInitialCall) { - u16 quizzesAnswered = gPlayerData.quizzesAnswered; - - if (quizzesAnswered < 999) { - gPlayerData.quizzesAnswered++; - } - - if (script->varTable[0] == N(Quizmo_Answers)[evt_get_variable(NULL, GB_CompletedQuizzes)]) { - script->varTable[0] = 1; - gPlayerData.quizzesCorrect++; - } else { - script->varTable[0] = 0; - } - - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_CreateStage)(Evt* script, s32 isInitialCall) { - QuizmoStageFXData* stageData; - - if (isInitialCall) { - N(Quizmo_StageEffect) = fx_quizmo_stage(0, - evt_get_variable(script, ArrayVar(1)), - evt_get_variable(script, ArrayVar(2)), - evt_get_variable(script, ArrayVar(3))); - N(Quizmo_AudienceEffect) = fx_quizmo_audience(0, - evt_get_variable(script, ArrayVar(1)), - evt_get_variable(script, ArrayVar(2)), - evt_get_variable(script, ArrayVar(3))); - N(Quizmo_VannaTEffect) = fx_quizmo_assistant(0, - evt_get_variable(script, ArrayVar(1)), - evt_get_variable(script, ArrayVar(2)), - evt_get_variable(script, ArrayVar(3)), - 1.0f, 0); - - stageData = N(Quizmo_StageEffect)->data.quizmoStage; - stageData->microphoneRaiseAmt = 0; - stageData->leftWallRaiseAmt = 0; - stageData->rightWallRaiseAmt = 0; - stageData->podiumRaiseAmt = 0; - stageData->rearWallRaiseAmt = 0; - } - - stageData = N(Quizmo_StageEffect)->data.quizmoStage; - - stageData->leftWallRaiseAmt += 10; - stageData->podiumRaiseAmt += 10; - stageData->rightWallRaiseAmt += 10; - stageData->microphoneRaiseAmt += 10; - stageData->rearWallRaiseAmt += 10; - if (stageData->microphoneRaiseAmt >= 255) { - stageData->microphoneRaiseAmt = 255; - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} - -ApiStatus N(Quizmo_DestroyEffects)(Evt* script, s32 isInitialCall) { - QuizmoStageFXData* stageData; - - if (isInitialCall) { - N(Quizmo_AudienceEffect)->flags |= EFFECT_INSTANCE_FLAG_10; - N(Quizmo_VannaTEffect)->flags |= EFFECT_INSTANCE_FLAG_10; - } - - stageData = N(Quizmo_StageEffect)->data.quizmoStage; - stageData->microphoneRaiseAmt -= 10; - stageData->leftWallRaiseAmt -= 10; - stageData->rightWallRaiseAmt -= 10; - stageData->podiumRaiseAmt -= 10; - stageData->rearWallRaiseAmt -= 10; - - if (stageData->microphoneRaiseAmt <= 0) { - stageData->microphoneRaiseAmt = 0; - remove_effect(N(Quizmo_StageEffect)); - free_worker(N(Quizmo_Worker)); - return ApiStatus_DONE2; - } - - return ApiStatus_BLOCK; -} - -ApiStatus N(Quizmo_SetStageLightsDelay)(Evt* script, s32 isInitialCall) { - N(Quizmo_StageEffect)->data.quizmoStage->lightScrollDelay = evt_get_variable(script, *script->ptrReadPos); - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_UnkStageEffectMode)(Evt* script, s32 isInitialCall) { - s32 var = evt_get_variable(script, *script->ptrReadPos); - QuizmoStageFXData* stageData = N(Quizmo_StageEffect)->data.quizmoStage; - - switch (var) { - case 0: - stageData->unkEffectMode = 0xC0; - break; - case 1: - stageData->unkEffectMode = 0x80; - break; - case 2: - stageData->unkEffectMode = 0x40; - break; - default: - stageData->unkEffectMode = 0; - break; - } - - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_SetVannaAnim_Idle)(Evt* script, s32 isInitialCall) { - N(Quizmo_VannaTEffect)->data.quizmoAssistant->anim = 0; - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_SetVannaAnim_Clap)(Evt* script, s32 isInitialCall) { - N(Quizmo_VannaTEffect)->data.quizmoAssistant->anim = 1; - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_SetVannaAnim_Wave)(Evt* script, s32 isInitialCall) { - N(Quizmo_VannaTEffect)->data.quizmoAssistant->anim = 2; - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_ShouldQuizmoLeave)(Evt* script, s32 isInitialCall) { - evt_set_variable(script, LVar0, gGameStatusPtr->debugQuizmo); - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_SetCamVfov)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 cameraID = evt_get_variable(script, *args++); - - gCameras[cameraID].vfov = evt_get_float_variable(script, *args++); - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_GetCamVfov)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 cameraID = evt_get_variable(script, *args++); - - evt_set_variable(script, *args++, EVT_FLOAT_TO_FIXED(gCameras[cameraID].vfov)); - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_AddViewRelativeOffset)(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - s32 x = evt_get_variable(script, *args++); - s32 y = evt_get_variable(script, *args++); - s32 z = evt_get_variable(script, *args++); - Bytecode ourVarX = *args++; - Bytecode outVarZ = *args++; - - s32 cameraYaw = gCameras[gCurrentCameraID].currentYaw; - s32 outX = evt_get_variable(script, ArrayVar(1)) - (z * cos_deg(cameraYaw)); - s32 outZ = evt_get_variable(script, ArrayVar(3)) - (z * sin_deg(cameraYaw)); - - outX -= x; - outZ -= y; - - evt_set_variable(script, ourVarX, outX); - evt_set_variable(script, outVarZ, outZ); - - return ApiStatus_DONE2; -} - -ApiStatus N(Quizmo_SpinPlayer)(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - - if (isInitialCall) { - script->functionTemp[0] = 60; - } - - playerStatus->targetYaw += 30.0f; - if (playerStatus->targetYaw >= 360.0f) { - playerStatus->targetYaw -= 360.0f; - } - - script->functionTemp[0]--; - - if (script->functionTemp[0] < 0) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus N(Quizmo_SpinPartner)(Evt* script, s32 isInitialCall) { - Npc* partner = get_npc_unsafe(NPC_PARTNER); - - if (isInitialCall) { - script->functionTemp[0] = 60; - } - - partner->yaw += 30.0f; - if (partner->yaw >= 360.0f) { - partner->yaw -= 360.0f; - } - - script->functionTemp[0]--; - - if (script->functionTemp[0] < 0) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus N(Quizmo_UpdatePartnerPosition)(Evt* script, s32 isInitialCall) { - Npc* npc = get_npc_unsafe(NPC_PARTNER); - f32* x = (f32*) &script->functionTemp[1]; - f32* y = (f32*) &script->functionTemp[2]; - f32* z = (f32*) &script->functionTemp[3]; - - if (isInitialCall) { - *x = evt_get_float_variable(script, LVar0) / 60.0f; - *y = evt_get_float_variable(script, LVar5) / 60.0f; - *z = evt_get_float_variable(script, LVar1) / 60.0f; - script->functionTemp[0] = 60; - } - - npc->pos.x += *x; - npc->pos.y += *y; - npc->pos.z += *z; - script->functionTemp[0]--; - - if (script->functionTemp[0] == 0) { - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -void N(Quizmo_CreateReactionEffect)(void) { - s32 result = evt_get_variable(NULL, N(Quizmo_AnswerResult)); - - if (result == 1) { - fx_quizmo_answer(0, 0, 0, 0); - } else if (result == 2) { - fx_quizmo_answer(1, 0, 0, 0); - } -} - -ApiStatus N(Quizmo_CreateWorker)(Evt* script, s32 isInitialCall) { - N(Quizmo_Worker) = create_worker_frontUI(NULL, N(Quizmo_CreateReactionEffect)); - return ApiStatus_DONE2; -} diff --git a/src/world/common/atomic/QuizmoData.inc.c b/src/world/common/atomic/QuizmoData.inc.c deleted file mode 100644 index 9cdb0a4cce..0000000000 --- a/src/world/common/atomic/QuizmoData.inc.c +++ /dev/null @@ -1,716 +0,0 @@ -#include "common.h" -#include "sprite/npc/ChuckQuizmo.h" - -#ifndef CHUCK_QUIZMO_NPC_ID -# error CHUCK_QUIZMO_NPC_ID must be defined for QuizmoData.inc.c -#endif - -s32** N(varStash) = NULL; - -EvtScript N(EVS_Quizmo_GiveItem_0) = { - EVT_CALL(ShowGotItem, LVar0, 1, 0) - EVT_RETURN - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_GiveItem_16) = { - EVT_CALL(ShowGotItem, LVar0, 1, 16) - EVT_RETURN - EVT_RETURN - EVT_END -}; - -u8 N(Quizmo_Answers)[64] = { - 0x02, 0x01, 0x01, 0x02, 0x02, 0x00, 0x02, 0x00, - 0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x00, 0x02, - 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, - 0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, - 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x01, - 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01, - 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02, 0x02, - 0x01, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01, -}; - -QuizRequirement N(Quizmo_Requirements)[] = { - { STORY_CH0_KAMMY_RETURNED_TO_BOWSER, 0 }, - { STORY_CH1_BEGAN_PEACH_MISSION, 10 }, - { STORY_CH2_BEGAN_PEACH_MISSION, 20 }, - { STORY_CH3_BEGAN_PEACH_MISSION, 30 }, - { STORY_CH4_BEGAN_PEACH_MISSION, 37 }, - { STORY_CH5_STAR_SPRIT_DEPARTED, 44 }, - { STORY_CH6_BEGAN_PEACH_MISSION, 52 }, - { STORY_CH7_BEGAN_PEACH_MISSION, 60 }, - { STORY_EPILOGUE, 64 }, - { 0, 64 }, // end of list -}; - -EvtScript N(EVS_Quizmo_Exit) = { - EVT_CALL(N(Quizmo_ShouldQuizmoLeave)) - EVT_IF_LE(LVar0, 1) - EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 300) - EVT_CALL(SetNpcJumpscale, NPC_SELF, 1) - EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ChuckQuizmo_Vanish) - EVT_WAIT(40) - EVT_CALL(SetNpcPos, NPC_SELF, NPC_DISPOSE_LOCATION) - EVT_END_IF - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_SetQuizCamera) = { - EVT_CALL(N(Quizmo_GetCamVfov), 0, ArrayVar(0)) - EVT_CALL(N(Quizmo_SetCamVfov), 0, 25) //TODO - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_CALL(SetPanTarget, 0, LVar0, LVar1, LVar2) - EVT_CALL(UseSettingsFrom, 0, LVar0, LVar1, LVar2) - EVT_CALL(GetCamType, 0, LVar1, LVar2) - EVT_CALL(SetCamType, 0, LVar1, 0) - EVT_CALL(GetCamDistance, 0, LVar0) - EVT_IF_GT(LVar0, 0) - EVT_SETF(LVar0, 370) - EVT_ELSE - EVT_SETF(LVar0, -370) - EVT_END_IF - EVT_CALL(SetCamDistance, 0, LVar0) - EVT_CALL(GetCamPitch, 0, LVar0, LVar1) - EVT_SETF(LVar0, EVT_FLOAT(13.0)) - EVT_SETF(LVar1, EVT_FLOAT(-10.0)) - EVT_CALL(SetCamPitch, 0, LVar0, LVar1) - EVT_CALL(PanToTarget, 0, 0, 1) - EVT_CALL(SetCamLeadPlayer, 0, 0) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_OtherCamScript) = { - EVT_CALL(GetNpcPos, CHUCK_QUIZMO_NPC_ID, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 30) - EVT_CALL(SetPanTarget, 0, LVar0, LVar1, LVar2) - EVT_CALL(GetCamDistance, 0, LVar0) - EVT_IF_GT(LVar0, 0) - EVT_SETF(LVar0, 17) - EVT_ELSE - EVT_SETF(LVar0, -17) - EVT_END_IF - EVT_CALL(SetCamDistance, 0, LVar0) - EVT_CALL(SetCamSpeed, 0, EVT_FLOAT(90.0)) - EVT_CALL(WaitForCam, 0, EVT_FLOAT(1.0)) - EVT_CALL(SetCamSpeed, 0, 1) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_ResetCamera) = { - EVT_CALL(N(Quizmo_SetCamVfov), 0, ArrayVar(0)) - EVT_CALL(PanToTarget, 0, 0, 0) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_MovePlayerToPodium) = { - EVT_WAIT(20) - EVT_CALL(N(Quizmo_AddViewRelativeOffset), ArrayVar(1), ArrayVar(3), 83, LVar0, LVar1) - EVT_THREAD - EVT_SETF(LVar2, 0) - EVT_LOOP(60) - EVT_SETF(LVar3, LVar0) - EVT_SETF(LVar4, LVar1) - EVT_MULF(LVar3, LVar2) - EVT_MULF(LVar4, LVar2) - EVT_DIVF(LVar3, 60) - EVT_DIVF(LVar4, 60) - EVT_ADDF(LVar3, ArrayVar(1)) - EVT_ADDF(LVar4, ArrayVar(3)) - EVT_CALL(SetPlayerPos, LVar3, ArrayVar(2), LVar4) - EVT_ADDF(LVar2, 1) - EVT_WAIT(1) - EVT_END_LOOP - EVT_SETF(LVar3, LVar0) - EVT_SETF(LVar4, LVar1) - EVT_ADDF(LVar3, ArrayVar(1)) - EVT_ADDF(LVar4, ArrayVar(3)) - EVT_CALL(SetPlayerPos, LVar3, ArrayVar(2), LVar4) - EVT_END_THREAD - EVT_CALL(N(Quizmo_SpinPlayer)) - EVT_CALL(func_802D2884, ArrayVar(1), ArrayVar(3), 0) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_MovePartnerToPodium) = { - EVT_CALL(GetNpcPos, NPC_PARTNER, LVarA, LVarB, LVarC) - EVT_CALL(N(Quizmo_AddViewRelativeOffset), LVarA, LVarC, 108, LVar0, LVar1) - EVT_SETF(LVar5, ArrayVar(2)) - EVT_SUBF(LVar5, LVarB) - EVT_THREAD - EVT_CALL(N(Quizmo_UpdatePartnerPosition)) - EVT_SETF(LVar3, LVar0) - EVT_SETF(LVar4, LVar1) - EVT_SETF(LVar6, LVar5) - EVT_ADDF(LVar3, LVarA) - EVT_ADDF(LVar4, LVarC) - EVT_ADDF(LVar6, LVarB) - EVT_CALL(SetNpcPos, NPC_PARTNER, LVar3, LVar6, LVar4) - EVT_END_THREAD - EVT_CALL(N(Quizmo_SpinPartner)) - EVT_CALL(NpcFacePlayer, NPC_PARTNER, 0) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_MoveQuizmoToMicrophone) = { - EVT_CALL(GetNpcPos, CHUCK_QUIZMO_NPC_ID, LVarA, LVarB, LVarC) - EVT_CALL(N(Quizmo_AddViewRelativeOffset), LVarA, LVarC, -70, LVar0, LVar1) - EVT_THREAD - EVT_SETF(LVar2, 0) - EVT_LOOP(60) - EVT_SETF(LVar3, LVar0) - EVT_SETF(LVar4, LVar1) - EVT_MULF(LVar3, LVar2) - EVT_MULF(LVar4, LVar2) - EVT_DIVF(LVar3, 60) - EVT_DIVF(LVar4, 60) - EVT_ADDF(LVar3, LVarA) - EVT_ADDF(LVar4, LVarC) - EVT_CALL(SetNpcPos, CHUCK_QUIZMO_NPC_ID, LVar3, ArrayVar(2), LVar4) - EVT_ADDF(LVar2, 1) - EVT_WAIT(1) - EVT_END_LOOP - EVT_END_THREAD - EVT_WAIT(60) - EVT_CALL(NpcFacePlayer, CHUCK_QUIZMO_NPC_ID, 0) - EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_Idle) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_SetCharacterPositons) = { - EVT_EXEC(N(EVS_Quizmo_MovePlayerToPodium)) - EVT_EXEC(N(EVS_Quizmo_MovePartnerToPodium)) - EVT_EXEC_WAIT(N(EVS_Quizmo_MoveQuizmoToMicrophone)) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_PlayerThinking) = { - EVT_LOOP(0) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_Question) - EVT_WAIT(20) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_PlayerHitBuzzer) = { - EVT_CALL(SetPlayerAnimation, ANIM_Mario_Throw) - EVT_WAIT(15) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_PlayerReaction_RightAnswer) = { - EVT_LOOP(0) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_BeforeJump) - EVT_WAIT(2) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_AnimMidairStill) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 3) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 2) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_AnimMidair) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -2) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -3) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10009) - EVT_WAIT(2) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_BeforeJump) - EVT_WAIT(2) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_AnimMidairStill) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 3) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 2) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_AnimMidair) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -2) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -3) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10009) - EVT_WAIT(2) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_BeforeJump) - EVT_WAIT(2) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_AnimMidairStill) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 3) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 2) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_AnimMidair) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, 0) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -2) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_ADD(LVar1, -3) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(1) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10009) - EVT_WAIT(2) - EVT_END_LOOP - EVT_CALL(SetPlayerAnimation, ANIM_Mario_10002) - EVT_CALL(SetPlayerPos, LVar0, ArrayVar(2), LVar2) - EVT_WAIT(1) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_PlayerReaction_WrongAnswer) = { - EVT_CALL(SetPlayerAnimation, ANIM_Mario_ShockStill) - EVT_LOOP(0) - EVT_WAIT(1) - EVT_END_LOOP - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_ReturnPlayerToOriginalPos) = { - EVT_THREAD - EVT_CALL(N(Quizmo_AddViewRelativeOffset), ArrayVar(1), ArrayVar(3), 25, LVar0, LVar1) - EVT_SETF(LVar2, ArrayVar(1)) - EVT_ADDF(LVar2, LVar0) - EVT_SETF(LVar3, ArrayVar(3)) - EVT_ADDF(LVar3, LVar1) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_WALK) - EVT_CALL(NpcMoveTo, NPC_PARTNER, LVar2, LVar3, 40) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) - EVT_END_THREAD - EVT_CALL(PlayerMoveTo, ArrayVar(1), ArrayVar(3), 40) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_RightAnswer) = { - EVT_EXEC_GET_TID(N(EVS_Quizmo_PlayerReaction_RightAnswer), LVar1) - EVT_WAIT(60) - EVT_KILL_THREAD(LVar1) - EVT_LOOP(5) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, -1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(2) - EVT_END_LOOP - EVT_WAIT(20) - EVT_EXEC_WAIT(N(EVS_Quizmo_ReturnPlayerToOriginalPos)) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_WrongAnswer) = { - EVT_EXEC_GET_TID(N(EVS_Quizmo_PlayerReaction_WrongAnswer), LVar1) - EVT_WAIT(60) - EVT_LOOP(5) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, -1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(2) - EVT_END_LOOP - EVT_WAIT(20) - EVT_KILL_THREAD(LVar1) - EVT_EXEC_WAIT(N(EVS_Quizmo_ReturnPlayerToOriginalPos)) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_QuizMain) = { - EVT_IF_GT(GB_CompletedQuizzes, 63) - EVT_SET(LVar0, 0) - EVT_RETURN - EVT_END_IF - EVT_CALL(GetPlayerPos, ArrayVar(1), ArrayVar(2), ArrayVar(3)) - EVT_CALL(NpcFacePlayer, NPC_SELF, 16) - EVT_IF_EQ(GB_CompletedQuizzes, 63) - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_000A) - EVT_ELSE - EVT_IF_EQ(GF_Met_ChuckQuizmo, 1) - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_0009) - EVT_ELSE - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_0008) - EVT_SET(GF_Met_ChuckQuizmo, 1) - EVT_END_IF - EVT_END_IF - EVT_CALL(ShowChoice, MSG_Choice_000D) - EVT_IF_EQ(LVar0, 1) - EVT_CALL(ContinueSpeech, -1, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_000C) - EVT_EXEC_WAIT(N(EVS_Quizmo_Exit)) - EVT_SET(LVar0, 0) - EVT_RETURN - EVT_END_IF - EVT_SET(GF_Quizmo_TakingQuiz, 1) - EVT_CALL(N(Quizmo_HideEntities)) - EVT_CALL(N(Quizmo_HideWorld)) - EVT_EXEC(N(EVS_Quizmo_SetQuizCamera)) - EVT_CALL(DisablePartnerAI, 0) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, CHUCK_QUIZMO_NPC_ID, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_100, TRUE) - EVT_CALL(SetNpcFlagBits, CHUCK_QUIZMO_NPC_ID, NPC_FLAG_100, TRUE) - EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) - EVT_EXEC_GET_TID(N(EVS_Quizmo_SetCharacterPositons), LVar1) - EVT_CALL(ContinueSpeech, -1, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_000B) - EVT_CALL(PlaySound, 137) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(LVar1, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(N(Quizmo_CreateStage)) - EVT_LOOP(5) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 1) - EVT_CALL(SetPlayerPos, LVar0, LVar1, LVar2) - EVT_WAIT(2) - EVT_END_LOOP - EVT_SET(LVar0, MSG_QuizQuestion_01) - EVT_ADD(LVar0, GB_CompletedQuizzes) - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ChuckQuizmo_OpenHat, ANIM_ChuckQuizmo_CloseHat, 0, LVar0) - EVT_CALL(SetPlayerAnimation, ANIM_Mario_Question) - EVT_SET(LVar0, MSG_QuizChoice_01) - EVT_ADD(LVar0, GB_CompletedQuizzes) - EVT_CALL(PlaySound, 142) - EVT_CALL(ShowChoice, LVar0) - EVT_KILL_THREAD(LVar1) - EVT_CALL(StopSound, 142) - EVT_EXEC(N(EVS_Quizmo_PlayerHitBuzzer)) - EVT_WAIT(15) - EVT_CALL(PlaySound, 141) - EVT_CALL(N(Quizmo_UnkStageEffectMode), LVar0) - EVT_SET(ArrayVar(4), 0) - EVT_CALL(N(Quizmo_CreateWorker)) - EVT_WAIT(40) - EVT_CALL(N(Quizmo_UpdateRecords)) - EVT_THREAD - EVT_WAIT(110) - EVT_CALL(CloseChoice) - EVT_SET(ArrayVar(4), 0) - EVT_END_THREAD - EVT_IF_EQ(LVar0, 1) - EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_OpenCorrect) - EVT_SET(ArrayVar(4), 1) - EVT_THREAD - EVT_CALL(N(Quizmo_SetStageLightsDelay), 1) - EVT_WAIT(6) - EVT_WAIT(6) - EVT_WAIT(6) - EVT_CALL(N(Quizmo_SetStageLightsDelay), 2) - EVT_END_THREAD - EVT_THREAD - EVT_CALL(PlaySound, SOUND_21C) - EVT_WAIT(6) - EVT_CALL(PlaySound, SOUND_21C) - EVT_WAIT(6) - EVT_CALL(PlaySound, SOUND_21C) - EVT_WAIT(6) - EVT_CALL(PlaySound, SOUND_21C) - EVT_END_THREAD - EVT_CALL(PlaySound, SOUND_8A) - EVT_CALL(N(Quizmo_SetVannaAnim_Clap)) - EVT_THREAD - EVT_WAIT(15) - EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2) - EVT_ADD(LVar1, 50) - EVT_CALL(N(Quizmo_AddViewRelativeOffset), 0, 0, 83, LVar0, LVar2) - EVT_CALL(PlayEffect, 0x7, 2, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) - EVT_CALL(PlayEffect, 0x44, 4, LVar0, LVar1, LVar2, 1, 60, 0, 0, 0, 0, 0, 0, 0) - EVT_WAIT(15) - EVT_ADD(LVar1, -3) - EVT_CALL(N(Quizmo_AddViewRelativeOffset), 0, 0, 58, LVar0, LVar2) - EVT_CALL(PlayEffect, 0x7, 2, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) - EVT_CALL(PlayEffect, 0x44, 4, LVar0, LVar1, LVar2, 1, 60, 0, 0, 0, 0, 0, 0, 0) - EVT_WAIT(15) - EVT_ADD(LVar1, 30) - EVT_CALL(N(Quizmo_AddViewRelativeOffset), 0, 0, 93, LVar0, LVar2) - EVT_CALL(PlayEffect, 0x7, 2, LVar0, LVar1, LVar2, 0, 0, 0, 0, 0, 0, 0, 0, 0) - EVT_CALL(PlayEffect, 0x44, 4, LVar0, LVar1, LVar2, 1, 60, 0, 0, 0, 0, 0, 0, 0) - EVT_WAIT(15) - EVT_END_THREAD - EVT_WAIT(20) - EVT_EXEC_GET_TID(N(EVS_Quizmo_RightAnswer), LVar1) - EVT_ADD(GB_CompletedQuizzes, 1) - EVT_IF_GT(GB_CompletedQuizzes, 63) - EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MSG_MGM_0010) - EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_CloseHat) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(LVar1, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_OpenHat) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, 3) - EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0)) - EVT_CALL(AddStarPieces, 1) - EVT_CALL(N(Quizmo_SetStageLightsDelay), 15) - EVT_CALL(N(Quizmo_SetVannaAnim_Idle)) - EVT_CALL(SetMessageValue, GB_CompletedQuizzes, 0) - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_0011) - EVT_ELSE - EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MSG_MGM_000E) - EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_CloseHat) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(LVar1, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_OpenHat) - EVT_SET(LVar0, ITEM_STAR_PIECE) - EVT_SET(LVar1, 1) - EVT_EXEC_WAIT(N(EVS_Quizmo_GiveItem_0)) - EVT_CALL(AddStarPieces, 1) - EVT_CALL(N(Quizmo_SetStageLightsDelay), 15) - EVT_CALL(N(Quizmo_SetVannaAnim_Idle)) - EVT_CALL(SetMessageValue, GB_CompletedQuizzes, 0) - EVT_IF_EQ(GB_CompletedQuizzes, 1) - EVT_CALL(SetMessageText, EVT_PTR(MessageSingular), 1) - EVT_ELSE - EVT_CALL(SetMessageText, EVT_PTR(MessagePlural), 1) - EVT_END_IF - EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_ChuckQuizmo_Talk, ANIM_ChuckQuizmo_Idle, 0, MSG_MGM_000F) - EVT_END_IF - EVT_SET(LVar0, 1) - EVT_ELSE - EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_OpenWrong) - EVT_SET(ArrayVar(4), 2) - EVT_CALL(PlaySound, SOUND_MENU_ERROR) - EVT_CALL(PlaySound, SOUND_8B) - EVT_EXEC_GET_TID(N(EVS_Quizmo_WrongAnswer), LVar1) - EVT_CALL(GetPlayerPos, LVar2, LVar3, LVar4) - EVT_CALL(PlayEffect, 0x2B, 0, LVar2, LVar3, LVar4, 0, 0, 0, 0, 0, 0, 0, 0, 0) - EVT_CALL(ContinueSpeech, -1, -1, -1, 0, MSG_MGM_000D) - EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_CloseWrong) - EVT_LOOP(0) - EVT_IS_THREAD_RUNNING(LVar1, LVar0) - EVT_IF_EQ(LVar0, 0) - EVT_BREAK_LOOP - EVT_END_IF - EVT_WAIT(1) - EVT_END_LOOP - EVT_SET(LVar0, 0) - EVT_END_IF - EVT_CALL(N(Quizmo_UnkStageEffectMode), -1) - EVT_CALL(EnablePartnerAI) - EVT_THREAD - EVT_WAIT(30) - EVT_CALL(PlaySound, SOUND_8F) - EVT_END_THREAD - EVT_THREAD - EVT_WAIT(45) - EVT_CALL(StopSound, SOUND_89) - EVT_END_THREAD - EVT_CALL(N(Quizmo_SetVannaAnim_Wave)) - EVT_CALL(N(Quizmo_DestroyEffects)) - EVT_EXEC_WAIT(N(EVS_Quizmo_Exit)) - EVT_EXEC(N(EVS_Quizmo_ResetCamera)) - EVT_CALL(N(Quizmo_FadeInWorld)) - EVT_CALL(N(Quizmo_ShowEntities)) - EVT_SET(GF_Quizmo_TakingQuiz, 0) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_NPC_OtherAI) = { - EVT_CALL(N(Quizmo_ShouldAppear)) - EVT_IF_EQ(LVar0, 0) - EVT_RETURN - EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_1000000, FALSE) - EVT_CALL(SetNpcSprite, -1, ANIM_ChuckQuizmo_Idle) - EVT_CALL(N(Quizmo_RenderInit)) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_NPC_Interact) = { - EVT_USE_ARRAY(EVT_PTR(N(Quizmo_ScriptArray))) - EVT_SET(GF_Quizmo_ChangedLocation, TRUE) - EVT_CALL(DisablePlayerPhysics, TRUE) - EVT_CALL(SetPlayerFlagBits, PS_FLAG_MOVEMENT_LOCKED, 1) - EVT_EXEC_WAIT(N(EVS_Quizmo_QuizMain)) - EVT_CALL(DisablePlayerPhysics, FALSE) - EVT_CALL(SetPlayerFlagBits, PS_FLAG_MOVEMENT_LOCKED, 0) - EVT_RETURN - EVT_END -}; - -EvtScript N(EVS_Quizmo_NPC_Aux) = { - EVT_CALL(N(Quizmo_NPC_Aux_Impl)) - EVT_RETURN - EVT_END -}; - -MobileAISettings N(Quizmo_MobileAISettings) = { - .moveSpeed = 0.7f, - .moveTime = 30, - .waitTime = 20, - .playerSearchInterval = -1, - .unk_AI_2C = 1, -}; - -EvtScript N(EVS_Quizmo_Npc_AI) = { - EVT_CALL(BasicAI_Main, EVT_PTR(N(Quizmo_MobileAISettings))) - EVT_RETURN - EVT_END -}; - -// primary quizmo NpcSettings -NpcSettings N(NpcSettings_ChuckQuizmo) = { - .defaultAnim = ANIM_ChuckQuizmo_Idle, - .height = 35, - .radius = 28, - .otherAI = &N(EVS_Quizmo_NPC_OtherAI), - .onInteract = &N(EVS_Quizmo_NPC_Interact), - .aux = &N(EVS_Quizmo_NPC_Aux), - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, - .level = 99, -}; - -// alternate (unused?) variant of quizmo with AI and ENEMY_FLAG_100 unset -NpcSettings N(Quizmo_AltNpcSettings) = { - .defaultAnim = ANIM_ChuckQuizmo_Idle, - .height = 35, - .radius = 28, - .otherAI = &N(EVS_Quizmo_NPC_OtherAI), - .onInteract = &N(EVS_Quizmo_NPC_Interact), - .ai = &N(EVS_Quizmo_Npc_AI), - .aux = &N(EVS_Quizmo_NPC_Aux), - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_400 | ENEMY_FLAG_800, - .level = 99, - .actionFlags = 16, -}; diff --git a/src/world/common/complete/GiveReward.inc.c b/src/world/common/complete/GiveReward.inc.c index 9e25637993..8fd36cb470 100644 --- a/src/world/common/complete/GiveReward.inc.c +++ b/src/world/common/complete/GiveReward.inc.c @@ -30,7 +30,7 @@ API_CALLABLE(N(StashVars)) { #include "world/common/todo/GetItemName.inc.c" -EvtScript N(GiveKeyReward) = { +EvtScript N(GiveItemReward) = { EVT_CALL(ShowGotItem, LVar0, ITEM_TYPE_KEY, 0) EVT_RETURN EVT_RETURN @@ -47,37 +47,44 @@ EvtScript N(GiveCoinReward) = { #define EVT_GIVE_KEY_REWARD(itemID) \ EVT_SET(LVar0, itemID) \ EVT_SET(LVar1, ITEM_TYPE_KEY) \ - EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_EXEC_WAIT(N(GiveItemReward)) \ EVT_CALL(AddKeyItem, itemID) #define EVT_GIVE_BADGE_REWARD(itemID) \ EVT_SET(LVar0, itemID) \ EVT_SET(LVar1, ITEM_TYPE_BADGE) \ - EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_EXEC_WAIT(N(GiveItemReward)) \ EVT_CALL(AddBadge, itemID, LVar0) #define EVT_GIVE_BADGE_REWARD_ALT(itemID, outIdx) \ EVT_SET(LVar0, itemID) \ EVT_SET(LVar1, ITEM_TYPE_BADGE) \ - EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_EXEC_WAIT(N(GiveItemReward)) \ EVT_CALL(AddBadge, LVar0, outIdx) #define EVT_GIVE_CONSUMABLE_REWARD(itemID) \ EVT_SET(LVar0, itemID) \ EVT_SET(LVar1, ITEM_TYPE_CONSUMABLE) \ - EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_EXEC_WAIT(N(GiveItemReward)) \ EVT_CALL(AddItem, LVar0, LVar1) #define EVT_GIVE_CONSUMABLE_REWARD_ALT(itemID) \ EVT_SET(LVar0, itemID) \ EVT_SET(LVar1, ITEM_TYPE_CONSUMABLE) \ - EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_EXEC_WAIT(N(GiveItemReward)) \ EVT_CALL(AddItem, itemID, LVar0) #define EVT_GIVE_STAR_PIECE() \ EVT_SET(LVar0, ITEM_STAR_PIECE) \ EVT_SET(LVar1, ITEM_TYPE_STAR_PIECE) \ - EVT_EXEC_WAIT(N(GiveKeyReward)) \ + EVT_EXEC_WAIT(N(GiveItemReward)) \ EVT_CALL(AddStarPieces, 1) + +#define EVT_GIVE_COIN() \ + EVT_SET(LVar0, ITEM_COIN) \ + EVT_SET(LVar1, 0) \ + EVT_EXEC_WAIT(N(GiveCoinReward)) \ + EVT_CALL(AddCoin, 1) + #endif diff --git a/src/world/common/complete/Quizmo.inc.c b/src/world/common/complete/Quizmo.inc.c index 6039c3c67a..8d33fdca74 100644 --- a/src/world/common/complete/Quizmo.inc.c +++ b/src/world/common/complete/Quizmo.inc.c @@ -85,10 +85,15 @@ enum { // area_mac QUIZ_MAP_MAC_00 = 0, QUIZ_MAP_MAC_01 = 1, + QUIZ_MAP_MAC_02 = 2, // unused + QUIZ_MAP_MAC_03 = 3, // unused QUIZ_MAP_MAC_04 = 4, QUIZ_MAP_MAC_05 = 5, QUIZ_COUNT_MAC = 6, // area_nok + QUIZ_MAP_NOK_01 = 0, + QUIZ_MAP_NOK_02 = 1, + QUIZ_COUNT_NOK = 2, // area_dro QUIZ_MAP_DRO_01 = 0, QUIZ_MAP_DRO_02 = 1, @@ -132,12 +137,12 @@ QuizRequirement N(Quizmo_Requirements)[] = { }; API_CALLABLE(N(Quizmo_HideEntities)) { - gEntityHideMode = 1; + gEntityHideMode = ENTITY_HIDE_MODE_1; return ApiStatus_DONE2; } API_CALLABLE(N(Quizmo_ShowEntities)) { - gEntityHideMode = 0; + gEntityHideMode = ENTITY_HIDE_MODE_0; return ApiStatus_DONE2; } @@ -238,7 +243,7 @@ API_CALLABLE(N(Quizmo_HideWorld)) { Npc* npc = get_npc_by_index(i); if (npc != NULL && npc->flags != 0 && npc->npcID != NPC_PARTNER && npc->npcID != CHUCK_QUIZMO_NPC_ID) { - npc->flags |= NPC_FLAG_NO_DROPS; // odd + npc->flags |= NPC_FLAG_HIDING; } } @@ -292,7 +297,7 @@ API_CALLABLE(N(Quizmo_FadeInWorld)) { Npc* npc = get_npc_by_index(i); if (npc != NULL && npc->flags != 0) { if (npc->npcID != NPC_PARTNER && npc->npcID != CHUCK_QUIZMO_NPC_ID) { - npc->flags &= ~NPC_FLAG_NO_DROPS; + npc->flags &= ~NPC_FLAG_HIDING; } } } @@ -988,7 +993,7 @@ EvtScript N(EVS_Quizmo_QuizMain) = { EVT_CALL(DisablePartnerAI, 0) EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE) EVT_CALL(SetNpcFlagBits, CHUCK_QUIZMO_NPC_ID, NPC_FLAG_GRAVITY, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_100, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100, TRUE) EVT_CALL(SetNpcFlagBits, CHUCK_QUIZMO_NPC_ID, NPC_FLAG_100, TRUE) EVT_CALL(SetNpcAnimation, NPC_PARTNER, PARTNER_ANIM_IDLE) EVT_EXEC_GET_TID(N(EVS_Quizmo_SetCharacterPositons), LVar1) @@ -1087,7 +1092,7 @@ EvtScript N(EVS_Quizmo_QuizMain) = { EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_OpenHat) EVT_SET(LVar0, ITEM_STAR_PIECE) EVT_SET(LVar1, 3) - EVT_EXEC_WAIT(N(GiveKeyReward)) + EVT_EXEC_WAIT(N(GiveItemReward)) EVT_CALL(AddStarPieces, 1) EVT_CALL(N(Quizmo_SetStageLightsDelay), 15) EVT_CALL(N(Quizmo_SetVannaAnim_Idle)) @@ -1106,7 +1111,7 @@ EvtScript N(EVS_Quizmo_QuizMain) = { EVT_CALL(SetNpcAnimation, CHUCK_QUIZMO_NPC_ID, ANIM_ChuckQuizmo_OpenHat) EVT_SET(LVar0, ITEM_STAR_PIECE) EVT_SET(LVar1, 1) - EVT_EXEC_WAIT(N(GiveKeyReward)) + EVT_EXEC_WAIT(N(GiveItemReward)) EVT_CALL(AddStarPieces, 1) EVT_CALL(N(Quizmo_SetStageLightsDelay), 15) EVT_CALL(N(Quizmo_SetVannaAnim_Idle)) @@ -1211,7 +1216,7 @@ NpcSettings N(NpcSettings_ChuckQuizmo) = { .otherAI = &N(EVS_Quizmo_NPC_OtherAI), .onInteract = &N(EVS_Quizmo_NPC_Interact), .aux = &N(EVS_Quizmo_NPC_Aux), - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .level = 99, }; @@ -1224,7 +1229,7 @@ NpcSettings N(Quizmo_AltNpcSettings) = { .onInteract = &N(EVS_Quizmo_NPC_Interact), .ai = &N(EVS_Quizmo_Npc_AI), .aux = &N(EVS_Quizmo_NPC_Aux), - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_400 | ENEMY_FLAG_800, .level = 99, .actionFlags = 16, }; diff --git a/src/world/common/enemy/ai/AvoidPlayerAI.inc.c b/src/world/common/enemy/ai/AvoidPlayerAI.inc.c index 622b944f85..49e6be4488 100644 --- a/src/world/common/enemy/ai/AvoidPlayerAI.inc.c +++ b/src/world/common/enemy/ai/AvoidPlayerAI.inc.c @@ -195,10 +195,10 @@ ApiStatus N(AvoidPlayerAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { script->functionTemp[0] = AI_STATE_SUSPEND; diff --git a/src/world/common/enemy/ai/CleftAI.inc.c b/src/world/common/enemy/ai/CleftAI.inc.c index 4cde64d6e6..cc02febf7f 100644 --- a/src/world/common/enemy/ai/CleftAI.inc.c +++ b/src/world/common/enemy/ai/CleftAI.inc.c @@ -309,10 +309,10 @@ s32 N(CleftAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } } diff --git a/src/world/common/enemy/ai/ClubbaNappingAI.inc.c b/src/world/common/enemy/ai/ClubbaNappingAI.inc.c index 203250fb0e..8b29ec066a 100644 --- a/src/world/common/enemy/ai/ClubbaNappingAI.inc.c +++ b/src/world/common/enemy/ai/ClubbaNappingAI.inc.c @@ -223,9 +223,9 @@ ApiStatus N(ClubbaNappingAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; enemy->AI_VAR_ATTACK_STATE = MELEE_HITBOX_STATE_NONE; if (!enemy->territory->wander.isFlying) { - npc->flags = (npc->flags | NPC_FLAG_GRAVITY) & ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags = (npc->flags | NPC_FLAG_GRAVITY) & ~NPC_FLAG_8; } else { - npc->flags = (npc->flags & ~NPC_FLAG_GRAVITY) | NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags = (npc->flags & ~NPC_FLAG_GRAVITY) | NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { script->AI_TEMP_STATE = AI_STATE_SUSPEND; diff --git a/src/world/common/enemy/ai/ClubbaPatrolAI.inc.c b/src/world/common/enemy/ai/ClubbaPatrolAI.inc.c index c1e874d2b4..e4d91f4b76 100644 --- a/src/world/common/enemy/ai/ClubbaPatrolAI.inc.c +++ b/src/world/common/enemy/ai/ClubbaPatrolAI.inc.c @@ -29,10 +29,10 @@ ApiStatus N(ClubbaPatrolAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->patrol.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { script->AI_TEMP_STATE = AI_STATE_SUSPEND; diff --git a/src/world/common/enemy/ai/FlyingAI.inc.c b/src/world/common/enemy/ai/FlyingAI.inc.c index ff3265c08b..bd0664789c 100644 --- a/src/world/common/enemy/ai/FlyingAI.inc.c +++ b/src/world/common/enemy/ai/FlyingAI.inc.c @@ -58,7 +58,7 @@ void N(FlyingAI_Wander)(Evt* script, MobileAISettings* aiSettings, EnemyDetectVo temp_f24 = vt3 + vt7; if ((enemy->varTable[0] & 0x11) == 1) { - if (npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) { + if (npc->flags & NPC_FLAG_8) { if (vt1 < temp_f24 - npc->pos.y) { enemy->varTable[0] |= 0x10; } @@ -79,7 +79,7 @@ void N(FlyingAI_Wander)(Evt* script, MobileAISettings* aiSettings, EnemyDetectVo f32 yTemp; do { - if (npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) { + if (npc->flags & NPC_FLAG_8) { yTemp = temp_f24; test = vt4 + ((temp_f24 - vt4) * 0.09); npc->pos.y = test; @@ -108,7 +108,7 @@ void N(FlyingAI_Wander)(Evt* script, MobileAISettings* aiSettings, EnemyDetectVo f32 sinTemp = sin_deg(enemy->varTable[2]); s32 hit; - if (npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) { + if (npc->flags & NPC_FLAG_8) { hit = FALSE; } else { posX = npc->pos.x; @@ -212,7 +212,7 @@ void N(FlyingAI_Loiter)(Evt* script, MobileAISettings* aiSettings, EnemyDetectVo f32 undulateAmount = sin_deg(enemy->varTable[2]); s32 hitResult; - if (npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) { + if (npc->flags & NPC_FLAG_8) { hitResult = 0; } else { posX = npc->pos.x; @@ -342,7 +342,7 @@ void N(FlyingAI_LosePlayer)(Evt* script, MobileAISettings* aiSettings, EnemyDete npc->pos.y += npc->jumpVelocity; npc->currentAnim = enemy->animList[ENEMY_ANIM_INDEX_MELEE_HIT]; enemy->unk_07 = 0; - if (!(npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT)) { + if (!(npc->flags & NPC_FLAG_8)) { posX = npc->pos.x; posY = npc->pos.y; posZ = npc->pos.z; @@ -377,7 +377,7 @@ void N(FlyingAI_LosePlayer)(Evt* script, MobileAISettings* aiSettings, EnemyDete npc->yaw = clamp_angle(angle); } - if (npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) { + if (npc->flags & NPC_FLAG_8) { if (npc->pos.y + npc->jumpVelocity < temp_f22) { npc->pos.y = temp_f22; npc->jumpVelocity = 0.0f; @@ -416,9 +416,9 @@ void N(FlyingAI_Init)(Npc* npc, Enemy* enemy, Evt* script, MobileAISettings* aiS npc->flags &= ~NPC_FLAG_GRAVITY; npc->flags |= NPC_FLAG_JUMPING; if (enemy->territory->wander.isFlying) { - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } else { - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } posX = npc->pos.x; diff --git a/src/world/common/enemy/ai/FlyingMagikoopaAI.inc.c b/src/world/common/enemy/ai/FlyingMagikoopaAI.inc.c index 75544bb517..6ca18fbd10 100644 --- a/src/world/common/enemy/ai/FlyingMagikoopaAI.inc.c +++ b/src/world/common/enemy/ai/FlyingMagikoopaAI.inc.c @@ -295,7 +295,7 @@ ApiStatus N(FlyingMagikoopaAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall) { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; npc->flags |= NPC_FLAG_200000; enemy->flags |= ENEMY_FLAG_200000; enemy->varTable[1] = npc->pos.y * 100.0; diff --git a/src/world/common/enemy/ai/FlyingNoAttackAI.inc.c b/src/world/common/enemy/ai/FlyingNoAttackAI.inc.c index c7c26e201a..7dfd9e47cb 100644 --- a/src/world/common/enemy/ai/FlyingNoAttackAI.inc.c +++ b/src/world/common/enemy/ai/FlyingNoAttackAI.inc.c @@ -56,7 +56,7 @@ void N(FlyingNoAttackAI_13)(Evt* script, MobileAISettings* aiSettings, EnemyDete npc_move_heading(npc, npc->moveSpeed, npc->yaw); flag = 0; - if (!(npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT)) { + if (!(npc->flags & NPC_FLAG_8)) { x = npc->pos.x; y = npc->pos.y + npc->collisionHeight; z = npc->pos.z; diff --git a/src/world/common/enemy/ai/GrooveGuyAI.inc.c b/src/world/common/enemy/ai/GrooveGuyAI.inc.c index 221713a997..026754ccca 100644 --- a/src/world/common/enemy/ai/GrooveGuyAI.inc.c +++ b/src/world/common/enemy/ai/GrooveGuyAI.inc.c @@ -94,10 +94,10 @@ ApiStatus N(GrooveGuyAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/GuardAI.inc.c b/src/world/common/enemy/ai/GuardAI.inc.c index 808599066a..f7f967b441 100644 --- a/src/world/common/enemy/ai/GuardAI.inc.c +++ b/src/world/common/enemy/ai/GuardAI.inc.c @@ -211,10 +211,10 @@ ApiStatus N(GuardAI_Main)(Evt* script, s32 isInitialCall) { if (!(enemy->territory->wander.isFlying)) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/HoppingAI.inc.c b/src/world/common/enemy/ai/HoppingAI.inc.c index 127477ce79..229c36ef27 100644 --- a/src/world/common/enemy/ai/HoppingAI.inc.c +++ b/src/world/common/enemy/ai/HoppingAI.inc.c @@ -243,7 +243,7 @@ ApiStatus N(HoppingAI_Main)(Evt* script, s32 isInitialCall) { script->functionTemp[1] = 0; npc->flags &= ~NPC_FLAG_JUMPING; npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; enemy->aiFlags |= (ENEMY_AI_FLAG_8 | ENEMY_AI_FLAG_10); if (enemy->flags & ENEMY_FLAG_40000000) { diff --git a/src/world/common/enemy/ai/KoopaPatrolAI.inc.c b/src/world/common/enemy/ai/KoopaPatrolAI.inc.c index 0b81a335d3..1ee43a96b8 100644 --- a/src/world/common/enemy/ai/KoopaPatrolAI.inc.c +++ b/src/world/common/enemy/ai/KoopaPatrolAI.inc.c @@ -40,10 +40,10 @@ ApiStatus N(KoopaPatrolAI_Main)(Evt* script, s32 isInitialCall) { if (!enemy->territory->patrol.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/MagikoopaAI.inc.c b/src/world/common/enemy/ai/MagikoopaAI.inc.c index d681c31349..ab25c0bd33 100644 --- a/src/world/common/enemy/ai/MagikoopaAI.inc.c +++ b/src/world/common/enemy/ai/MagikoopaAI.inc.c @@ -85,7 +85,7 @@ void N(MagikoopaAI_10)(Evt* script, MobileAISettings* aiSettings, EnemyDetectVol npc->scale.x = 0.1f; npc->scale.y = 0.1f; npc->scale.z = 0.1f; - if (!(npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT)) { + if (!(npc->flags & NPC_FLAG_8)) { posX = npc->pos.x; dist = 200.0f; posZ = npc->pos.z; diff --git a/src/world/common/enemy/ai/MontyMoleAI.inc.c b/src/world/common/enemy/ai/MontyMoleAI.inc.c index ca01f5fe96..81d365d4f9 100644 --- a/src/world/common/enemy/ai/MontyMoleAI.inc.c +++ b/src/world/common/enemy/ai/MontyMoleAI.inc.c @@ -114,7 +114,7 @@ static void N(MontyMoleAI_Wander)(Evt* script, MobileAISettings* aiSettings, Ene } script->functionTemp[1]--; } - if (!(npc->flags & (NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_1000))) { + if (!(npc->flags & (NPC_FLAG_8 | NPC_FLAG_1000))) { npc->homePos.x = npc->pos.x; npc->homePos.z = npc->pos.z; } @@ -128,7 +128,7 @@ static void N(MontyMoleAI_PreSurface)(Evt* script, MobileAISettings* aiSettings, Enemy* enemy = script->owner1.enemy; Npc* npc = get_npc_unsafe(enemy->npcID); - npc->flags &= -(NPC_FLAG_PASSIVE | NPC_FLAG_2); + npc->flags &= ~NPC_FLAG_2; ai_enemy_play_sound(npc, SOUND_BURROW_SURFACE, 0); npc->yaw = atan2(npc->pos.x, npc->pos.z, gPlayerStatusPtr->position.x, gPlayerStatusPtr->position.z); npc->currentAnim = ANIM_MontyMole_Anim10; // emerge from ground @@ -245,7 +245,7 @@ ApiStatus N(MontyMoleAI_Main)(Evt* script, s32 isInitialCall) { if (isInitialCall) { script->AI_TEMP_STATE = AI_STATE_MOLE_INIT; npc->duration = 0; - npc->flags &= -(NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING); + npc->flags &= ~NPC_FLAG_JUMPING; enemy->aiFlags |= (ENEMY_AI_FLAG_8 | ENEMY_AI_FLAG_10); } diff --git a/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c b/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c index 9917a72993..71a4dffb46 100644 --- a/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c +++ b/src/world/common/enemy/ai/PatrolNoAttackAI.inc.c @@ -49,10 +49,10 @@ ApiStatus N(PatrolNoAttackAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->patrol.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/RangedAttackAI.inc.c b/src/world/common/enemy/ai/RangedAttackAI.inc.c index 859e173982..48ad48eeba 100644 --- a/src/world/common/enemy/ai/RangedAttackAI.inc.c +++ b/src/world/common/enemy/ai/RangedAttackAI.inc.c @@ -37,10 +37,10 @@ ApiStatus N(RangedAttackAI_Main)(Evt* script, s32 isInitialCall) { if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/ShyGuyPatrolAI.inc.c b/src/world/common/enemy/ai/ShyGuyPatrolAI.inc.c index afdfc85b5d..848eb62ae2 100644 --- a/src/world/common/enemy/ai/ShyGuyPatrolAI.inc.c +++ b/src/world/common/enemy/ai/ShyGuyPatrolAI.inc.c @@ -88,10 +88,10 @@ ApiStatus N(ShyGuyPatrolAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->patrol.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/ShyGuyWanderAI.inc.c b/src/world/common/enemy/ai/ShyGuyWanderAI.inc.c index 67024d1968..26593d74e7 100644 --- a/src/world/common/enemy/ai/ShyGuyWanderAI.inc.c +++ b/src/world/common/enemy/ai/ShyGuyWanderAI.inc.c @@ -86,10 +86,10 @@ ApiStatus N(ShyGuyWanderAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/SpearGuyAI.inc.c b/src/world/common/enemy/ai/SpearGuyAI.inc.c index 3303770164..4bce96e1b1 100644 --- a/src/world/common/enemy/ai/SpearGuyAI.inc.c +++ b/src/world/common/enemy/ai/SpearGuyAI.inc.c @@ -105,10 +105,10 @@ ApiStatus N(SpearGuyAI_Main)(Evt *script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/SpinyAI.inc.c b/src/world/common/enemy/ai/SpinyAI.inc.c index fd3c0554b9..1263e12d33 100644 --- a/src/world/common/enemy/ai/SpinyAI.inc.c +++ b/src/world/common/enemy/ai/SpinyAI.inc.c @@ -52,7 +52,7 @@ ApiStatus N(SpinyAI_Main)(Evt* script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; enemy->flags |= ENEMY_FLAG_200000; npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; enemy->varTable[10] = 0; enemy->varTable[11] = -1; npc->pos.x = 0.0f; @@ -90,10 +90,10 @@ ApiStatus N(SpinyAI_Main)(Evt* script, s32 isInitialCall) { if (enemy->varTable[13] != 0) { if (npc->pos.y <= 0.0) { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } else { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } } basic_ai_wander(script, aiSettings, territoryPtr); @@ -131,7 +131,7 @@ ApiStatus N(SpinyAI_Main)(Evt* script, s32 isInitialCall) { npc->pos.y = npc2->pos.y + 25.0; npc->pos.z = npc2->pos.z + 1.0; npc->rotation.y = 0.0f; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; npc->flags &= ~NPC_FLAG_2; npc->flags &= ~NPC_FLAG_GRAVITY; npc->renderYaw = 0.0f; @@ -177,17 +177,17 @@ ApiStatus N(SpinyAI_Main)(Evt* script, s32 isInitialCall) { if (enemy->varTable[13] != 0) { if (npc->pos.y <= 0.0) { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } else { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } } else if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } npc->flags |= NPC_FLAG_40000; npc->flags &= ~NPC_FLAG_JUMPING; @@ -215,7 +215,7 @@ ApiStatus N(SpinyAI_Main)(Evt* script, s32 isInitialCall) { npc->pos.x = 0.0f; npc->pos.z = 0.0f; npc->pos.y = -1000.0f; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_2; + npc->flags |= NPC_FLAG_8 | NPC_FLAG_2; npc->flags &= ~NPC_FLAG_GRAVITY; script->AI_TEMP_STATE = 111; case 111: diff --git a/src/world/common/enemy/ai/StoneChompAI.inc.c b/src/world/common/enemy/ai/StoneChompAI.inc.c index 18e852c42e..2aba1fb40b 100644 --- a/src/world/common/enemy/ai/StoneChompAI.inc.c +++ b/src/world/common/enemy/ai/StoneChompAI.inc.c @@ -38,7 +38,7 @@ ApiStatus N(StoneChompAI_Main)(Evt* script, s32 isInitialCall) { npc->duration = 0; npc->flags &= ~NPC_FLAG_JUMPING; npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; script->functionTemp[1] = 0; script->AI_TEMP_STATE = AI_STATE_HOP_INIT; if (enemy->flags & ENEMY_FLAG_40000000) { diff --git a/src/world/common/enemy/ai/TackleAI.inc.c b/src/world/common/enemy/ai/TackleAI.inc.c index 46353c6359..531f0f8970 100644 --- a/src/world/common/enemy/ai/TackleAI.inc.c +++ b/src/world/common/enemy/ai/TackleAI.inc.c @@ -58,10 +58,10 @@ ApiStatus N(TackleAI_Main)(Evt* script, s32 isInitialCall) { if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/ai/WanderMeleeAI.inc.c b/src/world/common/enemy/ai/WanderMeleeAI.inc.c index d811a24b46..45ec6257c9 100644 --- a/src/world/common/enemy/ai/WanderMeleeAI.inc.c +++ b/src/world/common/enemy/ai/WanderMeleeAI.inc.c @@ -50,10 +50,10 @@ ApiStatus N(WanderMeleeAI_Main)(Evt *script, s32 isInitialCall) { npc->flags &= ~NPC_FLAG_JUMPING; if (!enemy->territory->wander.isFlying) { npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; } else { npc->flags &= ~NPC_FLAG_GRAVITY; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; } if (enemy->aiFlags & ENEMY_AI_FLAG_4) { diff --git a/src/world/common/enemy/complete/Bandit.inc.c b/src/world/common/enemy/complete/Bandit.inc.c index 743fdba5d1..b97ff3ed19 100644 --- a/src/world/common/enemy/complete/Bandit.inc.c +++ b/src/world/common/enemy/complete/Bandit.inc.c @@ -81,7 +81,7 @@ EvtScript N(EVS_NpcDefeat_Bandit) = { EVT_CASE_EQ(OUTCOME_ENEMY_FLED) EVT_CALL(DisablePlayerInput, TRUE) EVT_SET(HAS_COIN_FLAG, TRUE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Bandit_Anim02) EVT_CALL(GetSelfNpcID, LVar0) EVT_EXEC(N(EVS_Bandit_CreateStolenCoin)) diff --git a/src/world/common/enemy/complete/Clubba.h b/src/world/common/enemy/complete/Clubba.h index 886689c915..31c5350d8b 100644 --- a/src/world/common/enemy/complete/Clubba.h +++ b/src/world/common/enemy/complete/Clubba.h @@ -61,7 +61,7 @@ .settings = &N(NpcSettings_Clubba_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 0, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = NPC_NO_DROPS, \ .animations = CLUBBA_ANIMS, \ .extraAnimations = N(ExtraAnims_Clubba_Hitbox), \ diff --git a/src/world/common/enemy/complete/DryBones.h b/src/world/common/enemy/complete/DryBones.h index a7f7175025..22fac6af26 100644 --- a/src/world/common/enemy/complete/DryBones.h +++ b/src/world/common/enemy/complete/DryBones.h @@ -40,7 +40,7 @@ .settings = &N(NpcSettings_ThrownBone), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 90, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = { \ .dropFlags = NPC_DROP_FLAG_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/FlyingMagikoopa.h b/src/world/common/enemy/complete/FlyingMagikoopa.h index 2a604ca88d..8575a6099f 100644 --- a/src/world/common/enemy/complete/FlyingMagikoopa.h +++ b/src/world/common/enemy/complete/FlyingMagikoopa.h @@ -44,7 +44,7 @@ .settings = &N(NpcSettings_FlyingMagikoopa_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 90, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = { \ .dropFlags = NPC_DROP_FLAG_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/ForestFuzzy_Wander.inc.c b/src/world/common/enemy/complete/ForestFuzzy_Wander.inc.c index 80a8a72511..92f8c95244 100644 --- a/src/world/common/enemy/complete/ForestFuzzy_Wander.inc.c +++ b/src/world/common/enemy/complete/ForestFuzzy_Wander.inc.c @@ -16,7 +16,7 @@ MobileAISettings N(AISettings_ForestFuzzy_Wander) = { }; EvtScript N(EVS_NpcAI_ForestFuzzy_Wander) = { - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(N(HoppingAI_Main), EVT_PTR(N(AISettings_ForestFuzzy_Wander)), 1) EVT_RETURN EVT_END diff --git a/src/world/common/enemy/complete/FrostClubba.h b/src/world/common/enemy/complete/FrostClubba.h index b8820e6078..3a5cd5e9de 100644 --- a/src/world/common/enemy/complete/FrostClubba.h +++ b/src/world/common/enemy/complete/FrostClubba.h @@ -40,7 +40,7 @@ .settings = &N(NpcSettings_FrostClubba_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 0, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = NPC_NO_DROPS, \ .animations = FROST_CLUBBA_ANIMS, \ .extraAnimations = N(ExtraAnims_FrostClubba_Hitbox), \ diff --git a/src/world/common/enemy/complete/FrostPiranha.h b/src/world/common/enemy/complete/FrostPiranha.h index bd72abe4ac..a3350ac84a 100644 --- a/src/world/common/enemy/complete/FrostPiranha.h +++ b/src/world/common/enemy/complete/FrostPiranha.h @@ -41,7 +41,7 @@ .settings = &N(NpcSettings_FrostPiranha_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 0, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = NPC_NO_DROPS, \ .animations = FROST_PIRANHA_ANIMS, \ .extraAnimations = N(ExtraAnims_FrostPiranha_Hitbox), \ diff --git a/src/world/common/enemy/complete/Fuzzy_Wander.inc.c b/src/world/common/enemy/complete/Fuzzy_Wander.inc.c index 0ffa8288ec..f2c673ad09 100644 --- a/src/world/common/enemy/complete/Fuzzy_Wander.inc.c +++ b/src/world/common/enemy/complete/Fuzzy_Wander.inc.c @@ -16,7 +16,7 @@ MobileAISettings N(AISettings_Fuzzy_Wander) = { }; EvtScript N(EVS_NpcAI_Fuzzy_Wander) = { - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(N(HoppingAI_Main), EVT_PTR(N(AISettings_Fuzzy_Wander)), 0) EVT_RETURN EVT_END diff --git a/src/world/common/enemy/complete/Gulpit.h b/src/world/common/enemy/complete/Gulpit.h index 3961de16ee..187406dd3f 100644 --- a/src/world/common/enemy/complete/Gulpit.h +++ b/src/world/common/enemy/complete/Gulpit.h @@ -41,7 +41,7 @@ .settings = &N(NpcSettings_Gulpit_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 0, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = NPC_NO_DROPS, \ .animations = GULPIT_ANIMS, \ .extraAnimations = N(ExtraAnims_Gulpit_Hitbox), \ diff --git a/src/world/common/enemy/complete/HammerBros.h b/src/world/common/enemy/complete/HammerBros.h index 428f6ed8b4..09a8e87332 100644 --- a/src/world/common/enemy/complete/HammerBros.h +++ b/src/world/common/enemy/complete/HammerBros.h @@ -41,7 +41,7 @@ .settings = &N(NpcSettings_HammerBros_Hammer), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 90, \ - .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = { \ .dropFlags = NPC_DROP_FLAG_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/JungleFuzzy_Wander.inc.c b/src/world/common/enemy/complete/JungleFuzzy_Wander.inc.c index 7922518991..c6419d15fd 100644 --- a/src/world/common/enemy/complete/JungleFuzzy_Wander.inc.c +++ b/src/world/common/enemy/complete/JungleFuzzy_Wander.inc.c @@ -16,7 +16,7 @@ MobileAISettings N(AISettings_JungleFuzzy_Wander) = { }; EvtScript N(EVS_NpcAI_JungleFuzzy_Wander) = { - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(N(HoppingAI_Main), EVT_PTR(N(AISettings_JungleFuzzy_Wander)), 2) EVT_RETURN EVT_END diff --git a/src/world/common/enemy/complete/Magikoopa.h b/src/world/common/enemy/complete/Magikoopa.h index a0cdc3d1c3..4bd3eea43a 100644 --- a/src/world/common/enemy/complete/Magikoopa.h +++ b/src/world/common/enemy/complete/Magikoopa.h @@ -44,7 +44,7 @@ .settings = &N(NpcSettings_Magikoopa_GroundHitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 90, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = { \ .dropFlags = NPC_DROP_FLAG_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/MontyMole_GroundAmbush.inc.c b/src/world/common/enemy/complete/MontyMole_GroundAmbush.inc.c index b07abe33e0..7b0c143e73 100644 --- a/src/world/common/enemy/complete/MontyMole_GroundAmbush.inc.c +++ b/src/world/common/enemy/complete/MontyMole_GroundAmbush.inc.c @@ -39,7 +39,7 @@ MobileAISettings N(AISettings_MontyMole_GroundAmbush) = { EvtScript N(EVS_NpcAI_MontyMole_GroundAmbush) = { EVT_CALL(func_800445D4, LVar0) EVT_IF_EQ(LVar0, 100) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 1) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 1) EVT_LABEL(10) EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) EVT_CALL(IsPlayerWithin, LVar0, LVar2, 80, LVar3) @@ -62,7 +62,7 @@ EvtScript N(EVS_NpcAI_MontyMole_GroundAmbush) = { EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_MOLE_POP, 0) EVT_CALL(NpcJump0, NPC_SELF, LVar4, LVar5, LVar6, 20) EVT_CALL(SetNpcPos, LVar0, NPC_DISPOSE_LOCATION) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 0) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 0) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_CALL(BasicAI_Main, EVT_PTR(N(AISettings_MontyMole_GroundAmbush))) diff --git a/src/world/common/enemy/complete/MontyMole_StoneThrower.inc.c b/src/world/common/enemy/complete/MontyMole_StoneThrower.inc.c index 87faf4fac9..379555e13d 100644 --- a/src/world/common/enemy/complete/MontyMole_StoneThrower.inc.c +++ b/src/world/common/enemy/complete/MontyMole_StoneThrower.inc.c @@ -125,7 +125,7 @@ NpcSettings N(NpcSettings_MontyMole_Stone) = { .settings = &N(NpcSettings_MontyMole_Stone), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 90, \ - .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = { \ .dropFlags = NPC_DROP_FLAG_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/MontyMole_WallAmbush.inc.c b/src/world/common/enemy/complete/MontyMole_WallAmbush.inc.c index 9b1adbbcc5..90a2ea5f48 100644 --- a/src/world/common/enemy/complete/MontyMole_WallAmbush.inc.c +++ b/src/world/common/enemy/complete/MontyMole_WallAmbush.inc.c @@ -39,7 +39,7 @@ MobileAISettings N(AISettings_MontyMole_WallAmbush) = { EvtScript N(EVS_NpcAI_MontyMole_WallAmbush) = { EVT_CALL(func_800445D4, LVar0) EVT_IF_EQ(LVar0, 100) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 1) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 1) EVT_LABEL(10) EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2) EVT_ADD(LVar2, 130) @@ -56,7 +56,7 @@ EvtScript N(EVS_NpcAI_MontyMole_WallAmbush) = { EVT_CALL(SetNpcPos, LVar0, LVar1, LVar2, LVar3) EVT_WAIT(1) EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_4, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE) EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_MontyMole_Anim0E) EVT_CALL(SetNpcPos, NPC_SELF, LVar1, LVar2, LVar3) @@ -65,8 +65,8 @@ EvtScript N(EVS_NpcAI_MontyMole_WallAmbush) = { EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.7)) EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_MOLE_POP, 0) EVT_CALL(NpcJump0, NPC_SELF, LVar1, LVar2, LVar3, 20) - EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_40, FALSE) - EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_20, 0) + EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) + EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 0) EVT_CALL(NpcFacePlayer, NPC_SELF, 0) EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_40000000, 1) EVT_END_IF diff --git a/src/world/common/enemy/complete/PiranhaPlant.h b/src/world/common/enemy/complete/PiranhaPlant.h index 2bc097ea84..fa105d5be3 100644 --- a/src/world/common/enemy/complete/PiranhaPlant.h +++ b/src/world/common/enemy/complete/PiranhaPlant.h @@ -40,7 +40,7 @@ .settings = &N(NpcSettings_PiranhaPlant_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 0, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = { \ .dropFlags = NPC_DROP_FLAG_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/PutridPiranha.h b/src/world/common/enemy/complete/PutridPiranha.h index 347640007d..1764848948 100644 --- a/src/world/common/enemy/complete/PutridPiranha.h +++ b/src/world/common/enemy/complete/PutridPiranha.h @@ -41,7 +41,7 @@ .settings = &N(NpcSettings_PutridPiranha_Hitbox), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 0, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = { \ .dropFlags = NPC_DROP_FLAG_80, \ .heartDrops = NO_DROPS, \ diff --git a/src/world/common/enemy/complete/SpyGuy.h b/src/world/common/enemy/complete/SpyGuy.h index 74978841c2..d18f8afede 100644 --- a/src/world/common/enemy/complete/SpyGuy.h +++ b/src/world/common/enemy/complete/SpyGuy.h @@ -64,7 +64,7 @@ .settings = &N(NpcSettings_SpyGuyRock), \ .pos = { NPC_DISPOSE_LOCATION }, \ .yaw = 90, \ - .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_800000, \ + .flags = ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_NO_DROPS, \ .drops = NPC_NO_DROPS, \ .territory = { \ .wander = { \ diff --git a/src/world/common/enemy/complete/StoneChomp.inc.c b/src/world/common/enemy/complete/StoneChomp.inc.c index abf90e50de..e54492d053 100644 --- a/src/world/common/enemy/complete/StoneChomp.inc.c +++ b/src/world/common/enemy/complete/StoneChomp.inc.c @@ -15,8 +15,8 @@ API_CALLABLE(N(StoneChompFXA)) { blurData = heap_malloc(8 * sizeof(*blurData)); npc->blur.chomp = blurData; - bp.flags = NPC_FLAG_8000 | NPC_FLAG_100 | NPC_FLAG_40 - | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_2; + bp.flags = NPC_FLAG_8000 | NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION + | NPC_FLAG_8 | NPC_FLAG_2; bp.initialAnim = ANIM_StoneChomp_Anim02; bp.onUpdate = NULL; bp.onRender = NULL; diff --git a/src/world/common/enemy/wip/PiranhaPlantAI_10.inc.c b/src/world/common/enemy/wip/PiranhaPlantAI_10.inc.c index ecc9a5f3d0..71257b1144 100644 --- a/src/world/common/enemy/wip/PiranhaPlantAI_10.inc.c +++ b/src/world/common/enemy/wip/PiranhaPlantAI_10.inc.c @@ -87,7 +87,7 @@ void N(PiranhaPlantAI_10)(Evt* script, MobileAISettings* aiSettings, EnemyDetect add_vec2D_polar(&npc->pos.x, &npc->pos.z, 375.0f, yaw2); } } else { - if (!(npc->flags & NPC_FLAG_40)) { + if (!(npc->flags & NPC_FLAG_IGNORE_WORLD_COLLISION)) { sp20 = gPlayerStatusPtr->position.x; sp24 = gPlayerStatusPtr->position.y + 18.0; sp28 = gPlayerStatusPtr->position.z; @@ -166,7 +166,7 @@ void N(PiranhaPlantAI_10)(Evt* script, MobileAISettings* aiSettings, EnemyDetect } } - if (!phi_s7 && (!(npc->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) || phi_fp)) { + if (!phi_s7 && (!(npc->flags & NPC_FLAG_8) || phi_fp)) { sp20 = npc->pos.x; sp38 = 400.0f; sp28 = npc->pos.z; diff --git a/src/world/common/npc/Bobomb.h b/src/world/common/npc/Bobomb.h index b1becbd09f..0095b55c91 100644 --- a/src/world/common/npc/Bobomb.h +++ b/src/world/common/npc/Bobomb.h @@ -8,7 +8,47 @@ .flowerDrops = NO_DROPS, \ } -#define BOBOMB_ANIMS \ +#define BOBOMB_GREEN_ANIMS \ +{ \ + .idle = ANIM_WorldBobomb_Green_Idle, \ + .walk = ANIM_WorldBobomb_Green_Walk, \ + .run = ANIM_WorldBobomb_Green_Run, \ + .chase = ANIM_WorldBobomb_Green_Run, \ + .anim_4 = ANIM_WorldBobomb_Green_Idle, \ + .anim_5 = ANIM_WorldBobomb_Green_Idle, \ + .death = ANIM_WorldBobomb_Green_Still, \ + .hit = ANIM_WorldBobomb_Green_Still, \ + .anim_8 = ANIM_WorldBobomb_Green_Still, \ + .anim_9 = ANIM_WorldBobomb_Green_Still, \ + .anim_A = ANIM_WorldBobomb_Green_Still, \ + .anim_B = ANIM_WorldBobomb_Green_Still, \ + .anim_C = ANIM_WorldBobomb_Green_Still, \ + .anim_D = ANIM_WorldBobomb_Green_Still, \ + .anim_E = ANIM_WorldBobomb_Green_Still, \ + .anim_F = ANIM_WorldBobomb_Green_Still, \ +} + +#define BOBOMB_RED_ANIMS \ +{ \ + .idle = ANIM_WorldBobomb_Red_Idle, \ + .walk = ANIM_WorldBobomb_Red_Walk, \ + .run = ANIM_WorldBobomb_Red_Run, \ + .chase = ANIM_WorldBobomb_Red_Run, \ + .anim_4 = ANIM_WorldBobomb_Red_Idle, \ + .anim_5 = ANIM_WorldBobomb_Red_Idle, \ + .death = ANIM_WorldBobomb_Red_Still, \ + .hit = ANIM_WorldBobomb_Red_Still, \ + .anim_8 = ANIM_WorldBobomb_Red_Still, \ + .anim_9 = ANIM_WorldBobomb_Red_Still, \ + .anim_A = ANIM_WorldBobomb_Red_Still, \ + .anim_B = ANIM_WorldBobomb_Red_Still, \ + .anim_C = ANIM_WorldBobomb_Red_Still, \ + .anim_D = ANIM_WorldBobomb_Red_Still, \ + .anim_E = ANIM_WorldBobomb_Red_Still, \ + .anim_F = ANIM_WorldBobomb_Red_Still, \ +} + +#define BOBOMB_BLUE_ANIMS \ { \ .idle = ANIM_WorldBobomb_Blue_Idle, \ .walk = ANIM_WorldBobomb_Blue_Walk, \ diff --git a/src/world/common/npc/KoopaWithoutShell.h b/src/world/common/npc/KoopaWithoutShell.h new file mode 100644 index 0000000000..9a68a1077d --- /dev/null +++ b/src/world/common/npc/KoopaWithoutShell.h @@ -0,0 +1,22 @@ +#include "common.h" +#include "sprite/npc/KoopaWithoutShell.h" + +#define KOOPA_WITHOUT_SHELL_ANIMS \ +{ \ + .idle = ANIM_KoopaWithoutShell_CryIdle, \ + .walk = ANIM_KoopaWithoutShell_CryRun, \ + .run = ANIM_KoopaWithoutShell_Walk, \ + .chase = ANIM_KoopaWithoutShell_CryRun, \ + .anim_4 = ANIM_KoopaWithoutShell_Walk, \ + .anim_5 = ANIM_KoopaWithoutShell_Walk, \ + .death = ANIM_KoopaWithoutShell_Still, \ + .hit = ANIM_KoopaWithoutShell_Still, \ + .anim_8 = ANIM_KoopaWithoutShell_Still, \ + .anim_9 = ANIM_KoopaWithoutShell_Still, \ + .anim_A = ANIM_KoopaWithoutShell_Still, \ + .anim_B = ANIM_KoopaWithoutShell_Still, \ + .anim_C = ANIM_KoopaWithoutShell_Still, \ + .anim_D = ANIM_KoopaWithoutShell_Still, \ + .anim_E = ANIM_KoopaWithoutShell_Still, \ + .anim_F = ANIM_KoopaWithoutShell_Still, \ +} diff --git a/src/world/common/npc/KoopaWithoutShell_Patrol.inc.c b/src/world/common/npc/KoopaWithoutShell_Patrol.inc.c new file mode 100644 index 0000000000..71e97e6fd4 --- /dev/null +++ b/src/world/common/npc/KoopaWithoutShell_Patrol.inc.c @@ -0,0 +1,31 @@ +#include "common.h" +#include "KoopaWithoutShell.h" + +#include "world/common/enemy/ai/PatrolNoAttackAI.inc.c" + +MobileAISettings N(AISettings_KoopaWithoutShell_Patrol) = { + .moveSpeed = 1.5f, + .moveTime = 30, + .waitTime = 30, + .playerSearchInterval = -1, + .unk_AI_2C = 1, +}; + +EvtScript N(EVS_NpcAI_KoopaWithoutShell_Patrol) = { + EVT_CALL(N(PatrolNoAttackAI_Main), EVT_PTR(N(AISettings_KoopaWithoutShell_Patrol))) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_KoopaWithoutShell_Patrol) = { + .height = 35, + .radius = 24, + .level = 99, + .ai = &N(EVS_NpcAI_KoopaWithoutShell_Patrol), + .actionFlags = AI_ACTION_LOOK_AROUND_DURING_LOITER, +}; + +s32 N(missing_80246F94_6F94)[] = { + 0x00000000, 0x002A0018, 0x00000000, 0x00000000, 0x80246F48, 0x00000000, 0x00000000, 0x00000000, + 0x00000000, 0x00000000, 0x00630000, +}; diff --git a/src/world/common/npc/KoopaWithoutShell_Wander.inc.c b/src/world/common/npc/KoopaWithoutShell_Wander.inc.c new file mode 100644 index 0000000000..b98e2e5150 --- /dev/null +++ b/src/world/common/npc/KoopaWithoutShell_Wander.inc.c @@ -0,0 +1,24 @@ +#include "common.h" +#include "KoopaWithoutShell.h" + +MobileAISettings N(AISettings_KoopaWithoutShell_Wander) = { + .moveSpeed = 1.0f, + .moveTime = 60, + .waitTime = 30, + .playerSearchInterval = -1, + .unk_AI_2C = -1, +}; + +EvtScript N(EVS_NpcAI_KoopaWithoutShell_Wander) = { + EVT_CALL(BasicAI_Main, EVT_PTR(N(AISettings_KoopaWithoutShell_Wander))) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_KoopaWithoutShell_Wander) = { + .height = 36, + .radius = 24, + .level = 99, + .ai = &N(EVS_NpcAI_KoopaWithoutShell_Wander), + .actionFlags = AI_ACTION_LOOK_AROUND_DURING_LOITER, +}; diff --git a/src/world/common/npc/Koopa_Wander.inc.c b/src/world/common/npc/Koopa_Wander.inc.c new file mode 100644 index 0000000000..ad8c97b0a7 --- /dev/null +++ b/src/world/common/npc/Koopa_Wander.inc.c @@ -0,0 +1,31 @@ +#include "common.h" +#include "Koopa.h" + +MobileAISettings N(AISettings_Koopa_Wander) = { + .moveSpeed = 1.5f, + .moveTime = 60, + .waitTime = 30, + .playerSearchInterval = -1, + .unk_AI_2C = 1, +}; + +EvtScript N(EVS_NpcAI_Koopa_Wander) = { + EVT_CALL(BasicAI_Main, EVT_PTR(N(AISettings_Koopa_Wander))) + EVT_RETURN + EVT_END +}; + +NpcSettings N(NpcSettings_Koopa_Wander) = { + .height = 35, + .radius = 24, + .level = 99, + .ai = &N(EVS_NpcAI_Koopa_Wander), + .actionFlags = AI_ACTION_LOOK_AROUND_DURING_LOITER, +}; + +NpcSettings N(NpcSettings_TallKoopa_Wander) = { + .height = 42, + .radius = 24, + .ai = &N(EVS_NpcAI_Koopa_Wander), + .level = 99, +}; diff --git a/src/world/common/todo/Set80151310_0.inc.c b/src/world/common/todo/Set80151310_0.inc.c index 5bf33a7049..56ac97fb59 100644 --- a/src/world/common/todo/Set80151310_0.inc.c +++ b/src/world/common/todo/Set80151310_0.inc.c @@ -2,6 +2,6 @@ #include "npc.h" ApiStatus N(Set80151310_0)(Evt* script, s32 isInitialCall) { - gEntityHideMode = 0; + gEntityHideMode = ENTITY_HIDE_MODE_0; return ApiStatus_DONE2; } diff --git a/src/world/dead/area_flo/flo_00/flo_00_3_npc.c b/src/world/dead/area_flo/flo_00/flo_00_3_npc.c index aa605a1644..feda36f13e 100644 --- a/src/world/dead/area_flo/flo_00/flo_00_3_npc.c +++ b/src/world/dead/area_flo/flo_00/flo_00_3_npc.c @@ -623,7 +623,7 @@ StaticNpc N(NpcData_Wisterwood) = { .settings = &N(NpcSettings_Dummy), .pos = { -72.0f, 60.0f, -100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Wisterwood), .drops = BUBULB_DROPS, .animations = BUBULB_PINK_ANIMS, @@ -635,7 +635,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { -59.0f, 0.0f, -40.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb_01), .drops = BUBULB_DROPS, .territory = { @@ -660,7 +660,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 67.0f, 0.0f, 85.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb_02), .drops = BUBULB_DROPS, .territory = { @@ -685,7 +685,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 90.0f, 0.0f, 410.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb_03), .drops = BUBULB_DROPS, .territory = { @@ -710,7 +710,7 @@ StaticNpc N(NpcData_Bubulbs)[] = { .settings = &N(NpcSettings_Bubulb_Patrol), .pos = { 200.0f, 0.0f, 430.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800 | ENEMY_FLAG_2000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800 | ENEMY_FLAG_2000, .init = &N(EVS_NpcInit_Bubulb_04), .drops = BUBULB_DROPS, .territory = { @@ -737,7 +737,7 @@ StaticNpc N(NpcData_Tolielup) = { .settings = &N(NpcSettings_Tolielup), .pos = { -400.0f, 0.0f, 190.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Tolielup), .drops = TOLIELUP_DROPS, .animations = TOLIELUP_ANIMS, @@ -749,7 +749,7 @@ StaticNpc N(NpcData_Klevar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Klevar), .drops = KLEVAR_DROPS, .animations = KLEVAR_ANIMS, @@ -760,7 +760,7 @@ StaticNpc N(NpcData_Lakilulu) = { .settings = &N(NpcSettings_Dummy), .pos = { 198.0f, 0.0f, 363.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilulu), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/dead/area_flo/flo_00/flo_00_4_epilogue.c b/src/world/dead/area_flo/flo_00/flo_00_4_epilogue.c index 68baf0ced7..b591fad44a 100644 --- a/src/world/dead/area_flo/flo_00/flo_00_4_epilogue.c +++ b/src/world/dead/area_flo/flo_00/flo_00_4_epilogue.c @@ -81,7 +81,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Lakilester_Epilogue), .pos = { 144.0f, 0.0f, 374.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilester_Epilogue), .drops = NPC_NO_DROPS, .animations = { @@ -108,7 +108,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Lakilester_Epilogue), .pos = { 198.0f, 0.0f, 363.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilulu_Epilogue), .drops = NPC_NO_DROPS, .animations = { @@ -135,7 +135,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = { .settings = &N(NpcSettings_Parakarry), .pos = { 266.0f, 0.0f, 322.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Parakarry_Epilogue), .drops = NPC_NO_DROPS, .animations = PARAKARRY_ANIMS, diff --git a/src/world/dead/area_flo/flo_03/flo_03_3_npc.c b/src/world/dead/area_flo/flo_03/flo_03_3_npc.c index fd4c4e2b4d..41af5d18b6 100644 --- a/src/world/dead/area_flo/flo_03/flo_03_3_npc.c +++ b/src/world/dead/area_flo/flo_03/flo_03_3_npc.c @@ -234,11 +234,11 @@ EvtScript N(EVS_NpcInteract_Petunia) = { EVT_SET(LVar4, EVT_FLOAT(90.0)) EVT_EXEC_WAIT(N(EVS_FocusCamBetween)) EVT_CALL(SpeakToPlayer, NPC_SELF, ANIM_Petunia_AngryTalk, ANIM_Petunia_Angry, 0, MSG_CH6_0057) - EVT_CALL(SetEnemyFlagBits, NPC_Dayzee, ENEMY_FLAG_1, 0) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_01, ENEMY_FLAG_1, 0) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_02, ENEMY_FLAG_1, 0) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_03, ENEMY_FLAG_1, 0) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_04, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_Dayzee, ENEMY_FLAG_PASSIVE, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_01, ENEMY_FLAG_PASSIVE, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_02, ENEMY_FLAG_PASSIVE, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_03, ENEMY_FLAG_PASSIVE, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_04, ENEMY_FLAG_PASSIVE, 0) EVT_CALL(BindNpcAI, NPC_Dayzee, EVT_PTR(N(EVS_NpcAI_Dayzee))) EVT_SET(MV_PauseBurrowing, FALSE) EVT_SET(MV_NextBurrowTriggerRadius, 60) @@ -298,7 +298,7 @@ EvtScript N(EVS_NpcInit_Dayzee) = { EVT_CALL(SetNpcPos, NPC_Dayzee, NPC_DISPOSE_LOCATION) EVT_CASE_DEFAULT EVT_IF_EQ(GF_FLO03_Defeated_Dayzee, FALSE) - EVT_CALL(SetEnemyFlagBits, NPC_Dayzee, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_Dayzee, ENEMY_FLAG_PASSIVE, 0) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcAI_Dayzee))) EVT_ELSE EVT_CALL(SetNpcPos, NPC_Dayzee, NPC_DISPOSE_LOCATION) @@ -394,7 +394,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_01) = { EVT_END_IF EVT_IF_EQ(LV_ShouldBurrow, TRUE) EVT_IF_EQ(AF_FLO_IsUnderground_Mole_01, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_01, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_01, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_01, 1) EVT_WAIT(1) EVT_SET(AF_FLO_IsUnderground_Mole_01, TRUE) @@ -428,7 +428,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_01) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_MontyMole_01, LVar1, LVar2, LVar3) EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_01, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_01, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_SET(AF_FLO_IsUnderground_Mole_01, FALSE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_01, 1) EVT_WAIT(1) @@ -473,7 +473,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_02) = { EVT_END_IF EVT_IF_EQ(LV_ShouldBurrow, TRUE) EVT_IF_EQ(AF_FLO_IsUnderground_Mole_02, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_02, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_02, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_02, 1) EVT_WAIT(1) EVT_SET(AF_FLO_IsUnderground_Mole_02, TRUE) @@ -507,7 +507,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_02) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_MontyMole_02, LVar1, LVar2, LVar3) EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_02, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_02, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_SET(AF_FLO_IsUnderground_Mole_02, FALSE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_02, 1) EVT_WAIT(1) @@ -552,7 +552,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_03) = { EVT_END_IF EVT_IF_EQ(LV_ShouldBurrow, TRUE) EVT_IF_EQ(AF_FLO_IsUnderground_Mole_03, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_03, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_03, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_03, 1) EVT_WAIT(1) EVT_SET(AF_FLO_IsUnderground_Mole_03, TRUE) @@ -586,7 +586,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_03) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_MontyMole_03, LVar1, LVar2, LVar3) EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_03, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_03, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_SET(AF_FLO_IsUnderground_Mole_03, FALSE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_03, 1) EVT_WAIT(1) @@ -631,7 +631,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_04) = { EVT_END_IF EVT_IF_EQ(LV_ShouldBurrow, TRUE) EVT_IF_EQ(AF_FLO_IsUnderground_Mole_04, FALSE) - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_04, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_04, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_04, 1) EVT_WAIT(1) EVT_SET(AF_FLO_IsUnderground_Mole_04, TRUE) @@ -665,7 +665,7 @@ EvtScript N(EVS_NpcIdle_MontyMole_04) = { EVT_END_LOOP EVT_CALL(SetNpcPos, NPC_MontyMole_04, LVar1, LVar2, LVar3) EVT_END_IF - EVT_CALL(SetNpcFlagBits, NPC_MontyMole_04, NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_8000, TRUE) + EVT_CALL(SetNpcFlagBits, NPC_MontyMole_04, NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8000, TRUE) EVT_SET(AF_FLO_IsUnderground_Mole_04, FALSE) EVT_CALL(NpcFacePlayer, NPC_MontyMole_04, 1) EVT_WAIT(1) @@ -700,7 +700,7 @@ EvtScript N(EVS_NpcInit_MontyMole_01) = { EVT_IF_EQ(GF_FLO03_Defeated_MontyMoleA, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MontyMole_01))) EVT_CALL(SetNpcAnimation, NPC_MontyMole_01, ANIM_MontyMole_Dark_Anim10) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_01, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_01, ENEMY_FLAG_PASSIVE, 0) EVT_ELSE EVT_CALL(SetNpcPos, NPC_MontyMole_01, NPC_DISPOSE_LOCATION) EVT_END_IF @@ -723,7 +723,7 @@ EvtScript N(EVS_NpcInit_MontyMole_02) = { EVT_IF_EQ(GF_FLO03_Defeated_MontyMoleB, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MontyMole_02))) EVT_CALL(SetNpcAnimation, NPC_MontyMole_02, ANIM_MontyMole_Dark_Anim10) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_02, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_02, ENEMY_FLAG_PASSIVE, 0) EVT_ELSE EVT_CALL(SetNpcPos, NPC_MontyMole_02, NPC_DISPOSE_LOCATION) EVT_END_IF @@ -746,7 +746,7 @@ EvtScript N(EVS_NpcInit_MontyMole_03) = { EVT_IF_EQ(GF_FLO03_Defeated_MontyMoleC, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MontyMole_03))) EVT_CALL(SetNpcAnimation, NPC_MontyMole_03, ANIM_MontyMole_Dark_Anim10) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_03, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_03, ENEMY_FLAG_PASSIVE, 0) EVT_ELSE EVT_CALL(SetNpcPos, NPC_MontyMole_03, NPC_DISPOSE_LOCATION) EVT_END_IF @@ -769,7 +769,7 @@ EvtScript N(EVS_NpcInit_MontyMole_04) = { EVT_IF_EQ(GF_FLO03_Defeated_MontyMoleD, FALSE) EVT_CALL(BindNpcIdle, NPC_SELF, EVT_PTR(N(EVS_NpcIdle_MontyMole_04))) EVT_CALL(SetNpcAnimation, NPC_MontyMole_04, ANIM_MontyMole_Dark_Anim10) - EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_04, ENEMY_FLAG_1, 0) + EVT_CALL(SetEnemyFlagBits, NPC_MontyMole_04, ENEMY_FLAG_PASSIVE, 0) EVT_ELSE EVT_CALL(SetNpcPos, NPC_MontyMole_04, NPC_DISPOSE_LOCATION) EVT_END_IF @@ -785,7 +785,7 @@ StaticNpc N(NpcData_Petunia) = { .settings = &N(NpcSettings_Petunia), .pos = { -30.0f, 0.0f, 100.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Petunia), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -818,7 +818,7 @@ StaticNpc N(NpcData_Dayzee) = { .settings = &N(NpcSettings_Dayzee), .pos = { -233.0f, 0.0f, -217.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Dayzee), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -850,7 +850,7 @@ StaticNpc N(NpcData_MontyMole_01) = { .settings = &N(NpcSettings_Dayzee), .pos = { -100.0f, 0.0f, 210.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_MontyMole_01), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -882,7 +882,7 @@ StaticNpc N(NpcData_MontyMole_02) = { .settings = &N(NpcSettings_Dayzee), .pos = { -130.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_MontyMole_02), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -914,7 +914,7 @@ StaticNpc N(NpcData_MontyMole_03) = { .settings = &N(NpcSettings_Dayzee), .pos = { 75.0f, 0.0f, 20.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_MontyMole_03), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -946,7 +946,7 @@ StaticNpc N(NpcData_MontyMole_04) = { .settings = &N(NpcSettings_Dayzee), .pos = { 71.0f, 0.0f, 200.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_MontyMole_04), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/dead/area_flo/flo_07/flo_07_3_npc.c b/src/world/dead/area_flo/flo_07/flo_07_3_npc.c index 302ce2b047..e63ee940c9 100644 --- a/src/world/dead/area_flo/flo_07/flo_07_3_npc.c +++ b/src/world/dead/area_flo/flo_07/flo_07_3_npc.c @@ -66,7 +66,7 @@ EvtScript N(EVS_MakeCrystalBerry) = { EVT_SET(GF_FLO07_CrystalBerryFellOnLeftSide, TRUE) EVT_END_IF EVT_CALL(PlaySound, SOUND_7BC) - EVT_CALL(func_802D62E4, 956) + EVT_CALL(func_802D62E4, SOUND_3BC) EVT_SET(AF_FLO_MadeCrystalBerry, TRUE) EVT_WAIT(20) EVT_CALL(SpeakToPlayer, NPC_Posie, ANIM_Posie_Talk, ANIM_Posie_Idle, 0, MSG_CH6_006A) @@ -236,7 +236,7 @@ StaticNpc N(NpcData_Posie) = { .settings = &N(NpcSettings_Posie), .pos = { -260.0f, 0.0f, 0.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Posie), .drops = POSIE_DROPS, .animations = POSIE_ANIMS, diff --git a/src/world/dead/area_flo/flo_08/flo_08_4_npc.c b/src/world/dead/area_flo/flo_08/flo_08_4_npc.c index 8a9adc2df3..592c1073a7 100644 --- a/src/world/dead/area_flo/flo_08/flo_08_4_npc.c +++ b/src/world/dead/area_flo/flo_08/flo_08_4_npc.c @@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = { .settings = &N(NpcSettings_GateFlower), .pos = { -695.0f, 0.0f, -30.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_2000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_GateFlower), .drops = GATE_FLOWER_DROPS, .animations = GATE_FLOWER_YELLOW_ANIMS, diff --git a/src/world/dead/area_flo/flo_10/flo_10_5_npc.c b/src/world/dead/area_flo/flo_10/flo_10_5_npc.c index 24bf3827e3..5a72f9163e 100644 --- a/src/world/dead/area_flo/flo_10/flo_10_5_npc.c +++ b/src/world/dead/area_flo/flo_10/flo_10_5_npc.c @@ -203,7 +203,7 @@ StaticNpc N(NpcData_Lily) = { .settings = &N(NpcSettings_Lily), .pos = { 80.0f, -60.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lily), .drops = LILY_DROPS, .animations = LILY_ANIMS, diff --git a/src/world/dead/area_flo/flo_11/flo_11_3_npc.c b/src/world/dead/area_flo/flo_11/flo_11_3_npc.c index d37828f560..a70e40f23f 100644 --- a/src/world/dead/area_flo/flo_11/flo_11_3_npc.c +++ b/src/world/dead/area_flo/flo_11/flo_11_3_npc.c @@ -374,7 +374,7 @@ StaticNpc N(NpcData_Lakitus)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 553.0f, 60.0f, 52.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Lakitu_01), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -384,7 +384,7 @@ StaticNpc N(NpcData_Lakitus)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 553.0f, 60.0f, 52.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Lakitu_02), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, diff --git a/src/world/dead/area_flo/flo_12/flo_12_3_npc.c b/src/world/dead/area_flo/flo_12/flo_12_3_npc.c index 1d223b41e4..841a9296cc 100644 --- a/src/world/dead/area_flo/flo_12/flo_12_3_npc.c +++ b/src/world/dead/area_flo/flo_12/flo_12_3_npc.c @@ -194,7 +194,7 @@ StaticNpc N(NpcData_Rosie)[] = { .settings = &N(NpcSettings_Rosie), .pos = { -70.0f, 0.0f, 20.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Rosie), .drops = ROSIE_DROPS, .animations = ROSIE_ANIMS, @@ -205,7 +205,7 @@ StaticNpc N(NpcData_Rosie)[] = { .settings = &N(NpcSettings_Dummy), .pos = { -70.0f, 0.0f, 20.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_200, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_200, .drops = ROSIE_DROPS, .animations = ROSIE_ANIMS, }, diff --git a/src/world/dead/area_flo/flo_13/flo_13_4_npc.c b/src/world/dead/area_flo/flo_13/flo_13_4_npc.c index 3545194511..0996c44d4e 100644 --- a/src/world/dead/area_flo/flo_13/flo_13_4_npc.c +++ b/src/world/dead/area_flo/flo_13/flo_13_4_npc.c @@ -598,7 +598,7 @@ StaticNpc N(NpcData_Lakilester) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_Lakilester), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -630,7 +630,7 @@ StaticNpc N(NpcData_Lakilulu) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilulu), .drops = { .dropFlags = NPC_DROP_FLAG_80, @@ -663,7 +663,7 @@ StaticNpc N(NpcData_Lakilulu_Spiny) = { .settings = &N(NpcSettings_Lakilester), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800, .init = &N(EVS_NpcInit_Lakilulu_Spiny), .drops = { .dropFlags = NPC_DROP_FLAG_80, diff --git a/src/world/dead/area_flo/flo_14/flo_14_4_npc.c b/src/world/dead/area_flo/flo_14/flo_14_4_npc.c index ecf4a828b4..d012bf2292 100644 --- a/src/world/dead/area_flo/flo_14/flo_14_4_npc.c +++ b/src/world/dead/area_flo/flo_14/flo_14_4_npc.c @@ -83,7 +83,7 @@ StaticNpc N(NpcData_BubbleFlower) = { .settings = &N(NpcSettings_BubbleFlower), .pos = { 617.0f, 0.0f, 108.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_4000, .init = &N(EVS_NpcInit_BubbleFlower), .drops = BUBULB_DROPS, .animations = BUBULB_PINK_ANIMS, diff --git a/src/world/dead/area_flo/flo_15/flo_15_3_npc.c b/src/world/dead/area_flo/flo_15/flo_15_3_npc.c index 22a590605c..86a9692696 100644 --- a/src/world/dead/area_flo/flo_15/flo_15_3_npc.c +++ b/src/world/dead/area_flo/flo_15/flo_15_3_npc.c @@ -203,7 +203,7 @@ StaticNpc N(NpcData_Sun)[] = { .settings = &N(NpcSettings_Sun), .pos = { 0.0f, 250.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Sun_01), .drops = SUN_DROPS, .animations = SUN_ANIMS, @@ -214,7 +214,7 @@ StaticNpc N(NpcData_Sun)[] = { .settings = &N(NpcSettings_Sun), .pos = { 0.0f, 250.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_8000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_8000, .init = &N(EVS_NpcInit_Sun_02), .drops = SUN_DROPS, .animations = SUN_ANIMS, diff --git a/src/world/dead/area_flo/flo_18/flo_18_4_npc.c b/src/world/dead/area_flo/flo_18/flo_18_4_npc.c index b664c348dc..09d54bd365 100644 --- a/src/world/dead/area_flo/flo_18/flo_18_4_npc.c +++ b/src/world/dead/area_flo/flo_18/flo_18_4_npc.c @@ -603,7 +603,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 0.0f, 15.0f, 60.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Lakitu_01), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -614,7 +614,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 65.0f, 15.0f, 60.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Lakitu_02), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -625,7 +625,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Lakitu), .pos = { 135.0f, 15.0f, 35.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Lakitu_03), .drops = LAKITU_DROPS, .animations = LAKITU_ANIMS, @@ -636,7 +636,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Magikoopa), .pos = { -60.0f, 0.0f, 50.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Magikoopa), .drops = MAGIKOOPA_DROPS, .animations = MAGIKOOPA_YELLOW_ANIMS, @@ -647,7 +647,7 @@ StaticNpc N(NpcData_MachineGang)[] = { .settings = &N(NpcSettings_Magikoopa), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_800 | ENEMY_FLAG_40000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_FlyingMagikoopa), .drops = MAGIKOOPA_DROPS, .animations = FLYING_MAGIKOOPA_YELLOW_ANIMS, diff --git a/src/world/dead/area_kzn/kzn_11/kzn_11_3_npc.c b/src/world/dead/area_kzn/kzn_11/kzn_11_3_npc.c index ddf8ba1006..3f2b0c3a58 100644 --- a/src/world/dead/area_kzn/kzn_11/kzn_11_3_npc.c +++ b/src/world/dead/area_kzn/kzn_11/kzn_11_3_npc.c @@ -149,7 +149,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_01), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -159,7 +159,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -169,7 +169,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -179,7 +179,7 @@ StaticNpc N(NpcData_FireBar_01)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -192,7 +192,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_02), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -202,7 +202,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -212,7 +212,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -222,7 +222,7 @@ StaticNpc N(NpcData_FireBar_02)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -235,7 +235,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_03), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -245,7 +245,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -255,7 +255,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, @@ -265,7 +265,7 @@ StaticNpc N(NpcData_FireBar_03)[] = { .settings = &N(NpcSettings_FireBar_Extra), .pos = { 0.0f, 0.0f, 0.0f }, .yaw = 0, - .flags = ENEMY_FLAG_1, + .flags = ENEMY_FLAG_PASSIVE, .init = (void*) 0x00004003, .animations = { }, diff --git a/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c b/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c index 35abdb4fb5..dd7f42c8cc 100644 --- a/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c +++ b/src/world/dead/area_kzn/kzn_17/kzn_17_3_npc.c @@ -138,7 +138,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c b/src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c index ea3faea876..43ac5e52b5 100644 --- a/src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c +++ b/src/world/dead/area_kzn/kzn_18/kzn_18_2_npc.c @@ -148,7 +148,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c b/src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c index 4f435d85aa..537ee30779 100644 --- a/src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c +++ b/src/world/dead/area_kzn/kzn_19/kzn_19_4_npc.c @@ -983,7 +983,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { 380.0f, 250.0f, -330.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -995,7 +995,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_400000, .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, .tattle = MSG_NpcTattle_Misstar, @@ -1030,7 +1030,7 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .settings = &N(NpcSettings_LavaPiranhaHead), .pos = { 400.0f, 25.0f, -30.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_LavaBud), .drops = LAVA_PIRANHA_DROPS, .animations = LAVA_PIRANHA_BUD_ANIMS, @@ -1042,7 +1042,7 @@ StaticNpc N(NpcData_LavaPiranha)[] = { .settings = &N(NpcSettings_LavaPiranhaHead), .pos = { 400.0f, 25.0f, -30.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_4 | ENEMY_FLAG_40000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_4 | ENEMY_FLAG_40000, .init = &N(EVS_NpcInit_LavaBud), .drops = LAVA_PIRANHA_DROPS, .animations = LAVA_PIRANHA_BUD_ANIMS, diff --git a/src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c b/src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c index 176697e50d..a621c91ae6 100644 --- a/src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c +++ b/src/world/dead/area_kzn/kzn_20/kzn_20_3_npc.c @@ -530,7 +530,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { -65.0f, 0.0f, 190.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000 | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -542,7 +542,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { 100.0f, 160.0f, 0.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_400000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_400000, .init = &N(EVS_NpcInit_Misstar), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, diff --git a/src/world/dead/area_kzn/kzn_22/kzn_22_4_npc.c b/src/world/dead/area_kzn/kzn_22/kzn_22_4_npc.c index 74273cf544..6ad7d46432 100644 --- a/src/world/dead/area_kzn/kzn_22/kzn_22_4_npc.c +++ b/src/world/dead/area_kzn/kzn_22/kzn_22_4_npc.c @@ -267,7 +267,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { 445.0f, 150.0f, 175.0f }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, @@ -279,7 +279,7 @@ StaticNpc N(NpcData_Misstar) = { .settings = &N(NpcSettings_StarSpirit), .pos = { 285.0f, 160.0f, 80.0f }, .yaw = 270, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Misstar), .drops = MISSTAR_DROPS, .animations = MISSTAR_ANIMS, diff --git a/src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c b/src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c index b8a7f82808..0f287fc2a0 100644 --- a/src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c +++ b/src/world/dead/area_kzn/kzn_23/kzn_23_3_npc.c @@ -280,7 +280,7 @@ StaticNpc N(NpcData_Kolorado) = { .settings = &N(NpcSettings_Kolorado), .pos = { NPC_DISPOSE_LOCATION }, .yaw = 90, - .flags = ENEMY_FLAG_1 | ENEMY_FLAG_8 | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, + .flags = ENEMY_FLAG_PASSIVE | ENEMY_FLAG_ENABLE_HIT_SCRIPT | ENEMY_FLAG_100 | ENEMY_FLAG_200 | ENEMY_FLAG_400 | ENEMY_FLAG_10000 | ENEMY_FLAG_100000, .init = &N(EVS_NpcInit_Kolorado), .drops = KOLORADO_DROPS, .animations = KOLORADO_ANIMS, diff --git a/src/world/partner/bombette.c b/src/world/partner/bombette.c index 71636012d8..bf9b19aa95 100644 --- a/src/world/partner/bombette.c +++ b/src/world/partner/bombette.c @@ -116,7 +116,7 @@ ApiStatus func_802BD338_318088(Evt* script, s32 isInitialCall) { BombetteTweesterPhysicsPtr->angularVelocity = 6.0f; BombetteTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; BombetteTweesterPhysicsPtr->countdown = 120; - bombette->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT; + bombette->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8; bombette->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(BombetteTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); @@ -235,7 +235,7 @@ ApiStatus func_802BD758_3184A8(Evt *evt, s32 isInitialCall) { D_802BE928 = 0; D_802BE930 = 0; D_802BE934 = 0; - npc->flags &= ~(NPC_FLAG_JUMPING | NPC_FLAG_GRAVITY | NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT); + npc->flags &= ~(NPC_FLAG_JUMPING | NPC_FLAG_GRAVITY | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8); partnerActionStatus->partnerActionState = PARTNER_ACTION_USE; partnerActionStatus->actingPartner = PARTNER_BOMBETTE; D_802BE920 = func_800EF4E0(); diff --git a/src/world/partner/bow.c b/src/world/partner/bow.c index 9571e27d5b..de50ddc556 100644 --- a/src/world/partner/bow.c +++ b/src/world/partner/bow.c @@ -69,7 +69,7 @@ ApiStatus BowUpdate(Evt* script, s32 isInitialCall) { BowTweesterPhysicsPtr->angularVelocity = 6.0f; BowTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; BowTweesterPhysicsPtr->countdown = 120; - bow->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT; + bow->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8; bow->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(BowTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); @@ -285,7 +285,7 @@ ApiStatus BowUseAbility(Evt* script, s32 isInitialCall) { bow->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2; script->functionTemp[0]++; playerStatus->flags &= ~PS_FLAG_PAUSE_DISABLED; - bow->flags |= NPC_FLAG_40; + bow->flags |= NPC_FLAG_IGNORE_WORLD_COLLISION; } get_shadow_by_index(bow->shadowIndex)->alpha = playerStatus->alpha1 >> 1; @@ -358,7 +358,7 @@ void func_802BDDF0_324740(Npc* bow) { } playerStatus->flags &= ~(PS_FLAG_HAZARD_INVINCIBILITY | PS_FLAG_JUMPING); - bow->flags &= ~(NPC_FLAG_40 | NPC_FLAG_2); + bow->flags &= ~(NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_2); D_802BE0C4 = FALSE; actionState = ACTION_STATE_IDLE; diff --git a/src/world/partner/goombario.c b/src/world/partner/goombario.c index c2aae53605..fe73e4bfb1 100644 --- a/src/world/partner/goombario.c +++ b/src/world/partner/goombario.c @@ -137,7 +137,7 @@ s32 func_802BD1D0_3170F0(Evt* script, s32 isInitialCall) { GoombarioTweesterPhysicsPtr->angularVelocity = 6.0f; GoombarioTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; GoombarioTweesterPhysicsPtr->countdown = 120; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_100 | NPC_FLAG_40000; + npc->flags |= NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100 | NPC_FLAG_40000; npc->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(GoombarioTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); diff --git a/src/world/partner/goompa.c b/src/world/partner/goompa.c index 1f27d91487..06b84e9608 100644 --- a/src/world/partner/goompa.c +++ b/src/world/partner/goompa.c @@ -60,7 +60,7 @@ ApiStatus func_802BD14C_324A5C(Evt* script, s32 isInitialCall) { GoompaTweesterPhysicsPtr->angularVelocity = 6.0f; GoompaTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; GoompaTweesterPhysicsPtr->countdown = 120; - goompa->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_40 | NPC_FLAG_100 | NPC_FLAG_40000; + goompa->flags |= NPC_FLAG_8 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_100 | NPC_FLAG_40000; goompa->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(GoompaTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); diff --git a/src/world/partner/kooper.c b/src/world/partner/kooper.c index 21061bbb8f..507dff1d69 100644 --- a/src/world/partner/kooper.c +++ b/src/world/partner/kooper.c @@ -114,7 +114,7 @@ ApiStatus KooperUpdate(Evt* script, s32 isInitialCall) { KooperTweesterPhysicsPtr->angularVelocity = 6.0f; KooperTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; KooperTweesterPhysicsPtr->countdown = 120; - kooper->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT; + kooper->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8; kooper->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(KooperTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); @@ -230,8 +230,8 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { D_802BEC64 = 1; D_802BEB40_31CB60 = 0; D_802BEC6C = 0; - kooper->flags &= ~(NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING | NPC_FLAG_ENABLE_HIT_SCRIPT); - kooper->flags |= (NPC_FLAG_100 | NPC_FLAG_40); + kooper->flags &= ~(NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING | NPC_FLAG_8); + kooper->flags |= (NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION); partnerActionStatus->actingPartner = PARTNER_KOOPER; partnerActionStatus->partnerActionState = PARTNER_ACTION_KOOPER_1; D_802BEC58 = func_800EF4E0(); @@ -573,7 +573,7 @@ ApiStatus func_802BD638_31B658(Evt* script, s32 isInitialCall) { D_802BEB40_31CB60 = 0; kooper->flags |= NPC_FLAG_100; - kooper->flags &= ~(NPC_FLAG_JUMPING | NPC_FLAG_40); + kooper->flags &= ~(NPC_FLAG_JUMPING | NPC_FLAG_IGNORE_WORLD_COLLISION); partnerActionStatus->actingPartner = PARTNER_NONE; partnerActionStatus->partnerActionState = PARTNER_ACTION_NONE; kooper->jumpVelocity = 0.0f; @@ -698,7 +698,7 @@ void world_kooper_pre_battle(Npc* kooper) { kooper->jumpVelocity = 0.0f; kooper->flags &= ~NPC_FLAG_JUMPING; - kooper->flags &= ~NPC_FLAG_40; + kooper->flags &= ~NPC_FLAG_IGNORE_WORLD_COLLISION; sfx_stop_sound(SOUND_284); set_action_state(0); diff --git a/src/world/partner/lakilester.c b/src/world/partner/lakilester.c index 37bc6d2c02..ba84eb2c03 100644 --- a/src/world/partner/lakilester.c +++ b/src/world/partner/lakilester.c @@ -112,7 +112,7 @@ ApiStatus func_802BD2D4_320E24(Evt* script, s32 isInitialCall) { LakilesterTweesterPhysicsPtr->angularVelocity = 6.0f; LakilesterTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; LakilesterTweesterPhysicsPtr->countdown = 120; - lakilester->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT; + lakilester->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8; lakilester->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(LakilesterTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); @@ -583,13 +583,13 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { } else { partnerActionStatus->partnerAction_unk_1 = 0; playerStatus->flags &= ~PS_FLAG_PAUSE_DISABLED; - npc->flags &= ~(NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT); + npc->flags &= ~(NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8); npc->flags |= NPC_FLAG_100; set_action_state(ACTION_STATE_RIDE); suggest_player_anim_setUnkFlag(ANIM_Mario_8000E); npc->currentAnim = ANIM_WorldLakilester_Walk; D_802BFF0C = 1; - npc->flags &= ~(NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT); + npc->flags &= ~(NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8); npc->flags |= (NPC_FLAG_100 | NPC_FLAG_400000); partnerActionStatus->actingPartner = PARTNER_LAKILESTER; partnerActionStatus->partnerActionState = PARTNER_ACTION_LAKILESTER_1; @@ -614,7 +614,7 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { D_802BFF18 = 0; D_802BFF14 = 1; - npc->flags |= NPC_FLAG_40; + npc->flags |= NPC_FLAG_IGNORE_WORLD_COLLISION; } } else { return ApiStatus_DONE2; @@ -677,7 +677,7 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { D_802BFF04 = 1; } - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; npc->flags |= (NPC_FLAG_400000 | NPC_FLAG_100); set_action_state(ACTION_STATE_RIDE); D_802BFF0C = 1; @@ -773,7 +773,7 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { break; } else { D_802BFF14 = 1; - npc->flags |= NPC_FLAG_40; + npc->flags |= NPC_FLAG_IGNORE_WORLD_COLLISION; } } case 1: @@ -807,7 +807,7 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { } break; case 3: - npc->flags &= ~NPC_FLAG_40; + npc->flags &= ~NPC_FLAG_IGNORE_WORLD_COLLISION; playerStatus->flags |= PS_FLAG_PAUSE_DISABLED; lakilester_raycast_below(); camYaw = camera->currentYaw; @@ -871,7 +871,7 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { if (D_802BFF14 == 10) { D_802BFF0C = 0; - npc->flags &= ~(NPC_FLAG_40 | NPC_FLAG_400000 | NPC_FLAG_ENABLE_HIT_SCRIPT); + npc->flags &= ~(NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_400000 | NPC_FLAG_8); if (D_802BFF08 != 0) { D_802BFF08 = 0; @@ -903,7 +903,7 @@ ApiStatus func_802BE724_322274(Evt* script, s32 isInitialCall) { } if (D_802BFF14 == 11) { - npc->flags &= ~(NPC_FLAG_40 | NPC_FLAG_400000 | NPC_FLAG_ENABLE_HIT_SCRIPT); + npc->flags &= ~(NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_400000 | NPC_FLAG_8); partnerActionStatus->actingPartner = PARTNER_NONE; partnerActionStatus->partnerActionState = PARTNER_ACTION_NONE; playerStatus->flags &= ~PS_FLAG_PAUSE_DISABLED; @@ -1003,7 +1003,7 @@ ApiStatus func_802BF4F0_323040(Evt* script, s32 isInitialCall) { switch (D_802BFF00) { case 3: - lakilester->flags &= ~(NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT); + lakilester->flags &= ~(NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8); if (D_802BFF08) { D_802BFF08 = FALSE; diff --git a/src/world/partner/parakarry.c b/src/world/partner/parakarry.c index c42c68d5b1..58a6c05180 100644 --- a/src/world/partner/parakarry.c +++ b/src/world/partner/parakarry.c @@ -71,7 +71,7 @@ ApiStatus ParakarryUpdate(Evt* script, s32 isInitialCall) { ParakarryTweesterPhysicsPtr->angularVelocity = 6.0f; ParakarryTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; ParakarryTweesterPhysicsPtr->countdown = 120; - parakarry->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT; + parakarry->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8; parakarry->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(ParakarryTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); @@ -239,7 +239,7 @@ ApiStatus func_802BD660_319BD0(Evt* evt, s32 isInitialCall) { D_802BEBB0 = 1; gCameras[0].moveFlags |= CAMERA_MOVE_IGNORE_PLAYER_Y; parakarry->flags &= ~(NPC_FLAG_JUMPING | NPC_FLAG_GRAVITY); - parakarry->flags |= NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT; + parakarry->flags |= NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8; partnerActionStatus->actingPartner = PARTNER_PARAKARRY; partnerActionStatus->partnerActionState = PARTNER_ACTION_PARAKARRY_HOVER; D_802BEBBC = func_800EF4E0(); diff --git a/src/world/partner/sushie.c b/src/world/partner/sushie.c index 1e7d0de988..2e4719785b 100644 --- a/src/world/partner/sushie.c +++ b/src/world/partner/sushie.c @@ -373,7 +373,7 @@ ApiStatus func_802BE3A4_31F114(Evt* script, s32 isInitialCall) { npc->moveToPos.y = npc->pos.y; playerStatus->position.y = npc->moveToPos.y + 16.0f; bss_802BFEEC = 1; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_8; npc->flags &= ~NPC_FLAG_GRAVITY; npc->flags |= NPC_FLAG_100; suggest_player_anim_setUnkFlag(ANIM_Mario_8000F); @@ -445,8 +445,8 @@ ApiStatus func_802BE3A4_31F114(Evt* script, s32 isInitialCall) { break; } npc->collisionChannel = COLLISION_CHANNEL_10000; - npc->flags |= NPC_FLAG_ENABLE_HIT_SCRIPT; - npc->flags &= ~(NPC_FLAG_GRAVITY | NPC_FLAG_40); + npc->flags |= NPC_FLAG_8; + npc->flags &= ~(NPC_FLAG_GRAVITY | NPC_FLAG_IGNORE_WORLD_COLLISION); disable_npc_shadow(npc); func_8003D624(npc, 4, 2, 0, 0, 0, 0); npc->currentAnim = ANIM_WorldSushie_Ride; @@ -642,7 +642,7 @@ ApiStatus func_802BE3A4_31F114(Evt* script, s32 isInitialCall) { if (collider >= 0) { playerStatus->flags &= ~PS_FLAG_MOVEMENT_LOCKED; suggest_player_anim_clearUnkFlag(ANIM_Mario_10002); - npc->flags |= NPC_FLAG_40; + npc->flags |= NPC_FLAG_IGNORE_WORLD_COLLISION; dist = dist2D(npc->pos.x, npc->pos.z, npc->moveToPos.x, npc->moveToPos.z) + (playerStatus->colliderDiameter * 0.5f); npc->jumpVelocity = 8.0f; @@ -666,9 +666,9 @@ ApiStatus func_802BE3A4_31F114(Evt* script, s32 isInitialCall) { enable_npc_shadow(npc); partner_clear_player_tracking(npc); bss_802BFEEC = 0; - npc->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags &= ~NPC_FLAG_8; npc->flags |= NPC_FLAG_GRAVITY; - npc->flags &= ~NPC_FLAG_40; + npc->flags &= ~NPC_FLAG_IGNORE_WORLD_COLLISION; gGameStatusPtr->keepUsingPartnerOnMapChange = FALSE; partnerActionStatus->partnerActionState = PARTNER_ACTION_NONE; partnerActionStatus->actingPartner = 0; @@ -746,7 +746,7 @@ ApiStatus SushieUpdate(Evt* script, s32 isInitialCall) { SushieTweesterPhysicsPtr->angularVelocity = 6.0f; SushieTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; SushieTweesterPhysicsPtr->countdown = 120; - sushie->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT; + sushie->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8; sushie->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(SushieTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); @@ -881,7 +881,7 @@ s32 func_802BFAB8_320828(Evt* script, s32 isInitialCall) { partnerNPC->moveToPos.x = partnerNPC->pos.x; partnerNPC->moveToPos.y = partnerNPC->pos.y; partnerNPC->moveToPos.z = partnerNPC->pos.z; - partnerNPC->flags |= NPC_FLAG_100 | NPC_FLAG_ENABLE_HIT_SCRIPT; + partnerNPC->flags |= NPC_FLAG_100 | NPC_FLAG_8; partnerNPC->flags &= ~NPC_FLAG_GRAVITY; disable_npc_shadow(partnerNPC); disable_player_shadow(); diff --git a/src/world/partner/watt.c b/src/world/partner/watt.c index bb38b64b8e..bbcd1884d0 100644 --- a/src/world/partner/watt.c +++ b/src/world/partner/watt.c @@ -136,7 +136,7 @@ ApiStatus WattUpdate(Evt* script, s32 isInitialCall) { WattTweesterPhysicsPtr->angularVelocity = 6.0f; WattTweesterPhysicsPtr->liftoffVelocityPhase = 50.0f; WattTweesterPhysicsPtr->countdown = 120; - watt->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_40 | NPC_FLAG_ENABLE_HIT_SCRIPT; + watt->flags |= NPC_FLAG_40000 | NPC_FLAG_100 | NPC_FLAG_IGNORE_WORLD_COLLISION | NPC_FLAG_8; watt->flags &= ~NPC_FLAG_GRAVITY; case 1: sin_cos_rad(DEG_TO_RAD(WattTweesterPhysicsPtr->angle), &sinAngle, &cosAngle); @@ -279,7 +279,7 @@ ApiStatus func_802BD754_31D2C4(Evt* script, s32 isInitialCall) { if (gGameStatusPtr->keepUsingPartnerOnMapChange) { playerStatus->animFlags |= PA_FLAG_USING_WATT; D_802BE30C = 1; - npc->flags |= NPC_FLAG_100 | NPC_FLAG_ENABLE_HIT_SCRIPT; + npc->flags |= NPC_FLAG_100 | NPC_FLAG_8; npc->flags &= ~(NPC_FLAG_JUMPING | NPC_FLAG_GRAVITY); gGameStatusPtr->keepUsingPartnerOnMapChange = 0; partnerActionStatus->partnerActionState = PARTNER_ACTION_USE; diff --git a/src/world/partners.c b/src/world/partners.c index 01920b85b9..7606e85c73 100644 --- a/src/world/partners.c +++ b/src/world/partners.c @@ -2206,7 +2206,7 @@ s32 partner_put_away(Npc* partner) { tempMoveToY = partner->pos.y; tempMoveToZ = partner->pos.z; partner->flags &= ~NPC_FLAG_GRAVITY; - partner->flags &= ~NPC_FLAG_ENABLE_HIT_SCRIPT; + partner->flags &= ~NPC_FLAG_8; tempPosX = playerStatus->position.x; partner->moveToPos.x = tempPosX; tempPosY = playerStatus->position.y + (playerStatus->colliderHeight / 2); @@ -2431,8 +2431,8 @@ void func_800EF3E4(void) { D_8010CFCE = 0; } -void func_800EF414(s32 arg0, s32 arg1) { - partner_set_goal_pos(arg0, arg1); +void func_800EF414(s32 posX, s32 posZ) { + partner_set_goal_pos(posX, posZ); wPartnerFollowState = 20; } @@ -2599,7 +2599,7 @@ void partner_move_to_goal(Npc* partner, s32 isFlying) { } func_8003D660(partner, var_a1); } else { - partner->flags &= ~NPC_FLAG_40; + partner->flags &= ~NPC_FLAG_IGNORE_WORLD_COLLISION; partner->currentAnim = gPartnerAnimations[wCurrentPartnerId].idle; D_8010CFCE++; } diff --git a/src/world/script_api/7E2AA0.c b/src/world/script_api/7E2AA0.c deleted file mode 100644 index 06e705a0be..0000000000 --- a/src/world/script_api/7E2AA0.c +++ /dev/null @@ -1,390 +0,0 @@ -#include "common.h" -#include "model.h" - -void set_current_item_entity_render_group(s32); -s32 get_current_item_entity_render_group(void); -void func_800EF414(s32, s32); -void get_flat_collider_normal(s32, f32*, f32*, f32*); - -extern EvtScript D_802847D4_7E5654; -extern EvtScript D_80284F80_7E5E00; - -enum DoorScriptType { - DOOR_SCRIPT_OPEN_DOOR = 0, - DOOR_SCRIPT_MOVE_WALLS = 1, - DOOR_SCRIPT_DROP_DOOR = 2, - DOOR_SCRIPT_TOGGLE_VIS = 3, -}; - -typedef enum DoorState { - DOOR_STATE_0 = 0, -} DoorState; - -typedef struct AdvancedDoor { - /* 0x00 */ DoorState state; - /* 0x04 */ s32 unk_04; - /* 0x08 */ s16 newItemVisGroup; - /* 0x0A */ s16 prevItemVisGroup; - /* 0x0C */ VecXZf unk_0C; - /* 0x14 */ VecXZf unk_14; - /* 0x1C */ VecXZf unk_1C; - /* 0x24 */ VecXZf unk_24; - /* 0x2C */ EvtScript* scripts[4]; - /* 0x3C */ s32 modelID; - /* 0x40 */ s32 bgColor[3]; - /* 0x4C */ s32 scriptIDs[4]; - /* 0x5C */ s32* npcList; - /* 0x60 */ s32 colliderID; -} AdvancedDoor; // size = 0x64 - -ApiStatus func_80281C20(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - - func_800EF414(evt_get_variable(script, *args++), evt_get_variable(script, *args++)); - partner_set_tether_distance(0.0f); - return ApiStatus_DONE2; -} - -ApiStatus func_80281C84(Evt* script, s32 isInitialCall) { - func_800EF3E4(); - partner_reset_tether_distance(); - return ApiStatus_DONE2; -} - -/* ARGS: - s16 group1; - s16 group2; - EvtScript* openDoor; - EvtScript* moveWalls; - EvtScript* dropDoor; - EvtScript* toggleVis; - s32 doorInColliderID; - s32 doorOutColliderID; - s32 interiorModelGroup; - s32* interiorNPCs; -*/ -ApiStatus MakeDoorAdvanced(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - AdvancedDoor* door = heap_malloc(sizeof(*door)); - EvtScript* openDoorScript; - EvtScript* moveWallsScript; - EvtScript* dropDoorScript; - EvtScript* toggleVisScript; - s32 colliderID; - s32 triggerColliderID; - s32 visGroups; - s32 orientation; - f32 centerX, centerZ; - f32 nX, nZ; - f32 tempY; - - door->state = DOOR_STATE_0; - visGroups = evt_get_variable(script, *args++); - door->unk_04 = visGroups & 0xFFF; - door->newItemVisGroup = (visGroups & 0xF000) >> 0xC; - door->prevItemVisGroup = 0; - openDoorScript = (EvtScript*) evt_get_variable(script, *args++); - moveWallsScript = (EvtScript*) evt_get_variable(script, *args++); - dropDoorScript = (EvtScript*) evt_get_variable(script, *args++); - toggleVisScript = (EvtScript*) evt_get_variable(script, *args++); - colliderID = evt_get_variable(script, *args++); - door->colliderID = colliderID; - triggerColliderID = evt_get_variable(script, *args++); - door->modelID = evt_get_variable(script, *args++); - door->npcList = (s32*) evt_get_variable(script, *args++); - if (dropDoorScript != 0) { - visGroups |= 0x800; - door->unk_04 = visGroups; - } - get_collider_center(colliderID, ¢erX, &tempY, ¢erZ); - get_flat_collider_normal(colliderID, &nX, &tempY, &nZ); - - orientation = visGroups & 0xFF; - switch (orientation) { - case 0: - door->unk_0C.x = centerX + (nX * 30.0f) - (nZ * 20.0f); - door->unk_0C.z = centerZ + (nZ * 30.0f) + (nX * 20.0f); - door->unk_14.x = centerX - (nX * 30.0f); - door->unk_14.z = centerZ - (nZ * 30.0f); - break; - case 5: - door->unk_0C.x = centerX + (nX * 60.0f) - (nZ * 20.0f); - door->unk_0C.z = centerZ + (nZ * 60.0f) + (nX * 20.0f); - door->unk_14.x = centerX - (nX * 30.0f); - door->unk_14.z = centerZ - (nZ * 30.0f); - break; - case 1: - door->unk_0C.x = centerX + (nX * 30.0f); - door->unk_0C.z = centerZ + (nZ * 30.0f); - door->unk_14.x = centerX - (nX * 30.0f) - (nZ * 20.0f); - door->unk_14.z = centerZ - (nZ * 30.0f) - (nX * 20.0f); - break; - case 6: - door->unk_0C.x = centerX + (nX * 30.0f); - door->unk_0C.z = centerZ + (nZ * 30.0f); - door->unk_14.x = centerX - (nX * 60.0f) - (nZ * 20.0f); - door->unk_14.z = centerZ - (nZ * 60.0f) - (nX * 20.0f); - break; - case 2: - door->unk_0C.x = centerX + (nX * 30.0f) + (nZ * 20.0f); - door->unk_0C.z = centerZ + (nZ * 30.0f) - (nX * 20.0f); - door->unk_14.x = centerX - (nX * 30.0f); - door->unk_14.z = centerZ - (nZ * 30.0f); - break; - case 7: - door->unk_0C.x = centerX + (nX * 60.0f) + (nZ * 20.0f); - door->unk_0C.z = centerZ + (nZ * 60.0f) - (nX * 20.0f); - door->unk_14.x = centerX - (nX * 30.0f); - door->unk_14.z = centerZ - (nZ * 30.0f); - break; - case 3: - door->unk_0C.x = centerX + (nX * 30.0f); - door->unk_0C.z = centerZ + (nZ * 30.0f); - door->unk_14.x = centerX - (nX * 30.0f) + (nZ * 20.0f); - door->unk_14.z = centerZ - (nZ * 30.0f) + (nX * 20.0f); - break; - case 4: - door->unk_0C.x = centerX + (nX * 30.0f); - door->unk_0C.z = centerZ + (nZ * 30.0f); - door->unk_14.x = centerX - (nX * 30.0f); - door->unk_14.z = centerZ - (nZ * 30.0f); - break; - } - door->scripts[0] = openDoorScript; - door->scripts[1] = moveWallsScript; - door->scripts[2] = dropDoorScript; - door->scripts[3] = toggleVisScript; - - door->unk_1C.x = door->unk_14.x; - door->unk_1C.z = door->unk_14.z; - door->unk_24.x = door->unk_0C.x; - door->unk_24.z = door->unk_0C.z; - - door->bgColor[0] = gCameras[CAM_DEFAULT].bgColor[0]; - door->bgColor[1] = gCameras[CAM_DEFAULT].bgColor[1]; - door->bgColor[2] = gCameras[CAM_DEFAULT].bgColor[2]; - - bind_trigger_1(&D_802847D4_7E5654, 0x100, colliderID, 0, (s32) door, 3); - if (visGroups & 0x800) { - bind_trigger_1(&D_80284F80_7E5E00, 0x40, triggerColliderID, 1, (s32) door, 3); - } else { - bind_trigger_1(&D_80284F80_7E5E00, 0x100, triggerColliderID, 1, (s32) door, 3); - } - return ApiStatus_DONE2; -} - -ApiStatus func_802822A8(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - AdvancedDoor* door = script->functionTempPtr[1]; - s32 sound = evt_get_variable(script, *args++); - f32 posX, posY, posZ; - - get_collider_center(door->colliderID, &posX, &posY, &posZ); - sfx_play_sound_at_position(sound, 0, posX, posY, posZ); - return ApiStatus_DONE2; -} - -ApiStatus func_80282314(Evt* script, s32 isInitialCall) { - script->functionTemp[1] = script->varTable[1]; - return ApiStatus_DONE2; -} - -ApiStatus GetDoorState(Evt* script, s32 isInitialCall) { - AdvancedDoor* door = script->functionTempPtr[1]; - - script->varTable[0] = door->state; - return ApiStatus_DONE2; -} - -ApiStatus SetDoorState(Evt* script, s32 isInitialCall) { - AdvancedDoor* door = script->functionTempPtr[1]; - - door->state = evt_get_variable(script, *script->ptrReadPos); - return ApiStatus_DONE2; -} -ApiStatus func_8028236C(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - AdvancedDoor* door = script->functionTempPtr[1]; - s32 index = evt_get_variable(script, *args++); - - if (does_script_exist(door->scriptIDs[index])) { - return ApiStatus_BLOCK; - } else { - return ApiStatus_DONE2; - } -} - -ApiStatus func_802823B0(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - AdvancedDoor* door = script->functionTempPtr[1]; - s32 index = evt_get_variable(script, *args++); - s32 scriptID = evt_get_variable(script, *args++); - - door->scriptIDs[index] = scriptID; - return ApiStatus_DONE2; -} - -ApiStatus func_80282414(Evt* script, s32 isInitialCall) { - AdvancedDoor* door = script->varTablePtr[1]; - s32 alpha, r, g, b; - - if (isInitialCall) { - if (script->varTable[0] == 0) { - func_8011B950(script->varTable[15], -1, FOG_MODE_1, 1); - } - script->functionTemp[1] = 0; - } - script->functionTemp[1] += 32; - if (script->functionTemp[1] > 255) { - script->functionTemp[1] = 255; - } - if (script->varTable[0] == 0) { - alpha = script->functionTemp[1]; - } else { - alpha = 255 - script->functionTemp[1]; - } - set_background_color_blend(0, 0, 0, alpha); - r = door->bgColor[0] * (255 - alpha) / 255; - g = door->bgColor[1] * (255 - alpha) / 255; - b = door->bgColor[2] * (255 - alpha) / 255; - gCameras[CAM_DEFAULT].bgColor[0] = r; - gCameras[CAM_DEFAULT].bgColor[1] = g; - gCameras[CAM_DEFAULT].bgColor[2] = b; - - if (script->functionTemp[1] >= 255) { - if (script->varTable[0] == 3) { - func_8011B950(script->varTable[15], -1, FOG_MODE_0, 1); - } - return ApiStatus_DONE2; - } else { - return ApiStatus_BLOCK; - } -} - -ApiStatus func_80282594(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - f32 newMoveSpeed = evt_get_float_variable(script, *args++); - Camera* camera = &gCameras[CAM_DEFAULT]; - static f32 savedCamMoveSpeed; - - if (newMoveSpeed >= 0.0f) { - savedCamMoveSpeed = camera->moveSpeed; - camera->moveSpeed = newMoveSpeed; - } else { - camera->moveSpeed = savedCamMoveSpeed; - } - - return ApiStatus_DONE2; -} - -ApiStatus SetEntityHideMode1(Evt* script, s32 isInitialCall) { - gEntityHideMode = 1; - return ApiStatus_DONE2; -} - -ApiStatus SetEntityHideMode2(Evt* script, s32 isInitialCall) { - gEntityHideMode = 2; - return ApiStatus_DONE2; -} - -ApiStatus SetEntityHideMode0(Evt* script, s32 isInitialCall) { - gEntityHideMode = 0; - return ApiStatus_DONE2; -} - -ApiStatus func_80282634(Evt* script, s32 isInitialCall) { - AdvancedDoor* door = script->functionTempPtr[1]; - s32* npcList = door->npcList; - s32 endOfList; - s32 mask; - s32 i; - - if (npcList == NULL) { - return ApiStatus_DONE2; - } - - for (i = 0; i < MAX_NPCS; i++) { - Npc* npc = get_npc_by_index(i); - if (npc != NULL) { - if ((npc->flags != 0) && (npc->npcID != NPC_PARTNER)) { - npc->flags |= NPC_FLAG_NO_DROPS; - } - } - } - - endOfList = -1; - mask = ~NPC_FLAG_NO_DROPS; - - do { - Npc* npc; - if (*npcList == endOfList) { - return ApiStatus_DONE2; - } - npc = get_npc_safe(*npcList++); - if (npc != NULL) { - npc->flags &= mask; - } - } while (TRUE); - - return ApiStatus_DONE2; -} - -ApiStatus func_80282700(Evt* script, s32 isInitialCall) { - AdvancedDoor* door = script->functionTempPtr[1]; - s32 i; - - if (door->npcList == NULL) { - return ApiStatus_DONE2; - } - - for (i = 0; i < MAX_NPCS; i++) { - Npc* npc = get_npc_by_index(i); - if (npc != NULL) { - if (npc->flags != 0) { - npc->flags &= ~NPC_FLAG_NO_DROPS; - } - } - } - - return ApiStatus_DONE2; -} - -ApiStatus SetNewItemVisGroup(Evt* script, s32 isInitialCall) { - AdvancedDoor* door = script->functionTempPtr[1]; - - door->prevItemVisGroup = get_current_item_entity_render_group(); - set_current_item_entity_render_group(door->newItemVisGroup); - return ApiStatus_DONE2; -} - -ApiStatus RestorePrevItemVisGroup(Evt* script, s32 isInitialCall) { - AdvancedDoor* door = script->functionTempPtr[1]; - - set_current_item_entity_render_group(door->prevItemVisGroup); - return ApiStatus_DONE2; -} - -ApiStatus GetDoorData(Evt* script, s32 isInitialCall) { - AdvancedDoor* door = script->functionTempPtr[1]; - - script->varTable[2] = door->unk_04; - script->varTable[3] = door->unk_0C.x; - script->varTable[4] = door->unk_0C.z; - script->varTable[5] = door->unk_14.x; - script->varTable[6] = door->unk_14.z; - script->varTable[7] = door->unk_1C.x; - script->varTable[8] = door->unk_1C.z; - script->varTable[9] = door->unk_24.x; - script->varTable[10] = door->unk_24.z; - script->varTablePtr[11] = door->scripts[0]; - script->varTablePtr[12] = door->scripts[1]; - script->varTablePtr[13] = door->scripts[2]; - script->varTablePtr[14] = door->scripts[3]; - script->varTable[15] = door->modelID; - return ApiStatus_DONE2; -} - -ApiStatus GetDoorPtr(Evt* script, s32 isInitialCall) { - script->varTable[1] = script->functionTemp[1]; - return ApiStatus_DONE2; -} diff --git a/src/world/script_api/7E4690.c b/src/world/script_api/7E4690.c deleted file mode 100644 index 1da4fd39e7..0000000000 --- a/src/world/script_api/7E4690.c +++ /dev/null @@ -1,195 +0,0 @@ -#include "common.h" -#include "../partners.h" - -extern s32 DoorModelsSwingCCW[3]; -extern s32 DoorModelsSwingCW[3]; - -ApiStatus CheckRideScriptForEnterExit(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - - script->varTable[10] = 0; - if (partner_get_ride_script() != NULL) { - if (gPartnerActionStatus.partnerActionState == ACTION_STATE_IDLE) { - script->varTable[10] = 0; - } else { - script->varTable[10] = 1; - script->varTablePtr[11] = partner_get_ride_script(); - script->varTable[13] = playerStatus->targetYaw; - } - } - - return ApiStatus_DONE2; -} - -ApiStatus TeleportPartnerToPlayer(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - Npc* partner; - - if (gPlayerData.currentPartner == PARTNER_NONE) { - return ApiStatus_DONE2; - } - - partner = get_npc_unsafe(NPC_PARTNER); - partner->pos.x = playerStatus->position.x; - partner->pos.z = playerStatus->position.z; - - if (partner_is_flying()) { - partner->pos.y = playerStatus->position.y; - } - - set_npc_yaw(partner, playerStatus->targetYaw); - partner_clear_player_tracking(partner); - return ApiStatus_DONE2; -} - -ApiStatus SetPlayerPositionFromSaveData(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - Camera* camera = &gCameras[gCurrentCameraID]; - s32 currentPartner = gPlayerData.currentPartner; - - playerStatus->position.x = gGameStatusPtr->savedPos.x; - playerStatus->position.y = gGameStatusPtr->savedPos.y; - playerStatus->position.z = gGameStatusPtr->savedPos.z; - - if (currentPartner != PARTNER_NONE) { - Npc* partner = get_npc_unsafe(NPC_PARTNER); - f32 angle = clamp_angle((playerStatus->spriteFacingAngle < 180.0f) ? (90.0f) : (-90.0f)); - - partner->pos.x = playerStatus->position.x; - partner->pos.y = playerStatus->position.y; - partner->pos.z = playerStatus->position.z; - add_vec2D_polar(&partner->pos.x, &partner->pos.z, playerStatus->colliderDiameter + 5, angle); - enable_partner_ai(); - } - - camera->isChangingMap = TRUE; - return ApiStatus_DONE2; -} - -ApiStatus EnterPlayerPostPipe(Evt* script, s32 isInitialCall) { - PlayerStatus* playerStatus = &gPlayerStatus; - MapSettings* mapSettings = get_current_map_settings(); - ApiStatus ret = ApiStatus_BLOCK; - - if (isInitialCall) { - playerStatus->position.x = (*mapSettings->entryList)[gGameStatusPtr->entryID].x; - playerStatus->position.z = (*mapSettings->entryList)[gGameStatusPtr->entryID].z; - script->varTable[2] = (*mapSettings->entryList)[gGameStatusPtr->entryID].y; - playerStatus->position.y = script->varTable[2] - 40; - playerStatus->flags |= PS_FLAG_CAMERA_DOESNT_FOLLOW; - } else { - do { - playerStatus->position.y += 1.0f; - if (!(playerStatus->position.y < script->varTable[2])) { - playerStatus->position.y = script->varTable[2]; - playerStatus->flags &= ~PS_FLAG_CAMERA_DOESNT_FOLLOW; - ret = ApiStatus_DONE2; - } - } while (0); // todo required to match - } - gCameras[CAM_DEFAULT].targetPos.x = playerStatus->position.x; - gCameras[CAM_DEFAULT].targetPos.y = playerStatus->position.y; - gCameras[CAM_DEFAULT].targetPos.z = playerStatus->position.z; - return ret; -} - -ApiStatus ShortenPartnerTetherDistance(Evt* script, s32 isInitialCall) { - partner_set_tether_distance(20.0f); - return ApiStatus_DONE2; -} - -ApiStatus ResetPartnerTetherDistance(Evt* script, s32 isInitialCall) { - partner_reset_tether_distance(); - return ApiStatus_DONE2; -} - -ApiStatus PlayerMoveToDoor(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - PlayerStatus* playerStatus = &gPlayerStatus; - - if (isInitialCall) { - script->functionTemp[0] = evt_get_variable(script, *args++); - move_player(script->functionTemp[0], playerStatus->targetYaw, playerStatus->runSpeed); - } - - script->functionTemp[0]--; - return script->functionTemp[0] < 0; -} - -ApiStatus GetEntryCoords(Evt* script, s32 isInitialCall) { - Bytecode* args = script->ptrReadPos; - MapSettings* mapSettings = get_current_map_settings(); - Vec4f* entryList = (Vec4f*)mapSettings->entryList; - s32 index = evt_get_variable(script, *args++); - - evt_set_variable(script, *args++, entryList[index].x); - evt_set_variable(script, *args++, entryList[index].y); - evt_set_variable(script, *args++, entryList[index].z); - evt_set_variable(script, *args++, entryList[index].yaw); - - return ApiStatus_DONE2; -} - -ApiStatus SetupSingleDoor(Evt* script, s32 isInitialCall) { - if (script->varTable[3] >= 0) { - DoorModelsSwingCCW[0] = script->varTable[2]; - DoorModelsSwingCCW[1] = -1; - DoorModelsSwingCW[0] = -1; - } else { - DoorModelsSwingCW[0] = script->varTable[2]; - DoorModelsSwingCW[1] = -1; - DoorModelsSwingCCW[0] = -1; - } - - script->varTablePtr[2] = &DoorModelsSwingCCW; - script->varTablePtr[3] = &DoorModelsSwingCW; - - return ApiStatus_DONE2; -} - -ApiStatus SetupSplitSingleDoor(Evt* script, s32 isInitialCall) { - if (script->varTable[3] >= 0) { - DoorModelsSwingCCW[0] = script->varTable[2]; - DoorModelsSwingCCW[1] = script->varTable[4]; - DoorModelsSwingCCW[2] = -1; - DoorModelsSwingCW[0] = -1; - } else { - DoorModelsSwingCW[0] = script->varTable[2]; - DoorModelsSwingCW[1] = script->varTable[4]; - DoorModelsSwingCW[2] = -1; - DoorModelsSwingCCW[0] = -1; - } - - script->varTablePtr[2] = &DoorModelsSwingCCW; - script->varTablePtr[3] = &DoorModelsSwingCW; - - return ApiStatus_DONE2; -} - -ApiStatus SetupDoubleDoors(Evt* script, s32 isInitialCall) { - DoorModelsSwingCCW[0] = script->varTable[2]; - DoorModelsSwingCCW[1] = -1; - - DoorModelsSwingCW[0] = script->varTable[3]; - DoorModelsSwingCW[1] = -1; - - script->varTablePtr[3] = &DoorModelsSwingCW; - script->varTablePtr[2] = &DoorModelsSwingCCW; - - return ApiStatus_DONE2; -} - -ApiStatus SetupSplitDoubleDoors(Evt* script, s32 isInitialCall) { - DoorModelsSwingCCW[0] = script->varTable[2]; - DoorModelsSwingCCW[1] = script->varTable[4]; - DoorModelsSwingCCW[2] = -1; - - DoorModelsSwingCW[0] = script->varTable[3]; - DoorModelsSwingCW[1] = script->varTable[5]; - DoorModelsSwingCW[2] = -1; - - script->varTablePtr[3] = &DoorModelsSwingCW; - script->varTablePtr[2] = &DoorModelsSwingCCW; - - return ApiStatus_DONE2; -} diff --git a/src/world/script_api/enter_exit.c b/src/world/script_api/enter_exit.c new file mode 100644 index 0000000000..387611bd3c --- /dev/null +++ b/src/world/script_api/enter_exit.c @@ -0,0 +1,472 @@ +#include "common.h" +#include "../partners.h" + +extern s32 DoorModelsSwingCCW[3]; +extern s32 DoorModelsSwingCW[3]; + +extern API_CALLABLE(func_802D2148); + +API_CALLABLE(CheckRideScriptForEnterExit) { + PlayerStatus* playerStatus = &gPlayerStatus; + + script->varTable[10] = 0; + if (partner_get_ride_script() != NULL) { + if (gPartnerActionStatus.partnerActionState == ACTION_STATE_IDLE) { + script->varTable[10] = 0; + } else { + script->varTable[10] = 1; + script->varTablePtr[11] = partner_get_ride_script(); + script->varTable[13] = playerStatus->targetYaw; + } + } + return ApiStatus_DONE2; +} + +API_CALLABLE(TeleportPartnerToPlayer) { + PlayerStatus* playerStatus = &gPlayerStatus; + Npc* partner; + + if (gPlayerData.currentPartner == PARTNER_NONE) { + return ApiStatus_DONE2; + } + + partner = get_npc_unsafe(NPC_PARTNER); + partner->pos.x = playerStatus->position.x; + partner->pos.z = playerStatus->position.z; + + if (partner_is_flying()) { + partner->pos.y = playerStatus->position.y; + } + + set_npc_yaw(partner, playerStatus->targetYaw); + partner_clear_player_tracking(partner); + return ApiStatus_DONE2; +} + +API_CALLABLE(SetPlayerPositionFromSaveData) { + PlayerStatus* playerStatus = &gPlayerStatus; + Camera* camera = &gCameras[gCurrentCameraID]; + s32 currentPartner = gPlayerData.currentPartner; + + playerStatus->position.x = gGameStatusPtr->savedPos.x; + playerStatus->position.y = gGameStatusPtr->savedPos.y; + playerStatus->position.z = gGameStatusPtr->savedPos.z; + + if (currentPartner != PARTNER_NONE) { + Npc* partner = get_npc_unsafe(NPC_PARTNER); + f32 angle = clamp_angle((playerStatus->spriteFacingAngle < 180.0f) ? (90.0f) : (-90.0f)); + + partner->pos.x = playerStatus->position.x; + partner->pos.y = playerStatus->position.y; + partner->pos.z = playerStatus->position.z; + add_vec2D_polar(&partner->pos.x, &partner->pos.z, playerStatus->colliderDiameter + 5, angle); + enable_partner_ai(); + } + + camera->isChangingMap = TRUE; + return ApiStatus_DONE2; +} + +API_CALLABLE(EnterPlayerPostPipe) { + PlayerStatus* playerStatus = &gPlayerStatus; + MapSettings* mapSettings = get_current_map_settings(); + ApiStatus ret = ApiStatus_BLOCK; + + if (isInitialCall) { + playerStatus->position.x = (*mapSettings->entryList)[gGameStatusPtr->entryID].x; + playerStatus->position.z = (*mapSettings->entryList)[gGameStatusPtr->entryID].z; + script->varTable[2] = (*mapSettings->entryList)[gGameStatusPtr->entryID].y; + playerStatus->position.y = script->varTable[2] - 40; + playerStatus->flags |= PS_FLAG_CAMERA_DOESNT_FOLLOW; + } else { + do { + playerStatus->position.y += 1.0f; + if (!(playerStatus->position.y < script->varTable[2])) { + playerStatus->position.y = script->varTable[2]; + playerStatus->flags &= ~PS_FLAG_CAMERA_DOESNT_FOLLOW; + ret = ApiStatus_DONE2; + } + } while (0); // todo required to match + } + gCameras[CAM_DEFAULT].targetPos.x = playerStatus->position.x; + gCameras[CAM_DEFAULT].targetPos.y = playerStatus->position.y; + gCameras[CAM_DEFAULT].targetPos.z = playerStatus->position.z; + return ret; +} + +API_CALLABLE(ShortenPartnerTetherDistance) { + partner_set_tether_distance(20.0f); + return ApiStatus_DONE2; +} + +API_CALLABLE(ResetPartnerTetherDistance) { + partner_reset_tether_distance(); + return ApiStatus_DONE2; +} + +API_CALLABLE(PlayerMoveToDoor) { + Bytecode* args = script->ptrReadPos; + PlayerStatus* playerStatus = &gPlayerStatus; + + if (isInitialCall) { + script->functionTemp[0] = evt_get_variable(script, *args++); + move_player(script->functionTemp[0], playerStatus->targetYaw, playerStatus->runSpeed); + } + + script->functionTemp[0]--; + if (script->functionTemp[0] < 0) { + return ApiStatus_DONE1; + } else { + return ApiStatus_BLOCK; + } +} + +API_CALLABLE(GetEntryCoords) { + Bytecode* args = script->ptrReadPos; + MapSettings* mapSettings = get_current_map_settings(); + Vec4f* entryList = (Vec4f*)mapSettings->entryList; + s32 index = evt_get_variable(script, *args++); + + evt_set_variable(script, *args++, entryList[index].x); + evt_set_variable(script, *args++, entryList[index].y); + evt_set_variable(script, *args++, entryList[index].z); + evt_set_variable(script, *args++, entryList[index].yaw); + + return ApiStatus_DONE2; +} + +API_CALLABLE(SetupSingleDoor) { + if (script->varTable[3] >= 0) { + DoorModelsSwingCCW[0] = script->varTable[2]; + DoorModelsSwingCCW[1] = -1; + DoorModelsSwingCW[0] = -1; + } else { + DoorModelsSwingCW[0] = script->varTable[2]; + DoorModelsSwingCW[1] = -1; + DoorModelsSwingCCW[0] = -1; + } + + script->varTablePtr[2] = &DoorModelsSwingCCW; + script->varTablePtr[3] = &DoorModelsSwingCW; + + return ApiStatus_DONE2; +} + +API_CALLABLE(SetupSplitSingleDoor) { + if (script->varTable[3] >= 0) { + DoorModelsSwingCCW[0] = script->varTable[2]; + DoorModelsSwingCCW[1] = script->varTable[4]; + DoorModelsSwingCCW[2] = -1; + DoorModelsSwingCW[0] = -1; + } else { + DoorModelsSwingCW[0] = script->varTable[2]; + DoorModelsSwingCW[1] = script->varTable[4]; + DoorModelsSwingCW[2] = -1; + DoorModelsSwingCCW[0] = -1; + } + + script->varTablePtr[2] = &DoorModelsSwingCCW; + script->varTablePtr[3] = &DoorModelsSwingCW; + + return ApiStatus_DONE2; +} + +API_CALLABLE(SetupDoubleDoors) { + DoorModelsSwingCCW[0] = script->varTable[2]; + DoorModelsSwingCCW[1] = -1; + + DoorModelsSwingCW[0] = script->varTable[3]; + DoorModelsSwingCW[1] = -1; + + script->varTablePtr[3] = &DoorModelsSwingCW; + script->varTablePtr[2] = &DoorModelsSwingCCW; + + return ApiStatus_DONE2; +} + +API_CALLABLE(SetupSplitDoubleDoors) { + DoorModelsSwingCCW[0] = script->varTable[2]; + DoorModelsSwingCCW[1] = script->varTable[4]; + DoorModelsSwingCCW[2] = -1; + + DoorModelsSwingCW[0] = script->varTable[3]; + DoorModelsSwingCW[1] = script->varTable[5]; + DoorModelsSwingCW[2] = -1; + + script->varTablePtr[3] = &DoorModelsSwingCW; + script->varTablePtr[2] = &DoorModelsSwingCCW; + + return ApiStatus_DONE2; +} + +EvtScript EnterWalk = { + EVT_CALL(ShortenPartnerTetherDistance) + EVT_CALL(CheckRideScriptForEnterExit) + EVT_CALL(UseEntryHeading, 60, 15) + EVT_IF_EQ(LVarA, 0) + EVT_CALL(TeleportPartnerToPlayer) + EVT_CALL(PlayerMoveTo, LVar1, LVar3, 15) + EVT_ELSE + EVT_SET(LVarF, LVar0) + EVT_SET(LVar0, 0) + EVT_SET(LVarC, 1) + EVT_SET(LVar4, 15) + EVT_EXEC_WAIT(LVarB) + EVT_SET(LVar0, LVarF) + EVT_END_IF + EVT_EXEC(LVar0) + EVT_CALL(func_802D2148) + EVT_CALL(ResetPartnerTetherDistance) + EVT_RETURN + EVT_END +}; + +EvtScript EnterWalkShort = { + EVT_CALL(ShortenPartnerTetherDistance) + EVT_CALL(CheckRideScriptForEnterExit) + EVT_CALL(UseEntryHeading, 40, 15) + EVT_IF_EQ(LVarA, 0) + EVT_CALL(TeleportPartnerToPlayer) + EVT_CALL(PlayerMoveTo, LVar1, LVar3, 15) + EVT_ELSE + EVT_SET(LVarF, LVar0) + EVT_SET(LVar0, 0) + EVT_SET(LVarC, 1) + EVT_SET(LVar4, 15) + EVT_EXEC_WAIT(LVarB) + EVT_SET(LVar0, LVarF) + EVT_END_IF + EVT_EXEC(LVar0) + EVT_CALL(func_802D2148) + EVT_CALL(ResetPartnerTetherDistance) + EVT_RETURN + EVT_END +}; + +EvtScript EnterWalkCustom = { + EVT_CALL(ShortenPartnerTetherDistance) + EVT_CALL(CheckRideScriptForEnterExit) + EVT_CALL(UseEntryHeading, LVar1, LVar4) + EVT_IF_EQ(LVarA, 0) + EVT_CALL(TeleportPartnerToPlayer) + EVT_CALL(PlayerMoveTo, LVar1, LVar3, LVar4) + EVT_ELSE + EVT_SET(LVarF, LVar0) + EVT_SET(LVar0, 0) + EVT_SET(LVarC, 1) + EVT_EXEC_WAIT(LVarB) + EVT_SET(LVar0, LVarF) + EVT_END_IF + EVT_EXEC(LVar0) + EVT_CALL(func_802D2148) + EVT_CALL(ResetPartnerTetherDistance) + EVT_RETURN + EVT_END +}; + +EvtScript EnterPostPipe = { + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(ShortenPartnerTetherDistance) + EVT_CALL(CheckRideScriptForEnterExit) + EVT_CALL(EnterPlayerPostPipe) + EVT_CALL(ResetPartnerTetherDistance) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript EnterSavePoint = { + EVT_CALL(ShortenPartnerTetherDistance) + EVT_CALL(SetPlayerPositionFromSaveData) + EVT_CALL(ClearPartnerMoveHistory, NPC_PARTNER) + EVT_CALL(ResetPartnerTetherDistance) + EVT_RETURN + EVT_END +}; + +EvtScript ExitWalk = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShortenPartnerTetherDistance) + EVT_CALL(CheckRideScriptForEnterExit) + EVT_IF_EQ(LVarA, 0) + EVT_CALL(PlayerMoveTo, LVar1, LVar3, 15) + EVT_ELSE + EVT_SET(LVar0, 0) + EVT_SET(LVarC, 0) + EVT_SET(LVar4, 15) + EVT_EXEC_WAIT(LVarB) + EVT_END_IF + EVT_CALL(ResetPartnerTetherDistance) + EVT_RETURN + EVT_END +}; + +EvtScript ExitSingleDoor = { + EVT_CALL(SetupSingleDoor) + EVT_EXEC_WAIT(BaseExitDoor) + EVT_RETURN + EVT_END +}; + +EvtScript EnterSingleDoor = { + EVT_CALL(SetupSingleDoor) + EVT_EXEC_WAIT(BaseEnterDoor) + EVT_RETURN + EVT_END +}; + +EvtScript ExitSplitSingleDoor = { + EVT_CALL(SetupSplitSingleDoor) + EVT_EXEC_WAIT(BaseExitDoor) + EVT_RETURN + EVT_END +}; + +EvtScript EnterSplitSingleDoor = { + EVT_CALL(SetupSplitSingleDoor) + EVT_EXEC_WAIT(BaseEnterDoor) + EVT_RETURN + EVT_END +}; + +EvtScript ExitDoubleDoor = { + EVT_CALL(SetupDoubleDoors) + EVT_EXEC_WAIT(BaseExitDoor) + EVT_RETURN + EVT_END +}; + +EvtScript EnterDoubleDoor = { + EVT_CALL(SetupDoubleDoors) + EVT_EXEC_WAIT(BaseEnterDoor) + EVT_RETURN + EVT_END +}; + +EvtScript ExitSplitDoubleDoor = { + EVT_CALL(SetupSplitDoubleDoors) + EVT_EXEC_WAIT(BaseExitDoor) + EVT_RETURN + EVT_END +}; + +EvtScript EnterSplitDoubleDoor = { + EVT_CALL(SetupSplitDoubleDoors) + EVT_EXEC_WAIT(BaseEnterDoor) + EVT_RETURN + EVT_END +}; + +EvtScript BaseExitDoor = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(ShortenPartnerTetherDistance) + EVT_SET(LVar9, LVar0) + EVT_CALL(GetEntryCoords, LVar0, LVarC, LVarD, LVarE, LVarB) + EVT_ADD(LVarB, 180) + EVT_CALL(InterpPlayerYaw, LVarB, 2) + EVT_CALL(ModifyColliderFlags, 0, LVar1, COLLIDER_FLAGS_UPPER_MASK) + EVT_CALL(PlaySoundAt, 0x90000000, 0, LVarC, LVarD, LVarE) + EVT_CALL(MakeLerp, 0, 80, 10, EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_USE_BUF(LVar2) + EVT_LOOP(0) + EVT_BUF_READ1(LVarA) + EVT_IF_EQ(LVarA, -1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(RotateModel, LVarA, LVar0, 0, 1, 0) + EVT_END_LOOP + EVT_USE_BUF(LVar3) + EVT_LOOP(0) + EVT_BUF_READ1(LVarA) + EVT_IF_EQ(LVarA, -1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(RotateModel, LVarA, LVar0, 0, -1, 0) + EVT_END_LOOP + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(UseExitHeading, 40, LVar9) + EVT_CALL(CheckRideScriptForEnterExit) + EVT_IF_EQ(LVarA, 0) + EVT_CALL(PlayerMoveTo, LVar1, LVar3, 15) + EVT_ELSE + EVT_SET(LVar0, 0) + EVT_SET(LVarC, 0) + EVT_SET(LVar4, 15) + EVT_EXEC_WAIT(LVarB) + EVT_END_IF + EVT_CALL(ResetPartnerTetherDistance) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; + +EvtScript BaseEnterDoor = { + EVT_CALL(DisablePlayerInput, TRUE) + EVT_CALL(ShortenPartnerTetherDistance) + EVT_USE_BUF(LVar2) + EVT_LOOP(0) + EVT_BUF_READ1(LVarA) + EVT_IF_EQ(LVarA, -1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(RotateModel, LVarA, -80, 0, 1, 0) + EVT_END_LOOP + EVT_USE_BUF(LVar3) + EVT_LOOP(0) + EVT_BUF_READ1(LVarA) + EVT_IF_EQ(LVarA, -1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(RotateModel, LVarA, -80, 0, -1, 0) + EVT_END_LOOP + EVT_CALL(GetEntryCoords, LVar0, LVar7, LVar8, LVar9, LVarB) + EVT_CALL(InterpPlayerYaw, LVarB, 2) + EVT_CALL(CheckRideScriptForEnterExit) + EVT_IF_EQ(LVarA, 0) + EVT_CALL(TeleportPartnerToPlayer) + EVT_CALL(PlayerMoveToDoor, 10) + EVT_ELSE + EVT_SET(LVar0, 1) + EVT_SET(LVarC, 1) + EVT_SET(LVar4, 15) + EVT_EXEC_WAIT(LVarB) + EVT_END_IF + EVT_THREAD + EVT_WAIT(8) + EVT_CALL(PlaySoundAt, 0x90000001, 0, LVar7, LVar8, LVar9) + EVT_END_THREAD + EVT_CALL(MakeLerp, -80, 0, 10, EASING_LINEAR) + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_USE_BUF(LVar2) + EVT_LOOP(0) + EVT_BUF_READ1(LVarA) + EVT_IF_EQ(LVarA, -1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(RotateModel, LVarA, LVar0, 0, 1, 0) + EVT_END_LOOP + EVT_USE_BUF(LVar3) + EVT_LOOP(0) + EVT_BUF_READ1(LVarA) + EVT_IF_EQ(LVarA, -1) + EVT_BREAK_LOOP + EVT_END_IF + EVT_CALL(RotateModel, LVarA, LVar0, 0, -1, 0) + EVT_END_LOOP + EVT_WAIT(1) + EVT_IF_NE(LVar1, 0) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(ResetPartnerTetherDistance) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/script_api/7E3700.c b/src/world/script_api/push_blocks.c similarity index 85% rename from src/world/script_api/7E3700.c rename to src/world/script_api/push_blocks.c index 03477aefd8..87306ea488 100644 --- a/src/world/script_api/7E3700.c +++ b/src/world/script_api/push_blocks.c @@ -2,10 +2,12 @@ #include "entity.h" extern PushBlockGrid* D_802DBC88[8]; -extern f32 D_80285640_7E64C0[13]; -extern EvtScript D_80285674_7E64F4; -ApiStatus func_80282880(Evt* script, s32 isInitialCall) { +f32 D_80285640_7E64C0[] = { + 0.04, 0.04, 0.08, 0.16, 0.21, 0.4, 0.6, 0.72, 0.84, 0.92, 0.96, 0.96, 1.0, +}; + +API_CALLABLE(func_80282880) { PlayerStatus* playerStatus = &gPlayerStatus; playerStatus->position.x += (script->varTable[0] - playerStatus->position.x) / 2; @@ -14,7 +16,7 @@ ApiStatus func_80282880(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_802828DC(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_802828DC) { PlayerStatus* playerStatus = &gPlayerStatus; Entity* entity = get_entity_by_index(script->varTable[11]); f32 temp_f4; @@ -60,7 +62,7 @@ ApiStatus func_802828DC(Evt* script, s32 isInitialCall) { return ApiStatus_BLOCK; } -ApiStatus func_80282C40(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80282C40) { PushBlockGrid* grid = script->varTablePtr[10]; Entity* block = get_entity_by_index(script->varTable[11]); f32 hitX, hitY, hitZ, hitDepth; @@ -106,10 +108,10 @@ ApiStatus func_80282C40(Evt* script, s32 isInitialCall) { return ApiStatus_DONE1; } -ApiStatus func_80282E30(Evt* script, s32 isInitialCall); +API_CALLABLE(func_80282E30); // regalloc #ifdef NON_MATCHING -ApiStatus func_80282E30(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80282E30) { PushBlockGrid* grid = (PushBlockGrid*) script->varTable[10]; Entity* entity = get_entity_by_index(script->varTable[11]); s32 xThing, yThing, zThing; @@ -199,10 +201,10 @@ ApiStatus func_80282E30(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } #else -INCLUDE_ASM(s32, "world/script_api/7E3700", func_80282E30); +INCLUDE_ASM(s32, "world/script_api/push_blocks", func_80282E30); #endif -ApiStatus func_80283080(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80283080) { PushBlockGrid* grid = script->varTablePtr[10]; Entity* block = get_entity_by_index(script->varTable[11]); s32 ip, jp; @@ -219,7 +221,7 @@ ApiStatus func_80283080(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_80283174(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80283174) { PlayerStatus* playerStatus = &gPlayerStatus; s32 collider = script->varTable[11] + COLLISION_WITH_ENTITY_BIT; @@ -242,7 +244,7 @@ ApiStatus func_80283174(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus CheckActionState(Evt* script, s32 isInitialCall) { +API_CALLABLE(CheckActionState) { Bytecode* args = script->ptrReadPos; Bytecode outVar = *args++; s32 checkState = evt_get_float_variable(script, *args++); @@ -251,7 +253,7 @@ ApiStatus CheckActionState(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_80283240(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80283240) { Bytecode* args = script->ptrReadPos; Bytecode outVar = *args++; Bytecode* sourceToFind = (Bytecode*)evt_get_variable(script, *args++); @@ -273,7 +275,67 @@ ApiStatus func_80283240(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus CreatePushBlockGrid(Evt* script, s32 isInitialCall) { +EvtScript D_80285674_7E64F4 = { + EVT_SET(LVarA, LVar0) + EVT_SET(LVarB, LVar1) + EVT_CALL(func_80282E30) + EVT_CALL(func_802D2884, LVar3, LVar5, 0) + EVT_IF_NE(LVar9, 2) + EVT_CALL(func_80282880) + EVT_END_IF + EVT_SET(LVarC, 0) + EVT_CALL(CheckActionState, LVarD, ACTION_STATE_RUN) + EVT_IF_EQ(LVarD, FALSE) + EVT_CALL(CheckActionState, LVarD, ACTION_STATE_PUSHING_BLOCK) + EVT_IF_EQ(LVarD, FALSE) + EVT_RETURN + EVT_END_IF + EVT_END_IF + EVT_IF_NE(LVar9, 0) + EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) + EVT_RETURN + EVT_END_IF + EVT_SET(LVarC, 0) + EVT_LABEL(0) + EVT_ADD(LVarC, 1) + EVT_CALL(func_80283174) + EVT_IF_EQ(LVarD, TRUE) + EVT_GOTO(1) + EVT_END_IF + EVT_CALL(GetPlayerActionState, LVarD) + EVT_IF_EQ(LVarD, ACTION_STATE_JUMP) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) + EVT_RETURN + EVT_LABEL(1) + EVT_CALL(SetPlayerActionState, ACTION_STATE_PUSHING_BLOCK) + EVT_CALL(func_80282880) + EVT_IF_LT(LVarC, 8) + EVT_WAIT(1) + EVT_GOTO(0) + EVT_END_IF + EVT_CALL(func_80283080) + EVT_CALL(PlaySound, SOUND_2088) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(func_802828DC) + EVT_CALL(func_80282C40) + EVT_THREAD + EVT_WAIT(2) + EVT_CALL(CheckActionState, LVarD, ACTION_STATE_PUSHING_BLOCK) + EVT_IF_NE(LVarD, FALSE) + EVT_CALL(func_80283240, LVarD, EVT_PTR(D_80285674_7E64F4)) + EVT_IF_EQ(LVarD, 0) + EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE) + EVT_END_IF + EVT_END_IF + EVT_END_THREAD + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_RETURN + EVT_END +}; + +API_CALLABLE(CreatePushBlockGrid) { Bytecode* arg = script->ptrReadPos; s32 blockSystemID = evt_get_variable(script, *arg++); s32 sizeNx = evt_get_variable(script, *arg++); @@ -312,7 +374,7 @@ ApiStatus CreatePushBlockGrid(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus SetPushBlock(Evt* script, s32 isInitialCall) { +API_CALLABLE(SetPushBlock) { Bytecode* args = script->ptrReadPos; s32 blockSystemID = evt_get_variable(script, *args++); s32 gridX = evt_get_variable(script, *args++); @@ -338,7 +400,7 @@ ApiStatus SetPushBlock(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus GetPushBlock(Evt* script, s32 isInitialCall) { +API_CALLABLE(GetPushBlock) { Bytecode* args = script->ptrReadPos; s32 blockSystemID = evt_get_variable(script, *args++); s32 gridX = evt_get_variable(script, *args++); @@ -358,7 +420,7 @@ ApiStatus GetPushBlock(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus GetGridIndexFromPos(Evt* script, s32 isInitialCall) { +API_CALLABLE(GetGridIndexFromPos) { Bytecode* args = script->ptrReadPos; s32 blockSystemID = evt_get_variable(script, *args++); s32 posX = evt_get_variable(script, *args++); @@ -382,7 +444,7 @@ ApiStatus GetGridIndexFromPos(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus SetPushBlockFallEffect(Evt* script, s32 isInitialCall) { +API_CALLABLE(SetPushBlockFallEffect) { Bytecode* args = script->ptrReadPos; s32 blockSystemID = evt_get_variable(script, *args++); PushBlockFallCallback fallCallback = (PushBlockFallCallback)evt_get_variable(script, *args++); diff --git a/src/world/script_api/rooms.c b/src/world/script_api/rooms.c new file mode 100644 index 0000000000..fc7a4d5121 --- /dev/null +++ b/src/world/script_api/rooms.c @@ -0,0 +1,913 @@ +#include "common.h" +#include "model.h" + +void func_800EF414(s32, s32); +void get_flat_collider_normal(s32, f32*, f32*, f32*); +s32 get_current_item_entity_render_group(void); +void set_current_item_entity_render_group(s32); + +extern EvtScript EVS_EnterRoomDoor; +extern EvtScript EVS_ExitRoomDoor; + +typedef enum RoomState { + ROOM_STATE_IDLE = 0, + ROOM_STATE_ENTERING = 1, + ROOM_STATE_EXITING = 2, +} RoomState; + +typedef struct MapRoom { + /* 0x00 */ RoomState state; + /* 0x04 */ s32 flags; + /* 0x08 */ s16 newItemVisGroup; + /* 0x0A */ s16 prevItemVisGroup; + /* 0x0C */ VecXZf posEnterA; + /* 0x14 */ VecXZf posEnterB; + /* 0x1C */ VecXZf posExitA; + /* 0x24 */ VecXZf posExitB; + /* 0x2C */ EvtScript* overrideOpenDoor; + /* 0x2C */ EvtScript* overrideMoveWall; + /* 0x2C */ EvtScript* overrideDropDoor; + /* 0x2C */ EvtScript* stateListenerScript; + /* 0x3C */ s32 modelID; + /* 0x40 */ s32 bgColor[3]; + /* 0x4C */ s32 scriptIDs[4]; + /* 0x5C */ s32* npcList; + /* 0x60 */ s32 colliderID; +} MapRoom; // size = 0x64 + +// data fetched with GetDoorData is stored in these local vars +enum { + ROOM_DATA_FLAGS = LVar2, + ROOM_DATA_ENTER_POS_AX = LVar3, + ROOM_DATA_ENTER_POS_AZ = LVar4, + ROOM_DATA_ENTER_POS_BX = LVar5, + ROOM_DATA_ENTER_POS_BZ = LVar6, + ROOM_DATA_EXIT_POS_AX = LVar7, + ROOM_DATA_EXIT_POS_AZ = LVar8, + ROOM_DATA_EXIT_POS_BX = LVar9, + ROOM_DATA_EXIT_POS_BZ = LVarA, + ROOM_DATA_EVT_OPEN_DOOR = LVarB, + ROOM_DATA_EVT_MOVE_WALL = LVarC, + ROOM_DATA_EVT_DROP_DOOR = LVarD, + ROOM_DATA_EVT_LISTENER = LVarE, + ROOM_DATA_MODEL_ID = LVarF, +}; + +enum { + ROOM_SCRIPT_IDX_0 = 0, + ROOM_SCRIPT_IDX_1 = 1, + ROOM_SCRIPT_IDX_2 = 2, + ROOM_SCRIPT_IDX_3 = 3, +}; + +enum { + ROOM_VISIBILITY_SHOW = 0, + ROOM_VISIBILITY_HIDE = 3, +}; + +API_CALLABLE(MovePartnerThroughDoor) { + Bytecode* args = script->ptrReadPos; + s32 posX = evt_get_variable(script, *args++); + s32 posZ = evt_get_variable(script, *args++); + + func_800EF414(posX, posZ); + partner_set_tether_distance(0.0f); + return ApiStatus_DONE2; +} + +API_CALLABLE(ResetPartnerMovement) { + func_800EF3E4(); + partner_reset_tether_distance(); + return ApiStatus_DONE2; +} + +/* ARGS: + s32 packed flags and itemVisGroup via PACK_ROOM_FLAGS() + EvtScript* openDoor + EvtScript* moveWalls + EvtScript* dropDoor + EvtScript* stateListener + s32 doorInColliderID + s32 doorOutColliderID + s32 interiorModelGroup + s32* interiorNPCs +*/ +API_CALLABLE(CreateMapRoom) { + Bytecode* args = script->ptrReadPos; + MapRoom* room = heap_malloc(sizeof(*room)); + EvtScript* openDoorScript; + EvtScript* moveWallsScript; + EvtScript* dropDoorScript; + EvtScript* stateListenerScript; + s32 colliderID; + s32 triggerColliderID; + s32 roomFlags; + f32 centerX, centerZ; + f32 nX, nZ; + f32 tempY; + + room->state = ROOM_STATE_IDLE; + roomFlags = evt_get_variable(script, *args++); + room->flags = roomFlags & (ROOM_FLAGS_MASK | ROOM_FLAGS_DOOR_TYPE_MASK); + room->newItemVisGroup = (roomFlags & ROOM_FLAGS_VISGROUP_MASK) >> 0xC; + room->prevItemVisGroup = VIS_GROUP_0; + openDoorScript = (EvtScript*) evt_get_variable(script, *args++); + moveWallsScript = (EvtScript*) evt_get_variable(script, *args++); + dropDoorScript = (EvtScript*) evt_get_variable(script, *args++); + stateListenerScript = (EvtScript*) evt_get_variable(script, *args++); + room->colliderID = colliderID = evt_get_variable(script, *args++); + triggerColliderID = evt_get_variable(script, *args++); + room->modelID = evt_get_variable(script, *args++); + room->npcList = (s32*) evt_get_variable(script, *args++); + if (dropDoorScript != NULL) { + roomFlags |= ROOM_FLAG_EXIT_DOOR_DROPS; + room->flags = roomFlags; + } + get_collider_center(colliderID, ¢erX, &tempY, ¢erZ); + get_flat_collider_normal(colliderID, &nX, &tempY, &nZ); + + switch (roomFlags & ROOM_FLAGS_DOOR_TYPE_MASK) { + case ROOM_DOOR_RIGHT_HINGE_OPENS_OUT: + room->posEnterA.x = centerX + (nX * 30.0f) - (nZ * 20.0f); + room->posEnterA.z = centerZ + (nZ * 30.0f) + (nX * 20.0f); + room->posEnterB.x = centerX - (nX * 30.0f); + room->posEnterB.z = centerZ - (nZ * 30.0f); + break; + case ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT: + room->posEnterA.x = centerX + (nX * 60.0f) - (nZ * 20.0f); + room->posEnterA.z = centerZ + (nZ * 60.0f) + (nX * 20.0f); + room->posEnterB.x = centerX - (nX * 30.0f); + room->posEnterB.z = centerZ - (nZ * 30.0f); + break; + case ROOM_DOOR_RIGHT_HINGE_OPENS_IN: + room->posEnterA.x = centerX + (nX * 30.0f); + room->posEnterA.z = centerZ + (nZ * 30.0f); + room->posEnterB.x = centerX - (nX * 30.0f) - (nZ * 20.0f); + room->posEnterB.z = centerZ - (nZ * 30.0f) - (nX * 20.0f); + break; + case ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_IN: + room->posEnterA.x = centerX + (nX * 30.0f); + room->posEnterA.z = centerZ + (nZ * 30.0f); + room->posEnterB.x = centerX - (nX * 60.0f) - (nZ * 20.0f); + room->posEnterB.z = centerZ - (nZ * 60.0f) - (nX * 20.0f); + break; + case ROOM_DOOR_LEFT_HINGE_OPENS_OUT: + room->posEnterA.x = centerX + (nX * 30.0f) + (nZ * 20.0f); + room->posEnterA.z = centerZ + (nZ * 30.0f) - (nX * 20.0f); + room->posEnterB.x = centerX - (nX * 30.0f); + room->posEnterB.z = centerZ - (nZ * 30.0f); + break; + case ROOM_LARGE_DOOR_LEFT_HINGE_OPENS_OUT: + room->posEnterA.x = centerX + (nX * 60.0f) + (nZ * 20.0f); + room->posEnterA.z = centerZ + (nZ * 60.0f) - (nX * 20.0f); + room->posEnterB.x = centerX - (nX * 30.0f); + room->posEnterB.z = centerZ - (nZ * 30.0f); + break; + case ROOM_DOOR_LEFT_HINGE_OPENS_IN: + room->posEnterA.x = centerX + (nX * 30.0f); + room->posEnterA.z = centerZ + (nZ * 30.0f); + room->posEnterB.x = centerX - (nX * 30.0f) + (nZ * 20.0f); + room->posEnterB.z = centerZ - (nZ * 30.0f) + (nX * 20.0f); + break; + case ROOM_DOOR_STRAIGHT_THROUGH: + room->posEnterA.x = centerX + (nX * 30.0f); + room->posEnterA.z = centerZ + (nZ * 30.0f); + room->posEnterB.x = centerX - (nX * 30.0f); + room->posEnterB.z = centerZ - (nZ * 30.0f); + break; + } + room->overrideOpenDoor = openDoorScript; + room->overrideMoveWall = moveWallsScript; + room->overrideDropDoor = dropDoorScript; + room->stateListenerScript = stateListenerScript; + + room->posExitA.x = room->posEnterB.x; + room->posExitA.z = room->posEnterB.z; + room->posExitB.x = room->posEnterA.x; + room->posExitB.z = room->posEnterA.z; + + room->bgColor[0] = gCameras[CAM_DEFAULT].bgColor[0]; + room->bgColor[1] = gCameras[CAM_DEFAULT].bgColor[1]; + room->bgColor[2] = gCameras[CAM_DEFAULT].bgColor[2]; + + bind_trigger_1(&EVS_EnterRoomDoor, TRIGGER_WALL_PRESS_A, colliderID, 0, (s32) room, 3); + if (roomFlags & ROOM_FLAG_EXIT_DOOR_DROPS) { + bind_trigger_1(&EVS_ExitRoomDoor, TRIGGER_WALL_PUSH, triggerColliderID, 1, (s32) room, 3); + } else { + bind_trigger_1(&EVS_ExitRoomDoor, TRIGGER_WALL_PRESS_A, triggerColliderID, 1, (s32) room, 3); + } + return ApiStatus_DONE2; +} + +API_CALLABLE(PlayRoomDoorSound) { + Bytecode* args = script->ptrReadPos; + MapRoom* door = script->functionTempPtr[1]; + s32 sound = evt_get_variable(script, *args++); + f32 posX, posY, posZ; + + get_collider_center(door->colliderID, &posX, &posY, &posZ); + sfx_play_sound_at_position(sound, 0, posX, posY, posZ); + return ApiStatus_DONE2; +} + +API_CALLABLE(SaveDoorPtr) { + script->functionTemp[1] = script->varTable[1]; + return ApiStatus_DONE2; +} + +API_CALLABLE(GetDoorState) { + MapRoom* door = script->functionTempPtr[1]; + + script->varTable[0] = door->state; + return ApiStatus_DONE2; +} + +API_CALLABLE(SetDoorState) { + MapRoom* door = script->functionTempPtr[1]; + + door->state = evt_get_variable(script, *script->ptrReadPos); + return ApiStatus_DONE2; +} + +API_CALLABLE(AwaitUseDoorScript) { + Bytecode* args = script->ptrReadPos; + MapRoom* door = script->functionTempPtr[1]; + s32 index = evt_get_variable(script, *args++); + + if (does_script_exist(door->scriptIDs[index])) { + return ApiStatus_BLOCK; + } else { + return ApiStatus_DONE2; + } +} + +API_CALLABLE(SaveUseDoorScript) { + Bytecode* args = script->ptrReadPos; + MapRoom* door = script->functionTempPtr[1]; + s32 index = evt_get_variable(script, *args++); + s32 scriptID = evt_get_variable(script, *args++); + + door->scriptIDs[index] = scriptID; + return ApiStatus_DONE2; +} + +API_CALLABLE(RoomVisibilityToggleImpl) { + MapRoom* door = script->varTablePtr[1]; + s32 alpha, r, g, b; + + if (isInitialCall) { + if (script->varTable[0] == ROOM_VISIBILITY_SHOW) { + func_8011B950(script->varTable[15], -1, FOG_MODE_1, 1); + } + script->functionTemp[1] = 0; + } + script->functionTemp[1] += 32; + if (script->functionTemp[1] > 255) { + script->functionTemp[1] = 255; + } + if (script->varTable[0] == ROOM_VISIBILITY_SHOW) { + alpha = script->functionTemp[1]; + } else { + alpha = 255 - script->functionTemp[1]; + } + set_background_color_blend(0, 0, 0, alpha); + r = door->bgColor[0] * (255 - alpha) / 255; + g = door->bgColor[1] * (255 - alpha) / 255; + b = door->bgColor[2] * (255 - alpha) / 255; + gCameras[CAM_DEFAULT].bgColor[0] = r; + gCameras[CAM_DEFAULT].bgColor[1] = g; + gCameras[CAM_DEFAULT].bgColor[2] = b; + + if (script->functionTemp[1] >= 255) { + if (script->varTable[0] == ROOM_VISIBILITY_HIDE) { + // ROOM_DATA_MODEL_ID + func_8011B950(script->varTable[15], -1, FOG_MODE_0, 1); + } + return ApiStatus_DONE2; + } else { + return ApiStatus_BLOCK; + } +} + +// saves the previous value, call again with a negative value to restore it +API_CALLABLE(SetRoomCamMoveSpeed) { + Bytecode* args = script->ptrReadPos; + f32 newMoveSpeed = evt_get_float_variable(script, *args++); + Camera* camera = &gCameras[CAM_DEFAULT]; + static f32 savedCamMoveSpeed; + + if (newMoveSpeed >= 0.0f) { + savedCamMoveSpeed = camera->moveSpeed; + camera->moveSpeed = newMoveSpeed; + } else { + camera->moveSpeed = savedCamMoveSpeed; + } + + return ApiStatus_DONE2; +} + +API_CALLABLE(SetEntityHideMode1) { + gEntityHideMode = ENTITY_HIDE_MODE_1; + return ApiStatus_DONE2; +} + +API_CALLABLE(SetEntityHideMode2) { + gEntityHideMode = ENTITY_HIDE_MODE_2; + return ApiStatus_DONE2; +} + +API_CALLABLE(SetEntityHideMode0) { + gEntityHideMode = ENTITY_HIDE_MODE_0; + return ApiStatus_DONE2; +} + +API_CALLABLE(HideRoomNPCs) { + MapRoom* door = script->functionTempPtr[1]; + s32* npcList = door->npcList; + s32 endOfList; + s32 mask; + s32 i; + + if (npcList == NULL) { + return ApiStatus_DONE2; + } + + for (i = 0; i < MAX_NPCS; i++) { + Npc* npc = get_npc_by_index(i); + if (npc != NULL) { + if ((npc->flags != 0) && (npc->npcID != NPC_PARTNER)) { + npc->flags |= NPC_FLAG_HIDING; + } + } + } + + endOfList = -1; + mask = ~NPC_FLAG_HIDING; + + do { + Npc* npc; + if (*npcList == endOfList) { + return ApiStatus_DONE2; + } + npc = get_npc_safe(*npcList++); + if (npc != NULL) { + npc->flags &= mask; + } + } while (TRUE); + + return ApiStatus_DONE2; +} + +API_CALLABLE(RevealHiddenRoomNPCs) { + MapRoom* door = script->functionTempPtr[1]; + s32 i; + + if (door->npcList == NULL) { + return ApiStatus_DONE2; + } + + for (i = 0; i < MAX_NPCS; i++) { + Npc* npc = get_npc_by_index(i); + if (npc != NULL) { + if (npc->flags != 0) { + npc->flags &= ~NPC_FLAG_HIDING; + } + } + } + + return ApiStatus_DONE2; +} + +API_CALLABLE(UseRoomItemVisGroup) { + MapRoom* door = script->functionTempPtr[1]; + + door->prevItemVisGroup = get_current_item_entity_render_group(); + set_current_item_entity_render_group(door->newItemVisGroup); + return ApiStatus_DONE2; +} + +API_CALLABLE(RestorePrevItemVisGroup) { + MapRoom* door = script->functionTempPtr[1]; + + set_current_item_entity_render_group(door->prevItemVisGroup); + return ApiStatus_DONE2; +} + +API_CALLABLE(GetDoorData) { + MapRoom* door = script->functionTempPtr[1]; + + script->varTable[2] = door->flags; + script->varTable[3] = door->posEnterA.x; + script->varTable[4] = door->posEnterA.z; + script->varTable[5] = door->posEnterB.x; + script->varTable[6] = door->posEnterB.z; + script->varTable[7] = door->posExitA.x; + script->varTable[8] = door->posExitA.z; + script->varTable[9] = door->posExitB.x; + script->varTable[10] = door->posExitB.z; + script->varTablePtr[11] = door->overrideOpenDoor; + script->varTablePtr[12] = door->overrideMoveWall; + script->varTablePtr[13] = door->overrideDropDoor; + script->varTablePtr[14] = door->stateListenerScript; + script->varTable[15] = door->modelID; + return ApiStatus_DONE2; +} + +API_CALLABLE(GetDoorPtr) { + script->varTable[1] = script->functionTemp[1]; + return ApiStatus_DONE2; +} + +EvtScript EVS_RoomContentVisiblityToggle = { + EVT_CALL(RoomVisibilityToggleImpl) + EVT_RETURN + EVT_END +}; + +EvtScript EVS_EnterRoom_MovePlayerA = { + EVT_CALL(GetPlayerPos, LVarB, LVarC, LVarD) + EVT_SET(LVarB, ROOM_DATA_ENTER_POS_AX) + EVT_SET(LVarD, ROOM_DATA_ENTER_POS_AZ) + EVT_CALL(PlayerMoveTo, ROOM_DATA_ENTER_POS_AX, ROOM_DATA_ENTER_POS_AZ, LVarE) + EVT_CALL(func_802D2884, ROOM_DATA_ENTER_POS_BX, ROOM_DATA_ENTER_POS_BZ, 0) + EVT_RETURN + EVT_END +}; + +EvtScript EVS_EnterRoom_MovePlayerB = { + EVT_CALL(SaveDoorPtr) + EVT_CALL(GetDoorData) + EVT_CALL(GetPlayerPos, LVarB, LVarC, LVarD) + EVT_SET(LVarB, ROOM_DATA_ENTER_POS_BX) + EVT_SET(LVarD, ROOM_DATA_ENTER_POS_BZ) + EVT_SET(LVarE, 20) + EVT_CALL(PlayerMoveTo, ROOM_DATA_ENTER_POS_BX, ROOM_DATA_ENTER_POS_BZ, LVarE) + EVT_RETURN + EVT_END +}; + +EvtScript EVS_EnterRoom_MoveCam = { + EVT_CALL(SetRoomCamMoveSpeed, EVT_FLOAT(1.796)) + EVT_CALL(GetPlayerPos, LVarB, LVarC, LVarD) + EVT_SET(LVarB, ROOM_DATA_ENTER_POS_BX) + EVT_SET(LVarD, ROOM_DATA_ENTER_POS_BZ) + EVT_SET(LVarE, 10) + EVT_CALL(InterpCamTargetPos, 0, 1, LVarB, LVarC, LVarD, LVarE) + EVT_CALL(SetRoomCamMoveSpeed, -1) + EVT_RETURN + EVT_END +}; + +EvtScript EVS_ExitRoom_MovePlayerA = { + EVT_CALL(GetPlayerPos, LVarB, LVarC, LVarD) + EVT_SET(LVarB, ROOM_DATA_EXIT_POS_AX) + EVT_SET(LVarD, ROOM_DATA_EXIT_POS_AZ) + EVT_SET(LVarE, 10) + EVT_CALL(PlayerMoveTo, ROOM_DATA_EXIT_POS_AX, ROOM_DATA_EXIT_POS_AZ, LVarE) + EVT_CALL(func_802D2884, ROOM_DATA_EXIT_POS_BX, ROOM_DATA_EXIT_POS_BZ, 0) + EVT_RETURN + EVT_END +}; + +EvtScript EVS_ExitRoom_MovePlayerB = { + EVT_CALL(SaveDoorPtr) + EVT_CALL(GetDoorData) + EVT_CALL(GetPlayerPos, LVarB, LVarC, LVarD) + EVT_SET(LVarB, ROOM_DATA_EXIT_POS_BX) + EVT_SET(LVarD, ROOM_DATA_EXIT_POS_BZ) + EVT_SET(LVarE, 20) + EVT_CALL(PlayerMoveTo, ROOM_DATA_EXIT_POS_BX, ROOM_DATA_EXIT_POS_BZ, LVarE) + EVT_RETURN + EVT_END +}; + +EvtScript EVS_ExitRoom_MoveCam = { + EVT_CALL(SetRoomCamMoveSpeed, EVT_FLOAT(1.796)) + EVT_CALL(GetPlayerPos, LVarB, LVarC, LVarD) + EVT_SET(LVarB, ROOM_DATA_EXIT_POS_BX) + EVT_SET(LVarD, ROOM_DATA_EXIT_POS_BZ) + EVT_SET(LVarE, 10) + EVT_CALL(InterpCamTargetPos, 0, 1, LVarB, LVarC, LVarD, LVarE) + EVT_CALL(SetRoomCamMoveSpeed, -1) + EVT_RETURN + EVT_END +}; + +EvtScript EVS_Default_AnimateDoorRot = { + EVT_CALL(SaveDoorPtr) + EVT_SET(LVar2, ROOM_DATA_EVT_OPEN_DOOR) + EVT_SET(LVar3, LVar0) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_MOVE_DOOR_ENTER_OPEN) + EVT_CALL(MakeLerp, 0, 90, 10, EASING_CUBIC_OUT) + EVT_CALL(PlayRoomDoorSound, SOUND_ROOM_DOOR_OPEN) + EVT_CASE_EQ(ROOM_MOVE_DOOR_ENTER_CLOSE) + EVT_CALL(MakeLerp, 90, 0, 10, EASING_CUBIC_IN) + EVT_CASE_EQ(ROOM_MOVE_DOOR_EXIT_OPEN) + EVT_CALL(MakeLerp, 0, 90, 10, EASING_CUBIC_OUT) + EVT_CALL(PlayRoomDoorSound, SOUND_ROOM_DOOR_OPEN) + EVT_CASE_EQ(ROOM_MOVE_DOOR_EXIT_CLOSE) + EVT_CALL(MakeLerp, 90, 0, 10, EASING_CUBIC_IN) + EVT_END_SWITCH + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_EXEC(LVar2) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_SWITCH(LVar3) + EVT_CASE_EQ(ROOM_MOVE_DOOR_ENTER_CLOSE) + EVT_CALL(PlayRoomDoorSound, SOUND_ROOM_DOOR_CLOSE) + EVT_CASE_EQ(ROOM_MOVE_DOOR_EXIT_CLOSE) + EVT_CALL(PlayRoomDoorSound, SOUND_ROOM_DOOR_CLOSE) + EVT_END_SWITCH + EVT_RETURN + EVT_END +}; + +EvtScript EVS_Default_AnimateWallRot = { + EVT_SET(LVar2, ROOM_DATA_EVT_MOVE_WALL) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_MOVE_WALL_OPEN) + EVT_CALL(MakeLerp, 0, 90, 20, EASING_CUBIC_OUT) + EVT_CASE_EQ(ROOM_MOVE_WALL_1) + EVT_CALL(MakeLerp, 90, 0, 20, EASING_CUBIC_IN) + EVT_CASE_EQ(ROOM_MOVE_WALL_2) + EVT_CALL(MakeLerp, 0, 90, 20, EASING_CUBIC_OUT) + EVT_CASE_EQ(ROOM_MOVE_WALL_CLOSE) + EVT_CALL(MakeLerp, 90, 0, 20, EASING_CUBIC_IN) + EVT_END_SWITCH + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_EXEC(LVar2) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +EvtScript EVS_Default_AnimateDropDoor = { + EVT_SET(LVar2, ROOM_DATA_EVT_DROP_DOOR) + EVT_SWITCH(LVar0) + EVT_CASE_EQ(ROOM_DROP_DOOR_ENTER) + EVT_CALL(MakeLerp, 0, 90, 20, EASING_CUBIC_IN) + EVT_CASE_EQ(ROOM_DROP_DOOR_1) + EVT_CALL(MakeLerp, 90, 0, 10, EASING_CUBIC_OUT) + EVT_CASE_EQ(ROOM_DROP_DOOR_2) + EVT_CALL(MakeLerp, 0, 90, 20, EASING_CUBIC_IN) + EVT_CASE_EQ(ROOM_DROP_DOOR_EXIT) + EVT_CALL(MakeLerp, 90, 0, 10, EASING_CUBIC_OUT) + EVT_END_SWITCH + EVT_LABEL(0) + EVT_CALL(UpdateLerp) + EVT_EXEC(LVar2) + EVT_WAIT(1) + EVT_IF_EQ(LVar1, 1) + EVT_GOTO(0) + EVT_END_IF + EVT_RETURN + EVT_END +}; + +// executed from trigger activatation with MapRoom* stored in LVar1 +EvtScript EVS_EnterRoomDoor = { + EVT_SET_GROUP(EVT_GROUP_00) + // ensure valid player action state + EVT_CALL(GetPlayerActionState, LVar3) + EVT_SET(LVar4, 0) + EVT_IF_EQ(LVar3, ACTION_STATE_IDLE) + EVT_ADD(LVar4, 1) + EVT_END_IF + EVT_IF_EQ(LVar3, ACTION_STATE_WALK) + EVT_ADD(LVar4, 1) + EVT_END_IF + EVT_IF_EQ(LVar3, ACTION_STATE_RUN) + EVT_ADD(LVar4, 1) + EVT_END_IF + EVT_IF_EQ(LVar4, 0) + EVT_RETURN + EVT_END_IF + + // initialize + EVT_CALL(SaveDoorPtr) + EVT_CALL(GetDoorState) + EVT_IF_NE(LVar0, ROOM_STATE_IDLE) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetDoorState, ROOM_STATE_ENTERING) + EVT_CALL(HideRoomNPCs) + EVT_CALL(UseRoomItemVisGroup) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(DisablePlayerInput, TRUE) + + // notify listener ROOM_UPDATE_ENTER_BEGIN + EVT_CALL(GetDoorData) + EVT_SET(LVar0, ROOM_UPDATE_ENTER_BEGIN) + EVT_IF_NE(ROOM_DATA_EVT_LISTENER, NULL) + EVT_EXEC_WAIT(ROOM_DATA_EVT_LISTENER) + EVT_END_IF + EVT_IF_EQ(LVar0, ROOM_UPDATE_REQUEST_CANCEL) + EVT_GOTO(1) + EVT_END_IF + + // adjust camera to face door + EVT_CALL(GetDoorData) + EVT_EXEC(EVS_EnterRoom_MoveCam) + + // move player to door + EVT_CALL(GetDoorData) + EVT_BITWISE_AND_CONST(LVar2, ROOM_FLAGS_DOOR_TYPE_MASK) + EVT_SET(LVarE, 10) + EVT_SWITCH(LVar2) + EVT_CASE_EQ(ROOM_DOOR_RIGHT_HINGE_OPENS_OUT) + EVT_EXEC_WAIT(EVS_EnterRoom_MovePlayerA) + EVT_CASE_EQ(ROOM_DOOR_LEFT_HINGE_OPENS_OUT) + EVT_EXEC_WAIT(EVS_EnterRoom_MovePlayerA) + EVT_CASE_EQ(ROOM_DOOR_STRAIGHT_THROUGH) + EVT_EXEC_WAIT(EVS_EnterRoom_MovePlayerA) + EVT_CASE_EQ(ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_OUT) + EVT_SET(LVarE, 20) + EVT_EXEC_WAIT(EVS_EnterRoom_MovePlayerA) + EVT_CASE_EQ(ROOM_LARGE_DOOR_LEFT_HINGE_OPENS_OUT) + EVT_SET(LVarE, 20) + EVT_EXEC_WAIT(EVS_EnterRoom_MovePlayerA) + EVT_END_SWITCH + + // reveal room interior and hide world + EVT_CALL(GetDoorData) + EVT_SET(LVar0, ROOM_VISIBILITY_SHOW) + EVT_CALL(GetDoorPtr) + EVT_IF_NE(ROOM_DATA_MODEL_ID, 0) + EVT_EXEC_GET_TID(EVS_RoomContentVisiblityToggle, LVar5) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_0, LVar5) + EVT_END_IF + EVT_CALL(SetEntityHideMode1) + EVT_IF_NE(ROOM_DATA_MODEL_ID, 0) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_0) + EVT_END_IF + + // wall movement animation + EVT_CALL(GetDoorData) + EVT_SET(LVar0, ROOM_MOVE_WALL_OPEN) + EVT_BITWISE_AND_CONST(ROOM_DATA_FLAGS, ROOM_FLAG_CUSTOM_ANIM_WALL_ROT) + EVT_IF_NE(ROOM_DATA_EVT_MOVE_WALL, NULL) + EVT_IF_NE(ROOM_DATA_FLAGS, 0) + EVT_EXEC_GET_TID(ROOM_DATA_EVT_MOVE_WALL, LVar5) + EVT_ELSE + EVT_EXEC_GET_TID(EVS_Default_AnimateWallRot, LVar5) + EVT_END_IF + EVT_END_IF + EVT_IF_NE(ROOM_DATA_EVT_MOVE_WALL, NULL) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_0, LVar5) + EVT_END_IF + + // open the door + EVT_SET(LVar0, ROOM_MOVE_DOOR_ENTER_OPEN) + EVT_BITWISE_AND_CONST(ROOM_DATA_FLAGS, ROOM_FLAG_CUSTOM_ANIM_OPEN_DOOR) + EVT_IF_NE(ROOM_DATA_FLAGS, 0) + EVT_EXEC_GET_TID(ROOM_DATA_EVT_OPEN_DOOR, LVar5) + EVT_ELSE + EVT_EXEC_GET_TID(EVS_Default_AnimateDoorRot, LVar5) + EVT_END_IF + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_3, LVar5) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_3) + + // move party through the doorway + EVT_CALL(SetEntityHideMode2) + EVT_EXEC_GET_TID(EVS_EnterRoom_MovePlayerB, LVar7) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_3, LVar7) + EVT_WAIT(10) + EVT_CALL(SaveDoorPtr) + EVT_CALL(GetDoorData) + EVT_CALL(MovePartnerThroughDoor, ROOM_DATA_ENTER_POS_BX, ROOM_DATA_ENTER_POS_BZ) + + // allow input when movement is done + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_3) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) + EVT_CALL(ResetPartnerMovement) + + // close the door + EVT_SET(LVar0, ROOM_MOVE_DOOR_ENTER_CLOSE) + EVT_BITWISE_AND_CONST(ROOM_DATA_FLAGS, ROOM_FLAG_CUSTOM_ANIM_OPEN_DOOR) + EVT_IF_NE(ROOM_DATA_FLAGS, 0) + EVT_EXEC_GET_TID(ROOM_DATA_EVT_OPEN_DOOR, LVar5) + EVT_ELSE + EVT_EXEC_GET_TID(EVS_Default_AnimateDoorRot, LVar5) + EVT_END_IF + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_3, LVar5) + + // drop the door + EVT_SET(LVar0, ROOM_DROP_DOOR_ENTER) + EVT_BITWISE_AND_CONST(ROOM_DATA_FLAGS, ROOM_FLAG_CUSTOM_ANIM_DROP_DOOR) + EVT_IF_NE(ROOM_DATA_EVT_DROP_DOOR, NULL) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_3) + EVT_IF_NE(ROOM_DATA_FLAGS, 0) + EVT_EXEC_GET_TID(ROOM_DATA_EVT_DROP_DOOR, LVar5) + EVT_ELSE + EVT_EXEC_GET_TID(EVS_Default_AnimateDropDoor, LVar5) + EVT_END_IF + EVT_END_IF + EVT_IF_NE(ROOM_DATA_EVT_DROP_DOOR, NULL) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_1, LVar5) + EVT_END_IF + + // notify listener ROOM_UPDATE_ENTER_DONE + EVT_SET(LVar0, ROOM_UPDATE_ENTER_DONE) + EVT_IF_NE(ROOM_DATA_EVT_LISTENER, NULL) + EVT_EXEC_GET_TID(ROOM_DATA_EVT_LISTENER, LVar5) + EVT_END_IF + EVT_IF_NE(ROOM_DATA_EVT_LISTENER, NULL) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_2, LVar5) + EVT_END_IF + EVT_IF_NE(ROOM_DATA_EVT_LISTENER, NULL) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_2) + EVT_END_IF + + // wait for all anim scripts + EVT_IF_NE(ROOM_DATA_EVT_MOVE_WALL, NULL) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_0) + EVT_END_IF + EVT_IF_NE(ROOM_DATA_EVT_DROP_DOOR, NULL) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_1) + EVT_END_IF + + // reset and return + EVT_CALL(SetDoorState, ROOM_STATE_IDLE) + EVT_RETURN + + // handle ROOM_UPDATE_REQUEST_CANCEL from callback to ROOM_UPDATE_ENTER_BEGIN + EVT_LABEL(1) + EVT_CALL(SetDoorState, ROOM_STATE_IDLE) + EVT_LABEL(0) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_RETURN + EVT_END +}; + +// executed from trigger activatation with MapRoom* stored in LVar1 +EvtScript EVS_ExitRoomDoor = { + EVT_SET_GROUP(EVT_GROUP_00) + // ensure valid player action state + EVT_CALL(GetPlayerActionState, LVar3) + EVT_SET(LVar4, 0) + EVT_IF_EQ(LVar3, ACTION_STATE_IDLE) + EVT_ADD(LVar4, 1) + EVT_END_IF + EVT_IF_EQ(LVar3, ACTION_STATE_WALK) + EVT_ADD(LVar4, 1) + EVT_END_IF + EVT_IF_EQ(LVar3, ACTION_STATE_RUN) + EVT_ADD(LVar4, 1) + EVT_END_IF + EVT_IF_EQ(LVar4, 0) + EVT_RETURN + EVT_END_IF + + // initialize + EVT_CALL(SaveDoorPtr) + EVT_CALL(GetDoorState) + EVT_IF_NE(LVar0, ROOM_STATE_IDLE) + EVT_RETURN + EVT_END_IF + EVT_CALL(SetDoorState, ROOM_STATE_EXITING) + EVT_CALL(DisablePlayerPhysics, TRUE) + EVT_CALL(DisablePlayerInput, TRUE) + + // notify listener ROOM_UPDATE_EXIT_BEGIN + EVT_CALL(GetDoorData) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_BEGIN) + EVT_IF_NE(ROOM_DATA_EVT_LISTENER, NULL) + EVT_EXEC_WAIT(ROOM_DATA_EVT_LISTENER) + EVT_END_IF + EVT_IF_EQ(LVar0, ROOM_UPDATE_REQUEST_CANCEL) + EVT_GOTO(1) + EVT_END_IF + + // adjust camera to face door + EVT_CALL(GetDoorData) + EVT_EXEC(EVS_ExitRoom_MoveCam) + + // move player to door + EVT_CALL(GetDoorData) + EVT_BITWISE_AND_CONST(LVar2, ROOM_FLAGS_DOOR_TYPE_MASK) + EVT_SWITCH(LVar2) + EVT_CASE_EQ(ROOM_DOOR_RIGHT_HINGE_OPENS_IN) + EVT_EXEC_WAIT(EVS_ExitRoom_MovePlayerA) + EVT_CASE_EQ(ROOM_LARGE_DOOR_RIGHT_HINGE_OPENS_IN) + EVT_EXEC_WAIT(EVS_ExitRoom_MovePlayerA) + EVT_CASE_EQ(ROOM_DOOR_LEFT_HINGE_OPENS_IN) + EVT_EXEC_WAIT(EVS_ExitRoom_MovePlayerA) + EVT_END_SWITCH + + // wall movement animation + EVT_CALL(GetDoorData) + EVT_CALL(GetDoorPtr) + EVT_SET(LVar0, ROOM_MOVE_WALL_CLOSE) + EVT_BITWISE_AND_CONST(LVar2, ROOM_FLAG_CUSTOM_ANIM_WALL_ROT) + EVT_IF_NE(ROOM_DATA_EVT_MOVE_WALL, NULL) + EVT_IF_NE(LVar2, 0) + EVT_EXEC_GET_TID(ROOM_DATA_EVT_MOVE_WALL, LVar5) + EVT_ELSE + EVT_EXEC_GET_TID(EVS_Default_AnimateWallRot, LVar5) + EVT_END_IF + EVT_END_IF + EVT_IF_NE(ROOM_DATA_EVT_MOVE_WALL, NULL) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_0, LVar5) + EVT_END_IF + + // raise the door if its been dropped + EVT_SET(LVar0, ROOM_DROP_DOOR_EXIT) + EVT_BITWISE_AND_CONST(LVar2, ROOM_FLAG_CUSTOM_ANIM_DROP_DOOR) + EVT_IF_NE(ROOM_DATA_EVT_DROP_DOOR, NULL) + EVT_IF_NE(LVar2, 0) + EVT_EXEC_GET_TID(ROOM_DATA_EVT_DROP_DOOR, LVar5) + EVT_ELSE + EVT_EXEC_GET_TID(EVS_Default_AnimateDropDoor, LVar5) + EVT_END_IF + EVT_END_IF + EVT_IF_NE(ROOM_DATA_EVT_DROP_DOOR, NULL) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_1, LVar5) + EVT_END_IF + EVT_IF_NE(ROOM_DATA_EVT_DROP_DOOR, NULL) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_1) + EVT_END_IF + + // open the door + EVT_SET(LVar0, ROOM_MOVE_DOOR_EXIT_OPEN) + EVT_BITWISE_AND_CONST(LVar2, ROOM_FLAG_CUSTOM_ANIM_OPEN_DOOR) + EVT_IF_NE(LVar2, 0) + EVT_EXEC_GET_TID(ROOM_DATA_EVT_OPEN_DOOR, LVar5) + EVT_ELSE + EVT_EXEC_GET_TID(EVS_Default_AnimateDoorRot, LVar5) + EVT_END_IF + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_1, LVar5) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_1) + + // move party through the doorway + EVT_CALL(GetDoorPtr) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, TRUE) + EVT_CALL(SaveDoorPtr) + EVT_CALL(GetDoorData) + EVT_CALL(MovePartnerThroughDoor, ROOM_DATA_EXIT_POS_BX, ROOM_DATA_EXIT_POS_BZ) + EVT_EXEC_GET_TID(EVS_ExitRoom_MovePlayerB, LVar5) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_1, LVar5) + EVT_CALL(SetEntityHideMode0) + + // hide room interior and reveal world + EVT_SET(LVar0, ROOM_VISIBILITY_HIDE) + EVT_IF_NE(ROOM_DATA_MODEL_ID, 0) + EVT_EXEC_GET_TID(EVS_RoomContentVisiblityToggle, LVar5) + EVT_END_IF + EVT_IF_NE(ROOM_DATA_MODEL_ID, 0) + EVT_CALL(SaveUseDoorScript, ROOM_SCRIPT_IDX_2, LVar5) + EVT_END_IF + EVT_IF_NE(ROOM_DATA_MODEL_ID, 0) + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_2) + EVT_END_IF + + // allow input when movement is done + EVT_CALL(AwaitUseDoorScript, ROOM_SCRIPT_IDX_1) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE) + EVT_CALL(ResetPartnerMovement) + + // close the door + EVT_CALL(GetDoorData) + EVT_SET(LVar0, ROOM_MOVE_DOOR_EXIT_CLOSE) + EVT_BITWISE_AND_CONST(LVar2, ROOM_FLAG_CUSTOM_ANIM_OPEN_DOOR) + EVT_IF_NE(LVar2, 0) + EVT_EXEC_WAIT(ROOM_DATA_EVT_OPEN_DOOR) + EVT_ELSE + EVT_EXEC_WAIT(EVS_Default_AnimateDoorRot) + EVT_END_IF + + // notify listener ROOM_UPDATE_EXIT_END + EVT_CALL(GetDoorData) + EVT_SET(LVar0, ROOM_UPDATE_EXIT_END) + EVT_IF_NE(ROOM_DATA_EVT_LISTENER, NULL) + EVT_EXEC_WAIT(ROOM_DATA_EVT_LISTENER) + EVT_END_IF + + // reset and return + EVT_CALL(RevealHiddenRoomNPCs) + EVT_CALL(RestorePrevItemVisGroup) + EVT_CALL(SetDoorState, ROOM_STATE_IDLE) + EVT_RETURN + + // handle ROOM_UPDATE_REQUEST_CANCEL from callback to ROOM_UPDATE_ENTER_BEGIN + EVT_LABEL(1) + EVT_CALL(SetDoorState, ROOM_STATE_IDLE) + EVT_LABEL(0) + EVT_CALL(DisablePlayerPhysics, FALSE) + EVT_CALL(DisablePlayerInput, FALSE) + EVT_RETURN + EVT_END +}; diff --git a/src/world/script_api/7E0E80.c b/src/world/script_api/shops.c similarity index 97% rename from src/world/script_api/7E0E80.c rename to src/world/script_api/shops.c index 465402f51b..bf3f0d14b9 100644 --- a/src/world/script_api/7E0E80.c +++ b/src/world/script_api/shops.c @@ -8,10 +8,10 @@ extern u8 MessagePlural[]; extern u8 MessageSingular[]; extern HudScript* HES_Item_Coin; -ApiStatus func_802803C8(Evt* script, s32 isInitialCall); -ApiStatus func_80280410(Evt* script, s32 isInitialCall); -ApiStatus ShowShopPurchaseDialog(Evt* script, s32 isInitialCall); -ApiStatus ShowShopOwnerDialog(Evt* script, s32 isInitialCall); +API_CALLABLE(func_802803C8); +API_CALLABLE(func_80280410); +API_CALLABLE(ShowShopPurchaseDialog); +API_CALLABLE(ShowShopOwnerDialog); EvtScript ShopBeginSpeech = { EVT_CALL(SpeakToPlayer, LVar1, LVar2, LVar3, 0, LVar0) @@ -40,13 +40,13 @@ EvtScript ShopEndSpeech = { EvtScript D_80283F58_7E4DD8 = { EVT_CALL(GetPartnerInUse, LVar1) - EVT_IF_EQ(LVar1, 0) + EVT_IF_EQ(LVar1, PARTNER_NONE) EVT_GOTO(10) EVT_END_IF - EVT_IF_EQ(LVar1, 2) + EVT_IF_EQ(LVar1, PARTNER_KOOPER) EVT_GOTO(10) EVT_END_IF - EVT_IF_EQ(LVar1, 3) + EVT_IF_EQ(LVar1, PARTNER_BOMBETTE) EVT_GOTO(10) EVT_END_IF EVT_RETURN @@ -176,7 +176,7 @@ s32 shop_owner_end_speech(void) { return script->id; } -ApiStatus func_802803C8(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_802803C8) { PlayerStatus* playerStatus = &gPlayerStatus; script->varTable[2] = FALSE; @@ -194,7 +194,7 @@ ApiStatus func_802803C8(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } -ApiStatus func_80280410(Evt* script, s32 isInitialCall) { +API_CALLABLE(func_80280410) { static Evt* D_80286520; static s32 D_80286524; @@ -244,7 +244,7 @@ enum PurchaseDialogState { PURCHASE_DIALOG_STATE_WAIT_FOR_SPEECH = 100, }; -ApiStatus ShowShopPurchaseDialog(Evt* script, s32 isInitialCall) { +API_CALLABLE(ShowShopPurchaseDialog) { PlayerData* playerData = &gPlayerData; s32 shopItemSlot = script->varTable[0]; Shop* shop = gGameStatusPtr->mapShop; @@ -427,7 +427,7 @@ void shop_open_item_select_popup(s32 mode) { open_status_menu_short(); } #else -INCLUDE_ASM(s32, "world/script_api/7E0E80", shop_open_item_select_popup); +INCLUDE_ASM(s32, "world/script_api/shops", shop_open_item_select_popup); #endif s32 shop_update_item_select_popup(s32* selectedIndex) { @@ -477,7 +477,7 @@ s32 shop_get_sell_price(s32 itemID) { return gItemTable[itemID].sellValue; } -ApiStatus ShowShopOwnerDialog(Evt* script, s32 isInitialCall) { +API_CALLABLE(ShowShopOwnerDialog) { GameStatus* gameStatus = gGameStatusPtr; PlayerData* playerData = &gPlayerData; Shop* shop = gameStatus->mapShop; @@ -864,7 +864,7 @@ void draw_shop_items(void) { // This should be equivalent to the original code but there is some funny business with // the evt_get_variable's at the beginning that makes absolutely no sense. #ifdef NON_MATCHING -ApiStatus MakeShop(Evt* script, s32 isInitialCall) { +API_CALLABLE(MakeShop) { Bytecode* args = script->ptrReadPos; ShopItemLocation* itemDataPositions; ShopItemData* inventory; @@ -950,10 +950,10 @@ ApiStatus MakeShop(Evt* script, s32 isInitialCall) { return ApiStatus_DONE2; } #else -INCLUDE_ASM(ApiStatus, "world/script_api/7E0E80", MakeShop, Evt* script, s32 isInitialCall); +INCLUDE_ASM(ApiStatus, "world/script_api/shops", MakeShop, Evt* script, s32 isInitialCall); #endif -ApiStatus MakeShopOwner(Evt* script, s32 isInitialCall) { +API_CALLABLE(MakeShopOwner) { Shop* mapShop = gGameStatusPtr->mapShop; mapShop->owner = (ShopOwner*) evt_get_variable(script, *script->ptrReadPos); diff --git a/src/world/world.c b/src/world/world.c index 6e4173cab3..c265b35859 100644 --- a/src/world/world.c +++ b/src/world/world.c @@ -471,8 +471,8 @@ MapConfig trd_maps[] = { /// Koopa Region #include "area_nok/nok.h" MapConfig nok_maps[] = { - { MAP_UNSPLIT(nok_01, 0x80242B90), .bgName = "nok_bg" }, - { MAP_UNSPLIT(nok_02, 0x802445F0), .bgName = "nok_bg" }, + { MAP(nok_01), .bgName = "nok_bg" }, + { MAP(nok_02), .bgName = "nok_bg" }, { MAP_UNSPLIT(nok_03, 0x80240E40), .bgName = "nok_bg" }, { MAP_UNSPLIT(nok_04, 0x80240F40), .bgName = "nok_bg" }, { MAP(nok_11), .bgName = "nok_bg" }, diff --git a/tools/saved_flag_renames.txt b/tools/saved_flag_renames.txt index b2e4c1c858..c19eb086af 100644 --- a/tools/saved_flag_renames.txt +++ b/tools/saved_flag_renames.txt @@ -565,8 +565,8 @@ GameFlag(563) GF_Unused_HOS_20 GameFlag(564) GF_Unused_HOS_21 GameFlag(565) GF_Unused_HOS_22 GameFlag(566) GF_NOK01_RecoveredShellA -GameFlag(567) GF_NOK01_RecoveredShellB -GameFlag(568) GF_NOK01_RecoveredShellC +GameFlag(567) GF_NOK01_RecoveredBlockShell +GameFlag(568) GF_NOK01_RecoveredTreeShell GameFlag(569) GF_NOK02_StolenShellComplaintA GameFlag(570) GF_NOK02_RecoveredShellA GameFlag(571) GF_NOK02_StolenShellComplaintB @@ -1004,7 +1004,7 @@ GameFlag(1002) GF_ARN02_ItemBlock_CoinA GameFlag(1003) GF_ARN02_ItemBlock_CoinB GameFlag(1004) GF_ARN02_ItemBlock_RepelGel GameFlag(1005) GF_ARN02_Item_DizzyDial -GameFlag(1006) GF_ARN02_Item_Letter07 +GameFlag(1006) GF_ARN02_Item_LetterFiceT GameFlag(1007) GF_ARN03_ItemBlock_Coin GameFlag(1008) GF_ARN04_ItemBlock_SuperShroom GameFlag(1009) GF_ARN04_ItemBlock_Coin diff --git a/tools/splat_ext/msg.yaml b/tools/splat_ext/msg.yaml index d671272c52..69dd8f89df 100644 --- a/tools/splat_ext/msg.yaml +++ b/tools/splat_ext/msg.yaml @@ -7290,29 +7290,29 @@ - [0x27, 0x002F, Shop_14_MAC04] - [0x27, 0x0030, Shop_15_MAC04] - [0x27, 0x0031, Shop_16_MAC04] -- [0x27, 0x0032, Shop_0032] -- [0x27, 0x0033, Shop_0033] -- [0x27, 0x0034, Shop_0034] -- [0x27, 0x0035, Shop_0035] -- [0x27, 0x0036, Shop_0036] -- [0x27, 0x0037, Shop_0037] -- [0x27, 0x0038, Shop_0038] -- [0x27, 0x0039, Shop_0039] -- [0x27, 0x003A, Shop_003A] -- [0x27, 0x003B, Shop_003B] -- [0x27, 0x003C, Shop_003C] -- [0x27, 0x003D, Shop_003D] -- [0x27, 0x003E, Shop_003E] -- [0x27, 0x003F, Shop_003F] -- [0x27, 0x0040, Shop_0040] -- [0x27, 0x0041, Shop_0041] -- [0x27, 0x0042, Shop_0042] -- [0x27, 0x0043, Shop_0043] -- [0x27, 0x0044, Shop_0044] -- [0x27, 0x0045, Shop_0045] -- [0x27, 0x0046, Shop_0046] -- [0x27, 0x0047, Shop_0047] -- [0x27, 0x0048, Shop_0048] +- [0x27, 0x0032, Shop_00_NOK01] +- [0x27, 0x0033, Shop_01_NOK01] +- [0x27, 0x0034, Shop_02_NOK01] +- [0x27, 0x0035, Shop_03_NOK01] +- [0x27, 0x0036, Shop_04_NOK01] +- [0x27, 0x0037, Shop_05_NOK01] +- [0x27, 0x0038, Shop_06_NOK01] +- [0x27, 0x0039, Shop_07_NOK01] +- [0x27, 0x003A, Shop_08_NOK01] +- [0x27, 0x003B, Shop_09_NOK01] +- [0x27, 0x003C, Shop_0A_NOK01] +- [0x27, 0x003D, Shop_0B_NOK01] +- [0x27, 0x003E, Shop_0C_NOK01] +- [0x27, 0x003F, Shop_0D_NOK01] +- [0x27, 0x0040, Shop_0E_NOK01] +- [0x27, 0x0041, Shop_0F_NOK01] +- [0x27, 0x0042, Shop_10_NOK01] +- [0x27, 0x0043, Shop_11_NOK01] +- [0x27, 0x0044, Shop_12_NOK01] +- [0x27, 0x0045, Shop_13_NOK01] +- [0x27, 0x0046, Shop_14_NOK01] +- [0x27, 0x0047, Shop_15_NOK01] +- [0x27, 0x0048, Shop_16_NOK01] - [0x27, 0x0049, Shop_00_DR001] - [0x27, 0x004A, Shop_01_DR001] - [0x27, 0x004B, Shop_02_DR001] diff --git a/ver/us/asm/bss3.s b/ver/us/asm/bss3.s index f28d914a61..d7ae9af98c 100644 --- a/ver/us/asm/bss3.s +++ b/ver/us/asm/bss3.s @@ -76,7 +76,7 @@ dlabel gEntityHeapBottom dlabel D_80151304 .space 4 -dlabel D_80151308 +dlabel gCurrentRoomDoorSounds .space 4 dlabel gMsgBGScrollAmtY @@ -121,7 +121,7 @@ dlabel D_80151338 dlabel gHudElementCacheSize .space 4 -dlabel gCurrentDoorSoundsSet +dlabel gCurrentDoorSounds .space 4 dlabel D_80151344 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9C7F50.data.s b/ver/us/asm/data/world/area_nok/nok_01/9C7F50.data.s deleted file mode 100644 index 1acb2f5f88..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_01/9C7F50.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242B70_9C7F50 -.word 0xC3A68000, 0x00000000, 0x43AF0000, 0x42340000, 0x43EB0000, 0x00000000, 0x41200000, 0x43870000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8024332C, D_80242B70_9C7F50, 0x00000002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80200000, 0x00190048, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000007, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000006, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000005, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000004, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000003, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000007, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000005, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000004, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000004, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000007, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000004, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000005, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000007, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000088, 0x00000000, 0x00000008, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9C8350.data.s b/ver/us/asm/data/world/area_nok/nok_01/9C8350.data.s deleted file mode 100644 index 1832fad1ea..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_01/9C8350.data.s +++ /dev/null @@ -1,18 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80242F70_9C8350 -.word 0x0000000A, 0x00000002, 0xF5DE02DA, 0x00000002, 0x00000024, 0x00000002, 0xF8406228, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_802428B8_9C7C98, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80251A80, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243004_9C83E4 -.word 0x00000043, 0x00000001, func_802428B8_9C7C98, 0x00000043, 0x00000002, ClearAmbientSounds, 0x000000FA, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80251A88, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243070_9C8450 -.word 0x00000047, 0x00000005, D_80242F70_9C8350, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80243004_9C83E4, 0x00080000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802430B8_9C8498 -.word 0x00000043, 0x00000002, GetLoadType, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000044, 0x00000001, EnterSavePoint, 0x00000044, 0x00000001, D_80243070_9C8450, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000044, 0x00000001, D_80243070_9C8450, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80243070_9C8450, 0x00000044, 0x00000001, EnterWalk, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802431CC_9C85AC -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B5, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B6, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B7, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B8, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B9, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BA, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BC, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BD, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BE, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x0000000C, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x0000000C, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000021, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000024, 0x00000002, 0xF8406331, 0x00000001, 0x00000024, 0x00000002, 0xF9718889, 0x00000000, 0x00000024, 0x00000002, 0xF971888A, 0x00000000, 0x00000024, 0x00000002, 0xF971888C, 0x00000000, 0x00000024, 0x00000002, 0xF971888E, 0x00000000, 0x00000024, 0x00000002, 0xF8405DCE, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000024, 0x00000002, 0xF8405DB6, 0x00000001, 0x00000024, 0x00000002, 0xF8405DB7, 0x00000001, 0x00000024, 0x00000002, 0xF8405DB8, 0x00000001, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024FAA8, 0x00000012, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x8024FAE4, 0x00000013, 0x00000000, 0x00000043, 0x00000001, ClearDefeatedEnemies, 0x00000044, 0x00000001, 0x8024FCF0, 0x00000044, 0x00000001, 0x80250B70, 0x00000044, 0x00000001, D_802431CC_9C85AC, 0x00000046, 0x00000001, 0x80243540, 0x00000044, 0x00000001, 0x802506C0, 0x00000008, 0x00000001, 0x00000001, 0x00000046, 0x00000001, 0x80251840, 0x00000044, 0x00000001, 0x80242BD0, 0x00000024, 0x00000002, 0xF70F2E80, 0x00000000, 0x00000044, 0x00000001, D_802430B8_9C8498, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9C8920.data.s b/ver/us/asm/data/world/area_nok/nok_01/9C8920.data.s deleted file mode 100644 index c23bf7b03d..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_01/9C8920.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243540_9C8920 -.word 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000014, 0x0000003C, 0x00000172, 0x00000000, 0x80000000, 0x0000000A, 0x00000002, 0xF8405DB7, 0x00000000, 0x00000043, 0x00000002, AssignScript, 0x8024A758, 0x00000013, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_SavePoint, 0x000001A9, 0x0000003C, 0x0000007D, 0x00000000, 0x80000000, 0x00000043, 0x00000008, MakeEntity, Entity_HiddenPanel, 0x00000096, 0x00000000, 0x0000015E, 0x00000000, 0x00000007, 0x80000000, 0x00000043, 0x00000002, AssignPanelFlag, 0xF8405DDE, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9C89E0.data.s b/ver/us/asm/data/world/area_nok/nok_01/9C89E0.data.s deleted file mode 100644 index 9accfbebde..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_01/9C89E0.data.s +++ /dev/null @@ -1,396 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80243600_9C89E0 -.word 0x3F800000, 0x0000003C, 0x0000001E, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF - -dlabel D_80243630_9C8A10 -.word 0x00000043, 0x00000002, BasicAI_Main, D_80243600_9C89E0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80243650_9C8A30 -.word 0x00000000, 0x00240018, 0x00000000, 0x00000000, D_80243630_9C8A10, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630010 - -dlabel D_8024367C_9C8A5C -.word 0x3FC00000, 0x0000003C, 0x0000001E, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001 - -dlabel D_802436AC_9C8A8C -.word 0x00000043, 0x00000002, BasicAI_Main, D_8024367C_9C8A5C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802436CC_9C8AAC -.word 0x00000000, 0x00230018, 0x00000000, 0x00000000, D_802436AC_9C8A8C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630010, 0x00000000, 0x002A0018, 0x00000000, 0x00000000, D_802436AC_9C8A8C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00230018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x002A0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024377C_9C8B5C -.word 0x00000000, 0x00230018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630010 - -dlabel D_802437A8_9C8B88 -.word 0x00000000, 0x00140016, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000 - -dlabel D_802437D4_9C8BB4 -.word 0x00000000, 0x001E0018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000, 0x00000000, 0x00170013, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024382C_9C8C0C -.word 0x00000000, 0x00170014, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000 - -dlabel D_80243858_9C8C38 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02EE0000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243884_9C8C64 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243858_9C8C38, 0x00000000, 0x02BC0000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_802438B0_9C8C90 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243884_9C8C64, 0x00000000, 0x028A0000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_802438DC_9C8CBC -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802438B0_9C8C90, 0x00000000, 0x02580000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243908_9C8CE8 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802438DC_9C8CBC, 0x00000000, 0x02260000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243934_9C8D14 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243908_9C8CE8, 0x00000000, 0x01F40000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243960_9C8D40 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243934_9C8D14, 0x00000000, 0x01C20000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_8024398C_9C8D6C -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243960_9C8D40, 0x00000000, 0x01900000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_802439B8_9C8D98 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_8024398C_9C8D6C, 0x00000000, 0x015E0000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_802439E4_9C8DC4 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802439B8_9C8D98, 0x00000000, 0x012C0000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243A10_9C8DF0 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_802439E4_9C8DC4, 0x00000000, 0x00FA0000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243A3C_9C8E1C -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243A10_9C8DF0, 0x00000000, 0x00C80000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243A68_9C8E48 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243A3C_9C8E1C, 0x00000000, 0x00960000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243A94_9C8E74 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243A68_9C8E48, 0x00000000, 0x00640000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243AC0_9C8EA0 -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243A94_9C8E74, 0x00000000, 0x00320000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243AEC_9C8ECC -.word D_80245170_9CA550, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243AC0_9C8EA0, 0x00000000, 0x00000000, D_80243B90_9C8F70, 0x00000000 - -dlabel D_80243B18_9C8EF8 -.word 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80243AEC_9C8ECC, 0xFFFF0000, 0x00000000, 0x00000000, D_80243B18_9C8EF8, D_80243AEC_9C8ECC, D_80243AC0_9C8EA0, D_80243A94_9C8E74, D_80243A68_9C8E48, D_80243A3C_9C8E1C, D_80243A10_9C8DF0, D_802439E4_9C8DC4, D_802439B8_9C8D98, D_8024398C_9C8D6C, D_80243960_9C8D40, D_80243934_9C8D14, D_80243908_9C8CE8, D_802438DC_9C8CBC, D_802438B0_9C8C90, D_80243884_9C8C64, D_80243858_9C8C38, 0x00000000, 0x00000000 - -dlabel D_80243B90_9C8F70 -.word 0x00000000, 0x00000000, 0x04000000, 0xDB1396FF, 0x00000000, 0x00000000, 0x04120038, 0xB615A5FF, 0x00000000, 0x00000000, 0x04000038, 0xD05CC5FF, 0x00000000, 0x00000000, 0x03ED0000, 0xF94FB2FF, 0x00000000, 0x00000000, 0x04000071, 0xBB15A1FF, 0x00000000, 0x00000000, 0x03ED0071, 0xD75CC0FF, 0x00000000, 0x00000000, 0x041200AA, 0xB615A5FF, 0x00000000, 0x00000000, 0x040000AA, 0xD05CC5FF, 0x00000000, 0x00000000, 0x040000E3, 0xAE15ACFF, 0x00000000, 0x00000000, 0x03ED00E3, 0xC65BCFFF, 0x00000000, 0x00000000, 0x0412011C, 0xB615A5FF, 0x00000000, 0x00000000, 0x0400011C, 0xD05CC5FF, 0x00000000, 0x00000000, 0x04000155, 0xBF159FFF, 0x00000000, 0x00000000, 0x03ED0155, 0xDC5BBDFF, 0x00000000, 0x00000000, 0x0412018E, 0xB615A5FF, 0x00000000, 0x00000000, 0x0400018E, 0xD05CC5FF, 0x00000000, 0x00000000, 0x040001C7, 0xA515BAFF, 0x00000000, 0x00000000, 0x03ED01C7, 0xBB56DEFF, 0x00000000, 0x00000000, 0x0400041C, 0x8E20F5FF, 0x00000000, 0x00000000, 0x03ED0400, 0xAC55F8FF, 0x00000000, 0x00000000, 0x001201C7, 0x14564BFF, 0x00000000, 0x00000000, 0x001203FF, 0xF85554FF, 0x00000000, 0x00000000, 0x0000041C, 0xF52072FF, 0x00000000, 0x00000000, 0x000001C7, 0x321567FF, 0x00000000, 0x00000000, 0x00000038, 0x305C3BFF, 0x00000000, 0x00000000, 0x00120000, 0x4B4F16FF, 0x00000000, 0x00000000, 0x00120071, 0x365C35FF, 0x00000000, 0x00000000, 0x000000AA, 0x305C3BFF, 0x00000000, 0x00000000, 0x001200E3, 0x245B43FF, 0x00000000, 0x00000000, 0x0000011C, 0x305C3BFF, 0x00000000, 0x00000000, 0x00120155, 0x3A5B31FF, 0x00000000, 0x00000000, 0x0000018E, 0x305C3BFF, 0x00000000, 0x00000000, 0x00120000, 0x4B4F16FF, 0x00000000, 0x00000000, 0x00000038, 0x305C3BFF, 0x00000000, 0x00000000, 0xFFEE0038, 0x4A155BFF, 0x00000000, 0x00000000, 0x00000000, 0x601339FF, 0x00000000, 0x00000000, 0x00120071, 0x365C35FF, 0x00000000, 0x00000000, 0x00000071, 0x4F1557FF, 0x00000000, 0x00000000, 0x000000AA, 0x305C3BFF, 0x00000000, 0x00000000, 0xFFEE00AA, 0x4A155BFF, 0x00000000, 0x00000000, 0x001200E3, 0x245B43FF, 0x00000000, 0x00000000, 0x000000E3, 0x411561FF, 0x00000000, 0x00000000, 0x0000011C, 0x305C3BFF, 0x00000000, 0x00000000, 0xFFEE011C, 0x4A155BFF, 0x00000000, 0x00000000, 0x00120155, 0x3A5B31FF, 0x00000000, 0x00000000, 0x00000155, 0x521554FF, 0x00000000, 0x00000000, 0x0000018E, 0x305C3BFF, 0x00000000, 0x00000000, 0xFFEE018E, 0x4A155BFF, 0x00000000, 0x00000000, 0x001201C7, 0x14564BFF, 0x00000000, 0x00000000, 0x000001C7, 0x321567FF - -dlabel D_80243EB0_9C9290 -.word 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D, 0xFE6F008C, 0xFE14FE4D, 0x008CFE21, 0xFE5300C8, 0xFE29FE75, 0x00BEFE1B, 0xFE39008C, 0xFE3FFE3F, 0x00BEFE47, 0xFE1C008C, 0xFE49FE22, 0x00C8FE51, 0xFE0C008C, 0xFE64FE12, 0x00BEFE6C, 0xFDE6008C, 0xFE75FDED, 0x00C8FE7C, 0xFDCE008C, 0xFE96FDD4, 0x00BEFE9E, 0xFDB1008C, 0xFEA0FDB7, 0x00C8FEA8, 0xFDA1008C, 0xFEBBFDA8, 0x00BEFEC3, 0xFD2D008C, 0xFF1AFD3B, 0x00BEFF1B, 0xFEF000BE, 0x0055FE84, 0x00BE00AD, 0xFE83008C, 0x00BBFEF6, 0x008C005D, 0xFFAA00C8, 0xFFCDFFBE, 0x00BEFFAE, 0xFF8800BE, 0xFFDAFF79, 0x00C8FFF5, 0xFF5B00BE, 0xFFFFFF43, 0x00C8001F, 0xFF1D00BE, 0x0030FF0E, 0x00C8004B, 0xFFBE00BE, 0xFFAEFFAA, 0x00C8FFCD, 0xFFB0008C, 0xFFD4FFC4, 0x008CFFB6, 0xFF8800BE, 0xFFDAFF8E, 0x008CFFE2, 0xFF7900C8, 0xFFF5FF7F, 0x008CFFFC, 0xFF5B00BE, 0xFFFFFF61, 0x008C0005, 0xFF4300C8, 0x001FFF49, 0x008C0027, 0xFF1D00BE, 0x0030FF23, 0x008C0038, 0xFF0E00C8, 0x004BFF14, 0x008C0053, 0xFEF000BE, 0x0055FEF6, 0x008C005D - -dlabel D_80245170_9CA550 -.word 0xD7000002, 0xFFFFFFFF, 0xE7000000, 0x00000000, 0xFC121824, 0xFF33FFFF, 0xFD100000, D_802452D8_9CA6B8, 0xF5100000, 0x07094140, 0xE6000000, 0x00000000, 0xF3000000, 0x071FF200, 0xE7000000, 0x00000000, 0xF5100800, 0x00094140, 0xF2000000, 0x0003C07C, 0xD9FFFFFF, 0x00020000, 0x01020040, D_80243EB0_9C9290, 0x06000204, 0x00000406, 0x0602080A, 0x00020A04, 0x06080C0E, 0x00080E0A, 0x060C1012, 0x000C120E, 0x06101416, 0x00101612, 0x0614181A, 0x00141A16, 0x06181C1E, 0x00181E1A, 0x061C2022, 0x001C221E, 0x06202426, 0x00202622, 0x06282A2C, 0x00282C2E, 0x06060430, 0x00063032, 0x06040A34, 0x00043430, 0x060A0E36, 0x000A3634, 0x060E1238, 0x000E3836, 0x0612163A, 0x00123A38, 0x06161A3C, 0x00163C3A, 0x061A1E3E, 0x001A3E3C, 0x061E2228, 0x001E283E, 0x0622262A, 0x00222A28, 0x0626242C, 0x00262C2A, 0x01012024, D_80243EB0_9C9290, 0x06000204, 0x00000406, 0x0602080A, 0x00020A04, 0x06080C0E, 0x00080E0A, 0x060C1012, 0x000C120E, 0x06101416, 0x00101612, 0x0614181A, 0x00141A16, 0x06181C1E, 0x00181E1A, 0x061C2022, 0x001C221E, 0xE7000000, 0x00000000, 0xFC323864, 0xFF73FFFF, 0xD7000000, 0x00010001, 0xDF000000, 0x00000000 - -dlabel D_802452D8_9CA6B8 -.word 0x9D1D9D1D, 0x9D1D9D1D, 0x9D1D9D1D, 0x9D1D9D1D, 0x9D1D9D1D, 0x9D1D9D1D, 0x9D1D9D1D, 0x9D1D9D1D, 0x9D1DBDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0x9D1DBDE5, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0x9D1DBDE5, 0xD6ABDEF7, 0xD6ABDEF7, 0xD6ABDEF7, 0xD6ABDEF7, 0xD6ABDEF7, 0xD6ABDEF7, 0xD6ABDEF7, 0x9D1DBDE5, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0xDEF7D6AB, 0x9D1DBDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE5BDE5, 0x33E93C6B, 0x3C6B3C6B, 0x3C6B3C6B, 0x3C6B3C6B, 0x3C6B3C6B, 0x3C6B3C6B, 0x3C6B3C6B, 0x3C6B3C6B, 0x3C6B44F1, 0x44F144F1, 0x44F15D73, 0x5D7344F1, 0x44F15D73, 0x5D7344F1, 0x44F144F1, 0x44F144F1, 0x33E93C6B, 0x44F144F1, 0x44F144F1, 0x5D735D73, 0x5D735D73, 0x44F144F1, 0x44F144F1, 0x3C6B33E9, 0x9D1D33E9, 0x3C6B44F1, 0x44F144F1, 0x44F15D73, 0x5D7344F1, 0x44F144F1, 0x44F13C6B, 0x33E99D1D, 0xBDE59D1D, 0x33E93C6B, 0x44F144F1, 0x44F144F1, 0x44F144F1, 0x44F144F1, 0x3C6B33E9, 0x9D1D9D1D, 0xBDE5BDE5, 0x9D1D33E9, 0x3C6B44F1, 0x44F144F1, 0x44F144F1, 0x44F13C6B, 0x33E99D1D, 0x9D1D9B01, 0xBDE5BDE5, 0xBDE59D1D, 0x33E93C6B, 0x44F144F1, 0x44F144F1, 0x3C6B33E9, 0x9D1DBDE5, 0x9B01C405, 0xD6ABBDE5, 0xBDE5BDE5, 0x9D1D33E9, 0x3C6B44F1, 0x44F13C6B, 0x23659D1D, 0xBDE59D1D, 0x9B01C405, 0xD6ABD6AB, 0xBDE5BDE5, 0xBDE59D1D, 0x33E93C6B, 0x3C6B2365, 0x9D1DBDE5, 0x9D1D9B01, 0xC405D48B, 0xBDE5D6AB, 0xD6ABBDE5, 0xBDE5BDE5, 0x9D1D33E9, 0x23659D1D, 0x9D1D9D1D, 0x9D1D9B01, 0xC405D48B, 0xBDE5D6AB, 0xD6ABBDE5, 0xBDE5BDE5, 0x9D1D9B01, 0x9B019B01, 0x9B019B01, 0x9B01C405, 0xD48BD48B, 0xD6ABD6AB, 0xBDE5BDE5, 0xBDE59D1D, 0x33E99B01, 0xC405C405, 0xC405C405, 0xC405D48B, 0xD48BD48B, 0xD6ABBDE5, 0xBDE5BDE5, 0x9D1D33E9, 0x3C6B33E9, 0x9B01C405, 0xC405C405, 0xD48BD48B, 0x9B01D48B, 0xBDE5BDE5, 0xBDE59D1D, 0x33E93C6B, 0x44F13C6B, 0x33E99B01, 0x9B01C405, 0xC405D48B, 0x9B01D48B, 0xBDE5BDE5, 0x9D1D33E9, 0x3C6B44F1, 0x44F144F1, 0x3C6B33E9, 0x23659B01, 0xC405D48B, 0x9B01D48B, 0xBDE59D1D, 0x33E93C6B, 0x44F144F1, 0x44F144F1, 0x44F13C6B, 0x33E99B01, 0xC405D48B, 0xD48BD48B, 0x9D1D33E9, 0x3C6B44F1, 0x44F15D73, 0x44F144F1, 0x3C6B33E9, 0x23659B01, 0xC405D48B, 0xD48BD48B, 0x33E93C6B, 0x44F144F1, 0x5D735D73, 0x44F144F1, 0x3C6B33E9, 0x9B01C405, 0xC405C405, 0xC405C405, 0x33E93C6B, 0x44F144F1, 0x5D735D73, 0x44F144F1, 0x3C6B33E9, 0x9B01C405, 0xC405C405, 0x9B019B01, 0x9D1D33E9, 0x3C6B44F1, 0x44F15D73, 0x44F13C6B, 0x33E99B01, 0xC405C405, 0xC4059B01, 0x23659D1D, 0xBDE59D1D, 0x33E93C6B, 0x44F144F1, 0x44F13C6B, 0x33E99B01, 0xC4059B01, 0x9B012365, 0x9D1DBDE5, 0xBDE5BDE5, 0x9D1D33E9, 0x3C6B44F1, 0x44F13C6B, 0x33E99B01, 0x9B0133E9, 0x23659D1D, 0xBDE5BDE5, 0xBDE5BDE5, 0xBDE59D1D, 0x33E93C6B, 0x44F144F1, 0x3C6B33E9, 0x33E92365, 0x9D1DBDE5, 0xBDE5BDE5, 0xD6ABBDE5, 0xBDE5BDE5, 0x9D1D33E9, 0x3C6B44F1, 0x3C6B3C6B, 0x33E99D1D, 0xBDE5BDE5, 0xBDE5D6AB, 0xD6ABD6AB, 0xBDE5BDE5, 0xBDE59D1D, 0x33E93C6B, 0x3C6B33E9, 0x9D1DBDE5, 0xBDE5BDE5, 0xD6ABD6AB, 0xBDE5D6AB, 0xD6ABBDE5, 0xBDE5BDE5, 0x9D1D33E9, 0x33E99D1D, 0xBDE5BDE5, 0xBDE5D6AB, 0xD6AB05EF, 0x00130005, 0x00010000, 0x00000000, 0x00080001, 0x00000000, 0x00000011, 0x000100B6, 0x00B600B6, 0x00050002, 0x00000000, 0x00000008, 0x00020000, 0x00000000, 0x00110002, 0x00B600B6, 0x00B60005, 0x00030000, 0x00000000, 0x00080003, 0x00000000, 0x00000011, 0x000300B6, 0x00B600B6, 0x00050004, 0x00000000, 0x00000008, 0x00040000, 0x00000000, 0x00110004, 0x00B600B6, 0x00B60005, 0x00050000, 0x00000000, 0x00080005, 0x00000000, 0x00000011, 0x000500B6, 0x00B600B6, 0x00050006, 0x00000000, 0x00000008, 0x00060000, 0x00000000, 0x00110006, 0x00B600B6, 0x00B60005, 0x00070000, 0x00000000, 0x00080007, 0x00000000, 0x00000011, 0x000700B6, 0x00B600B6, 0x00050008, 0x00000000, 0x00000008, 0x00080000, 0x00000000, 0x00110008, 0x00B600B6, 0x00B60005, 0x00090000, 0x00000000, 0x00080009, 0x00000000, 0x00000011, 0x000900B6, 0x00B600B6, 0x0005000A, 0x00000000, 0x00000008, 0x000A0000, 0x00000000, 0x0011000A, 0x00B600B6, 0x00B60005, 0x000B0000, 0x00000000, 0x0008000B, 0x00000000, 0x00000011, 0x000B00B6, 0x00B600B6, 0x0005000C, 0x00000000, 0x00000008, 0x000C0000, 0x00000000, 0x0011000C, 0x00B600B6, 0x00B60005, 0x000D0000, 0x00000000, 0x0008000D, 0x00000000, 0x00000011, 0x000D00B6, 0x00B600B6, 0x0005000E, 0x00000000, 0x00000008, 0x000E0000, 0x00000000, 0x0011000E, 0x00B600B6, 0x00B60005, 0x000F0000, 0x00000000, 0x0008000F, 0x00000000, 0x00000011, 0x000F00B6, 0x00B600B6, 0x00050010, 0x00000000, 0x00000008, 0x00100000, 0x00000000, 0x00110010, 0x00B600B6, 0x00B60005, 0x00110000, 0x00000000, 0x00080011, 0x00000000, 0x00000011, 0x001100B6, 0x00B600B6, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00010001, 0x00030000 - -dlabel D_802459CC_9CADAC -.word 0x00000043, 0x00000003, EnableModel, 0xFE363C84, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0xFE363C85, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0xFE363C86, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0xFE363C87, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245A44_9CAE24 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C87, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C84, 0x00000008, 0x00000001, 0x00000046, 0x00000043, 0x00000003, EnableModel, 0xFE363C86, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, EnableModel, 0xFE363C86, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000B4, 0x00000014, 0x00000002, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0xFE363C88, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000006, RotateModel, 0xFE363C89, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0xFE363C87, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245B9C_9CAF7C -.word 0x00000043, 0x00000004, nok_01_ToadHouse_InitScreenOverlay, 0x00000000, 0x00000000, 0x00000000, 0x00000046, 0x00000001, D_80249810_9CEBF0, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C83, 0x00000043, 0x00000001, nok_01_ToadHouse_DoesPlayerNeedSleep, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C80, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00830004, 0x00830001, 0x00000000, 0xFE363C88, 0x00000043, 0x00000002, ShowChoice, 0x001E0006, 0x00000008, 0x00000001, 0x00000003, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00830004, 0x00830001, 0x00000000, 0xFE363C89, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00830004, 0x00830001, 0x00000000, 0xFE363C8A, 0x00000043, 0x00000002, SetPlayerJumpscale, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000001, 0x00000043, 0x00000001, nok_01_ToadHouse_DisableStatusMenu, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_80245A44_9CAE24, 0x00000013, 0x00000000, 0x00000043, 0x00000002, nok_01_ToadHouse_PutPartnerAway, 0xFE363C8A, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_802498E8_9CECC8, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x000000FF, 0x0000003C, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, nok_01_ToadHouse_UpdateScreenOverlay, 0x00000003, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, FullyRestoreHPandFP, 0x00000043, 0x00000001, FullyRestoreSP, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_802459CC_9CADAC, 0x00000013, 0x00000000, 0x00000043, 0x00000002, nok_01_ToadHouse_GetPartnerBackOut, 0xFE363C8A, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000005, MakeLerp, 0x000000FF, 0x00000000, 0x0000001E, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000003, nok_01_ToadHouse_UpdateScreenOverlay, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000069, 0x00000046, 0x00000001, D_80249B68_9CEF48, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00830004, 0x00830001, 0x00000000, 0xFE363C8B, 0x00000043, 0x00000001, nok_01_ToadHouse_ShowStatusMenu, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel nok_01_varStash -.word 0x00000000 - -dlabel D_80245F48_9CB328 -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel nok_01_Quizmo_Answers -.byte 0x02, 0x01, 0x01, 0x02, 0x02, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02, 0x02, 0x01, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01 - -dlabel nok_01_Quizmo_Requirements -.word 0xFFFFFF94, 0x00000000, 0xFFFFFFB4, 0x0000000A, 0xFFFFFFCA, 0x00000014, 0xFFFFFFF2, 0x0000001E, 0x00000006, 0x00000025, 0x00000027, 0x0000002C, 0x0000003A, 0x00000034, 0x00000058, 0x0000003C, 0x00000060, 0x00000040, 0x00000000, 0x00000040 - -dlabel D_80246038_9CB418 -.word 0x00000043, 0x00000001, nok_01_Quizmo_ShouldQuizmoLeave, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000012C, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00AF000C, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802460E8_9CB4C8 -.word 0x00000043, 0x00000003, nok_01_Quizmo_GetCamVfov, 0x00000000, 0xF4ACD480, 0x00000043, 0x00000003, nok_01_Quizmo_SetCamVfov, 0x00000000, 0x00000019, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetCamType, 0x00000000, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, GetCamDistance, 0x00000000, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000172, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFFE8E, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, GetCamPitch, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C80, 0xF24AAE80, 0x00000026, 0x00000002, 0xFE363C81, 0xF24A5280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x0000000F, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetCamDistance, 0x00000000, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000011, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFFFEF, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246380_9CB760 -.word 0x00000043, 0x00000003, nok_01_Quizmo_SetCamVfov, 0x00000000, 0xF4ACD480, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802463BC_9CB79C -.word 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0xF4ACD481, 0xF4ACD483, 0x00000053, 0xFE363C80, 0xFE363C81, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x0000003C, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002E, 0x00000002, 0xFE363C83, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C84, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0x0000003C, 0x0000002F, 0x00000002, 0xFE363C84, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C83, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C84, 0xF4ACD483, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002C, 0x00000002, 0xFE363C83, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C84, 0xF4ACD483, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_SpinPlayer, 0x00000043, 0x00000004, func_802D2884, 0xF4ACD481, 0xF4ACD483, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024656C_9CB94C -.word 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0xFE363C8A, 0xFE363C8C, 0x0000006C, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C85, 0xF4ACD482, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x00000056, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_UpdatePartnerPosition, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C85, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C8A, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x0000002C, 0x00000002, 0xFE363C86, 0xFE363C8B, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C86, 0xFE363C84, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_SpinPartner, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802466A4_9CBA84 -.word 0x00000043, 0x00000005, GetNpcPos, 0x0000000F, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0xFE363C8A, 0xFE363C8C, 0xFFFFFFBA, 0xFE363C80, 0xFE363C81, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x0000003C, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002E, 0x00000002, 0xFE363C83, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C84, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0x0000003C, 0x0000002F, 0x00000002, 0xFE363C84, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C8A, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x00000043, 0x00000005, SetNpcPos, 0x0000000F, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000003, NpcFacePlayer, 0x0000000F, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246810_9CBBF0 -.word 0x00000044, 0x00000001, D_802463BC_9CB79C, 0x00000044, 0x00000001, D_8024656C_9CB94C, 0x00000046, 0x00000001, D_802466A4_9CBA84, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000008, 0x00000001, 0x00000014, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246884_9CBC64 -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010016, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802468C0_9CBCA0 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xF4ACD482, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247408_9CC7E8 -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010023, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247448_9CC828 -.word 0x00000056, 0x00000000, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0xF4ACD481, 0xF4ACD483, 0x00000019, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C82, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C83, 0xF4ACD483, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000102, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFE363C82, 0xFE363C83, 0x00000028, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000057, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0xF4ACD481, 0xF4ACD483, 0x00000028, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247524_9CC904 -.word 0x00000045, 0x00000002, D_802468C0_9CBCA0, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000049, 0x00000001, 0xFE363C81, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_80247448_9CC828, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802475D4_9CC9B4 -.word 0x00000045, 0x00000002, D_80247408_9CC7E8, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_80247448_9CC828, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247684_9CCA64 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_80246038_9CB418, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, nok_01_Quizmo_HideEntities, 0x00000043, 0x00000001, nok_01_Quizmo_HideWorld, 0x00000044, 0x00000001, D_802460E8_9CB4C8, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000F, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000F, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80246810_9CBBF0, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80246884_9CBC64, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, nok_01_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, nok_01_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, nok_01_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_80247524_9CC904, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80245F48_9CB328, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80245F48_9CB328, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_01_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageText, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageText, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_802475D4_9CC9B4, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000F, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, nok_01_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_01_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, nok_01_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_80246038_9CB418, 0x00000044, 0x00000001, D_80246380_9CB760, 0x00000043, 0x00000001, nok_01_Quizmo_FadeInWorld, 0x00000043, 0x00000001, nok_01_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802483B4_9CD794 -.word 0x00000043, 0x00000001, nok_01_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, nok_01_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248428_9CD808 -.word 0x0000003C, 0x00000001, 0x80251C48, 0x00000024, 0x00000002, 0xF8406269, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000001, 0x00000046, 0x00000001, D_80247684_9CCA64, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802484A8_9CD888 -.word 0x00000043, 0x00000001, nok_01_Quizmo_NPC_Aux_Impl, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802484C4_9CD8A4 -.word 0x3F333333, 0x0000001E, 0x00000014, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001 - -dlabel D_802484F4_9CD8D4 -.word 0x00000043, 0x00000002, BasicAI_Main, D_802484C4_9CD8A4, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248514_9CD8F4 -.word 0x00AF0001, 0x0023001C, D_802483B4_9CD794, D_80248428_9CD808, 0x00000000, 0x00000000, D_802484A8_9CD888, 0x00000000, 0x00000D01, 0x00000000, 0x00630000, 0x00AF0001, 0x0023001C, D_802483B4_9CD794, D_80248428_9CD808, D_802484F4_9CD8D4, 0x00000000, D_802484A8_9CD888, 0x00000000, 0x00000C01, 0x00000000, 0x00630010 - -dlabel nok_01_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel nok_01_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_80248574_9CD954 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, nok_01_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, nok_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_802420B4_9C7494, 0xFE363C80, 0x0000004E, 0x00000006, D_80248574_9CD954, 0x00000010, 0x00000000, nok_01_D_80251C70, 0x00000000, 0x00000001, 0x00000043, 0x00000002, nok_01_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248708_9CDAE8 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, nok_01_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, SetItemPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248788_9CDB68 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, nok_01_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000045, 0x00000002, D_80248708_9CDAE8, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040002, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0xFE363C89, 0xFFFFFFFC, 0xFE363C8B, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C89, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C8B, 0x000000B4, 0x00000027, 0x00000002, 0xFE363C86, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C86, 0xFFFFFFEC, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000014, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GetNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x000000B4, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0xFE363C89, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000008, 0x00000001, 0x00000005, 0x00000023, 0x00000000, 0x00000043, 0x00000002, nok_01_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248AAC_9CDE8C -.word 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, func_802420B4_9C7494, 0xFE363C80, 0x0000004E, 0x00000006, D_80248788_9CDB68, 0x00000010, 0x00000000, nok_01_D_80251C70, 0x00000000, 0x00000001, 0x00000043, 0x00000002, nok_01_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248B1C_9CDEFC -.word 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFBA, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, nok_01_LetterDelivery_SaveNpcAnim, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000043, 0x00000003, FindKeyItem, 0xFE363C85, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x0000000B, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C82, 0xFE363C8D, 0xFE363C80, 0xFE363C8E, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C8E, 0xFE363C8F, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C80, 0xFE363C8F, 0x0000000A, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000000, 0xFE363C82, 0xFE363C87, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000046, 0x00000001, D_80248AAC_9CDE8C, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C88, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x0000000B, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80245F48_9CB328, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C86, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, nok_01_LetterDelivery_RestoreNpcAnim, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248E14_9CE1F4 -.word 0x00000047, 0x00000000 - -dlabel D_80248E1C_9CE1FC -.word 0x00000043, 0x0000000B, nok_01_LetterDelivery_Init, 0x00000000, 0x008F0007, 0x008F0002, 0x00000047, 0x00000048, 0x000C0009, 0x000C000A, 0x000C000B, 0x000C000C, D_80248E14_9CE1F4, 0x00000046, 0x00000001, D_80248B1C_9CDEFC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248E6C_9CE24C -.word 0x00000049, 0x00000000 - -dlabel D_80248E74_9CE254 -.word 0x00000043, 0x0000000B, nok_01_LetterDelivery_Init, 0x00000000, 0x008F0007, 0x008F0002, 0x00000049, 0x0000004A, 0x000C000D, 0x000C000E, 0x000C000F, 0x000C0010, D_80248E6C_9CE24C, 0x00000046, 0x00000001, D_80248B1C_9CDEFC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248EC4_9CE2A4 -.word 0x00000038, 0x00000000 - -dlabel D_80248ECC_9CE2AC -.word 0x00000043, 0x0000000B, nok_01_LetterDelivery_Init, 0x00000008, 0x00830004, 0x00830001, 0x00000038, 0x00000000, 0x000C0039, 0x000C003A, 0x000C003B, 0x000C003C, D_80248EC4_9CE2A4, 0x00000046, 0x00000001, D_80248B1C_9CDEFC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248F1C_9CE2FC -.word 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_80245F48_9CB328, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248F80_9CE360 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248F90_9CE370 -.word 0x00000043, 0x00000003, GetNpcYaw, 0xFE363C84, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C82, 0x0000001E, 0x0000000D, 0x00000002, 0xFE363C81, 0x00000097, 0x0000000E, 0x00000002, 0xFE363C81, 0x0000014B, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFFE2, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000005, SetNpcRotation, 0xFE363C83, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249060_9CE440 -.word 0xFFFFFF01, 0x0000018F, 0xFFFFFF9C, 0x000001AE, 0xFFFFFFA5, 0x000001DB, 0x00000000, 0x000001D6, 0x00000038, 0x000001D6, 0x00000078, 0x000001D6, 0x000000C8, 0x000001D9, 0x000000FA, 0x00000190, 0x00000134, 0x0000016A, 0x00000172, 0x00000118, 0x000001BE, 0x000000EC, 0x000001BC, 0x0000006E, 0x000001C0, 0x00000035, 0x0000014A, 0x0000003C, 0x00000111, 0x0000004A, 0x000000C8, 0x00000050, 0x00000087, 0x0000006C, 0x0000001E, 0x0000008C, 0xFFFFFFD1, 0x000000B9, 0xFFFFFF9C, 0x000000F0, 0xFFFFFF56, 0x00000144, 0xFFFFFF2E, 0x00000168 - -dlabel D_80249110_9CE4F0 -.word 0xFFFFFF56, 0x00000144, 0xFFFFFF9C, 0x000000F0, 0xFFFFFFD1, 0x000000B9, 0x0000001E, 0x0000008C, 0x00000087, 0x0000006C, 0x000000C8, 0x00000050, 0x00000111, 0x0000004A, 0x0000014A, 0x0000003C, 0x000001C0, 0x00000035, 0x000001BC, 0x0000006E, 0x000001BE, 0x000000EC, 0x00000172, 0x00000118, 0x00000134, 0x0000016A, 0x000000FA, 0x00000190, 0x000000C8, 0x000001D9, 0x00000078, 0x000001D6, 0x00000038, 0x000001D6, 0x00000000, 0x000001D6, 0xFFFFFFA5, 0x000001DB, 0xFFFFFF9C, 0x000001AE, 0xFFFFFF01, 0x0000018F, 0xFFFFFF2E, 0x00000168 - -dlabel D_802491C0_9CE5A0 -.word 0x00000003, 0x00000001, 0x00000064, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000008, 0x00000001, 0x00000008, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000030, 0x00000001, D_80249060_9CE440, 0x00000024, 0x00000002, 0xFE363C81, 0x000000C8, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000003, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80249060_9CE440, 0x00000005, 0x00000001, 0x00000016, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000003, RandInt, 0x0000000A, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C83, 0x0000000F, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000A, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x0000000A, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249308_9CE6E8 -.word 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000003, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x002B0008, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000019, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFD8, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x002B0008, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFE2, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x002B0009, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000D, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFEC, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000B, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFF6, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000009, 0x00000027, 0x00000002, 0xFE363C80, 0x00000050, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFB0, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x002B0003, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802495D8_9CE9B8 -.word 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_80249308_9CE6E8, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x1F000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249610_9CE9F0 -.word 0x00000003, 0x00000001, 0x00000064, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000008, 0x00000001, 0x00000008, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000030, 0x00000001, D_80249110_9CE4F0, 0x00000024, 0x00000002, 0xFE363C81, 0x000000C8, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7E1A, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7E1A, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000003, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_80249110_9CE4F0, 0x00000005, 0x00000001, 0x00000016, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000003, RandInt, 0x00000009, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C83, 0x0000000D, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7E1A, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7E1A, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000B, 0x00000333, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x0000000B, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249798_9CEB78 -.word 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_80249308_9CE6E8, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x1F000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802497D0_9CEBB0 -.word 0x00000046, 0x00000001, 0x80284054, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802497EC_9CEBCC -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_802497D0_9CEBB0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249810_9CEBF0 -.word 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000D, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00830004, 0x00830001, 0x00000000, 0x000C0035, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000C0033, 0x00000024, 0x00000002, 0xFE363C88, 0x000C0034, 0x00000024, 0x00000002, 0xFE363C81, 0x000C0036, 0x00000024, 0x00000002, 0xFE363C82, 0x000C0037, 0x00000024, 0x00000002, 0xFE363C83, 0x000C0038, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802498E8_9CECC8 -.word 0x00000044, 0x00000001, 0x80242F38, 0x00000043, 0x00000004, func_802D1270, 0xFFFFFEC9, 0x00000055, 0xF24A8680, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000003, nok_01_ToadHouse_CamSetFOV, 0x00000000, 0x00000028, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000022, 0xFFFFFFF8, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x000000DC, 0x00000043, 0x00000004, SetCamPosA, 0x00000000, 0xFFFFFF38, 0x00000035, 0x00000043, 0x00000004, SetCamPosB, 0x00000000, 0xFFFFFE6F, 0x00000032, 0x00000043, 0x00000004, SetCamPosC, 0x00000000, 0x00000000, 0xFFFFFFFE, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000057, 0x00000000, 0x00000043, 0x00000004, func_802D1270, 0xFFFFFEB2, 0x00000046, 0xF24A8680, 0x00000043, 0x00000004, func_802D1270, 0xFFFFFE7F, 0xFFFFFFFA, 0xF24A8680, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, InterpPlayerYaw, 0x000000A0, 0x00000001, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010000, 0x00000043, 0x00000002, func_802D286C, 0x00000800, 0x00000043, 0x00000007, func_802D2520, 0x00010002, 0x00000005, 0x00000007, 0x00000001, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008001D, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000003F, 0x00000043, 0x00000003, nok_01_ToadHouse_CamSetFOV, 0x00000000, 0x00000019, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249B68_9CEF48 -.word 0x00000043, 0x00000002, HidePlayerShadow, 0x00000000, 0x00000043, 0x00000007, func_802D2520, 0x00010002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFE84, 0x00000000, 0x00000005, 0x00000043, 0x00000002, SetPlayerSpeed, 0xF24A8680, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFEBB, 0x0000004F, 0x00000000, 0x00000044, 0x00000001, 0x80242BD0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249BF8_9CEFD8 -.word 0x00000046, 0x00000001, D_80248ECC_9CE2AC, 0x00000046, 0x00000001, D_80248F1C_9CE2FC, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80245B9C_9CAF7C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249C4C_9CF02C -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80249BF8_9CEFD8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249C70_9CF050 -.word 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x0000000A, 0x00000002, 0xF9718889, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000007, 0x008F0008, 0x008F0003, 0x00000005, 0x000C0021, 0x00000024, 0x00000002, 0xF9718889, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000007, 0x008F0008, 0x008F0003, 0x00000005, 0x000C0022, 0x00000024, 0x00000002, 0xF9718889, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000007, 0x008F0008, 0x008F0003, 0x00000005, 0x000C0023, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000014, 0x00000001, 0xF70F2E80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000007, 0x008F0008, 0x008F0003, 0x00000005, 0x000C0024, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000007, 0x008F0008, 0x008F0003, 0x00000005, 0x000C0025, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000007, 0x008F0008, 0x008F0003, 0x00000005, 0x000C0026, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000007, 0x008F0008, 0x008F0003, 0x00000005, 0x000C0027, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xF8405DB8, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405DB8, 0x00000001, 0x00000043, 0x00000003, BindNpcAI, 0x00000005, D_80248F80_9CE360, 0x00000043, 0x00000003, SetNpcAux, 0x00000005, D_80248F80_9CE360, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, NpcJump0, 0x00000006, 0x000000DC, 0x00000000, 0x000000D2, 0x00000014, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000006, 0x0000021A, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000006, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000005, 0x00000006, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000005, 0x00000100, 0x00000001, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x0090000B, 0x00000043, 0x00000006, NpcJump0, 0x00000005, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000005, GetNpcPos, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00900005, 0x00000043, 0x00000005, NpcMoveTo, 0x00000005, 0xFE363C80, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00900001, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000006, NpcJump0, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000005, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000005, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x00900000, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000006, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000005, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000024, 0x00000002, 0xFE363C83, 0x00000006, 0x00000024, 0x00000002, 0xFE363C84, 0x00000005, 0x00000044, 0x00000001, D_80248F90_9CE370, 0x00000043, 0x00000004, InterpNpcYaw, 0xFE363C83, 0x0000003C, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000006, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000005, 0x008F0002, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000005, 0x00000100, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x008F0000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000006, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x008F0009, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000005, 0x008F0002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000005, 0x008F0007, 0x008F0002, 0x00000000, 0x000C001A, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A278_9CF658 -.word 0x0000000A, 0x00000002, 0xF8405DB8, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000005, 0x008F0007, 0x008F0009, 0x00000000, 0x000C001B, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000005, 0x00900009, 0x00900002, 0x00000000, 0x000C0019, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A2E8_9CF6C8 -.word 0x0000000A, 0x00000002, 0xF8405DB8, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80243630_9C8A10, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A324_9CF704 -.word 0x0000000A, 0x00000002, 0xF8405DB7, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405DB7, 0x00000001, 0x00000043, 0x00000003, BindNpcAI, 0x00000003, D_80248F80_9CE360, 0x00000043, 0x00000003, SetNpcAux, 0x00000003, D_80248F80_9CE360, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000006, NpcJump0, 0x00000004, 0x0000003C, 0x00000000, 0x00000148, 0x00000014, 0x00000043, 0x00000002, PlaySound, 0x0000021A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000004, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000003, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000003, 0x00000100, 0x00000001, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x0090000B, 0x00000043, 0x00000006, NpcJump0, 0x00000003, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00900005, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFE363C80, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00900001, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000006, NpcJump0, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000003, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00900000, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000004, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000024, 0x00000002, 0xFE363C83, 0x00000004, 0x00000024, 0x00000002, 0xFE363C84, 0x00000003, 0x00000044, 0x00000001, D_80248F90_9CE370, 0x00000043, 0x00000004, InterpNpcYaw, 0xFE363C83, 0x0000003C, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000003, 0x008F0002, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000003, 0x00000100, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x008F0000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000004, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x008F0009, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x008F0002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0012, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_8024A324_9CF704, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A774_9CFB54 -.word 0x0000000A, 0x00000002, 0xF8405DB7, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x008F0002, 0x008F0009, 0x00000000, 0x000C0013, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00900009, 0x00900002, 0x00000000, 0x000C0011, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A7E4_9CFBC4 -.word 0x0000000A, 0x00000002, 0xF8405DB7, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A814_9CFBF4 -.word 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x000000C8, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFF38, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000014, 0x00000043, 0x0000000F, PlayEffect, 0x00000018, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0x00000004, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0x00000001, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008000A, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000057, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000000, 0x00900001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0090000C, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFEC, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFF6, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000008, 0x00000001, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C80, 0x00000032, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFEC, 0x00000056, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000014, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0001, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B000C, 0x00000056, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000014, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000014, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900002, 0x00000056, 0x00000000, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000014, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024AD10_9D00F0 -.word 0x0000000A, 0x00000002, 0xF8405DB6, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0003, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0000, 0x00000043, 0x00000003, InterpPlayerYaw, 0x000000E3, 0x00000005, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010021, 0x00000043, 0x00000005, EndSpeech, 0x00000000, 0x008F0007, 0x008F0002, 0x00000000, 0x00000043, 0x00000003, InterpPlayerYaw, 0x0000002F, 0x00000005, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000005, EndSpeech, 0x00000000, 0x008F0007, 0x008F0002, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010029, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000005, EndSpeech, 0x00000000, 0x008F0007, 0x008F0002, 0x00000000, 0x00000046, 0x00000001, D_8024A814_9CFBF4, 0x00000043, 0x00000007, SpeakToNpc, 0x00000000, 0x00900009, 0x00900002, 0x00000000, 0x00000001, 0x000C0001, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024AE90_9D0270 -.word 0x0000000A, 0x00000002, 0xF8405DB6, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFFFFFE7E, 0x00000000, 0x0000018F, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFECC, 0x00000146, 0x0000001E, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000000, 0x00000005, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000027, 0x00000002, 0xFE363C81, 0x00000023, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000000, 0x00000262, 0x00000000, 0x00000043, 0x0000000A, ShowEmote, 0x00000000, 0x00000000, 0x00000000, 0x00000014, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0006, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000003, GetCamDistance, 0x00000000, 0xFE363C8A, 0x0000002E, 0x00000002, 0xFE363C8A, 0xF24A7D4D, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFE363C8A, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0x00000004, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFFFFFEE8, 0x0000012D, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0002, 0x00000008, 0x00000001, 0x00000007, 0x00000046, 0x00000001, D_8024AD10_9D00F0, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000012, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C80, 0x00000028, 0x00000043, 0x00000005, SetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000013, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0x00000000, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DB6, 0x00000001, 0x00000043, 0x00000003, BindNpcInteract, 0x00000000, D_8024AD10_9D00F0, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900006, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C80, 0xFE363C82, 0x00000011, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900002, 0x00000003, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B2B0_9D0690 -.word 0x0000004D, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xF8405DB6, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, 0xFFFFFF30, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x0000011A, 0x00000003, 0x00000001, 0x0000000A, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000027, 0x00000002, 0xFE363C8A, 0x00000014, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000000A2, 0x00000003, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DB6, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000008, nok_01_CosInterpMinMax, 0xFE363C80, 0xFE363C81, 0xFFFFFFCE, 0x00000032, 0x00000078, 0x00000000, 0x000000B4, 0x00000043, 0x00000008, nok_01_CosInterpMinMax, 0xFE363C80, 0xFE363C82, 0xFFFFFFE0, 0x00000020, 0x00000078, 0x00000000, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C81, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C82, 0xFE363C8C, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0003, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0xFE363C81, 0xFE363C8B, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C83, 0x00000002, 0x00000027, 0x00000002, 0xFE363C80, 0x00000002, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x000000F0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C81, 0xFE363C83, 0xFE363C82, 0x00000003, 0x00000001, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B55C_9D093C -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000024, 0x00000002, 0xF8405DB6, 0x00000001, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x00000020, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0008, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000019, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFD8, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0008, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFE2, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0009, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000D, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFEC, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000B, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFF6, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000009, 0x00000027, 0x00000002, 0xFE363C80, 0x00000050, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFB0, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0003, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000001, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000005, 0x00000001, 0x00000046, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000001, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000002, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000000, 0x00000002, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000007, AdjustCam, 0x00000000, 0x00000004, 0x00000000, 0xF245CA80, 0xF24ABE80, 0xF24A5E80, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0090000B, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900005, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C80, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900001, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000000, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900000, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000002, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000024, 0x00000002, 0xFE363C83, 0x00000002, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_80248F90_9CE370, 0x00000043, 0x00000004, InterpNpcYaw, 0xFE363C83, 0x0000003C, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000000, 0x008F0002, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000002, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0002, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0009, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0002, 0x00000056, 0x00000000, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0x00000004, 0x00000057, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000004, SetEnemyFlagBits, 0x00000000, 0x00400000, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BD28_9D1108 -.word 0x0000000A, 0x00000002, 0xF971888A, 0x00000000, 0x00000024, 0x00000002, 0xF971888A, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x000C003D, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF971888A, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000C003E, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BDB8_9D1198 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024BD28_9D1108, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BDDC_9D11BC -.word 0x0000000A, 0x00000002, 0xF971888C, 0x00000000, 0x00000024, 0x00000002, 0xF971888C, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x000C0044, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF971888C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000C0045, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BE6C_9D124C -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024BDDC_9D11BC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BE90_9D1270 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024AE90_9D0270, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024AD10_9D00F0, 0x0000000A, 0x00000002, 0xF8405DB6, 0x00000001, 0x00000043, 0x00000004, SetEnemyFlagBits, 0xFFFFFFFF, 0x00400000, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00900001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BF2C_9D130C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024B2B0_9D0690, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_8024B55C_9D093C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BF64_9D1344 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_802491C0_9CE5A0, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_802495D8_9CE9B8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BF9C_9D137C -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_80249610_9CE9F0, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_80249798_9CEB78, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BFD4_9D13B4 -.word 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x008F000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C00C_9D13EC -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024A7E4_9CFBC4, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024A774_9CFB54, 0x00000043, 0x00000005, SetNpcPos, 0x00000003, 0x00000028, 0x00000000, 0x00000145, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000003, 0x000000B4, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DB7, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0x00000016, 0x00000055, 0x00000177, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00900006, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000003, 0x008F0002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C0DC_9D14BC -.word 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x008F000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C114_9D14F4 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024A2E8_9CF6C8, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024A278_9CF658, 0x0000000A, 0x00000002, 0xF8405DB8, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000006, 0x000000BE, 0x00000072, 0x000000DC, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000005, 0x008F0002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C19C_9D157C -.word 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x008F000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C1D4_9D15B4 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_80249C70_9CF050, 0x00000043, 0x00000005, SetNpcPos, 0x00000007, 0x0000014D, 0x00000011, 0xFFFFFF5E, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000007, 0x000000B4, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000007, 0x008F0003, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C240_9D1620 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFA4, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0003, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0004, 0x00000018, 0x00000001, 0xFFFFFFCB, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0005, 0x00000018, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0006, 0x00000018, 0x00000001, 0x00000059, 0x0000000A, 0x00000002, 0xF8405DE2, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0007, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0008, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0008, 0x00000023, 0x00000000, 0x00000046, 0x00000001, D_80248E1C_9CE1FC, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80248E74_9CE254, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C404_9D17E4 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0014, 0x00000018, 0x00000001, 0xFFFFFFCB, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0015, 0x00000018, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0016, 0x00000018, 0x00000001, 0x00000059, 0x0000000A, 0x00000002, 0xF8405DE2, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0017, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0018, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0018, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C544_9D1924 -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C554_9D1934 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C001C, 0x00000018, 0x00000001, 0xFFFFFFCB, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C001D, 0x00000018, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C001E, 0x00000018, 0x00000001, 0x00000059, 0x0000000A, 0x00000002, 0xF8405DE2, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C001F, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0020, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0020, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C694_9D1A74 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x0000000A, 0x00000002, 0xF971888B, 0x00000000, 0x00000024, 0x00000002, 0xF971888B, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x000C003F, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF971888B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000C0040, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0xFE363C80, 0x00000018, 0x00000001, 0x00000007, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C0041, 0x00000018, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C0042, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C0043, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910103, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910101, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_802426A4_9C7A84, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C868_9D1C48 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x0000000A, 0x00000002, 0xF971888C, 0x00000000, 0x00000024, 0x00000002, 0xF971888C, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0x000C0046, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF971888C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000C0047, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0xFE363C80, 0x00000018, 0x00000001, 0x00000007, 0x0000000A, 0x00000002, 0xF971888C, 0x00000000, 0x00000024, 0x00000002, 0xF971888C, 0x00000001, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000002, BringPartnerOut, 0x00000003, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C0048, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x0003000E, 0x00030003, 0x00000000, 0x000C0049, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C004A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910103, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910101, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_802426A4_9C7A84, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000001, PutPartnerAway, 0x00000012, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C004B, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910103, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910101, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_802426A4_9C7A84, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000013, 0x00000000, 0x00000018, 0x00000001, 0x00000059, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C004C, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910103, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910101, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_802426A4_9C7A84, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C004D, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910103, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910101, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_802426A4_9C7A84, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CD08_9D20E8 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000007, 0x0000000A, 0x00000002, 0xF971888E, 0x00000000, 0x00000024, 0x00000002, 0xF971888E, 0x00000001, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0x0000000C, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0x0000000D, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C004E, 0x00000043, 0x00000003, PlayerFaceNpc, 0x0000000C, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000C, 0x00910104, 0x00910101, 0x00000000, 0x000C004F, 0x00000043, 0x00000003, PlayerFaceNpc, 0x0000000D, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000D, 0x00910104, 0x00910101, 0x00000000, 0x000C0050, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000D, 0x00910103, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000D, 0x00910101, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x0000000D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000D, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_802426A4_9C7A84, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x0000000C, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000C, 0x00910103, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000C, 0x00910101, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x0000000C, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000C, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_802426A4_9C7A84, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910103, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00910101, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_802426A4_9C7A84, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000057, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C0051, 0x00000013, 0x00000000, 0x00000018, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C0052, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910104, 0x00910101, 0x00000000, 0x000C0053, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D0B8_9D2498 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024C240_9D1620, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D0DC_9D24BC -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024C404_9D17E4, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D100_9D24E0 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024C554_9D1934, 0x0000000F, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024C544_9D1924, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x008F0000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D164_9D2544 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024C694_9D1A74, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D188_9D2568 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024C868_9D1C48, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D1AC_9D258C -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024CD08_9D20E8, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFB5, 0x00000043, 0x00000002, RemoveNpc, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D1F8_9D25D8 -.word 0x00000000, D_802436CC_9C8AAC, 0xC3690000, 0x00000000, 0x43800000, 0x00402909, D_8024BE90_9D1270, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFF17, 0x00000000, 0x00000100, 0x00000064, 0x00000000, 0xFFFF8001, 0x00000000, 0xFFFFFF17, 0x00000000, 0x00000100, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A006C, 0x00000001, D_802437A8_9C8B88, 0x00000000, 0xC47A0000, 0x00000000, 0x19500008, D_8024BF2C_9D130C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 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, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_8024377C_9C8B5C, 0x00000000, 0xC47A0000, 0x00000000, 0x00000B09, D_8024BFD4_9D13B4, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, D_80243650_9C8A30, 0x42480000, 0x00000000, 0x43960000, 0x00002009, D_8024C00C_9D13EC, 0x00000000, 0x00000000, 0x000000B4, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000032, 0x00000000, 0x00000145, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000034, 0x00000000, 0x0000014A, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x00900002, 0x00900006, 0x00900004, 0x00900006, 0x00900004, 0x00900004, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00000000, 0x00000000, 0x00000000, 0x001A006D, 0x00000004, D_8024377C_9C8B5C, 0x00000000, 0xC47A0000, 0x00000000, 0x00400B09, D_8024C0DC_9D14BC, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000005, D_80243650_9C8A30, 0x43160000, 0x00000000, 0x43590000, 0x00002909, D_8024C114_9D14F4, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000AF, 0x00000000, 0x000000E1, 0x00000032, 0x00000000, 0x00017FFD, 0x00000000, 0x00000096, 0x00000000, 0x000000D9, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x00900002, 0x00900006, 0x00900004, 0x00900006, 0x00900004, 0x00900004, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00000000, 0x00000000, 0x00000000, 0x001A006E, 0x00000006, D_8024377C_9C8B5C, 0x00000000, 0xC47A0000, 0x00000000, 0x00400B09, D_8024C19C_9D157C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000C, D_8024382C_9C8C0C, 0x43820000, 0x00000000, 0xC2DC0000, 0x00002909, D_8024BDB8_9D1198, 0x00000000, 0x00000000, 0x00000052, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00910101, 0x00910102, 0x00910103, 0x00910103, 0x00910101, 0x00910101, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00000000, 0x00000000, 0x00000000, 0x001A0070, 0x0000000D, D_8024382C_9C8C0C, 0x43870000, 0x00000000, 0xC3200000, 0x00002909, D_8024BE6C_9D124C, 0x00000000, 0x00000000, 0x00000052, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00910101, 0x00910102, 0x00910103, 0x00910103, 0x00910101, 0x00910101, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00000000, 0x00000000, 0x00000000, 0x001A0071 - -dlabel D_8024E368_9D3748 -.word 0x0000000A, D_802437A8_9C8B88, 0x00000000, 0xC47A0000, 0x00000000, 0x19700F00, D_8024BF64_9D1344, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel mac_02_Quizmo_AnswerResult_9D3938 -.word 0x0000000B, D_802437A8_9C8B88, 0x00000000, 0xC47A0000, 0x00000000, 0x19700F00, D_8024BF9C_9D137C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024E748_9D3B28 -.word 0x00000000, D_802436CC_9C8AAC, 0xC3690000, 0x00000000, 0x43800000, 0x00002909, D_8024D0B8_9D2498, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFF17, 0x00000000, 0x00000100, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0xFFFFFF17, 0x00000000, 0x00000100, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A006C, 0x00000003, D_802436CC_9C8AAC, 0x42500000, 0x00000000, 0x43A50000, 0x00002909, D_8024D0DC_9D24BC, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000032, 0x00000000, 0x00000145, 0x00000032, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000034, 0x00000000, 0x0000014A, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A006D, 0x00000005, D_802436CC_9C8AAC, 0x42DC0000, 0x00000000, 0x43700000, 0x00002909, D_8024D100_9D24E0, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000006E, 0x00000000, 0x000000F0, 0x0000002D, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000096, 0x00000000, 0x000000D9, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A006E, 0x0000000C, D_8024382C_9C8C0C, 0x436C0000, 0x00000000, 0x437B0000, 0x00002909, D_8024D164_9D2544, 0x00000000, 0x00000000, 0x00000052, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00910101, 0x00910102, 0x00910103, 0x00910103, 0x00910101, 0x00910101, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00000000, 0x00000000, 0x00000000, 0x001A0070, 0x0000000D, D_8024382C_9C8C0C, 0x43600000, 0x00000000, 0x439A8000, 0x00002909, D_8024D188_9D2568, 0x00000000, 0x00000000, 0x00000052, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00910101, 0x00910102, 0x00910103, 0x00910103, 0x00910101, 0x00910101, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00000000, 0x00000000, 0x00000000, 0x001A0071, 0x0000000E, D_8024382C_9C8C0C, 0x438C0000, 0x00000000, 0x43890000, 0x00002909, D_8024D1AC_9D258C, 0x00000000, 0x00000000, 0x00000106, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00910101, 0x00910102, 0x00910103, 0x00910103, 0x00910101, 0x00910101, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00910100, 0x00000000, 0x00000000, 0x00000000, 0x001A0072 - -dlabel D_8024F2E8_9D46C8 -.word 0x00000008, D_802437D4_9C8BB4, 0xC3860000, 0x41200000, 0x42880000, 0x00002909, D_80249C4C_9CF02C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00830001, 0x00830002, 0x00830003, 0x00830003, 0x00830001, 0x00830001, 0x00830006, 0x00830006, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00830003, 0x00000000, 0x00000000, 0x00000000, 0x001A006A, 0x00000009, D_8024377C_9C8B5C, 0xC2920000, 0x00000000, 0xC3A90000, 0x00002909, D_802497EC_9CEBCC, 0x00000000, 0x00000000, 0x0000009D, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A006B, 0x00000007, D_8024377C_9C8B5C, 0x43A88000, 0x41880000, 0xC3220000, 0x00402909, D_8024C1D4_9D15B4, 0x00000000, 0x00000000, 0x00000106, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A006F, 0x0000000F, D_80248514_9CD8F4, 0x43B20000, 0x00000000, 0x43260000, 0x00002D09, 0x00000000, 0x00000001, 0x00020200, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00AF0001, 0x00AF0002, 0x00AF0003, 0x00AF0003, 0x00AF0001, 0x00AF0001, 0x00AF0000, 0x00AF0000, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00000000, 0x00000000, 0x00000000, 0x001A0002, 0x00000009, D_8024D1F8_9D25D8, 0x00000000, 0x00000004, D_8024F2E8_9D46C8, 0x00000000, 0x00000001, D_8024E368_9D3748, 0x00000000, 0x00000001, mac_02_Quizmo_AnswerResult_9D3938, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, D_8024E748_9D3B28, 0x00000000, 0x00000004, D_8024F2E8_9D46C8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9D4EF0.data.s b/ver/us/asm/data/world/area_nok/nok_01/9D4EF0.data.s deleted file mode 100644 index 2b0fd073f4..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_01/9D4EF0.data.s +++ /dev/null @@ -1,21 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_8024FB10_9D4EF0 -.word 0x00270032, 0x00270033, 0x00270034, 0x00270035, 0x00270036, 0x00270037, 0x00270038, 0x00270039, 0x0027003A, 0x0027003B, 0x0027003C, 0x0027003D, 0x0027003E, 0x0027003F, 0x00270040, 0x00270041, 0x00270042, 0x00270043, 0x00270044, 0x00270045, 0x00270046, 0x00270047, 0x00270048 - -dlabel D_8024FB6C_9D4F4C -.word 0x0000009A, 0x0000000A, 0x00240029, 0x00000090, 0x00000004, 0x00240027, 0x00000080, 0x00000008, 0x00240000, 0x000000A4, 0x00000008, 0x00240016, 0x0000008B, 0x0000000F, 0x00240008, 0x0000008A, 0x00000004, 0x00240009, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024FBC0_9D4FA0 -.word 0x000000B5, 0x0000000C, 0x00000000, 0x000000C3, 0x00000004, 0x00000000, 0x000000D3, 0x0000000F, 0x00000000, 0x000000BF, 0x0000000C, 0x00000000, 0x000000BD, 0x0000000C, 0x00000000, 0x0000009B, 0x00000005, 0x00000000, 0x00000095, 0x0000001E, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000080, 0x00000005, 0x00000081, 0x00000005, 0x00000082, 0x00000005, 0x00000083, 0x0000000A, 0x00000086, 0x00000003, 0x00000085, 0x00000003, 0x00000088, 0x00000005, 0x0000008B, 0x00000005, 0x0000008B, 0x00000005 - -dlabel D_8024FC68_9D5048 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000003, 0x00000016, 0x00000001, 0x00000004, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024FCBC_9D509C -.word 0x003F002A, 0x0040002B, 0x0041002C, 0x0042002D, 0x0043002E, 0x0044002F - -dlabel D_8024FCD4_9D50B4 -.word 0x00000009, 0x008F0002, 0x008F0007, D_8024FC68_9D5048, 0x00000000, 0x00000000, D_8024FB10_9D4EF0, 0x00000043, 0x00000005, MakeShop, D_8024FCBC_9D509C, D_8024FB6C_9D4F4C, D_8024FBC0_9D4FA0, 0x00010000, 0x00000043, 0x00000002, MakeShopOwner, D_8024FCD4_9D50B4, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9D5110.data.s b/ver/us/asm/data/world/area_nok/nok_01/9D5110.data.s deleted file mode 100644 index 659ae7fab8..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_01/9D5110.data.s +++ /dev/null @@ -1,60 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_8024FD30_9D5110 -.word 0x00000003, 0x00000001, 0x00000009, 0x00000043, 0x00000005, MakeLerp, 0x0000000A, 0xFFFFFFF6, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000006E, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000003A, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFF6, 0x0000000A, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x0000000B, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x0000006E, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000003A, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000B, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000009, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024FEA0_9D5280 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000023, 0x00000005, 0x00000001, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000006, RotateModel, 0x0000007D, 0xFE363C81, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024FF38_9D5318 -.word 0x00000043, 0x00000006, RotateModel, 0x00000038, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024FF68_9D5348 -.word 0x00000043, 0x00000006, RotateModel, 0x00000035, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000034, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000033, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000036, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000030, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002F, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002D, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000002E, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80250078_9D5458 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000012, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8024FF68_9D5348, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005A, 0x00000005, 0x00000001, 0x00000012, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8024FF68_9D5348, 0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80250140_9D5520 -.word 0x00000043, 0x00000006, RotateModel, 0x0000006C, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80250170_9D5550 -.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x0000002D, 0x00000043, 0x00000005, TranslateModel, 0x0000006A, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000006A, 0xFE363C80, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000043, 0x00000006, RotateModel, 0x00000068, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000067, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8025021C_9D55FC -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000001, func_80242760_9C7B40, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000012, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_80250170_9D5550, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000001, func_80242790_9C7B70, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005A, 0x00000005, 0x00000001, 0x00000012, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_80250170_9D5550, 0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802502FC_9D56DC -.word 0x00000043, 0x00000006, RotateModel, 0x00000090, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8025032C_9D570C -.word 0x00000026, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000006, RotateModel, 0x0000008B, 0xFE363C81, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008D, 0xFE363C81, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008C, 0xFE363C81, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008E, 0xFE363C81, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802503DC_9D57BC -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000012, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8025032C_9D570C, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005A, 0x00000005, 0x00000001, 0x00000012, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8025032C_9D570C, 0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80250498_9D5878 -.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x0000002D, 0x00000043, 0x00000005, TranslateModel, 0x00000090, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000090, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80250504_9D58E4 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000023, 0x00000001, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000023, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80250568_9D5948 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000059, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000059, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802505D8_9D59B8 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000083, 0x00000001, 0x00000043, 0x00000002, func_80242804_9C7BE4, 0xF70F2E80, 0x00000044, 0x00000001, 0x80242C38, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, func_80242858_9C7C38, 0xF70F2E80, 0x00000044, 0x00000001, 0x80242DE0, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000083, 0x00000000, 0x00000043, 0x00000001, func_80242898_9C7C78, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80250698_9D5A78 -.word 0x00000008, 0xFFFFFFFF - -dlabel D_802506A0_9D5A80 -.word 0x00000009, 0xFFFFFFFF - -dlabel D_802506A8_9D5A88 -.word 0x00000007, 0x0000000C, 0x0000000D, 0xFFFFFFFF - -dlabel D_802506B8_9D5A98 -.word 0x00000007, 0xFFFFFFFF, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000200, D_8024FF38_9D5318, D_80250078_9D5458, 0x00000000, D_80250504_9D58E4, 0x00000013, 0x00000014, 0x0000003D, D_80250698_9D5A78, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00001200, D_80250140_9D5520, D_8025021C_9D55FC, 0x00000000, D_80250568_9D5948, 0x00000020, 0x00000021, 0x00000071, D_802506A0_9D5A80, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000200, D_802502FC_9D56DC, D_802503DC_9D57BC, D_80250498_9D5878, D_802505D8_9D59B8, 0x00000032, 0x00000033, 0x00000093, D_802506A8_9D5A88, 0x00000012, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000200, D_802502FC_9D56DC, D_802503DC_9D57BC, D_80250498_9D5878, D_802505D8_9D59B8, 0x00000032, 0x00000033, 0x00000093, D_802506B8_9D5A98, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_802427C0_9C7BA0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_80250504_9D58E4, 0x00000044, 0x00000001, D_80250568_9D5948, 0x00000044, 0x00000001, D_802505D8_9D59B8, 0x00000044, 0x00000001, D_8024FD30_9D5110, 0x00000044, 0x00000001, D_8024FEA0_9D5280, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9D5BF0.data.s b/ver/us/asm/data/world/area_nok/nok_01/9D5BF0.data.s deleted file mode 100644 index ad146a5f21..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_01/9D5BF0.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80250810_9D5BF0 -.short 0x0000, 0x0002, 0x0001, 0x0004 - -dlabel D_80250818_9D5BF8 -.word 0x00000014, 0x00000001, 0xF5DE02E2, 0x00000016, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFB5, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x00000002, SwitchMessage, 0x000C0028, 0x00000012, 0x00000000, 0x00000043, 0x00000002, SwitchMessage, 0x000C0029, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000002, SwitchMessage, 0x000C002A, 0x00000024, 0x00000002, 0xF840627B, 0x00000001, 0x00000043, 0x00000001, func_80242910_9C7CF0, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000001, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF2, 0x00000043, 0x00000002, SwitchMessage, 0x000C002E, 0x00000012, 0x00000000, 0x00000043, 0x00000002, SwitchMessage, 0x000C002B, 0x00000024, 0x00000002, 0xF840627C, 0x00000001, 0x00000043, 0x00000001, func_80242910_9C7CF0, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000002, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000027, 0x00000043, 0x00000002, SwitchMessage, 0x000C002E, 0x00000012, 0x00000000, 0x00000043, 0x00000002, SwitchMessage, 0x000C002C, 0x00000024, 0x00000002, 0xF840627D, 0x00000001, 0x00000043, 0x00000001, func_80242910_9C7CF0, 0x00000013, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000002, SwitchMessage, 0x000C002D, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802509C0_9D5DA0 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x0008000E, 0x00000008, 0x00000001, 0x00000007, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000027, 0x00000002, 0xF70F2E80, 0x00000001, 0x0000000F, 0x00000002, 0xF70F2E80, 0x00000004, 0x00000024, 0x00000002, 0xF70F2E80, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xF8405CA6, 0x00000001, 0x0000000A, 0x00000002, 0xF70F2E80, 0x00000002, 0x00000027, 0x00000002, 0xF70F2E80, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_802428D8_9C7CB8, 0xF70F2E80, 0x00000014, 0x00000001, 0xF70F2E80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000C002F, 0x000000A0, 0x00000028, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000C0030, 0x000000A0, 0x00000028, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000C0031, 0x000000A0, 0x00000028, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000C0032, 0x000000A0, 0x00000028, 0x00000046, 0x00000001, D_80250818_9D5BF8, 0x00000023, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_802509C0_9D5DA0, 0x00000100, 0x00000037, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_01/9D5F80.data.s b/ver/us/asm/data/world/area_nok/nok_01/9D5F80.data.s deleted file mode 100644 index 8d35681d65..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_01/9D5F80.data.s +++ /dev/null @@ -1,99 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80250BA0_9D5F80 -.word 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C8F, 0xFE363C87, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, nok_01_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0x00000001, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000153, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, nok_01_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xFFFFFFFF, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000033, 0x00000003, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000033, 0x00000003, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000046, 0x00000001, 0xFE363C84, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80250F00_9D62E0 -.word 0x0000004C, 0x00000001, 0xF24A8280, 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C86, 0xFE363C8F, 0xFE363C88, 0x00000043, 0x00000002, PlaySound, 0x00000165, 0x00000043, 0x00000002, PlaySound, 0x00000166, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, nok_01_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000166, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, nok_01_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, nok_01_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C84, 0x00000165, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, nok_01_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000005, TranslateModel, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000005, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000033, 0x00000003, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8B, 0xFE363C8C, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000030, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000005, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000046, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80251504_9D68E4 -.word 0x00000001, 0x000000C1 - -dlabel D_8025150C_9D68EC -.word 0x00000001, 0x00000157, 0xFFFFFF8F, 0x00000010, 0x000001AE, 0x00000007, 0xF8405DCC, 0x00000000 - -dlabel D_8025152C_9D690C -.word D_80251504_9D68E4, D_8025150C_9D68EC, 0x00000000, 0x00000000 - -dlabel D_8025153C_9D691C -.word 0x00000002, 0x000000C3, 0x000000B6 - -dlabel D_80251548_9D6928 -.word 0x00000001, 0x00000074, 0xFFFFFFD9, 0x00000010, 0x00000194, 0x00000005, 0xF8405DE3, 0xFAA2B58C - -dlabel D_80251568_9D6948 -.word D_8025153C_9D691C, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80251578_9D6958 -.word D_8025153C_9D691C, D_80251548_9D6928, 0x00000000, 0x00000000 - -dlabel D_80251588_9D6968 -.word 0x00000004, 0x000000C5, 0x000000B8, 0x000000B9, 0x000000BA - -dlabel D_8025159C_9D697C -.word 0x00000043, 0x00000003, EnableModel, 0x000000B8, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x000000B9, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x000000BA, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802515E8_9D69C8 -.word 0x00000043, 0x00000003, EnableModel, 0x000000B8, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x000000BA, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x000000B9, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8025164C_9D6A2C -.word D_80251588_9D6968, 0x00000000, 0x00000000, D_802515E8_9D69C8 - -dlabel D_8025165C_9D6A3C -.word 0x00000001, 0x000000C7 - -dlabel D_80251664_9D6A44 -.word 0x00000001, 0x0000008D, 0x0000002B, 0x00000010, 0x000001BB, 0x00000007, 0xF8405DCD, 0x00000000 - -dlabel D_80251684_9D6A64 -.word D_8025165C_9D6A3C, D_80251664_9D6A44, 0x00000000, 0x00000000 - -dlabel D_80251694_9D6A74 -.word 0x00000001, 0x000000C9 - -dlabel D_8025169C_9D6A7C -.word 0x00000001, 0x000000A6, 0x00000149, 0x00000010, 0x000000F5, 0x00000006, 0xF8405DCE, 0xFAA2B58A - -dlabel D_802516BC_9D6A9C -.word D_80251694_9D6A74, D_8025169C_9D6A7C, 0x00000000, 0x00000000 - -dlabel D_802516CC_9D6AAC -.word 0x00000002, 0x000000CB, 0x000000B7 - -dlabel D_802516D8_9D6AB8 -.word 0x00000001, 0x00000157, 0x0000016C, 0x00000010, 0x00000066, 0x00000006, 0xF8405DCF, 0xFAA2B58B - -dlabel D_802516F8_9D6AD8 -.word D_802516CC_9D6AAC, D_802516D8_9D6AB8, 0x00000000, 0x00000000 - -dlabel D_80251708_9D6AE8 -.word 0x00000004, 0x000000CD, 0x000000BC, 0x000000BD, 0x000000BE - -dlabel D_8025171C_9D6AFC -.word 0x00000001, 0x00000070, 0x000001B9, 0x00000010, 0x00000039, 0x00000005, 0xF8405DE4, 0xFAA2B58D - -dlabel D_8025173C_9D6B1C -.word 0x00000043, 0x00000003, EnableModel, 0x000000BC, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x000000BD, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x000000BE, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80251788_9D6B68 -.word 0x00000043, 0x00000003, EnableModel, 0x000000BC, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x000000BE, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x000000BD, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802517EC_9D6BCC -.word D_80251708_9D6AE8, 0x00000000, 0x00000000, D_80251788_9D6B68 - -dlabel D_802517FC_9D6BDC -.word D_80251708_9D6AE8, D_8025171C_9D6AFC, 0x00000000, D_80251788_9D6B68 - -dlabel D_8025180C_9D6BEC -.word 0x00000001, 0x0000009A - -dlabel D_80251814_9D6BF4 -.word 0x00000001, 0x00000099 - -dlabel D_8025181C_9D6BFC -.word D_8025180C_9D6BEC, D_80251814_9D6BF4, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80251830_9D6C10 -.word 0x43460000, 0x00000000, 0x43130000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_8025152C_9D690C, 0x00000047, 0x00000005, D_80250BA0_9D5F80, 0x00000100, 0x00000046, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02DC, 0x0000000F, 0x00000024, 0x00000002, 0xFE363C80, D_80251578_9D6958, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80251568_9D6948, 0x00000013, 0x00000000, 0x00000047, 0x00000005, D_80250BA0_9D5F80, 0x00000100, 0x00000047, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_8025164C_9D6A2C, 0x00000047, 0x00000005, D_80250BA0_9D5F80, 0x00000100, 0x00000048, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_8025159C_9D697C, 0x00000024, 0x00000002, 0xFE363C80, D_80251684_9D6A64, 0x00000047, 0x00000005, D_80250BA0_9D5F80, 0x00000100, 0x00000049, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802516BC_9D6A9C, 0x00000047, 0x00000005, D_80250BA0_9D5F80, 0x00000100, 0x0000004A, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802516F8_9D6AD8, 0x00000047, 0x00000005, D_80250BA0_9D5F80, 0x00000100, 0x0000004B, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02DC, 0x00000006, 0x00000024, 0x00000002, 0xFE363C80, D_802517FC_9D6BDC, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802517EC_9D6BCC, 0x00000013, 0x00000000, 0x00000047, 0x00000005, D_80250BA0_9D5F80, 0x00000100, 0x0000004C, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_8025173C_9D6B1C, 0x00000024, 0x00000002, 0xFE363C80, D_8025181C_9D6BFC, 0x00000047, 0x00000005, D_80250F00_9D62E0, 0x00001000, 0x00000045, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80250F00_9D62E0, 0x00100000, D_80251830_9D6C10, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x80249E24, 0x00001000, 0x00000045, 0x00000001, 0x00000000, 0x00000047, 0x00000005, 0x80249E24, 0x00100000, D_80251830_9D6C10, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9DB5C0.data.s b/ver/us/asm/data/world/area_nok/nok_02/9DB5C0.data.s deleted file mode 100644 index f522d7bd67..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9DB5C0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802445A0_9DB5C0 -.word 0xC3F20000, 0x00000000, 0x40A00000, 0x42B40000, 0x40000000, 0x00000000, 0xC3EF8000, 0x43340000, 0x43B68000, 0x420C0000, 0x42B40000, 0x43340000, 0x00000000, 0x00000000, 0xC2700000, 0x00000000, 0xC3B40000, 0x00000000, 0xC2480000, 0x42B40000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x80245A14, D_802445A0_9DB5C0, 0x00000005, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, D_80200000, 0x00190049, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000012, 0x00000000, 0x00000008, 0x00000012, 0x00000000, 0x00000043, 0x00000005, SetMusicTrack, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9DB6C0.data.s b/ver/us/asm/data/world/area_nok/nok_02/9DB6C0.data.s deleted file mode 100644 index 3c8fd196d7..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9DB6C0.data.s +++ /dev/null @@ -1,36 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802446A0_9DB6C0 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010000, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000043, 0x00000001, nok_02_Pipe_GetEntryPos, 0x00000028, 0x00000002, 0xFE363C82, 0x00000028, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C84, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x00000163, 0x00000043, 0x00000002, func_802D286C, 0x00000100, 0x00000043, 0x00000007, func_802D2520, 0x00010000, 0x00000005, 0x00000002, 0x00000001, 0x00000001, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000005, 0x00000001, 0x00000028, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C82, 0x00000003, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000002, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFC, 0x00000001, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000007, func_802D2520, 0x00010000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, nok_02_Pipe_GetCurrentFloor, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000044, 0x00000001, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0xFE363C8B, 0x7FFFFE00, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000043, 0x00000001, nok_02_Pipe_GetEntryPos, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C82, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C82, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C84, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C84, 0x0000005A, 0x00000027, 0x00000002, 0xFE363C85, 0x00000028, 0x00000012, 0x00000000, 0x00000028, 0x00000002, 0xFE363C85, 0x00000028, 0x00000013, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, PlaySound, 0x00000163, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, func_802D286C, 0x00000900, 0x00000043, 0x00000007, func_802D2520, 0x00010002, 0x00000005, 0x00000003, 0x00000001, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000028, 0x00000043, 0x00000002, nok_02_Pipe_GetPointAheadOfPlayer, 0xF24A7E80, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000028, 0x00000002, 0xFE363C82, 0x00000003, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFC, 0x00000001, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000057, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000007, func_802D2520, 0x00010002, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000001, 0xFE363C8B, 0x7FFFFE00, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000044, 0x00000001, 0xFE363C8A, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000001, nok_02_Pipe_AwaitDownInput, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetPartnerInUse, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C81, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000006, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80244EC0_9DBEE0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80244EC0_9DBEE0 -.word 0x00000043, 0x00000001, nok_02_Pipe_SetAnimFlag, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8A, 0x00000043, 0x00000001, nok_02_Pipe_GetEntryPos, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C81, 0xFE363C83, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8A, 0x00000043, 0x00000001, nok_02_Pipe_GetEntryPos, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00200000, 0x00000001, 0x00000043, 0x00000001, nok_02_Pipe_GetCameraYaw, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00200000, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x00000163, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000004, 0x00000005, 0x00000001, 0x00000028, 0x00000028, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, func_802D286C, 0x00000800, 0x00000043, 0x00000007, func_802D2520, 0x00010002, 0x00000005, 0x00000002, 0x00000001, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000046, 0x00000001, 0xFE363C8C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, IsPlayerOnValidFloor, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x0000001A, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetPartnerInUse, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C81, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000006, 0x00000002, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000001, InterruptUsePartner, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000013, 0x00000000, 0x0000004D, 0x00000001, 0x0000001B, 0x00000043, 0x00000001, nok_02_Pipe_SetAnimFlag, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0xFE363C8B, 0x7FFFFE00, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8A, 0x00000043, 0x00000001, nok_02_Pipe_GetEntryPos, 0x00000024, 0x00000002, 0xFE363C85, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C86, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C86, 0x00000002, 0x00000024, 0x00000002, 0xFE363C87, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C88, 0xFE363C84, 0x00000027, 0x00000002, 0xFE363C88, 0x000000B4, 0x0000000F, 0x00000002, 0xFE363C84, 0x00000168, 0x00000028, 0x00000002, 0xFE363C84, 0x00000168, 0x00000013, 0x00000000, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C88, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, PlaySound, 0x00000163, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C86, 0xFE363C87, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010000, 0x00000043, 0x00000002, func_802D286C, 0x00000800, 0x00000043, 0x00000007, func_802D2520, 0x00010000, 0x00000005, 0x00000003, 0x00000001, 0x00000001, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, HidePlayerShadow, 0x00000001, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000005, 0x00000001, 0x00000028, 0x00000043, 0x00000002, nok_02_Pipe_GetPointAheadOfPlayer, 0xF24A7E80, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000019, 0x00000046, 0x00000001, 0xFE363C8C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel dup_nok_02_varStash -.word 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel nok_02_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel nok_02_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_8024543C_9DC45C -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, dup_nok_02_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, nok_02_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000002, func_802406B0_9D76D0, 0xFE363C80, 0x0000004E, 0x00000006, D_8024543C_9DC45C, 0x00000010, 0x00000000, nok_02_D_802547D0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, nok_02_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802455D0_9DC5F0 -.word 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000000, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80254600, 0x00000001, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245620_9DC640 -.word 0x0000000A, 0x00000002, 0xF5DE02DA, 0x00000002, 0x00000024, 0x00000002, 0xF8406228, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000003, UseExitHeading, 0x0000003C, 0x00000001, 0x00000044, 0x00000001, ExitWalk, 0x00000043, 0x00000003, GotoMap, 0x80254608, 0x00000000, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245698_9DC6B8 -.word 0x00000047, 0x00000005, D_802455D0_9DC5F0, 0x00080000, 0x00000004, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80245620_9DC640, 0x00080000, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802456E0_9DC700 -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B4, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B5, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B6, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B7, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B8, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000B9, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BA, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BC, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BD, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000BE, 0x00000000, 0x00000043, 0x00000003, SetTexPanner, 0x000000C0, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x0000000C, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000005, 0x00000001, 0x0000000C, 0x00000043, 0x00000005, SetTexPanOffset, 0x00000000, 0x00000000, 0x00004000, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245868_9DC888 -.word 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000002, 0x0000000A, 0x00000002, 0xF8406312, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFFFFFC18, 0xFE363C82, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000208E, 0x00000024, 0x00000002, 0xF8406312, 0x00000001, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8A, D_80245698_9DC6B8, 0x00000046, 0x00000001, D_802446A0_9DB6C0, 0x00000016, 0x00000001, 0x00000004, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80245698_9DC6B8, 0x00000044, 0x00000001, EnterWalk, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0329, 0x00000021, 0x00000043, 0x00000002, SetSpriteShading, 0xFFFFFFFF, 0x00000043, 0x00000006, SetCamPerspective, 0x00000000, 0x00000003, 0x00000019, 0x00000010, 0x00001000, 0x00000043, 0x00000005, SetCamBGColor, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000003, SetCamEnabled, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80251B24, 0x00000046, 0x00000001, 0x80245D64, 0x00000044, 0x00000001, D_802456E0_9DC700, 0x00000044, 0x00000001, 0x802543B0, 0x00000043, 0x00000007, FadeInMusic, 0x00000000, 0x00000013, 0x00000000, 0x00000BB8, 0x00000000, 0x0000007F, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF971888F, 0x00000000, 0x00000024, 0x00000002, 0xF9718890, 0x00000000, 0x00000024, 0x00000002, 0xF9718892, 0x00000000, 0x00000024, 0x00000002, 0xF8405DD0, 0x00000000, 0x00000024, 0x00000002, 0xF9718893, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000024, 0x00000002, 0xF8405DBA, 0x00000001, 0x00000024, 0x00000002, 0xF8405DBC, 0x00000001, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80251AAC, 0x00000012, 0x00000000, 0x00000043, 0x00000003, MakeNpcs, 0x00000000, 0x80251AE8, 0x00000013, 0x00000000, 0x00000043, 0x00000001, ClearDefeatedEnemies, 0x00000046, 0x00000001, 0x80245D64, 0x00000046, 0x00000001, 0x8025422C, 0x00000044, 0x00000001, D_802456E0_9DC700, 0x00000047, 0x00000005, 0x80246E20, 0x00000100, 0x0000001A, 0x00000001, 0x00000000, 0x00000046, 0x00000001, 0x80246B50, 0x00000043, 0x00000002, GetDemoState, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000046, 0x00000001, 0x802523B8, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000044, 0x00000001, 0x80244630, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000005, 0x7FFFFE00, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0x00000001, 0x7FFFFE00, 0x00000044, 0x00000001, D_80245868_9DC888, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9DCD20.data.s b/ver/us/asm/data/world/area_nok/nok_02/9DCD20.data.s deleted file mode 100644 index 2dff68f59f..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9DCD20.data.s +++ /dev/null @@ -1,9 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80245D00_9DCD20 -.word 0x00000043, 0x00000007, nok_02_ItemEntityJumpToPos, 0xFD050F8A, 0xF24E0680, 0xF24A7A80, 0xF24E5680, 0x00000014, 0xF24A7E80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245D34_9DCD54 -.word 0x00000043, 0x00000003, GotoMap, 0x80254610, 0x00000003, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000007, MakeEntity, Entity_BrickBlock, 0x00000097, 0x00000051, 0x000000FB, 0x00000000, 0x80000000, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFA4, 0x0000000A, 0x00000002, 0xF8405DBC, 0x00000000, 0x00000043, 0x00000002, AssignScript, 0x8024B488, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0xFFFFFFA4, 0x0000000A, 0x00000002, 0xF8405DC3, 0x00000000, 0x00000043, 0x00000002, AssignScript, D_80245D00_9DCD20, 0x00000043, 0x00000007, MakeItemEntity, 0x0000015C, 0x00000096, 0x0000006A, 0x000000FA, 0x00000011, 0xF8405DC3, 0x00000024, 0x00000002, 0xFD050F8A, 0xFE363C80, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000043, 0x00000008, CreatePushBlockGrid, 0x00000000, 0x00000005, 0x00000005, 0x00000058, 0xFFFFFFFC, 0x000000BC, 0x00000000, 0x00000043, 0x00000005, SetPushBlock, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x0000000A, 0x00000002, 0xF8406312, 0x00000000, 0x0000000A, 0x00000002, 0xF840630D, 0x00000001, 0x00000043, 0x00000002, GetEntryID, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000002, 0x00000024, 0x00000002, 0xF8406312, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x0000000A, MakeEntity, Entity_BlueWarpPipe, 0x0000016D, 0x00000000, 0x0000005A, 0x0000001E, 0x00000002, D_80245D34_9DCD54, 0x00000792, 0x80000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9DCF50.data.s b/ver/us/asm/data/world/area_nok/nok_02/9DCF50.data.s deleted file mode 100644 index 63d223e6c2..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9DCF50.data.s +++ /dev/null @@ -1,72 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80245F30_9DCF50 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000023, 0x00000005, 0x00000001, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000029, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000006, RotateModel, 0x00000054, 0xFE363C81, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80245FC8_9DCFE8 -.word 0x00000005, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF8406281, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x00000077, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFF4C, 0x00000013, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C85, 0x00000027, 0x00000002, 0xFE363C85, 0x0000001E, 0x00000008, 0x00000001, 0xFE363C85, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246054_9DD074 -.word 0x0000004D, 0x00000001, 0x0000000A, 0x00000045, 0x00000002, D_80245FC8_9DCFE8, 0xFD050F83, 0x00000003, 0x00000001, 0x00000000, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000021, 0x00000002, 0xFFFFFFA0, 0x00000006, 0x00000049, 0x00000001, 0xFD050F83, 0x00000002, 0x00000000, 0x00000023, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DE6, 0x00000001, 0x00000049, 0x00000001, 0xFD050F83, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x0000001E, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000008, 0x00000001, 0xFE363C80, 0x00000043, 0x00000003, RandInt, 0x0000000A, 0xFE363C80, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x0000000A, 0x00000002, 0xF8406281, 0x00000000, 0x00000043, 0x00000001, func_80240970_9D7990, 0x00000013, 0x00000000, 0x00000005, 0x00000001, 0xFE363C80, 0x0000000A, 0x00000002, 0xF9718892, 0x00000001, 0x00000049, 0x00000001, 0xFD050F83, 0x00000043, 0x00000005, TranslateGroup, 0x0000006B, 0x00000000, 0x00000000, 0x00000000, 0x00000003, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xF9718892, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000045, 0x00000002, D_80245FC8_9DCFE8, 0xFD050F83, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, RandInt, 0x00000005, 0xFE363C81, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000029, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000005, TranslateGroup, 0x0000006B, 0x00000000, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, TranslateGroup, 0x0000006B, 0x00000000, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802462A0_9DD2C0 -.word 0x00000043, 0x00000006, RotateModel, 0x0000003B, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802462D0_9DD2F0 -.word 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7880, 0x00000043, 0x00000006, RotateModel, 0x0000002F, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000031, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000032, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000030, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246370_9DD390 -.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x0000002D, 0x00000043, 0x00000005, TranslateModel, 0x0000003B, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000003B, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802463DC_9DD3FC -.word 0x00000043, 0x00000006, RotateGroup, 0x0000003A, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024640C_9DD42C -.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C81, 0x0000005A, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7E80, 0x00000043, 0x00000006, RotateModel, 0x00000034, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000035, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000036, 0xFE363C80, 0x00000000, 0x00000000, 0x00000001, 0x0000002E, 0x00000002, 0xFE363C81, 0xF24A7C80, 0x00000043, 0x00000006, RotateModel, 0x0000002F, 0xFE363C81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000031, 0xFE363C81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000032, 0xFE363C81, 0x00000001, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000030, 0xFE363C81, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024653C_9DD55C -.word 0x00000043, 0x00000006, RotateModel, 0x00000068, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024656C_9DD58C -.word 0x00000043, 0x00000006, RotateModel, 0x00000066, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024659C_9DD5BC -.word 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x00000028, 0x00000002, 0xFE363C81, 0x0000005A, 0x0000002F, 0x00000002, 0xFE363C81, 0xFFFFFFA6, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7C80, 0x00000043, 0x00000006, RotateModel, 0x00000062, 0xFE363C82, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000061, 0xFE363C82, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000064, 0xFE363C82, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000006, RotateModel, 0x00000063, 0xFE363C82, 0x00000000, 0x00000000, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000005, ScaleModel, 0x0000009D, 0x00000001, 0xFE363C81, 0x00000001, 0x00000043, 0x00000005, ScaleModel, 0x0000009C, 0x00000001, 0xFE363C81, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000009D, 0x00000001, 0x00000043, 0x00000003, EnableModel, 0x0000009C, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000009D, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x0000009C, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246724_9DD744 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x00000012, 0x00000027, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8024659C_9DD5BC, 0x00000006, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xFE363C80, 0x0000005A, 0x00000005, 0x00000001, 0x00000012, 0x00000028, 0x00000002, 0xFE363C80, 0x00000005, 0x00000046, 0x00000001, D_8024659C_9DD5BC, 0x00000006, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802467EC_9DD80C -.word 0x00000043, 0x00000006, RotateModel, 0x00000091, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024681C_9DD83C -.word 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7C80, 0x00000043, 0x00000006, RotateModel, 0x0000008C, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008F, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008E, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x0000008D, 0xFE363C80, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802468BC_9DD8DC -.word 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000002F, 0x00000002, 0xFE363C81, 0x0000002D, 0x00000043, 0x00000005, TranslateModel, 0x00000091, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0x00000091, 0xFE363C80, 0x00000001, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246928_9DD948 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xF9718892, 0x00000001, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA0, 0x00000046, 0x00000001, 0x8024A8EC, 0x00000024, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000056, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000044, 0x00000001, 0x8024A908, 0x00000024, 0x00000002, 0xF9718890, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xF9718890, 0x00000000, 0x00000016, 0x00000001, 0x00000003, 0x00000024, 0x00000002, 0xF9718892, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000056, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246A2C_9DDA4C -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000027, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000027, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246AA8_9DDAC8 -.word 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000084, 0x00000001, 0x00000016, 0x00000001, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000084, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246B24_9DDB44 -.word 0x00000008, 0xFFFFFFFF - -dlabel D_80246B2C_9DDB4C -.word 0xFFFFFFFF - -dlabel D_80246B30_9DDB50 -.word 0x0000000C, 0x0000000B, 0xFFFFFFFF - -dlabel D_80246B3C_9DDB5C -.word 0x00000010, 0x00000011, 0xFFFFFFFF - -dlabel D_80246B48_9DDB68 -.word 0x00000009, 0xFFFFFFFF, 0x0000000F, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_802462A0_9DD2C0, D_802462D0_9DD2F0, D_80246370_9DD390, D_80246A2C_9DDA4C, 0x00000027, 0x00000026, 0x0000003E, D_80246B2C_9DDB4C, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_802463DC_9DD3FC, D_8024640C_9DD42C, 0x00000000, 0x00000000, 0x0000002A, 0x0000002B, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DE2, 0x00000001, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_802462A0_9DD2C0, D_802462D0_9DD2F0, D_80246370_9DD390, D_80246A2C_9DDA4C, 0x00000027, 0x00000026, 0x0000003E, D_80246B2C_9DDB4C, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_802463DC_9DD3FC, D_8024640C_9DD42C, 0x00000000, 0x00000000, 0x0000002A, 0x0000002B, 0x00000000, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_802462A0_9DD2C0, D_802462D0_9DD2F0, D_80246370_9DD390, D_80246A2C_9DDA4C, 0x00000027, 0x00000026, 0x0000003E, D_80246B24_9DDB44, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_802463DC_9DD3FC, D_8024640C_9DD42C, 0x00000000, 0x00000000, 0x0000002A, 0x0000002B, 0x00000000, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000200, D_8024653C_9DD55C, D_80246724_9DD744, 0x00000000, D_80246928_9DD948, 0x00000039, 0x00000038, 0x0000006B, D_80246B30_9DDB50, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000202, D_8024656C_9DD58C, D_80246724_9DD744, 0x00000000, D_80246928_9DD948, 0x0000003D, 0x0000003C, 0x0000006B, D_80246B30_9DDB50, 0x00000012, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000200, D_8024653C_9DD55C, D_80246724_9DD744, 0x00000000, D_80246928_9DD948, 0x00000039, 0x00000038, 0x0000006B, D_80246B3C_9DDB5C, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000202, D_8024656C_9DD58C, D_80246724_9DD744, 0x00000000, D_80246928_9DD948, 0x0000003D, 0x0000003C, 0x0000006B, D_80246B3C_9DDB5C, 0x00000013, 0x00000000, 0x00000043, 0x0000000A, MakeDoorAdvanced, 0x00000000, D_802467EC_9DD80C, D_8024681C_9DD83C, D_802468BC_9DD8DC, D_80246AA8_9DDAC8, 0x00000048, 0x00000047, 0x00000094, D_80246B48_9DDB68, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000044, 0x00000001, D_80246A2C_9DDA4C, 0x00000044, 0x00000001, D_80246928_9DD948, 0x00000044, 0x00000001, D_80246AA8_9DDAC8, 0x00000044, 0x00000001, D_80245F30_9DCF50, 0x00000044, 0x00000001, D_80246054_9DD074, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9DDE40.data.s b/ver/us/asm/data/world/area_nok/nok_02/9DDE40.data.s deleted file mode 100644 index 0a2049b087..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9DDE40.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80246E20_9DDE40 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000C00A1, 0x000000A0, 0x00000028, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9DDE90.data.s b/ver/us/asm/data/world/area_nok/nok_02/9DDE90.data.s deleted file mode 100644 index 74695dc4e4..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9DDE90.data.s +++ /dev/null @@ -1,357 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80246E70_9DDE90 -.word 0x3FC00000, 0x0000003C, 0x0000001E, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001 - -dlabel D_80246EA0_9DDEC0 -.word 0x00000043, 0x00000002, BasicAI_Main, D_80246E70_9DDE90, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246EC0_9DDEE0 -.word 0x00000000, 0x00230018, 0x00000000, 0x00000000, D_80246EA0_9DDEC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630010, 0x00000000, 0x002A0018, 0x00000000, 0x00000000, D_80246EA0_9DDEC0, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80246F18_9DDF38 -.word 0x3FC00000, 0x0000001E, 0x0000001E, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001 - -dlabel D_80246F48_9DDF68 -.word 0x00000043, 0x00000002, nok_02_PatrolNoAttackAI_Main, D_80246F18_9DDF38, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80246F68_9DDF88 -.word 0x00000000, 0x00230018, 0x00000000, 0x00000000, D_80246F48_9DDF68, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630010, 0x00000000, 0x002A0018, 0x00000000, 0x00000000, D_80246F48_9DDF68, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80246FC0_9DDFE0 -.word 0x00000000, 0x00230018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630010 - -dlabel D_80246FEC_9DE00C -.word 0x00000000, 0x00280018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80247018_9DE038 -.word 0x00000000, 0x00260018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_80247044_9DE064 -.word 0x00000000, 0x00140016, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000 - -dlabel D_80247070_9DE090 -.word 0x00000000, 0x00200018, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00630000 - -dlabel D_8024709C_9DE0BC -.word 0x00000000, 0x00170014, 0x00000000, 0x00000000, 0x00000000, EnemyNpcHit, 0x00000000, EnemyNpcDefeat, 0x00000000, 0x00000000, 0x00060000 - -dlabel nok_02_varStash -.word 0x00000000 - -dlabel D_802470CC_9DE0EC -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel nok_02_Quizmo_Answers -.byte 0x02, 0x01, 0x01, 0x02, 0x02, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x00, 0x02, 0x00, 0x02, 0x01, 0x00, 0x00, 0x02, 0x01, 0x00, 0x02, 0x01, 0x01, 0x02, 0x02, 0x01, 0x01, 0x01, 0x00, 0x02, 0x02, 0x02, 0x02, 0x00, 0x01, 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x00, 0x00, 0x01, 0x01, 0x00, 0x01, 0x02, 0x01, 0x00, 0x02, 0x02, 0x01, 0x02, 0x00, 0x02, 0x02, 0x01, 0x01, 0x01 - -dlabel nok_02_Quizmo_Requirements -.word 0xFFFFFF94, 0x00000000, 0xFFFFFFB4, 0x0000000A, 0xFFFFFFCA, 0x00000014, 0xFFFFFFF2, 0x0000001E, 0x00000006, 0x00000025, 0x00000027, 0x0000002C, 0x0000003A, 0x00000034, 0x00000058, 0x0000003C, 0x00000060, 0x00000040, 0x00000000, 0x00000040 - -dlabel D_802471BC_9DE1DC -.word 0x00000043, 0x00000001, nok_02_Quizmo_ShouldQuizmoLeave, 0x0000000E, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000012C, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFF, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00AF000C, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024726C_9DE28C -.word 0x00000043, 0x00000003, nok_02_Quizmo_GetCamVfov, 0x00000000, 0xF4ACD480, 0x00000043, 0x00000003, nok_02_Quizmo_SetCamVfov, 0x00000000, 0x00000019, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, GetCamType, 0x00000000, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetCamType, 0x00000000, 0xFE363C81, 0x00000000, 0x00000043, 0x00000003, GetCamDistance, 0x00000000, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000172, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFFE8E, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFE363C80, 0x00000043, 0x00000004, GetCamPitch, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C80, 0xF24AAE80, 0x00000026, 0x00000002, 0xFE363C81, 0xF24A5280, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0xFE363C80, 0xFE363C81, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetCamLeadPlayer, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000013, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetCamDistance, 0x00000000, 0xFE363C80, 0x0000000D, 0x00000002, 0xFE363C80, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0x00000011, 0x00000012, 0x00000000, 0x00000026, 0x00000002, 0xFE363C80, 0xFFFFFFEF, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0xFE363C80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247504_9DE524 -.word 0x00000043, 0x00000003, nok_02_Quizmo_SetCamVfov, 0x00000000, 0xF4ACD480, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247540_9DE560 -.word 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0xF4ACD481, 0xF4ACD483, 0x00000053, 0xFE363C80, 0xFE363C81, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x0000003C, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002E, 0x00000002, 0xFE363C83, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C84, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0x0000003C, 0x0000002F, 0x00000002, 0xFE363C84, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C83, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C84, 0xF4ACD483, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002C, 0x00000002, 0xFE363C83, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C84, 0xF4ACD483, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_SpinPlayer, 0x00000043, 0x00000004, func_802D2884, 0xF4ACD481, 0xF4ACD483, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802476F0_9DE710 -.word 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0xFE363C8A, 0xFE363C8C, 0x0000006C, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C85, 0xF4ACD482, 0x0000002D, 0x00000002, 0xFE363C85, 0xFE363C8B, 0x00000056, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_UpdatePartnerPosition, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C86, 0xFE363C85, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C8A, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x0000002C, 0x00000002, 0xFE363C86, 0xFE363C8B, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C86, 0xFE363C84, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_SpinPartner, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFC, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247828_9DE848 -.word 0x00000043, 0x00000005, GetNpcPos, 0x00000013, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0xFE363C8A, 0xFE363C8C, 0xFFFFFFBA, 0xFE363C80, 0xFE363C81, 0x00000056, 0x00000000, 0x00000026, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x0000003C, 0x00000026, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C84, 0xFE363C81, 0x0000002E, 0x00000002, 0xFE363C83, 0xFE363C82, 0x0000002E, 0x00000002, 0xFE363C84, 0xFE363C82, 0x0000002F, 0x00000002, 0xFE363C83, 0x0000003C, 0x0000002F, 0x00000002, 0xFE363C84, 0x0000003C, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C8A, 0x0000002C, 0x00000002, 0xFE363C84, 0xFE363C8C, 0x00000043, 0x00000005, SetNpcPos, 0x00000013, 0xFE363C83, 0xF4ACD482, 0xFE363C84, 0x0000002C, 0x00000002, 0xFE363C82, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000003C, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247994_9DE9B4 -.word 0x00000044, 0x00000001, D_80247540_9DE560, 0x00000044, 0x00000001, D_802476F0_9DE710, 0x00000046, 0x00000001, D_80247828_9DE848, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000008, 0x00000001, 0x00000014, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247A08_9DEA28 -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010016, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80247A44_9DEA64 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010006, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010007, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000003, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010008, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000000, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFE, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010009, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xF4ACD482, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024858C_9DF5AC -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010023, 0x00000005, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802485CC_9DF5EC -.word 0x00000056, 0x00000000, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0xF4ACD481, 0xF4ACD483, 0x00000019, 0xFE363C80, 0xFE363C81, 0x00000026, 0x00000002, 0xFE363C82, 0xF4ACD481, 0x0000002C, 0x00000002, 0xFE363C82, 0xFE363C80, 0x00000026, 0x00000002, 0xFE363C83, 0xF4ACD483, 0x0000002C, 0x00000002, 0xFE363C83, 0xFE363C81, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000102, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFE363C82, 0xFE363C83, 0x00000028, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000057, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0xF4ACD481, 0xF4ACD483, 0x00000028, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802486A8_9DF6C8 -.word 0x00000045, 0x00000002, D_80247A44_9DEA64, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000049, 0x00000001, 0xFE363C81, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000046, 0x00000001, D_802485CC_9DF5EC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248758_9DF778 -.word 0x00000045, 0x00000002, D_8024858C_9DF5AC, 0xFE363C81, 0x00000008, 0x00000001, 0x0000003C, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000049, 0x00000001, 0xFE363C81, 0x00000046, 0x00000001, D_802485CC_9DF5EC, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80248808_9DF828 -.word 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, GetPlayerPos, 0xF4ACD481, 0xF4ACD482, 0xF4ACD483, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000010, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406267, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080009, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080008, 0x00000024, 0x00000002, 0xF8406267, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E000D, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000C, 0x00000046, 0x00000001, D_802471BC_9DE1DC, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8406281, 0x00000001, 0x00000043, 0x00000001, nok_02_Quizmo_HideEntities, 0x00000043, 0x00000001, nok_02_Quizmo_HideWorld, 0x00000044, 0x00000001, D_8024726C_9DE28C, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000013, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000148, 0x00000001, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000013, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00000106, 0x00000045, 0x00000002, D_80247994_9DE9B4, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000B, 0x00000043, 0x00000002, PlaySound, 0x00000089, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_CreateStage, 0x00000005, 0x00000001, 0x00000005, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000001, 0x00000043, 0x00000004, SetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000002, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x002C0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0005, 0x00AF0006, 0x00000000, 0xFE363C80, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010028, 0x00000024, 0x00000002, 0xFE363C80, 0x002D0000, 0x00000027, 0x00000002, 0xFE363C80, 0xF5DE02E0, 0x00000043, 0x00000002, PlaySound, 0x0000008E, 0x00000043, 0x00000002, ShowChoice, 0xFE363C80, 0x00000049, 0x00000001, 0xFE363C81, 0x00000043, 0x00000002, StopSound, 0x0000008E, 0x00000044, 0x00000001, D_80247A08_9DEA28, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000002, PlaySound, 0x0000008D, 0x00000043, 0x00000002, nok_02_Quizmo_UnkStageEffectMode, 0xFE363C80, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_CreateWorker, 0x00000008, 0x00000001, 0x00000028, 0x00000043, 0x00000001, nok_02_Quizmo_UpdateRecords, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000006E, 0x00000043, 0x00000001, CloseChoice, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000000, 0x00000057, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0007, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x00000001, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x00000002, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, PlaySound, 0x0000021C, 0x00000057, 0x00000000, 0x00000043, 0x00000002, PlaySound, 0x0000008A, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Clap, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C81, 0x00000032, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x00000053, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0xFFFFFFFD, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000003A, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C81, 0x0000001E, 0x00000043, 0x00000006, nok_02_Quizmo_AddViewRelativeOffset, 0x00000000, 0x00000000, 0x0000005D, 0xFE363C80, 0xFE363C82, 0x00000043, 0x0000000F, PlayEffect, 0x00000007, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x0000000F, PlayEffect, 0x00000044, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000001, 0x0000003C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000045, 0x00000002, D_802486A8_9DF6C8, 0xFE363C81, 0x00000027, 0x00000002, 0xF5DE02E0, 0x00000001, 0x0000000D, 0x00000002, 0xF5DE02E0, 0x0000003F, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00080010, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x00080011, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0006, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0005, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000002, nok_02_Quizmo_SetStageLightsDelay, 0x0000000F, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Idle, 0x00000043, 0x00000003, SetMessageValue, 0xF5DE02E0, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02E0, 0x00000001, 0x00000043, 0x00000003, SetMessageText, MessageSingular, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetMessageText, MessagePlural, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00AF0004, 0x00AF0001, 0x00000000, 0x0008000F, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF0009, 0x00000024, 0x00000002, 0xF4ACD484, 0x00000002, 0x00000043, 0x00000002, PlaySound, 0x0000021D, 0x00000043, 0x00000002, PlaySound, 0x0000008B, 0x00000045, 0x00000002, D_80248758_9DF778, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x0000000F, PlayEffect, 0x0000002B, 0x00000000, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x0008000D, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000013, 0x00AF000A, 0x00000005, 0x00000001, 0x00000000, 0x00000055, 0x00000002, 0xFE363C81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, nok_02_Quizmo_UnkStageEffectMode, 0xFFFFFFFF, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, PlaySound, 0x0000008F, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000002, StopSound, 0x00000089, 0x00000057, 0x00000000, 0x00000043, 0x00000001, nok_02_Quizmo_SetVannaAnim_Wave, 0x00000043, 0x00000001, nok_02_Quizmo_DestroyEffects, 0x00000046, 0x00000001, D_802471BC_9DE1DC, 0x00000044, 0x00000001, D_80247504_9DE524, 0x00000043, 0x00000001, nok_02_Quizmo_FadeInWorld, 0x00000043, 0x00000001, nok_02_Quizmo_ShowEntities, 0x00000024, 0x00000002, 0xF8406281, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249538_9E0558 -.word 0x00000043, 0x00000001, nok_02_Quizmo_ShouldAppear, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x01000000, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00AF0001, 0x00000043, 0x00000001, nok_02_Quizmo_RenderInit, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802495AC_9E05CC -.word 0x0000003C, 0x00000001, 0x802549A8, 0x00000024, 0x00000002, 0xF8406269, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000001, 0x00000046, 0x00000001, D_80248808_9DF828, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000003, SetPlayerFlagBits, 0x00400000, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024962C_9E064C -.word 0x00000043, 0x00000001, nok_02_Quizmo_NPC_Aux_Impl, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249648_9E0668 -.word 0x3F333333, 0x0000001E, 0x00000014, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001 - -dlabel D_80249678_9E0698 -.word 0x00000043, 0x00000002, BasicAI_Main, D_80249648_9E0668, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249698_9E06B8 -.word 0x00AF0001, 0x0023001C, D_80249538_9E0558, D_802495AC_9E05CC, 0x00000000, 0x00000000, D_8024962C_9E064C, 0x00000000, 0x00000D01, 0x00000000, 0x00630000, 0x00AF0001, 0x0023001C, D_80249538_9E0558, D_802495AC_9E05CC, D_80249678_9E0698, 0x00000000, D_8024962C_9E064C, 0x00000000, 0x00000C01, 0x00000000, 0x00630010 - -dlabel dup_nok_02_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel dup_nok_02_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_802496F8_9E0718 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, nok_02_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, dup_nok_02_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024983C_9E085C -.word 0x00000043, 0x00000002, func_80242C5C_9D9C7C, 0xFE363C80, 0x0000004E, 0x00000006, D_802496F8_9E0718, 0x00000010, 0x00000000, nok_02_D_802549D0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, dup_nok_02_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024988C_9E08AC -.word 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00080007, 0x00000008, 0x00000001, 0x00000014, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802498D4_9E08F4 -.word 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, nok_02_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, SetItemPos, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249954_9E0974 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, nok_02_LetterDelivery_CalcLetterPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000045, 0x00000002, D_802498D4_9E08F4, 0xFE363C8A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040002, 0x00000043, 0x00000004, GetAngleBetweenNPCs, 0xFE363C89, 0xFFFFFFFC, 0xFE363C8B, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C89, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000001, 0x0000000E, 0x00000002, 0xFE363C8B, 0x000000B4, 0x00000027, 0x00000002, 0xFE363C86, 0x00000014, 0x00000012, 0x00000000, 0x00000027, 0x00000002, 0xFE363C86, 0xFFFFFFEC, 0x00000013, 0x00000000, 0x00000027, 0x00000002, 0xFE363C87, 0x0000000A, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000014, 0x00000049, 0x00000001, 0xFE363C8A, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, GetNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8A, 0x000000B4, 0x00000043, 0x00000004, InterpNpcYaw, 0xFFFFFFFC, 0xFE363C8A, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFC, 0x00040001, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0xFE363C89, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000100, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000008, 0x00000001, 0x00000005, 0x00000023, 0x00000000, 0x00000043, 0x00000002, dup_nok_02_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249C78_9E0C98 -.word 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000002, func_80242C5C_9D9C7C, 0xFE363C80, 0x0000004E, 0x00000006, D_80249954_9E0974, 0x00000010, 0x00000000, nok_02_D_802549D0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, dup_nok_02_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249CE8_9E0D08 -.word 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFBA, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, nok_02_LetterDelivery_SaveNpcAnim, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x00000043, 0x00000003, FindKeyItem, 0xFE363C85, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000004, 0x0000000B, 0x00000002, 0xFE363C81, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFE363C82, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0xFE363C82, 0xFE363C8D, 0xFE363C80, 0xFE363C8E, 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C8E, 0xFE363C8F, 0x00000043, 0x00000003, SetNpcJumpscale, 0xFFFFFFFC, 0xF24A7A80, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000006, NpcJump1, 0xFFFFFFFC, 0xFE363C8D, 0xFE363C80, 0xFE363C8F, 0x0000000A, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000000, 0xFE363C82, 0xFE363C87, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000046, 0x00000001, D_80249C78_9E0C98, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C88, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00040006, 0x00040001, 0x00000005, 0xFE363C89, 0x0000000B, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000000, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x0000000B, 0x00000002, 0xFE363C86, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddKeyItem, 0xFE363C86, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, nok_02_LetterDelivery_RestoreNpcAnim, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80249FE0_9E1000 -.word 0x00000054, 0x00000000 - -dlabel D_80249FE8_9E1008 -.word 0x00000043, 0x0000000B, nok_02_LetterDelivery_Init, 0x00000007, 0x00B60008, 0x00B60001, 0x00000054, 0x00000000, 0x000C0097, 0x000C0098, 0x000C0099, 0x000C009A, D_80249FE0_9E1000, 0x00000046, 0x00000001, D_80249CE8_9E0D08, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A038_9E1058 -.word 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000002, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A09C_9E10BC -.word 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A0AC_9E10CC -.word 0x00000043, 0x00000003, GetNpcYaw, 0xFE363C84, 0xFE363C81, 0x00000024, 0x00000002, 0xFE363C82, 0x0000001E, 0x0000000D, 0x00000002, 0xFE363C81, 0x00000097, 0x0000000E, 0x00000002, 0xFE363C81, 0x0000014B, 0x00000024, 0x00000002, 0xFE363C82, 0xFFFFFFE2, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000005, 0x00000001, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000005, SetNpcRotation, 0xFE363C83, 0x00000000, 0x00000000, 0xFE363C80, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024A17C_9E119C -.word 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA0, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFA0, 0x00000043, 0x00000004, ShowMessageAtScreenPos, 0x000C00B4, 0x000000A0, 0x00000028, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFF4C, 0x00000043, 0x00000003, SetCamDistance, 0x00000000, 0x00000177, 0x00000043, 0x00000004, SetCamPitch, 0x00000000, 0x00000011, 0xF24A6480, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0x00000004, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000056, 0x00000001, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, PlaySoundAt, 0x000001C1, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFF4C, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x0000000F, 0x00000008, 0x00000003, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000068, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0xFFFFFFE7, 0xFFFFFF7E, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x0000000A, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000002, nok_02_SwitchToPartner, 0x00000001, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0xFFFFFFFC, 0xFFFFFFC9, 0xFFFFFF7E, 0x0000000F, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0x0000000A, 0x00000000, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000057, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000A, 0x00000100, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0x00000000, 0xFFFFFF31, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x00110003, 0x00000008, 0x00000001, 0x00000023, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x00110007, 0x00000056, 0x00000000, 0x00000005, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, PlayerFaceNpc, 0x0000000A, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x0000000A, 0x00000000, 0xFFFFFF6C, 0x00000014, 0x00000056, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000001E, 0x0000000A, 0x00000003, 0x00000001, 0x00000014, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateModel, 0x00000068, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000006, PlaySoundAt, 0x000001C2, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFF4C, 0x00000043, 0x00000003, SetGroupEnabled, 0x00000056, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, NpcMoveTo, 0x0000000A, 0x00000019, 0xFFFFFF7E, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x00110003, 0x00000043, 0x00000003, NpcFacePlayer, 0x0000000A, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000A, 0x00000100, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000A, 0x0011000D, 0x00110003, 0x00000000, 0x000C00B5, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010029, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000005, EndSpeech, 0x0000000A, 0x00110009, 0x00110003, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x0011000D, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x00110003, 0x00000043, 0x00000005, EndSpeech, 0x0000000A, 0x00110009, 0x00110003, 0x00000000, 0x00000043, 0x00000007, AdjustCam, 0x00000000, 0x00000006, 0x0000001E, 0xF24DFE80, 0xF24ABE80, 0xF24A5880, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000A, 0x00110009, 0x00110003, 0x00000000, 0x000C00B6, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x0011000F, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000A, 0x00110003, 0x00000043, 0x00000005, EndSpeech, 0x0000000A, 0x00110009, 0x00110003, 0x00000000, 0x00000043, 0x00000007, AdjustCam, 0x00000000, 0x00000004, 0xFFFFFFE2, 0xF24DFE80, 0xF24ABE80, 0xF24A5880, 0x00000008, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, PlayerFaceNpc, 0xFFFFFFFC, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x00010008, 0x00010001, 0x00000000, 0x000C00B7, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000007, AdjustCam, 0x00000000, 0xF24BE280, 0x00000000, 0xF2505680, 0xF24ABE80, 0xF24A6480, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x0000000A, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000A, 0x00110009, 0x00110003, 0x00000000, 0x000C00B8, 0x00000043, 0x00000003, BindNpcInteract, 0x0000000A, D_8024A17C_9E119C, 0x00000056, 0x00000000, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0x00000003, 0x00000057, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA3, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000A, 0x00110009, 0x00110003, 0x00000000, 0x000C00BA, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000A, 0x00110009, 0x00110003, 0x00000000, 0x000C00BB, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_8024A17C_9E119C, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFA1, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFAA2B580, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x0000000C, 0x002B000C, 0x002B0001, 0x00000000, 0x000C00B9, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x0000000C, 0x002B0002, 0x00000043, 0x00000005, GetNpcPos, 0x0000000C, 0xFE363C8A, 0xFE363C8B, 0xFE363C8C, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C8A, 0x00000027, 0x00000002, 0xFE363C8D, 0xFFFFFFFB, 0x00000003, 0x00000001, 0x0000000A, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000B, 0x00000002, 0x00000043, 0x00000006, NpcJump0, 0x0000000B, 0xFE363C8D, 0x00000000, 0xFE363C8C, 0x0000000C, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000C, 0x00000002, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000C, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x0000000C, 0xFE363C8A, 0x00000000, 0xFE363C8C, 0x0000000C, 0x00000043, 0x00000005, IsPlayerWithin, 0x00000000, 0xFFFFFE70, 0x00000082, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF5DE0180, 0xFFFFFFA1, 0x00000024, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8D, 0xFFFFFDFE, 0x00000024, 0x00000002, 0xFE363C8E, 0x0000000F, 0x00000056, 0x00000000, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000B, 0x00000002, 0x00000043, 0x00000006, NpcJump0, 0x0000000B, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0xFE363C8E, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, SetNpcJumpscale, 0x0000000C, 0x00000002, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x0000000C, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x0000000C, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0xFE363C8E, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000C, 0x00000200, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x0000000B, 0x00000200, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000C, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024AC34_9E1C54 -.word 0xFFFFFE2E, 0x00000067, 0xFFFFFE47, 0x000000D5, 0xFFFFFE7F, 0x0000011D, 0xFFFFFED2, 0x00000144, 0xFFFFFF06, 0x000001AC, 0xFFFFFF62, 0x000001C3, 0xFFFFFFD3, 0x000001E5, 0x0000003E, 0x000001AC, 0x000000D6, 0x000001A8, 0x00000144, 0x00000127, 0x000001A0, 0x000000C1, 0x00000125, 0x0000007B, 0x000000B5, 0x0000003F, 0x0000005F, 0x00000039, 0xFFFFFFF2, 0x00000010, 0xFFFFFF5F, 0x00000038, 0xFFFFFEC3, 0x00000051, 0xFFFFFE6F, 0x00000049 - -dlabel D_8024ACC4_9E1CE4 -.word 0x000001A0, 0x000000C1, 0x00000144, 0x00000127, 0x000000D6, 0x000001A8, 0x0000003E, 0x000001AC, 0xFFFFFFD3, 0x000001E5, 0xFFFFFF62, 0x000001C3, 0xFFFFFF06, 0x000001AC, 0xFFFFFED2, 0x00000144, 0xFFFFFE7F, 0x0000011D, 0xFFFFFE47, 0x000000D5, 0xFFFFFE2E, 0x00000067, 0xFFFFFE6F, 0x00000049, 0xFFFFFEC3, 0x00000051, 0xFFFFFF5F, 0x00000038, 0xFFFFFFF2, 0x00000010, 0x0000005F, 0x00000039, 0x000000B5, 0x0000003F, 0x00000125, 0x0000007B - -dlabel D_8024AD54_9E1D74 -.word 0x00000003, 0x00000001, 0x00000064, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFF9F, 0x00000008, 0x00000001, 0x00000008, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000030, 0x00000001, D_8024AC34_9E1C54, 0x00000024, 0x00000002, 0xFE363C81, 0x000000C8, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000005, SetNpcPos, 0x0000000D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000003, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_8024AC34_9E1C54, 0x00000005, 0x00000001, 0x00000012, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000003, RandInt, 0x0000000A, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C83, 0x0000000F, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x0000000D, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024AE9C_9E1EBC -.word 0x00000043, 0x00000005, GetNpcPos, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000056, 0x00000000, 0x00000043, 0x00000007, MakeItemEntity, 0x00000157, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000003, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x002B0008, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000019, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFD8, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x002B0008, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFE2, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x002B0009, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000D, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFEC, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000B, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFF6, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000009, 0x00000027, 0x00000002, 0xFE363C80, 0x00000050, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFB0, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x002B0003, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000332, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B16C_9E218C -.word 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_8024AE9C_9E1EBC, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x1F000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B1A4_9E21C4 -.word 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000064, 0x0000000A, 0x00000002, 0xF9718893, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000064, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x000001B6, 0x00000096, 0x0000009B, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000333, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0x000001B6, 0x00000000, 0x00000096, 0x0000000A, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000333, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0x00000192, 0x00000000, 0x000000A0, 0x0000000F, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000333, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0x00000180, 0x00000000, 0x000000A0, 0x00000007, 0x00000003, 0x00000001, 0x00000000, 0x00000030, 0x00000001, D_8024ACC4_9E1CE4, 0x00000005, 0x00000001, 0x00000012, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000032, 0x00000002, 0xFE363C80, 0xFE363C82, 0x00000043, 0x00000003, RandInt, 0x00000009, 0xFE363C83, 0x00000027, 0x00000002, 0xFE363C83, 0x0000000D, 0x0000002E, 0x00000002, 0xFE363C80, 0xF24A7E1A, 0x0000002E, 0x00000002, 0xFE363C82, 0xF24A7E1A, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000333, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0xFFFFFFFF, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0x00000006, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B3A8_9E23C8 -.word 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_8024AE9C_9E1EBC, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x1F000000, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B3E0_9E2400 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024AD54_9E1D74, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_8024B16C_9E218C, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B418_9E2438 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024B1A4_9E21C4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_8024B3A8_9E23C8, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B450_9E2470 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024B1A4_9E21C4, 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_8024B3A8_9E23C8, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DBC, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405DBC, 0x00000001, 0x00000043, 0x00000003, BindNpcAI, 0x00000003, D_8024A09C_9E10BC, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000006, NpcJump0, 0x00000004, 0x000000E3, 0x00000000, 0x000000F7, 0x00000014, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000004, 0x0000021A, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000004, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000003, 0x00000004, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000003, 0x00000100, 0x00000001, 0x00000027, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFFF, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x0090000B, 0x00000043, 0x00000006, NpcJump0, 0x00000003, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000005, GetNpcPos, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00900005, 0x00000043, 0x00000005, NpcMoveTo, 0x00000003, 0xFE363C80, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00900001, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000006, NpcJump0, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000003, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000003, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x00900000, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000004, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000003, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000024, 0x00000002, 0xFE363C83, 0x00000004, 0x00000024, 0x00000002, 0xFE363C84, 0x00000003, 0x00000044, 0x00000001, D_8024A0AC_9E10CC, 0x00000043, 0x00000004, InterpNpcYaw, 0xFE363C83, 0x0000003C, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000004, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000003, 0x008F0002, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000003, 0x00000100, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x008F0000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000004, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x008F0009, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000003, 0x008F0002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x008F0009, 0x008F0002, 0x00000000, 0x000C005E, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B8B0_9E28D0 -.word 0x0000000A, 0x00000002, 0xF8405DBC, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x008F0007, 0x008F0002, 0x00000000, 0x000C005F, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DBB, 0x00000000, 0x00000024, 0x00000002, 0xF8405DBB, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00900009, 0x00900002, 0x00000000, 0x000C005C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000003, 0x00900009, 0x00900002, 0x00000000, 0x000C005D, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B970_9E2990 -.word 0x0000000A, 0x00000002, 0xF8405DBC, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000046, 0x00000001, D_80246EA0_9DDEC0, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024B9AC_9E29CC -.word 0x0000000A, 0x00000002, 0xF8405DBA, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0057, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000053, 0x00000001, 0xFD050F80, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xF8405DB9, 0x00000000, 0x00000024, 0x00000002, 0xF8405DB9, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00900009, 0x00900002, 0x00000000, 0x000C0054, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x00900009, 0x00900002, 0x00000000, 0x000C0055, 0x00000013, 0x00000000, 0x00000054, 0x00000001, 0xFD050F80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BA90_9E2AB0 -.word 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000001, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BB0C_9E2B2C -.word 0x00000043, 0x00000003, GetNpcPointer, 0x00000001, 0xFE363C8F, 0x00000043, 0x00000003, GetNpcPointer, 0x00000000, 0xFE363C8E, 0x00000024, 0x00000002, 0xFE363C82, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000003, func_802430CC_9DA0EC, 0xFE363C8F, 0xFE363C8E, 0x00000024, 0x00000002, 0xFD050F82, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000003, func_80243294_9DA2B4, 0xFE363C8F, 0xFE363C8E, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000001, 0x00000100, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C8A, 0x00000000, 0xFE363C8B, 0xFE363C8C, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000001, 0x00000100, 0x00000000, 0x00000043, 0x00000003, func_802430CC_9DA0EC, 0xFE363C8F, 0xFE363C8E, 0x00000024, 0x00000002, 0xFD050F82, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BC84_9E2CA4 -.word 0x0000004D, 0x00000001, 0x0000000B, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, GetNpcAnimation, 0x00000000, 0xFE363C8F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900006, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C80, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900002, 0x00000043, 0x00000003, RandInt, 0x00000014, 0xFE363C80, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000008, 0x00000001, 0xFE363C80, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000000, 0x00000002, 0x00000000, 0x00000008, 0x00000001, 0x00000005, 0x00000004, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BDB0_9E2DD0 -.word 0x0000004D, 0x00000001, 0x0000000B, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, func_80243214_9DA234, 0x00000043, 0x00000005, IsPlayerWithin, 0xFFFFFF6A, 0x000000FA, 0x00000096, 0xFE363C81, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C83, 0x00000001, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C83, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0xFE363C84, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000045, 0x00000002, D_8024BC84_9E2CA4, 0xFD050F80, 0x00000012, 0x00000000, 0x0000000B, 0x00000002, 0xFD050F80, 0xFFFFFFFF, 0x00000049, 0x00000001, 0xFD050F80, 0x00000024, 0x00000002, 0xFD050F80, 0xFFFFFFFF, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0xFE363C83, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024BF3C_9E2F5C -.word 0x0000000A, 0x00000002, 0xF8405DBA, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, SetNpcSpeed, 0x00000000, 0xF24A8680, 0x00000003, 0x00000001, 0x00000005, 0x00000043, 0x00000003, GetNpcPointer, 0x00000000, 0xFE363C8F, 0x00000043, 0x00000002, func_8024351C_9DA53C, 0xFE363C8F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0006, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C8A, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0007, 0x00000008, 0x00000001, 0x0000000A, 0x00000004, 0x00000001, 0x00000005, 0x00000013, 0x00000000, 0x00000045, 0x00000002, D_8024BA90_9E2AB0, 0xFE363C89, 0x00000045, 0x00000002, D_8024BB0C_9E2B2C, 0xFE363C88, 0x00000045, 0x00000002, D_8024BC84_9E2CA4, 0xFD050F80, 0x00000045, 0x00000002, D_8024BDB0_9E2DD0, 0xFD050F81, 0x00000003, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xF8405DBA, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000012, 0x00000000, 0x00000049, 0x00000001, 0xFE363C89, 0x00000049, 0x00000001, 0xFE363C88, 0x00000055, 0x00000002, 0xFD050F80, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F80, 0x00000013, 0x00000000, 0x00000055, 0x00000002, 0xFD050F81, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000001, 0x00000049, 0x00000001, 0xFD050F81, 0x00000013, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000056, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000001, 0x00000100, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0008, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000019, 0x00000027, 0x00000002, 0xFE363C80, 0x00000028, 0x00000027, 0x00000002, 0xFE363C82, 0xFFFFFFD8, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0008, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000027, 0x00000002, 0xFE363C80, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0009, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000D, 0x00000027, 0x00000002, 0xFE363C80, 0x00000014, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000B, 0x00000027, 0x00000002, 0xFE363C80, 0x0000000A, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x00000009, 0x00000027, 0x00000002, 0xFE363C80, 0x000000A0, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x002B0003, 0x00000043, 0x00000004, PlaySoundAtNpc, 0xFFFFFFFF, 0x00000331, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000001, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000001, 0x00000200, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000001, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000005, 0x00000001, 0x00000046, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000001, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000002, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000000, 0x00000002, 0x00000000, 0x00000056, 0x00000000, 0x00000043, 0x00000007, AdjustCam, 0x00000000, 0x00000004, 0x00000000, 0xF24F2A80, 0xF24ABE80, 0xF24A5E80, 0x00000057, 0x00000000, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x0090000B, 0x00000043, 0x00000006, NpcJump0, 0x00000000, 0xFE363C80, 0x00000000, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000005, GetNpcPos, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900005, 0x00000043, 0x00000005, NpcMoveTo, 0x00000000, 0xFE363C80, 0xFE363C82, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900001, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x0000000A, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000000A, 0x00000043, 0x00000003, PlayerFaceNpc, 0x00000000, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00900000, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000002, 0x00000001, 0x00000043, 0x00000005, GetNpcPos, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000027, 0x00000002, 0xFE363C80, 0x00000001, 0x00000027, 0x00000002, 0xFE363C82, 0x00000001, 0x00000027, 0x00000002, 0xFE363C81, 0x00000014, 0x00000024, 0x00000002, 0xFE363C83, 0x00000002, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x00000044, 0x00000001, D_8024A0AC_9E10CC, 0x00000043, 0x00000004, InterpNpcYaw, 0xFE363C83, 0x0000003C, 0x00000000, 0x00000043, 0x00000006, NpcJump0, 0x00000002, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x0000001E, 0x00000043, 0x00000005, SetNpcPos, 0x00000002, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000000, 0x008F0002, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000000, 0x00000100, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0000, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000002, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0009, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x008F0002, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000000, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0056, 0x00000056, 0x00000000, 0x00000043, 0x00000003, ResetCam, 0x00000000, 0x00000004, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000003, BindNpcAI, 0xFFFFFFFF, D_8024BF3C_9E2F5C, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C830_9E3850 -.word 0x00000043, 0x00000002, GetOwnerEncounterTrigger, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000004, 0x00000024, 0x00000002, 0xF8405DBA, 0x00000001, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x00000020, 0x00000001, 0x00000016, 0x00000001, 0x00000002, 0x00000024, 0x00000002, 0xF8405DBA, 0x00000001, 0x00000043, 0x00000003, SetSelfEnemyFlagBits, 0x00000020, 0x00000001, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C8C4_9E38E4 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024BF3C_9E2F5C, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024B9AC_9E29CC, 0x0000000A, 0x00000002, 0xF8405DBA, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcSprite, 0xFFFFFFFF, 0x00900002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C948_9E3968 -.word 0x00000043, 0x00000003, BindNpcHit, 0xFFFFFFFF, D_8024C830_9E3850, 0x0000000A, 0x00000002, 0xF8405DBA, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C9A0_9E39C0 -.word 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x008F000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024C9D8_9E39F8 -.word 0x00000043, 0x00000003, BindNpcIdle, 0xFFFFFFFF, D_8024B970_9E2990, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024B8B0_9E28D0, 0x0000000A, 0x00000002, 0xF8405DBC, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x00000004, 0x00000096, 0x0000006A, 0x000000FA, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x00000003, 0x008F0002, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CA60_9E3A80 -.word 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x008F000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CA98_9E3AB8 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFA0, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x0000001B, 0x00000001, 0xFFFFFFA4, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024A17C_9E119C, 0x00000043, 0x00000005, SetNpcPos, 0x0000000A, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024A17C_9E119C, 0x00000023, 0x00000000, 0x00000043, 0x00000003, SetNpcSprite, 0x0000000A, 0x00110003, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CB58_9E3B78 -.word 0x0000000F, 0x00000002, 0xF5DE0180, 0xFFFFFFA1, 0x00000043, 0x00000005, SetNpcPos, 0x0000000C, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0x0000000B, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CBB8_9E3BD8 -.word 0x00000043, 0x00000003, EnableNpcShadow, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00020012, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CBF0_9E3C10 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFA4, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0057, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0058, 0x00000018, 0x00000001, 0x00000007, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0059, 0x00000018, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C005A, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C005B, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CCF0_9E3D10 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024CBF0_9E3C10, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CD14_9E3D34 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFA4, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C005F, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0060, 0x00000018, 0x00000001, 0x00000007, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0061, 0x00000018, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0062, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0063, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CE14_9E3E34 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024CD14_9E3D34, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CE38_9E3E58 -.word 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000001, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x008F0006, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000005, 0x00000001, 0x00000043, 0x00000003, GetNpcPointer, 0x00000005, 0xFE363C8F, 0x00000043, 0x00000004, func_80243754_9DA774, 0xFE363C8F, 0xFFFFFF6A, 0x0000000F, 0x00000043, 0x00000003, EnableNpcBlur, 0x00000005, 0x00000000, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x008F0002, 0x00000008, 0x00000001, 0x00000005, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFF, 0x00000100, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024CF14_9E3F34 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFA4, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0064, 0x00000046, 0x00000001, D_8024CE38_9E3E58, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0065, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0066, 0x00000018, 0x00000001, 0x00000007, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0067, 0x00000018, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0068, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C0069, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D040_9E4060 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024CF14_9E3F34, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D064_9E4084 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFA4, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C006A, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C006B, 0x00000018, 0x00000001, 0x00000007, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C006C, 0x00000018, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C006D, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x008F0007, 0x008F0002, 0x00000000, 0x000C006E, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D164_9E4184 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024D064_9E4084, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D188_9E41A8 -.word 0x00000003, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xF9718890, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF9718891, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x0000000A, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00910003, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00910001, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000011, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000011, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_80243010_9DA030, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x0000001E, 0x00000003, 0x00000001, 0x00000014, 0x0000000A, 0x00000002, 0xF9718890, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF9718891, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000014, 0x00000013, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000010, 0x00910203, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000010, 0x00910201, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000005, GetNpcPos, 0x00000010, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, PlaySoundAtNpc, 0x00000010, 0x00002016, 0x00000000, 0x00000043, 0x00000004, func_80243010_9DA030, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000008, 0x00000001, 0x0000001E, 0x00000004, 0x00000001, 0x0000000A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D3AC_9E43CC -.word 0x0000000A, 0x00000002, 0xF5DE02DC, 0x0000000C, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xF9718891, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000010, 0x00910204, 0x00910201, 0x00000000, 0x000C007B, 0x00000043, 0x00000007, SpeakToNpc, 0x00000011, 0x00910004, 0x00910001, 0x00000000, 0x00000010, 0x000C007C, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000010, 0x00910204, 0x00910201, 0x00000000, 0x000C007D, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x0003000E, 0x00030003, 0x00000000, 0x00000010, 0x000C007E, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000010, 0x00910204, 0x00910201, 0x00000005, 0x000C007F, 0x00000043, 0x00000007, SpeakToNpc, 0x00000011, 0x00910004, 0x00910001, 0x00000000, 0x00000010, 0x000C0080, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000010, 0x00910201, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000011, 0x00910001, 0x00000024, 0x00000002, 0xF8405DE6, 0x00000001, 0x00000024, 0x00000002, 0xF840622A, 0x00000001, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF9718891, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000010, 0x00910204, 0x00910201, 0x00000000, 0x000C007B, 0x00000043, 0x00000007, SpeakToNpc, 0x00000011, 0x00910004, 0x00910001, 0x00000000, 0x00000010, 0x000C007C, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000010, 0x00910204, 0x00910201, 0x00000005, 0x000C0081, 0x00000043, 0x00000007, SpeakToNpc, 0x00000011, 0x00910004, 0x00910001, 0x00000000, 0x00000010, 0x000C0082, 0x00000024, 0x00000002, 0xF9718891, 0x00000000, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xF9718891, 0x00000001, 0x00000043, 0x00000007, SpeakToNpc, 0x00000011, 0x00910004, 0x00910001, 0x00000000, 0xFFFFFFFC, 0x000C0077, 0x00000043, 0x00000007, SpeakToNpc, 0x00000010, 0x00910204, 0x00910201, 0x00000000, 0xFFFFFFFC, 0x000C0078, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFC, 0x0003000E, 0x00030003, 0x00000000, 0x00000010, 0x000C0079, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000010, 0x00910204, 0x00910201, 0x00000005, 0x000C007A, 0x00000024, 0x00000002, 0xF9718891, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF9718891, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000011, 0x00910004, 0x00910001, 0x00000000, 0x000C0073, 0x00000043, 0x00000007, SpeakToNpc, 0x00000010, 0x00910204, 0x00910201, 0x00000000, 0x00000011, 0x000C0074, 0x00000043, 0x00000007, SpeakToNpc, 0x00000011, 0x00910004, 0x00910001, 0x00000000, 0x00000010, 0x000C0075, 0x00000043, 0x00000007, SpeakToNpc, 0x00000010, 0x00910204, 0x00910201, 0x00000000, 0x00000011, 0x000C0076, 0x00000024, 0x00000002, 0xF9718891, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D798_9E47B8 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000007, 0x0000000A, 0x00000002, 0xF971888F, 0x00000000, 0x00000043, 0x00000002, GetCurrentPartnerID, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000003, 0x00000024, 0x00000002, 0xF971888F, 0x00000001, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFC, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910204, 0x00910201, 0x00000000, 0x000C006F, 0x00000043, 0x00000002, DisablePartnerAI, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFC, 0x0003000E, 0x00030003, 0x00000000, 0x000C0070, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910204, 0x00910201, 0x00000000, 0x000C0071, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910204, 0x00910201, 0x00000000, 0x000C0072, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910204, 0x00910201, 0x00000000, 0x000C0072, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0x00000007, 0x0000000A, 0x00000002, 0xF8405DE6, 0x00000000, 0x00000046, 0x00000001, D_8024D3AC_9E43CC, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF9718891, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910204, 0x00910201, 0x00000000, 0x000C007F, 0x00000013, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024D978_9E4998 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000007, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910004, 0x00910001, 0x00000000, 0x000C0083, 0x00000018, 0x00000001, 0x00000059, 0x0000000A, 0x00000002, 0xF8405DE6, 0x00000000, 0x00000046, 0x00000001, D_8024D3AC_9E43CC, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xF9718891, 0x00000001, 0x00000043, 0x00000007, SpeakToNpc, 0xFFFFFFFF, 0x00910004, 0x00910001, 0x00000000, 0x00000010, 0x000C0080, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910004, 0x00910001, 0x00000000, 0x000C0084, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DA60_9E4A80 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0x00000007, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910004, 0x00910001, 0x00000000, 0x000C0085, 0x00000018, 0x00000001, 0x00000059, 0x0000000A, 0x00000002, 0xF8405DE6, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910004, 0x00910001, 0x00000000, 0x000C0086, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910004, 0x00910001, 0x00000000, 0x000C0087, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00910004, 0x00910001, 0x00000000, 0x000C0087, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DB48_9E4B68 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024D798_9E47B8, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFB5, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DBA0_9E4BC0 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024D978_9E4998, 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x0000001B, 0x00000001, 0x00000007, 0x0000000A, 0x00000002, 0xF8405DE6, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000044, 0x00000001, D_8024D188_9E41A8, 0x00000024, 0x00000002, 0xF9718891, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DC48_9E4C68 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024DA60_9E4A80, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFB5, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DCA0_9E4CC0 -.word 0x00000053, 0x00000000 - -dlabel D_8024DCA8_9E4CC8 -.word 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B60008, 0x00B60001, 0x00000000, 0x000C009F, 0x00000024, 0x00000002, 0xFE363C80, 0x0000015C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000003, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddStarPieces, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B60008, 0x00B60001, 0x00000000, 0x000C00A0, 0x00000024, 0x00000002, 0xF8405E92, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DD44_9E4D64 -.word 0x0000000A, 0x00000002, 0xF8405E92, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, FindKeyItem, 0x00000053, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF9718895, 0x00000000, 0x00000024, 0x00000002, 0xF9718895, 0x00000001, 0x0000000A, 0x00000002, 0xF8405E91, 0x00000000, 0x00000024, 0x00000002, 0xF8405E91, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000C009B, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000C009C, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x000C009C, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B60008, 0x00B60001, 0x00000000, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, D_8024DCA0_9E4CC0, 0x00000024, 0x00000002, 0xFE363C81, 0x00000007, 0x00000046, 0x00000001, D_8024983C_9E085C, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001B, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8024DCA8_9E4CC8, 0x00000022, 0x00000000, 0x0000001C, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B60008, 0x00B60001, 0x00000000, 0x000C009D, 0x00000024, 0x00000002, 0xFE363C80, D_8024DCA0_9E4CC0, 0x00000024, 0x00000002, 0xFE363C81, 0x00000007, 0x00000046, 0x00000001, D_8024983C_9E085C, 0x00000014, 0x00000001, 0xFE363C80, 0x0000001B, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_8024DCA8_9E4CC8, 0x0000001C, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B60008, 0x00B60001, 0x00000000, 0x000C009E, 0x00000023, 0x00000000, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024DF60_9E4F80 -.word 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B60008, 0x00B60001, 0x00000000, 0x000C0093, 0x00000043, 0x00000004, NpcFaceNpc, 0x00000008, 0xFFFFFFFF, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000005, 0x000C0094, 0x00000043, 0x00000004, NpcFaceNpc, 0xFFFFFFFF, 0x00000008, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B60008, 0x00B60001, 0x00000005, 0x000C0095, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, NpcFacePlayer, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B60008, 0x00B60001, 0x00000000, 0x000C0096, 0x00000046, 0x00000001, D_8024DD44_9E4D64, 0x00000046, 0x00000001, D_80249FE8_9E1008, 0x00000046, 0x00000001, D_8024A038_9E1058, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E090_9E50B0 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024DF60_9E4F80, 0x0000000F, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DE2, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E110_9E5130 -.word 0x00000043, 0x00000004, PlaySoundAtCollider, 0xFE363C89, 0x000001C1, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000050, 0x0000000F, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000005, MakeLerp, 0x00000050, 0x00000000, 0x0000000F, 0x00000001, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000043, 0x00000006, RotateGroup, 0xFE363C8A, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000000, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000004, PlaySoundAtCollider, 0xFE363C89, 0x000001C2, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E26C_9E528C -.word 0x00000043, 0x00000003, EnableModel, 0x00000014, 0x00000001, 0x00000043, 0x00000003, EnableGroup, 0x0000001A, 0x00000001, 0x00000043, 0x00000003, EnableGroup, 0x00000026, 0x00000001, 0x00000024, 0x00000002, 0xFE363C8A, 0x0000003C, 0x00000024, 0x00000002, 0xFE363C89, 0x00000027, 0x00000044, 0x00000001, D_8024E110_9E5130, 0x00000043, 0x00000005, NpcMoveTo, 0x00000008, 0xFFFFFEC6, 0xFFFFFFA2, 0x0000000A, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000008, 0xFFFFFED0, 0xFFFFFF5F, 0x00000014, 0x00000008, 0x00000001, 0x00000064, 0x00000044, 0x00000001, D_8024E110_9E5130, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000008, 0xFFFFFECC, 0xFFFFFF9A, 0x00000014, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000008, 0xFFFFFEAE, 0xFFFFFFAB, 0x00000014, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000008, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00B40001, 0x00000043, 0x00000003, EnableModel, 0x00000014, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x0000001A, 0x00000000, 0x00000043, 0x00000003, EnableGroup, 0x00000026, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E400_9E5420 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0x0000003A, 0x00000024, 0x00000002, 0xFE363C89, 0x0000002A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000008, 0xFFFFFEEB, 0xFFFFFF46, 0x00000014, 0x00000044, 0x00000001, D_8024E110_9E5130, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000008, 0xFFFFFEF7, 0xFFFFFEFB, 0x00000014, 0x00000008, 0x00000001, 0x00000064, 0x00000044, 0x00000001, D_8024E110_9E5130, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000008, 0xFFFFFEEB, 0xFFFFFF46, 0x00000014, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000005, NpcMoveTo, 0x00000008, 0xFFFFFEB8, 0xFFFFFF4C, 0x00000014, 0x00000043, 0x00000003, NpcFacePlayer, 0x00000008, 0x00000000, 0x00000008, 0x00000001, 0x00000014, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00B40001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E51C_9E553C -.word 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000008, 0x00000100, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C0090, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000008, 0x00B40002, 0x0000000F, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000046, 0x00000001, D_8024E26C_9E528C, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DE2, 0x00000001, 0x00000046, 0x00000001, D_8024E26C_9E528C, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_8024E400_9E5420, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C0091, 0x00000024, 0x00000002, 0xFE363C80, 0x0000006E, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_802470CC_9DE0EC, 0x00000043, 0x00000002, AddKeyItem, 0x0000006E, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C0092, 0x00000043, 0x00000004, SetNpcFlagBits, 0x00000008, 0x00000100, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E670_9E5690 -.word 0x00000014, 0x00000001, 0xF5DE0180, 0x00000018, 0x00000001, 0xFFFFFFA4, 0x0000000A, 0x00000002, 0xF8405DBD, 0x00000000, 0x00000024, 0x00000002, 0xF8405DBD, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C0088, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C0089, 0x00000018, 0x00000001, 0xFFFFFFB5, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C008A, 0x00000018, 0x00000001, 0xFFFFFFCB, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C008B, 0x00000018, 0x00000001, 0x00000007, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C008C, 0x00000018, 0x00000001, 0x00000027, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C008D, 0x00000018, 0x00000001, 0x00000059, 0x0000000A, 0x00000002, 0xF8405DE2, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C008E, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C008F, 0x00000013, 0x00000000, 0x0000001B, 0x00000001, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0x00000008, 0x00B40004, 0x00B40001, 0x00000000, 0x000C008F, 0x00000023, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02DC, 0x00000001, 0x0000000A, 0x00000002, 0xF8405DE5, 0x00000000, 0x00000024, 0x00000002, 0xF8405DE5, 0x00000001, 0x00000046, 0x00000001, D_8024988C_9E08AC, 0x00000046, 0x00000001, D_8024E51C_9E553C, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E8B0_9E58D0 -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, D_8024E670_9E5690, 0x0000000F, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFEAE, 0x00000000, 0xFFFFFFAB, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DE2, 0x00000001, 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFEAE, 0x00000000, 0xFFFFFFAB, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E94C_9E596C -.word 0x00000043, 0x00000003, BindNpcInteract, 0xFFFFFFFF, 0x802529BC, 0x00000044, 0x00000001, 0x80253350, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E97C_9E599C -.word 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFFE7, 0x0000000A, 0xFFFFFFCE, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x0000005A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E9BC_9E59DC -.word 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0x00000019, 0x00000000, 0xFFFFFFCE, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x0000010E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024E9FC_9E5A1C -.word 0x00000043, 0x00000005, SetNpcPos, 0xFFFFFFFF, 0xFFFFFF6A, 0x00000000, 0xFFFFFFCE, 0x00000043, 0x00000003, SetNpcYaw, 0xFFFFFFFF, 0x0000005A, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8024EA3C_9E5A5C -.word 0x00000000, D_80246EC0_9DDEE0, 0xC2DA0000, 0x00000000, 0x433F0000, 0x00402D09, D_8024C8C4_9E38E4, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFF93, 0x00000000, 0x000000BF, 0x00000064, 0x00000000, 0xFFFF8001, 0x00000000, 0xFFFFFF93, 0x00000000, 0x000000BF, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A0076, 0x00000001, D_80247044_9DE064, 0xC2DA0000, 0x00000000, 0x433F0000, 0x01500D08, D_8024C948_9E3968, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_80246FC0_9DDFE0, 0xC2DA0000, 0x00000000, 0x433F0000, 0x00400B09, D_8024C9A0_9E39C0, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, D_80246F68_9DDF88, 0x43400000, 0x00000000, 0x43180000, 0x00002D09, D_8024C9D8_9E39F8, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x000000C7, 0x00000000, 0x00000098, 0x0000006B, 0x00000000, 0x00000098, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF8001, 0x000000C0, 0x00000000, 0x00000098, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00900002, 0x00900006, 0x00900004, 0x00900006, 0x00900004, 0x00900004, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00900000, 0x00000000, 0x00000000, 0x00000000, 0x001A0077, 0x00000004, D_80246FC0_9DDFE0, 0x00000000, 0xC47A0000, 0x00000000, 0x00400B09, D_8024CA60_9E3A80, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000A, D_80246FC0_9DDFE0, 0x41A00000, 0x00000000, 0xC3110000, 0x00400D09, D_8024CA98_9E3AB8, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00020003, 0x00020004, 0x00020004, 0x00020004, 0x00020004, 0x00020004, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x001A0074, 0x0000000C, D_80247044_9DE064, 0x41400000, 0x41200000, 0xC3AF8000, 0x00400F09, D_8024CB58_9E3B78, 0x00000000, 0x00000000, 0x0000005A, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x0000000B, D_80246FC0_9DDFE0, 0x41400000, 0x00000000, 0xC3AF8000, 0x00400F09, D_8024CBB8_9E3BD8, 0x00000000, 0x00000000, 0x0000005A, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00020003, 0x00020004, 0x00020004, 0x00020004, 0x00020004, 0x00020004, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00020000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024F9BC_9E69DC -.word 0x0000000D, D_80247044_9DE064, 0x00000000, 0xC47A0000, 0x00000000, 0x11700F00, D_8024B3E0_9E2400, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024FBAC_9E6BCC -.word 0x0000000E, D_80247044_9DE064, 0x00000000, 0xC47A0000, 0x00000000, 0x11700F00, D_8024B418_9E2438, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_8024FD9C_9E6DBC -.word 0x00000000, D_80246EC0_9DDEE0, 0xC2DA0000, 0x00000000, 0x433F0000, 0x00002D09, D_8024CCF0_9E3D10, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFF84, 0x00000000, 0x000000FA, 0x00000050, 0x00000000, 0xFFFF8001, 0x00000000, 0xFFFFFFAB, 0x00000000, 0x00000104, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A0076, 0x00000003, D_80246EC0_9DDEE0, 0x43480000, 0x00000000, 0x42EA0000, 0x00002D09, D_8024CE14_9E3E34, 0x00000000, 0x00000000, 0x0000005A, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x000000C8, 0x00000000, 0x00000075, 0x00000032, 0x0000001E, 0xFFFF8001, 0x00000001, 0x00000000, 0x00000000, 0x000000AA, 0x000001F4, 0x00000000, 0x00000000, 0x00000001, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A0077, 0x00000010, D_8024709C_9DE0BC, 0x00000000, 0x00000000, 0xC3A68000, 0x00402909, D_8024DB48_9E4B68, 0x00000000, 0x00000000, 0x000000B4, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00910201, 0x00910202, 0x00910203, 0x00910203, 0x00910201, 0x00910201, 0x00910200, 0x00910200, 0x00910200, 0x00910200, 0x00910200, 0x00910200, 0x00910200, 0x00910200, 0x00910200, 0x00910200, 0x00000000, 0x00000000, 0x00000000, 0x001A007A, 0x00000011, D_8024709C_9DE0BC, 0xC0E00000, 0x00000000, 0xC38E8000, 0x00402909, D_8024DBA0_9E4BC0, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00910001, 0x00910002, 0x00910003, 0x00910003, 0x00910001, 0x00910001, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00000000, 0x00000000, 0x00000000, 0x001A007B, 0x00000012, D_8024709C_9DE0BC, 0x423C0000, 0x00000000, 0xC30C0000, 0x00002909, D_8024DC48_9E4C68, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00910001, 0x00910002, 0x00910003, 0x00910003, 0x00910001, 0x00910001, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00910000, 0x00000000, 0x00000000, 0x00000000, 0x001A007C, 0x00000007, D_80246FEC_9DE00C, 0xC3700000, 0x00000000, 0xC28C0000, 0x00002D09, D_8024E090_9E50B0, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00B60001, 0x00B60004, 0x00B60006, 0x00B60006, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00B60001, 0x00000000, 0x00000000, 0x00000000, 0x001A0000 - -dlabel D_8025093C_9E795C -.word 0x0000000F, D_80247044_9DE064, 0x00000000, 0xC47A0000, 0x00000000, 0x11700F00, D_8024B450_9E2470, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x002B0002, 0x002B0002, 0x002B0003, 0x002B0003, 0x002B0001, 0x002B0001, 0x002B0008, 0x002B0008, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x002B0003, 0x00000000, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80250B2C_9E7B4C -.word 0x00000009, D_80247070_9DE090, 0x43A50000, 0x00000000, 0xC2C80000, 0x00002D09, D_8024E94C_9E596C, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00B50001, 0x00000000, 0x00000000, 0x00000000, 0x001A0075, 0x00000008, D_80247018_9DE038, 0xC3A40000, 0x00000000, 0xC3340000, 0x00002D09, D_8024E8B0_9E58D0, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00B40001, 0x00B40002, 0x00B40003, 0x00B40003, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00000000, 0x00000000, 0x00000000, 0x001A0073, 0x00000005, D_80246FC0_9DDFE0, 0xC3998000, 0x00000000, 0x42C20000, 0x00002D09, D_8024D040_9E4060, 0x00000000, 0x00000000, 0x0000005A, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A0078, 0x00000006, D_80246F68_9DDF88, 0x438E8000, 0x00000000, 0x435F0000, 0x00002D09, D_8024D164_9E4184, 0x00000000, 0x00000000, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, 0x000000F0, 0x00000000, 0x000000AF, 0x0000015E, 0x00000000, 0x000000FA, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFF8001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x008F0002, 0x008F0005, 0x008F0006, 0x008F0006, 0x008F0002, 0x008F0002, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x008F0000, 0x00000000, 0x00000000, 0x00000000, 0x001A0079 - -dlabel D_802512EC_9E830C -.word 0x00000000, D_80246FC0_9DDFE0, 0x00000000, 0x00000000, 0x00000000, 0x00000D09, D_8024E97C_9E599C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00040001, 0x00040002, 0x00040003, 0x00040003, 0x00040001, 0x00040001, 0x00040000, 0x00040000, 0x00040001, 0x00040001, 0x00040001, 0x00040001, 0x00040001, 0x00040001, 0x00040001, 0x00040001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, D_80246FC0_9DDFE0, 0x00000000, 0x00000000, 0x00000000, 0x00000D09, D_8024E9BC_9E59DC, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00030003, 0x00030005, 0x00030005, 0x00030005, 0x00030005, 0x00030005, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00030000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000002, D_80246FC0_9DDFE0, 0xC3A40000, 0x00000000, 0xC3340000, 0x00000D09, D_8024E9FC_9E5A1C, 0x00000000, 0x00000000, 0x00000000, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00B40001, 0x00B40002, 0x00B40003, 0x00B40003, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00B40001, 0x00000000, 0x00000000, 0x00000000, 0x001A0073 - -dlabel D_802518BC_9E88DC -.word 0x00000013, D_80249698_9E06B8, 0x43960000, 0x00000000, 0x43A50000, 0x00002D09, 0x00000000, 0x00000001, 0x00020201, 0x0000010E, 0x80000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00007FFF, 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, 0x00AF0001, 0x00AF0002, 0x00AF0003, 0x00AF0003, 0x00AF0001, 0x00AF0001, 0x00AF0000, 0x00AF0000, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00AF0003, 0x00000000, 0x00000000, 0x00000000, 0x001A0002, 0x00000008, D_8024EA3C_9E5A5C, 0x00000000, 0x00000004, D_80250B2C_9E7B4C, 0x00000000, 0x00000001, D_8024F9BC_9E69DC, 0x00000000, 0x00000001, D_8024FBAC_9E6BCC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, D_8024FD9C_9E6DBC, 0x00000000, 0x00000004, D_80250B2C_9E7B4C, 0x00000000, 0x00000001, D_8025093C_9E795C, 0x00000000, 0x00000001, D_802518BC_9E88DC, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000003, D_802512EC_9E830C, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9E8B60.data.s b/ver/us/asm/data/world/area_nok/nok_02/9E8B60.data.s deleted file mode 100644 index b0e84bacff..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9E8B60.data.s +++ /dev/null @@ -1,12 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80251B40_9E8B60 -.word 0x00000043, 0x00000003, DemoJoystickXY, 0x00000006, 0x00000004, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000001D, 0x00000014, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000040, 0x00000022, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000044, 0x00000029, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000043, 0x0000002C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000041, 0x00000034, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003F, 0x0000003C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003E, 0x00000041, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003E, 0x00000042, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003E, 0x00000043, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003D, 0x00000045, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000018, 0x0000004F, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000001, 0x00000053, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000002, 0x00000054, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000002, 0x00000052, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000003, 0x0000002B, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x0000004B, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000007, 0x00000002, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000027, 0x00000008, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000004A, 0x0000000A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000004A, 0x0000000C, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000004A, 0x00000013, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000048, 0x0000001D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000044, 0x0000002A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000041, 0x00000036, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003F, 0x0000003E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003E, 0x00000042, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003B, 0x00000046, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000035, 0x00000048, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000034, 0x00000049, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000002B, 0x0000004B, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000023, 0x0000004D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000021, 0x0000004D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000022, 0x0000004D, 0x00000008, 0x00000001, 0x00000003, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000021, 0x0000004D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000012, 0x0000004E, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000000B, 0x0000004F, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000004, 0x00000020, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0xFFFFFFFF, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0xFFFFFFFF, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000002, DemoSetButtons, 0x00008000, 0x00000008, 0x00000001, 0x00000006, 0x00000043, 0x00000002, DemoSetButtons, 0x00000000, 0x00000008, 0x00000001, 0x00000035, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000002, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000000B, 0x00000001, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000001C, 0x00000005, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000039, 0x0000000F, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000044, 0x0000001A, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000045, 0x00000021, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000041, 0x00000033, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003F, 0x0000003D, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003E, 0x00000042, 0x00000008, 0x00000001, 0x00000004, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000003D, 0x00000042, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000034, 0x00000044, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000026, 0x00000048, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000001E, 0x0000004A, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, DemoJoystickXY, 0x0000001B, 0x00000043, 0x00000008, 0x00000001, 0x00000001, 0x00000043, 0x00000003, DemoJoystickXY, 0x00000000, 0x00000000, 0x00000008, 0x00000001, 0x0000000A, 0x0000000A, 0x00000002, 0xF8405B89, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405B89, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x802547C0, 0x00000002, 0x00000002, 0x00000008, 0x00000001, 0x0000006E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802522F4_9E9314 -.word 0x00000008, 0x00000001, 0x0000000A, 0x00000005, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetDemoState, 0xFE363C80, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000002, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x0000000A, 0x00000002, 0xF8405B89, 0x00000001, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF8405B89, 0x00000001, 0x00000043, 0x00000004, GotoMapSpecial, 0x802547C0, 0x00000002, 0x00000003, 0x00000008, 0x00000001, 0x0000006E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802523B4_9E93D4 -.word 0x00000000, 0x00000043, 0x00000001, func_802438D0_9DA8F0, 0x00000024, 0x00000002, 0xF8405B89, 0x00000000, 0x00000044, 0x00000001, D_802522F4_9E9314, 0x00000044, 0x00000001, D_80251B40_9E8B60, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9E9420.data.s b/ver/us/asm/data/world/area_nok/nok_02/9E9420.data.s deleted file mode 100644 index 04e2115a07..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9E9420.data.s +++ /dev/null @@ -1,36 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel dup2_nok_02_ItemChoice_HasSelectedItem -.word 0x00000000 - -dlabel dup2_nok_02_ItemChoice_SelectedItemID -.word 0x00000000 - -dlabel D_80252408_9E9428 -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowKeyChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, dup2_nok_02_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000042, 0x00000002, 0xFE363C80, 0x00050000, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, dup2_nok_02_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8025254C_9E956C -.word 0x00000043, 0x00000002, func_80243C78_9DAC98, 0xFE363C80, 0x0000004E, 0x00000006, D_80252408_9E9428, 0x00000010, 0x00000000, nok_02_D_80254BA0, 0x00000000, 0x00000001, 0x00000043, 0x00000002, dup2_nok_02_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8025259C_9E95BC -.word 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C81, 0x00000043, 0x00000001, ShowConsumableChoicePopup, 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x0000001C, 0x00000000, 0x00000043, 0x00000002, RemoveItemAt, 0xFE363C81, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000004, dup2_nok_02_AddPlayerHandsOffset, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000043, 0x00000007, MakeItemEntity, 0xFE363C80, 0xFE363C83, 0xFE363C84, 0xFE363C85, 0x00000001, 0x00000000, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00060005, 0x00000008, 0x00000001, 0x0000001E, 0x00000043, 0x00000002, SetPlayerAnimation, 0x00010002, 0x00000043, 0x00000002, RemoveItemEntity, 0xFE363C80, 0x00000023, 0x00000000, 0x00000043, 0x00000002, dup2_nok_02_ItemChoice_SaveSelected, 0xFE363C8A, 0x00000043, 0x00000001, CloseChoicePopup, 0x00000048, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802526D0_9E96F0 -.word 0x00000043, 0x00000002, func_80243D14_9DAD34, 0xFE363C80, 0x0000004E, 0x00000006, D_8025259C_9E95BC, 0x00000010, 0x00000000, nok_02_D_80254D68, 0x00000000, 0x00000001, 0x00000043, 0x00000002, dup2_nok_02_ItemChoice_WaitForSelection, 0xFE363C80, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel dup2_nok_02_varStash -.word 0x00000000 - -dlabel D_80252724_9E9744 -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80252754_9E9774 -.word 0x00000043, 0x00000004, ShowGotItem, 0xFE363C80, 0x00000001, 0x00000010, 0x00000002, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80252784_9E97A4 -.word 0x00150000, 0x00150001, 0x00150002, 0xF840622B, 0xF840622C, 0xF840622D, 0x0000006E, 0x00150003, 0x00150004, 0x00150005, 0xF840622E, 0xF840622F, 0xF8406230, 0x0000008F, 0x00150006, 0x00150007, 0x00150008, 0xF8406231, 0xF8406232, 0xF8406233, 0x0000005C, 0x00150009, 0x0015000A, 0x0015000B, 0xF8406234, 0xF8406235, 0xF8406236, 0x000000C3, 0x0015000C, 0x0015000D, 0x0015000E, 0xF8406237, 0xF8406238, 0xF8406239, 0x0000006F, 0x0015000F, 0x00150010, 0x00150011, 0xF840623A, 0xF840623B, 0xF840623C, 0x00000070, 0x00150012, 0x00150013, 0x00150014, 0xF840623D, 0xF840623E, 0xF840623F, 0x00000089, 0x00150015, 0x00150016, 0x00150017, 0xF8406240, 0xF8406241, 0xF8406242, 0x00000071, 0x00150018, 0x00150019, 0x0015001A, 0xF8406243, 0xF8406244, 0xF8406245, 0x00000000, 0x0015001B, 0x0015001C, 0x0015001D, 0xF8406246, 0xF8406247, 0xF8406248, 0x00000095, 0x0015001E, 0x0015001F, 0x00150020, 0xF8406249, 0xF840624A, 0xF840624B, 0x000000D6, 0x00150021, 0x00150022, 0x00150023, 0xF840624C, 0xF840624D, 0xF840624E, 0x00000000, 0x00150024, 0x00150025, 0x00150026, 0xF840624F, 0xF8406250, 0xF8406251, 0x00000073, 0x00150027, 0x00150028, 0x00150029, 0xF8406252, 0xF8406253, 0xF8406254, 0x000000B5, 0x0015002A, 0x0015002B, 0x0015002C, 0xF8406255, 0xF8406256, 0xF8406257, 0x00000074, 0x0015002D, 0x0015002E, 0x0015002F, 0xF8406258, 0xF8406259, 0xF840625A, 0x0000009D, 0x00150030, 0x00150031, 0x00150032, 0xF840625B, 0xF840625C, 0xF840625D, 0x000000D3, 0x00150033, 0x00150034, 0x00150035, 0xF840625E, 0xF840625F, 0xF8406260, 0x00000076, 0x00150036, 0x00150037, 0x00150038, 0xF8406261, 0xF8406262, 0xF8406263, 0x000000AC, 0x00150039, 0x0015003A, 0x0015003B, 0xF8406264, 0xF8406265, 0xF8406266, 0x00000077 - -dlabel D_802529B4_9E99D4 -.word 0x00000000, 0x00000000, 0x00000043, 0x00000002, func_802CF56C, 0x00000001, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00A2, 0x00000004, 0x00000001, 0x0000005A, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02DA, 0x00000002, 0x0000000A, 0x00000002, 0xF840622A, 0x00000000, 0x00000043, 0x00000002, func_802442E0_9DB300, 0xF5DE02DC, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802529B4_9E99D4, 0x00000024, 0x00000002, 0xFE363C81, 0x00000009, 0x00000046, 0x00000001, D_8025254C_9E956C, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000016, 0x00000001, 0x00000000, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xF840622A, 0x00000001, 0x00000023, 0x00000000, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802529B4_9E99D4, 0x00000024, 0x00000002, 0xFE363C81, 0x00000009, 0x00000046, 0x00000001, D_802526D0_9E96F0, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0xFFFFFFFF, 0x00000016, 0x00000001, 0x00000000, 0x0000001C, 0x00000000, 0x00000024, 0x00000002, 0xF840622A, 0x00000001, 0x00000023, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF840622A, 0x00000001, 0x00000043, 0x00000002, func_80244288_9DB2A8, 0xF5DE02DC, 0x00000027, 0x00000002, 0xF5DE02DB, 0x00000001, 0x00000043, 0x00000002, func_80243EC8_9DAEE8, 0xF5DE02DB, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, func_80244224_9DB244, 0xF5DE02DC, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0xFE363C81, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00B1, 0x00000024, 0x00000002, 0xFE363C80, 0x00000157, 0x00000024, 0x00000002, 0xFE363C81, 0x00000000, 0x00000046, 0x00000001, D_80252754_9E9774, 0x00000043, 0x00000002, AddCoin, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000002, func_80244224_9DB244, 0xF5DE02DC, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0xFE363C82, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00B1, 0x00000043, 0x00000004, ShowGotItem, 0x0000015C, 0x00000001, 0x00000020, 0x00000043, 0x00000002, AddStarPieces, 0x00000003, 0x00000013, 0x00000000, 0x00000014, 0x00000001, 0xF5DE02DB, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00B2, 0x00000024, 0x00000002, 0xFE363C80, 0x0000007B, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80252724_9E9744, 0x00000043, 0x00000002, AddKeyItem, 0x0000007B, 0x00000016, 0x00000001, 0x0000000A, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00B3, 0x00000024, 0x00000002, 0xFE363C80, 0x0000007C, 0x00000024, 0x00000002, 0xFE363C81, 0x00000001, 0x00000046, 0x00000001, D_80252724_9E9744, 0x00000043, 0x00000002, AddKeyItem, 0x0000007C, 0x00000043, 0x00000003, FindKeyItem, 0x0000007B, 0xFE363C81, 0x00000043, 0x00000002, RemoveKeyItemAt, 0xFE363C81, 0x00000023, 0x00000000, 0x00000024, 0x00000002, 0xF5DE02DA, 0x00000000, 0x00000004, 0x00000001, 0x0000005A, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xF8406229, 0x00000001, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00AD, 0x00000043, 0x00000002, ShowChoice, 0x001E0012, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00AE, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, func_80244078_9DB098, 0xF5DE02DC, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00B0, 0x00000024, 0x00000002, 0xF5DE02DA, 0x00000001, 0x00000004, 0x00000001, 0x0000005A, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00AF, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x00000032, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000002, func_80244224_9DB244, 0xF5DE02DC, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0xFE363C80, 0x00000023, 0x00000000, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF8406228, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00AA, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00AB, 0x00000013, 0x00000000, 0x00000043, 0x00000002, ShowChoice, 0x001E0010, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000002, func_80244224_9DB244, 0xF5DE02DC, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0xFE363C80, 0x00000024, 0x00000002, 0xF8406228, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00AC, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x0000005A, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_80243F10_9DAF30, 0xF5DE02DC, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000059, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00A5, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00A6, 0x00000013, 0x00000000, 0x00000004, 0x00000001, 0x0000005A, 0x00000012, 0x00000000, 0x0000000A, 0x00000002, 0xF5DE02DA, 0x00000000, 0x0000000A, 0x00000002, 0xF8405DE9, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00A3, 0x00000024, 0x00000002, 0xF8405DE9, 0x00000001, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00A4, 0x00000013, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000006, SpeakToPlayer, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00A7, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x00000032, 0x00000043, 0x00000002, ShowChoice, 0x001E0010, 0x0000000A, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00A9, 0x00000043, 0x00000002, func_80244224_9DB244, 0xF5DE02DC, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0xFE363C80, 0x00000024, 0x00000002, 0xF5DE02DA, 0x00000002, 0x00000024, 0x00000002, 0xF8406228, 0x00000000, 0x00000024, 0x00000002, 0xF840622A, 0x00000000, 0x00000024, 0x00000002, 0xF8406229, 0x00000000, 0x00000012, 0x00000000, 0x00000043, 0x00000006, ContinueSpeech, 0xFFFFFFFF, 0x00B50004, 0x00B50001, 0x00000000, 0x000C00A8, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00B50006, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00B50009, 0x00000043, 0x00000005, EndSpeech, 0xFFFFFFFF, 0x00B50008, 0x00B50009, 0x00000000, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00B50007, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, SetNpcAnimation, 0xFFFFFFFF, 0x00B50001, 0x00000024, 0x00000002, 0xF5DE02DA, 0x00000001, 0x00000024, 0x00000002, 0xF5DE02DC, 0x00000000, 0x00000013, 0x00000000, 0x00000003, 0x00000001, 0x0000005A, 0x00000043, 0x00000001, EnablePartnerAI, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFA4, 0x00000004, 0x00000001, 0x00000050, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFB5, 0x00000004, 0x00000001, 0x0000004B, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFCB, 0x00000004, 0x00000001, 0x00000046, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0xFFFFFFF3, 0x00000004, 0x00000001, 0x0000003C, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000007, 0x00000004, 0x00000001, 0x00000032, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x00000029, 0x00000004, 0x00000001, 0x00000028, 0x00000013, 0x00000000, 0x0000000C, 0x00000002, 0xF5DE0180, 0x0000003C, 0x00000004, 0x00000001, 0x0000001E, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xF840627E, 0x00000001, 0x00000003, 0x00000001, 0x00000014, 0x00000024, 0x00000002, 0xF8406264, 0x00000001, 0x00000024, 0x00000002, 0xF8406261, 0x00000001, 0x00000024, 0x00000002, 0xF840625E, 0x00000001, 0x00000003, 0x00000001, 0x0000001E, 0x00000024, 0x00000002, 0xF840625B, 0x00000001, 0x00000024, 0x00000002, 0xF8406258, 0x00000001, 0x00000024, 0x00000002, 0xF8406255, 0x00000001, 0x00000003, 0x00000001, 0x00000028, 0x00000024, 0x00000002, 0xF8406252, 0x00000001, 0x00000024, 0x00000002, 0xF840624F, 0x00000001, 0x00000024, 0x00000002, 0xF840624C, 0x00000001, 0x00000003, 0x00000001, 0x00000032, 0x00000024, 0x00000002, 0xF8406249, 0x00000001, 0x00000024, 0x00000002, 0xF8406246, 0x00000001, 0x00000024, 0x00000002, 0xF8406243, 0x00000001, 0x00000003, 0x00000001, 0x0000003C, 0x00000024, 0x00000002, 0xF8406240, 0x00000001, 0x00000024, 0x00000002, 0xF840623D, 0x00000001, 0x00000024, 0x00000002, 0xF840623A, 0x00000001, 0x00000003, 0x00000001, 0x00000046, 0x00000024, 0x00000002, 0xF8406237, 0x00000001, 0x00000024, 0x00000002, 0xF8406234, 0x00000001, 0x00000024, 0x00000002, 0xF8406231, 0x00000001, 0x00000003, 0x00000001, 0x0000004B, 0x00000024, 0x00000002, 0xF840622E, 0x00000001, 0x00000024, 0x00000002, 0xF840622B, 0x00000001, 0x00000003, 0x00000001, 0x00000050, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9EA630.data.s b/ver/us/asm/data/world/area_nok/nok_02/9EA630.data.s deleted file mode 100644 index 828f128624..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9EA630.data.s +++ /dev/null @@ -1,78 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80253610_9EA630 -.word 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C85, 0xFE363C8F, 0xFE363C87, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, nok_02_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0x00000001, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000153, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, nok_02_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xFFFFFFFF, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000033, 0x00000003, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0x00000033, 0x00000003, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8A, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C84, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000046, 0x00000001, 0xFE363C84, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80253970_9EA990 -.word 0x0000004C, 0x00000001, 0xF24A8280, 0x00000030, 0x00000001, 0xFE363C80, 0x00000034, 0x00000004, 0xFE363C81, 0xFE363C82, 0xFE363C83, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C86, 0xFE363C8F, 0xFE363C88, 0x00000043, 0x00000002, PlaySound, 0x00000165, 0x00000043, 0x00000002, PlaySound, 0x00000166, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, nok_02_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C83, 0x00000166, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000006, nok_02_TransformFoliage, 0xFE363C83, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C81, 0x00000031, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000043, 0x00000005, TranslateModel, 0xFE363C83, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000005, 0x00000001, 0x00000005, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, nok_02_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A7B4D, 0xFE363C8F, 0x00000000, 0x0000000A, 0x00000002, 0xFBD3E280, 0x00000000, 0x00000024, 0x00000002, 0xFBD3E280, 0x00000001, 0x00000043, 0x00000004, PlaySoundAtModel, 0xFE363C84, 0x00000165, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000006, nok_02_TransformFoliage, 0xFE363C84, 0xF24A7AE7, 0xF24A79B4, 0xFE363C8F, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C82, 0x00000031, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000043, 0x00000005, TranslateModel, 0xFE363C84, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C83, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000031, 0x00000001, 0xFE363C84, 0x00000005, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000033, 0x00000003, 0xFE363C89, 0xFE363C8A, 0xFE363C8B, 0x0000000A, 0x00000002, 0xFE363C8B, 0x00000000, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000012, 0x00000000, 0x00000043, 0x00000003, GetValueByRef, 0xFE363C8B, 0xFE363C8C, 0x0000000A, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, SetValueByRef, 0xFE363C8B, 0x00000001, 0x00000043, 0x00000007, DropItemEntity, 0xFE363C85, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8A, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000056, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C84, 0x00000000, 0x00000030, 0x00000001, 0xFE363C84, 0x00000031, 0x00000001, 0xFE363C85, 0x00000005, 0x00000001, 0xFE363C85, 0x00000033, 0x00000003, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000043, 0x0000000F, PlayEffect, 0x00000014, 0x00000000, 0xFE363C86, 0xFE363C87, 0xFE363C88, 0x00000064, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000006, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C85, 0x00000000, 0x00000046, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80253F74_9EAF94 -.word 0x00000002, 0x000000C2, 0x000000B5 - -dlabel D_80253F80_9EAFA0 -.word 0x00000001, 0x000000A6, 0xFFFFFE69, 0x00000010, 0x0000005A, 0x00000007, 0xF8405DD0, 0xFAA2B58A - -dlabel D_80253FA0_9EAFC0 -.word D_80253F74_9EAF94, D_80253F80_9EAFA0, 0x00000000, 0x00000000 - -dlabel D_80253FB0_9EAFD0 -.word 0x00000002, 0x000000C4, 0x000000B6 - -dlabel D_80253FBC_9EAFDC -.word D_80253FB0_9EAFD0, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80253FCC_9EAFEC -.word 0x00000002, 0x000000C6, 0x000000B7 - -dlabel D_80253FD8_9EAFF8 -.word D_80253FCC_9EAFEC, 0x00000000, 0x00000000, 0x00000000 - -dlabel D_80253FE8_9EB008 -.word 0x00000004, 0x000000C8, 0x000000B8, 0x000000B9, 0x000000BA - -dlabel D_80253FFC_9EB01C -.word 0x00000043, 0x00000003, EnableModel, 0x000000B8, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x000000B9, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x000000BA, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80254048_9EB068 -.word 0x00000043, 0x00000003, EnableModel, 0x000000B8, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x000000BA, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x000000B9, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802540AC_9EB0CC -.word D_80253FE8_9EB008, 0x00000000, 0x00000000, D_80254048_9EB068 - -dlabel D_802540BC_9EB0DC -.word 0x00000004, 0x000000CA, 0x000000BC, 0x000000BD, 0x000000BE - -dlabel D_802540D0_9EB0F0 -.word 0x00000043, 0x00000003, EnableModel, 0x000000BC, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x000000BD, 0x00000000, 0x00000043, 0x00000003, EnableModel, 0x000000BE, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8025411C_9EB13C -.word 0x00000043, 0x00000003, EnableModel, 0x000000BC, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x000000BE, 0x00000001, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000003, EnableModel, 0x000000BD, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80254180_9EB1A0 -.word D_802540BC_9EB0DC, 0x00000000, 0x00000000, D_8025411C_9EB13C - -dlabel D_80254190_9EB1B0 -.word 0x00000002, 0x000000CC, 0x000000C0 - -dlabel D_8025419C_9EB1BC -.word 0x00000001, 0x00000157, 0x00000183, 0x00000010, 0x000000CA, 0x00000007, 0xF8405DCF, 0x00000000 - -dlabel D_802541BC_9EB1DC -.word D_80254190_9EB1B0, D_8025419C_9EB1BC, 0x00000000, 0x00000000 - -dlabel D_802541CC_9EB1EC -.word 0x00000001, 0x000000A0 - -dlabel D_802541D4_9EB1F4 -.word 0x00000001, 0x0000009F - -dlabel D_802541DC_9EB1FC -.word 0x00000008, 0x00000001, 0x0000000F, 0x00000024, 0x00000002, 0xF9718893, 0x00000001, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80254208_9EB228 -.word D_802541CC_9EB1EC, D_802541D4_9EB1F4, 0x00000000, 0x00000000, D_802541DC_9EB1FC - -dlabel D_8025421C_9EB23C -.word 0x43DD8000, 0x00000000, 0x42880000, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80253FA0_9EAFC0, 0x00000047, 0x00000005, D_80253610_9EA630, 0x00000100, 0x0000004F, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80253FBC_9EAFDC, 0x00000047, 0x00000005, D_80253610_9EA630, 0x00000100, 0x00000050, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80253FD8_9EAFF8, 0x00000047, 0x00000005, D_80253610_9EA630, 0x00000100, 0x00000051, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_802540AC_9EB0CC, 0x00000047, 0x00000005, D_80253610_9EA630, 0x00000100, 0x00000052, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_80253FFC_9EB01C, 0x00000024, 0x00000002, 0xFE363C80, D_80254180_9EB1A0, 0x00000047, 0x00000005, D_80253610_9EA630, 0x00000100, 0x00000053, 0x00000001, 0x00000000, 0x00000044, 0x00000001, D_802540D0_9EB0F0, 0x00000024, 0x00000002, 0xFE363C80, D_802541BC_9EB1DC, 0x00000047, 0x00000005, D_80253610_9EA630, 0x00000100, 0x00000054, 0x00000001, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, D_80254208_9EB228, 0x00000047, 0x00000005, D_80253970_9EA990, 0x00001000, 0x0000004E, 0x00000001, 0x00000000, 0x00000047, 0x00000005, D_80253970_9EA990, 0x00100000, D_8025421C_9EB23C, 0x00000001, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000 diff --git a/ver/us/asm/data/world/area_nok/nok_02/9EB3D0.data.s b/ver/us/asm/data/world/area_nok/nok_02/9EB3D0.data.s deleted file mode 100644 index 771ba420e7..0000000000 --- a/ver/us/asm/data/world/area_nok/nok_02/9EB3D0.data.s +++ /dev/null @@ -1,6 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_802543B0_9EB3D0 -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000004, SetPlayerPos, 0x00000000, 0xFFFFFC18, 0x00000000, 0x00000043, 0x00000005, UseSettingsFrom, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFE363C80, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24BE280, 0x00000043, 0x00000004, PanToTarget, 0x00000000, 0x00000000, 0x00000001, 0x00000008, 0x00000001, 0x00000032, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00040006, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000000, 0x00040001, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x0003000E, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000001, 0x00030003, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00B40002, 0x00000043, 0x00000005, NpcMoveTo, 0x00000002, 0xFFFFFFB0, 0xFFFFFFCE, 0x0000001E, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00B40001, 0x00000043, 0x00000003, SetCamSpeed, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000005, SetPanTarget, 0x00000000, 0xFFFFFFCB, 0xFE363C81, 0xFE363C82, 0x00000043, 0x00000003, WaitForCam, 0x00000000, 0xF24A7E80, 0x00000043, 0x00000004, InterpNpcYaw, 0x00000000, 0x0000010E, 0x00000000, 0x00000008, 0x00000001, 0x0000000F, 0x00000043, 0x00000003, SetNpcAnimation, 0x00000002, 0x00B40004, 0x00000008, 0x00000001, 0x0000002D, 0x00000043, 0x00000003, FadeOutMusic, 0x00000000, 0x000003E8, 0x00000043, 0x00000003, GotoMap, 0x802547C8, 0x00000002, 0x00000008, 0x00000001, 0x00000064, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/data/world/script_api/7E4EF0.data.s b/ver/us/asm/data/world/script_api/7E4EF0.data.s deleted file mode 100644 index 4aaa36e5e3..0000000000 --- a/ver/us/asm/data/world/script_api/7E4EF0.data.s +++ /dev/null @@ -1,93 +0,0 @@ -.include "macro.inc" - -.section .data - -dlabel D_80284070_7E4EF0 -.word 0x00000043, 0x00000001, func_80282414, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8028408C_7E4F0C -.word 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C84, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C83, 0xFE363C84, 0xFE363C8E, 0x00000043, 0x00000004, func_802D2884, 0xFE363C85, 0xFE363C86, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80284104_7E4F84 -.word 0x00000043, 0x00000001, func_80282314, 0x00000043, 0x00000001, GetDoorData, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000014, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C85, 0xFE363C86, 0xFE363C8E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_8028418C_7E500C -.word 0x00000043, 0x00000002, func_80282594, 0xF24A81B0, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C86, 0x00000024, 0x00000002, 0xFE363C8E, 0x0000000A, 0x00000043, 0x00000007, InterpCamTargetPos, 0x00000000, 0x00000001, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0xFE363C8E, 0x00000043, 0x00000002, func_80282594, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80284228_7E50A8 -.word 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C87, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C88, 0x00000024, 0x00000002, 0xFE363C8E, 0x0000000A, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C87, 0xFE363C88, 0xFE363C8E, 0x00000043, 0x00000004, func_802D2884, 0xFE363C89, 0xFE363C8A, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802842B0_7E5130 -.word 0x00000043, 0x00000001, func_80282314, 0x00000043, 0x00000001, GetDoorData, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000014, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C89, 0xFE363C8A, 0xFE363C8E, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80284338_7E51B8 -.word 0x00000043, 0x00000002, func_80282594, 0xF24A81B0, 0x00000043, 0x00000004, GetPlayerPos, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C89, 0x00000024, 0x00000002, 0xFE363C8D, 0xFE363C8A, 0x00000024, 0x00000002, 0xFE363C8E, 0x0000000A, 0x00000043, 0x00000007, InterpCamTargetPos, 0x00000000, 0x00000001, 0xFE363C8B, 0xFE363C8C, 0xFE363C8D, 0xFE363C8E, 0x00000043, 0x00000002, func_80282594, 0xFFFFFFFF, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802843D4_7E5254 -.word 0x00000043, 0x00000001, func_80282314, 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C83, 0xFE363C80, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x0000000A, 0x00000005, 0x00000043, 0x00000002, func_802822A8, 0xA0000000, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000000A, 0x00000002, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x0000000A, 0x00000005, 0x00000043, 0x00000002, func_802822A8, 0xA0000000, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000000A, 0x00000002, 0x00000023, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000044, 0x00000001, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000014, 0x00000001, 0xFE363C83, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000002, func_802822A8, 0xA0000001, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000002, func_802822A8, 0xA0000001, 0x00000023, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80284584_7E5404 -.word 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C8C, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x00000014, 0x00000005, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x00000014, 0x00000002, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x00000014, 0x00000005, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x00000014, 0x00000002, 0x00000023, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000044, 0x00000001, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802846AC_7E552C -.word 0x00000024, 0x00000002, 0xFE363C82, 0xFE363C8D, 0x00000014, 0x00000001, 0xFE363C80, 0x00000016, 0x00000001, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x00000014, 0x00000002, 0x00000016, 0x00000001, 0x00000001, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000000A, 0x00000005, 0x00000016, 0x00000001, 0x00000002, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x0000005A, 0x00000014, 0x00000002, 0x00000016, 0x00000001, 0x00000003, 0x00000043, 0x00000005, MakeLerp, 0x0000005A, 0x00000000, 0x0000000A, 0x00000005, 0x00000023, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000044, 0x00000001, 0xFE363C82, 0x00000008, 0x00000001, 0x00000001, 0x0000000A, 0x00000002, 0xFE363C81, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_802847D4_7E5654 -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000027, 0x00000002, 0xFE363C84, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000001, 0x00000027, 0x00000002, 0xFE363C84, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000002, 0x00000027, 0x00000002, 0xFE363C84, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C84, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80282314, 0x00000043, 0x00000001, GetDoorState, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetDoorState, 0x00000001, 0x00000043, 0x00000001, func_80282634, 0x00000043, 0x00000001, SetNewItemVisGroup, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, GetDoorData, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000046, 0x00000001, 0xFE363C8E, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000001, GetDoorData, 0x00000044, 0x00000001, D_8028418C_7E500C, 0x00000043, 0x00000001, GetDoorData, 0x00000040, 0x00000002, 0xFE363C82, 0x000000FF, 0x00000024, 0x00000002, 0xFE363C8E, 0x0000000A, 0x00000014, 0x00000001, 0xFE363C82, 0x00000016, 0x00000001, 0x00000000, 0x00000046, 0x00000001, D_8028408C_7E4F0C, 0x00000016, 0x00000001, 0x00000002, 0x00000046, 0x00000001, D_8028408C_7E4F0C, 0x00000016, 0x00000001, 0x00000004, 0x00000046, 0x00000001, D_8028408C_7E4F0C, 0x00000016, 0x00000001, 0x00000005, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000014, 0x00000046, 0x00000001, D_8028408C_7E4F0C, 0x00000016, 0x00000001, 0x00000007, 0x00000024, 0x00000002, 0xFE363C8E, 0x00000014, 0x00000046, 0x00000001, D_8028408C_7E4F0C, 0x00000023, 0x00000000, 0x00000043, 0x00000001, GetDoorData, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000043, 0x00000001, GetDoorPtr, 0x0000000B, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000045, 0x00000002, D_80284070_7E4EF0, 0xFE363C85, 0x00000043, 0x00000003, func_802823B0, 0x00000000, 0xFE363C85, 0x00000013, 0x00000000, 0x00000043, 0x00000001, SetEntityHideMode1, 0x0000000B, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000043, 0x00000002, func_8028236C, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, GetDoorData, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000040, 0x00000002, 0xFE363C82, 0x00000200, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000045, 0x00000002, 0xFE363C8C, 0xFE363C85, 0x00000012, 0x00000000, 0x00000045, 0x00000002, D_80284584_7E5404, 0xFE363C85, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000000, 0xFE363C85, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000040, 0x00000002, 0xFE363C82, 0x00000100, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000045, 0x00000002, 0xFE363C8B, 0xFE363C85, 0x00000012, 0x00000000, 0x00000045, 0x00000002, D_802843D4_7E5254, 0xFE363C85, 0x00000013, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000003, 0xFE363C85, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000040, 0x00000001, 0x00000043, 0x00000002, func_8028236C, 0x00000003, 0x00000043, 0x00000001, SetEntityHideMode2, 0x00000045, 0x00000002, D_80284104_7E4F84, 0xFE363C87, 0x00000043, 0x00000003, func_802823B0, 0x00000003, 0xFE363C87, 0x00000008, 0x00000001, 0x0000000A, 0x00000043, 0x00000001, func_80282314, 0x00000043, 0x00000001, GetDoorData, 0x00000043, 0x00000003, func_80281C20, 0xFE363C85, 0xFE363C86, 0x00000043, 0x00000002, func_8028236C, 0x00000003, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000040, 0x00000000, 0x00000043, 0x00000001, func_80281C84, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000040, 0x00000002, 0xFE363C82, 0x00000100, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000045, 0x00000002, 0xFE363C8B, 0xFE363C85, 0x00000012, 0x00000000, 0x00000045, 0x00000002, D_802843D4_7E5254, 0xFE363C85, 0x00000013, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000003, 0xFE363C85, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000040, 0x00000002, 0xFE363C82, 0x00000400, 0x0000000B, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000043, 0x00000002, func_8028236C, 0x00000003, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000045, 0x00000002, 0xFE363C8D, 0xFE363C85, 0x00000012, 0x00000000, 0x00000045, 0x00000002, D_802846AC_7E552C, 0xFE363C85, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000045, 0x00000002, 0xFE363C8E, 0xFE363C85, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000002, 0xFE363C85, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000043, 0x00000002, func_8028236C, 0x00000002, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000002, func_8028236C, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000043, 0x00000002, func_8028236C, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetDoorState, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetDoorState, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel D_80284F80_7E5E00 -.word 0x0000004D, 0x00000001, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C83, 0x00000024, 0x00000002, 0xFE363C84, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000000, 0x00000027, 0x00000002, 0xFE363C84, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000001, 0x00000027, 0x00000002, 0xFE363C84, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C83, 0x00000002, 0x00000027, 0x00000002, 0xFE363C84, 0x00000001, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C84, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80282314, 0x00000043, 0x00000001, GetDoorState, 0x0000000B, 0x00000002, 0xFE363C80, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetDoorState, 0x00000002, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, GetDoorData, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x0000000B, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000046, 0x00000001, 0xFE363C8E, 0x00000013, 0x00000000, 0x0000000A, 0x00000002, 0xFE363C80, 0xFFFFFFFF, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000001, GetDoorData, 0x00000044, 0x00000001, D_80284338_7E51B8, 0x00000043, 0x00000001, GetDoorData, 0x00000040, 0x00000002, 0xFE363C82, 0x000000FF, 0x00000014, 0x00000001, 0xFE363C82, 0x00000016, 0x00000001, 0x00000001, 0x00000046, 0x00000001, D_80284228_7E50A8, 0x00000016, 0x00000001, 0x00000006, 0x00000046, 0x00000001, D_80284228_7E50A8, 0x00000016, 0x00000001, 0x00000003, 0x00000046, 0x00000001, D_80284228_7E50A8, 0x00000023, 0x00000000, 0x00000043, 0x00000001, GetDoorData, 0x00000043, 0x00000001, GetDoorPtr, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000040, 0x00000002, 0xFE363C82, 0x00000200, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000045, 0x00000002, 0xFE363C8C, 0xFE363C85, 0x00000012, 0x00000000, 0x00000045, 0x00000002, D_80284584_7E5404, 0xFE363C85, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000000, 0xFE363C85, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000040, 0x00000002, 0xFE363C82, 0x00000400, 0x0000000B, 0x00000002, 0xFE363C8D, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000045, 0x00000002, 0xFE363C8D, 0xFE363C85, 0x00000012, 0x00000000, 0x00000045, 0x00000002, D_802846AC_7E552C, 0xFE363C85, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000001, 0xFE363C85, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000043, 0x00000002, func_8028236C, 0x00000001, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000002, 0x00000040, 0x00000002, 0xFE363C82, 0x00000100, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000045, 0x00000002, 0xFE363C8B, 0xFE363C85, 0x00000012, 0x00000000, 0x00000045, 0x00000002, D_802843D4_7E5254, 0xFE363C85, 0x00000013, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000001, 0xFE363C85, 0x00000043, 0x00000002, func_8028236C, 0x00000001, 0x00000043, 0x00000001, GetDoorPtr, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000040, 0x00000001, 0x00000043, 0x00000001, func_80282314, 0x00000043, 0x00000001, GetDoorData, 0x00000043, 0x00000003, func_80281C20, 0xFE363C89, 0xFE363C8A, 0x00000045, 0x00000002, D_802842B0_7E5130, 0xFE363C85, 0x00000043, 0x00000003, func_802823B0, 0x00000001, 0xFE363C85, 0x00000043, 0x00000001, SetEntityHideMode0, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x0000000B, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000045, 0x00000002, D_80284070_7E4EF0, 0xFE363C85, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000043, 0x00000003, func_802823B0, 0x00000002, 0xFE363C85, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C8F, 0x00000000, 0x00000043, 0x00000002, func_8028236C, 0x00000002, 0x00000013, 0x00000000, 0x00000043, 0x00000002, func_8028236C, 0x00000001, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000004, SetNpcFlagBits, 0xFFFFFFFC, 0x00000040, 0x00000000, 0x00000043, 0x00000001, func_80281C84, 0x00000043, 0x00000001, GetDoorData, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x00000040, 0x00000002, 0xFE363C82, 0x00000100, 0x0000000B, 0x00000002, 0xFE363C82, 0x00000000, 0x00000046, 0x00000001, 0xFE363C8B, 0x00000012, 0x00000000, 0x00000046, 0x00000001, D_802843D4_7E5254, 0x00000013, 0x00000000, 0x00000043, 0x00000001, GetDoorData, 0x00000024, 0x00000002, 0xFE363C80, 0x00000003, 0x0000000B, 0x00000002, 0xFE363C8E, 0x00000000, 0x00000046, 0x00000001, 0xFE363C8E, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80282700, 0x00000043, 0x00000001, RestorePrevItemVisGroup, 0x00000043, 0x00000002, SetDoorState, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetDoorState, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000, /* file split? */ 0x00000000, 0x00000000 - -dlabel D_80285640_7E64C0 -.float 0.04, 0.04, 0.08, 0.16, 0.21, 0.4, 0.6, 0.72, 0.84, 0.92, 0.96, 0.96, 1.0 - -dlabel D_80285674_7E64F4 -.word 0x00000024, 0x00000002, 0xFE363C8A, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C8B, 0xFE363C81, 0x00000043, 0x00000001, func_80282E30, 0x00000043, 0x00000004, func_802D2884, 0xFE363C83, 0xFE363C85, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C89, 0x00000002, 0x00000043, 0x00000001, func_80282880, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000043, 0x00000003, CheckActionState, 0xFE363C8D, 0x00000002, 0x0000000A, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000043, 0x00000003, CheckActionState, 0xFE363C8D, 0x00000014, 0x0000000A, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x0000000B, 0x00000002, 0xFE363C89, 0x00000000, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000027, 0x00000002, 0xFE363C8C, 0x00000001, 0x00000043, 0x00000001, func_80283174, 0x0000000A, 0x00000002, 0xFE363C8D, 0x00000001, 0x00000004, 0x00000001, 0x00000001, 0x00000013, 0x00000000, 0x00000043, 0x00000002, GetPlayerActionState, 0xFE363C8D, 0x0000000A, 0x00000002, 0xFE363C8D, 0x00000003, 0x00000002, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000002, 0x00000000, 0x00000003, 0x00000001, 0x00000001, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000014, 0x00000043, 0x00000001, func_80282880, 0x0000000C, 0x00000002, 0xFE363C8C, 0x00000008, 0x00000008, 0x00000001, 0x00000001, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, func_80283080, 0x00000043, 0x00000002, PlaySound, 0x00002088, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000001, func_802828DC, 0x00000043, 0x00000001, func_80282C40, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000002, 0x00000043, 0x00000003, CheckActionState, 0xFE363C8D, 0x00000014, 0x0000000B, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000043, 0x00000003, func_80283240, 0xFE363C8D, D_80285674_7E64F4, 0x0000000A, 0x00000002, 0xFE363C8D, 0x00000000, 0x00000043, 0x00000002, SetPlayerActionState, 0x00000000, 0x00000013, 0x00000000, 0x00000013, 0x00000000, 0x00000057, 0x00000000, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterWalk -.word 0x00000043, 0x00000001, ShortenPartnerTetherDistance, 0x00000043, 0x00000001, CheckRideScriptForEnterExit, 0x00000043, 0x00000003, UseEntryHeading, 0x0000003C, 0x0000000F, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000001, TeleportPartnerToPlayer, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C81, 0xFE363C83, 0x0000000F, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8F, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x00000024, 0x00000002, 0xFE363C84, 0x0000000F, 0x00000046, 0x00000001, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8F, 0x00000013, 0x00000000, 0x00000044, 0x00000001, 0xFE363C80, 0x00000043, 0x00000001, func_802D2148, 0x00000043, 0x00000001, ResetPartnerTetherDistance, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterWalkShort -.word 0x00000043, 0x00000001, ShortenPartnerTetherDistance, 0x00000043, 0x00000001, CheckRideScriptForEnterExit, 0x00000043, 0x00000003, UseEntryHeading, 0x00000028, 0x0000000F, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000001, TeleportPartnerToPlayer, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C81, 0xFE363C83, 0x0000000F, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8F, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x00000024, 0x00000002, 0xFE363C84, 0x0000000F, 0x00000046, 0x00000001, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8F, 0x00000013, 0x00000000, 0x00000044, 0x00000001, 0xFE363C80, 0x00000043, 0x00000001, func_802D2148, 0x00000043, 0x00000001, ResetPartnerTetherDistance, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterWalkCustom -.word 0x00000043, 0x00000001, ShortenPartnerTetherDistance, 0x00000043, 0x00000001, CheckRideScriptForEnterExit, 0x00000043, 0x00000003, UseEntryHeading, 0xFE363C81, 0xFE363C84, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000001, TeleportPartnerToPlayer, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C81, 0xFE363C83, 0xFE363C84, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8F, 0xFE363C80, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x00000046, 0x00000001, 0xFE363C8B, 0x00000024, 0x00000002, 0xFE363C80, 0xFE363C8F, 0x00000013, 0x00000000, 0x00000044, 0x00000001, 0xFE363C80, 0x00000043, 0x00000001, func_802D2148, 0x00000043, 0x00000001, ResetPartnerTetherDistance, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterPostPipe -.word 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000001, ShortenPartnerTetherDistance, 0x00000043, 0x00000001, CheckRideScriptForEnterExit, 0x00000043, 0x00000001, EnterPlayerPostPipe, 0x00000043, 0x00000001, ResetPartnerTetherDistance, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterSavePoint -.word 0x00000043, 0x00000001, ShortenPartnerTetherDistance, 0x00000043, 0x00000001, SetPlayerPositionFromSaveData, 0x00000043, 0x00000002, ClearPartnerMoveHistory, 0xFFFFFFFC, 0x00000043, 0x00000001, ResetPartnerTetherDistance, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel ExitWalk -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, ShortenPartnerTetherDistance, 0x00000043, 0x00000001, CheckRideScriptForEnterExit, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C81, 0xFE363C83, 0x0000000F, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x0000000F, 0x00000046, 0x00000001, 0xFE363C8B, 0x00000013, 0x00000000, 0x00000043, 0x00000001, ResetPartnerTetherDistance, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel ExitSingleDoor -.word 0x00000043, 0x00000001, SetupSingleDoor, 0x00000046, 0x00000001, BaseExitDoor, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterSingleDoor -.word 0x00000043, 0x00000001, SetupSingleDoor, 0x00000046, 0x00000001, BaseEnterDoor, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel ExitSplitSingleDoor -.word 0x00000043, 0x00000001, SetupSplitSingleDoor, 0x00000046, 0x00000001, BaseExitDoor, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterSplitSingleDoor -.word 0x00000043, 0x00000001, SetupSplitSingleDoor, 0x00000046, 0x00000001, BaseEnterDoor, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel ExitDoubleDoor -.word 0x00000043, 0x00000001, SetupDoubleDoors, 0x00000046, 0x00000001, BaseExitDoor, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterDoubleDoor -.word 0x00000043, 0x00000001, SetupDoubleDoors, 0x00000046, 0x00000001, BaseEnterDoor, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel ExitSplitDoubleDoor -.word 0x00000043, 0x00000001, SetupSplitDoubleDoors, 0x00000046, 0x00000001, BaseExitDoor, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel EnterSplitDoubleDoor -.word 0x00000043, 0x00000001, SetupSplitDoubleDoors, 0x00000046, 0x00000001, BaseEnterDoor, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel BaseExitDoor -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000001, 0x00000043, 0x00000001, ShortenPartnerTetherDistance, 0x00000024, 0x00000002, 0xFE363C89, 0xFE363C80, 0x00000043, 0x00000006, GetEntryCoords, 0xFE363C80, 0xFE363C8C, 0xFE363C8D, 0xFE363C8E, 0xFE363C8B, 0x00000027, 0x00000002, 0xFE363C8B, 0x000000B4, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C8B, 0x00000002, 0x00000043, 0x00000004, ModifyColliderFlags, 0x00000000, 0xFE363C81, 0x7FFFFE00, 0x00000043, 0x00000006, PlaySoundAt, 0x90000000, 0x00000000, 0xFE363C8C, 0xFE363C8D, 0xFE363C8E, 0x00000043, 0x00000005, MakeLerp, 0x00000000, 0x00000050, 0x0000000A, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000030, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0x00000000, 0x00000031, 0x00000001, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0x00000000, 0x00000031, 0x00000001, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000003, UseExitHeading, 0x00000028, 0xFE363C89, 0x00000043, 0x00000001, CheckRideScriptForEnterExit, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000004, PlayerMoveTo, 0xFE363C81, 0xFE363C83, 0x0000000F, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000000, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000000, 0x00000024, 0x00000002, 0xFE363C84, 0x0000000F, 0x00000046, 0x00000001, 0xFE363C8B, 0x00000013, 0x00000000, 0x00000043, 0x00000001, ResetPartnerTetherDistance, 0x00000043, 0x00000002, DisablePlayerPhysics, 0x00000000, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 - -dlabel BaseEnterDoor -.word 0x00000043, 0x00000002, DisablePlayerInput, 0x00000001, 0x00000043, 0x00000001, ShortenPartnerTetherDistance, 0x00000030, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0x00000000, 0x00000031, 0x00000001, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFFFFFFB0, 0x00000000, 0x00000001, 0x00000000, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0x00000000, 0x00000031, 0x00000001, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFFFFFFB0, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000006, 0x00000000, 0x00000043, 0x00000006, GetEntryCoords, 0xFE363C80, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0xFE363C8B, 0x00000043, 0x00000003, InterpPlayerYaw, 0xFE363C8B, 0x00000002, 0x00000043, 0x00000001, CheckRideScriptForEnterExit, 0x0000000A, 0x00000002, 0xFE363C8A, 0x00000000, 0x00000043, 0x00000001, TeleportPartnerToPlayer, 0x00000043, 0x00000002, PlayerMoveToDoor, 0x0000000A, 0x00000012, 0x00000000, 0x00000024, 0x00000002, 0xFE363C80, 0x00000001, 0x00000024, 0x00000002, 0xFE363C8C, 0x00000001, 0x00000024, 0x00000002, 0xFE363C84, 0x0000000F, 0x00000046, 0x00000001, 0xFE363C8B, 0x00000013, 0x00000000, 0x00000056, 0x00000000, 0x00000008, 0x00000001, 0x00000008, 0x00000043, 0x00000006, PlaySoundAt, 0x90000001, 0x00000000, 0xFE363C87, 0xFE363C88, 0xFE363C89, 0x00000057, 0x00000000, 0x00000043, 0x00000005, MakeLerp, 0xFFFFFFB0, 0x00000000, 0x0000000A, 0x00000000, 0x00000003, 0x00000001, 0x00000000, 0x00000043, 0x00000001, UpdateLerp, 0x00000030, 0x00000001, 0xFE363C82, 0x00000005, 0x00000001, 0x00000000, 0x00000031, 0x00000001, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFE363C80, 0x00000000, 0x00000001, 0x00000000, 0x00000006, 0x00000000, 0x00000030, 0x00000001, 0xFE363C83, 0x00000005, 0x00000001, 0x00000000, 0x00000031, 0x00000001, 0xFE363C8A, 0x0000000A, 0x00000002, 0xFE363C8A, 0xFFFFFFFF, 0x00000007, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000006, RotateModel, 0xFE363C8A, 0xFE363C80, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000006, 0x00000000, 0x00000008, 0x00000001, 0x00000001, 0x0000000B, 0x00000002, 0xFE363C81, 0x00000000, 0x00000004, 0x00000001, 0x00000000, 0x00000013, 0x00000000, 0x00000043, 0x00000001, ResetPartnerTetherDistance, 0x00000043, 0x00000002, DisablePlayerInput, 0x00000000, 0x00000002, 0x00000000, 0x00000001, 0x00000000 diff --git a/ver/us/asm/nonmatchings/world/script_api/7E3700/func_80282E30.s b/ver/us/asm/nonmatchings/world/script_api/push_blocks/func_80282E30.s similarity index 100% rename from ver/us/asm/nonmatchings/world/script_api/7E3700/func_80282E30.s rename to ver/us/asm/nonmatchings/world/script_api/push_blocks/func_80282E30.s diff --git a/ver/us/asm/nonmatchings/world/script_api/7E0E80/MakeShop.s b/ver/us/asm/nonmatchings/world/script_api/shops/MakeShop.s similarity index 100% rename from ver/us/asm/nonmatchings/world/script_api/7E0E80/MakeShop.s rename to ver/us/asm/nonmatchings/world/script_api/shops/MakeShop.s diff --git a/ver/us/asm/nonmatchings/world/script_api/7E0E80/shop_open_item_select_popup.s b/ver/us/asm/nonmatchings/world/script_api/shops/shop_open_item_select_popup.s similarity index 100% rename from ver/us/asm/nonmatchings/world/script_api/7E0E80/shop_open_item_select_popup.s rename to ver/us/asm/nonmatchings/world/script_api/shops/shop_open_item_select_popup.s diff --git a/ver/us/splat.yaml b/ver/us/splat.yaml index 20cba87c45..202cafa356 100644 --- a/ver/us/splat.yaml +++ b/ver/us/splat.yaml @@ -9170,12 +9170,10 @@ segments: start: 0x7E0E80 vram: 0x80280000 subsegments: - - [0x7E0E80, c] - - [0x7E2AA0, c] - - [0x7E3700, c] - - [0x7E4690, c] - - [0x7E4D00, .data, 7E0E80] - - [0x7E4EF0, data] + - [0x7E0E80, c, shops] + - [0x7E2AA0, c, rooms] + - [0x7E3700, c, push_blocks] + - [0x7E4690, c, enter_exit] - [0x7E7380] ############ @@ -10503,7 +10501,7 @@ segments: - [0x95B200, c, dro_01_2_main] - [0x95B7E0, c, dro_01_3_npc] - [0x95E660, c, dro_01_4_shop] - - [0x95E660, c, dro_01_5_building] + - [0x95E660, c, dro_01_5_rooms] - [0x95E7A0, c, dro_01_6_entity] - [0x95EA80, c, dro_01_7_foliage] - [0x95ECC0] @@ -10517,13 +10515,13 @@ segments: - [0x9691C0, c, dro_02_1_music] - [0x9691C0, c, dro_02_2_entity] - [0x9691C0, c, dro_02_3_main] - - [0x9694C0, c, dro_02_4_building] + - [0x9694C0, c, dro_02_4_rooms] - [0x9694C0, c, dro_02_5_npc] - [0x96CC30, .data, dro_02_0_header] - [0x96CCB0, .data, dro_02_1_music] - [0x96CD90, .data, dro_02_2_entity] - [0x96CE00, .data, dro_02_3_main] - - [0x96D380, .data, dro_02_4_building] + - [0x96D380, .data, dro_02_4_rooms] - start: 0x96DFA0 type: .data name: dro_02_5_npc @@ -10878,40 +10876,34 @@ segments: start: 0x9C53E0 vram: 0x80240000 subsegments: - - [0x9C53E0, c] - - [0x9C7D10, c] - - [0x9C7F50, data] - - [0x9C8350, data] - - [0x9C8920, data] - - [0x9C89E0, data] - - [0x9D4EF0, data] - - [0x9D5110, data] - - [0x9D5BF0, data] - - [0x9D5F80, data] - - [0x9D6E60] + - [0x9C53E0, c, nok_01_0_header] + - [0x9C53E0, c, nok_01_1_music] + - [0x9C53E0, c, nok_01_2_main] + - [0x9C53E0, c, nok_01_3_entity] + - [0x9C53E0, c, nok_01_4_npc] + - [0x9C7B40, c, nok_01_5_shop] + - [0x9C7B40, c, nok_01_6_rooms] + - [0x9C7BA0, c, nok_01_7_radio] + - [0x9C7D10, c, nok_01_8_foliage] + - [0x9C7F50] - name: nok_02 dir: world/area_nok/nok_02 type: code start: 0x9D7020 vram: 0x80240000 subsegments: - - [0x9D7020, c] - - [0x9D7770, c] - - [0x9D7990, c] - - [0x9D7AA0, c] - - [0x9DA8F0, c] - - [0x9DB380, c] - - [0x9DB5C0, data] - - [0x9DB6C0, data] - - [0x9DCD20, data] - - [0x9DCF50, data] - - [0x9DDE40, data] - - [0x9DDE90, data] - - [0x9E8B60, data] - - [0x9E9420, data] - - [0x9EA630, data] - - [0x9EB3D0, data] - - [0x9EB620] + - [0x9D7020, c, nok_02_0_header] + - [0x9D7020, c, nok_02_1_music] + - [0x9D7020, c, nok_02_2_main] + - [0x9D7770, c, nok_02_3_entity] + - [0x9D7990, c, nok_02_4_rooms] + - [0x9D7AA0, c, nok_02_5_bookshelf] + - [0x9D7AA0, c, nok_02_6_npc] + - [0x9DA8F0, c, nok_02_7_demo] + - [0x9DA9E0, c, nok_02_8_koot_favors] + - [0x9DB380, c, nok_02_9_foliage] + - [0x9DB5C0, c, nok_02_10_epilogue] + - [0x9DB5C0] - name: nok_03 dir: world/area_nok/nok_03 type: code diff --git a/ver/us/symbol_addrs.txt b/ver/us/symbol_addrs.txt index 1418ec0be0..49e99709c4 100644 --- a/ver/us/symbol_addrs.txt +++ b/ver/us/symbol_addrs.txt @@ -666,7 +666,7 @@ au_get_bgm_player = 0x80053CB4; // type:func rom:0x2F0B4 au_load_song_files = 0x80053CF8; // type:func rom:0x2F0F8 func_80053E58 = 0x80053E58; // type:func rom:0x2F258 func_80053F64 = 0x80053F64; // type:func rom:0x2F364 -func_80053F80 = 0x80053F80; // type:func rom:0x2F380 +au_ambient_load = 0x80053F80; // type:func rom:0x2F380 func_80054248 = 0x80054248; // type:func rom:0x2F648 au_load_INIT = 0x800542BC; // type:func rom:0x2F6BC au_fetch_SBN_file = 0x8005447C; // type:func rom:0x2F87C @@ -698,7 +698,7 @@ snd_adjust_sound_with_shift = 0x80055330; // type:func rom:0x30730 snd_stop_sound = 0x800553C0; // type:func rom:0x307C0 func_800553F4 = 0x800553F4; // type:func rom:0x307F4 snd_start_sound_raw = 0x80055408; // type:func rom:0x30808 -snd_ambient_80055448 = 0x80055448; // type:func rom:0x30848 +snd_ambient_load = 0x80055448; // type:func rom:0x30848 snd_ambient_80055464 = 0x80055464; // type:func rom:0x30864 snd_ambient_quick_fade_out = 0x800554A4; // type:func rom:0x308A4 snd_ambient_slow_fade_out = 0x800554E8; // type:func rom:0x308E8 @@ -706,12 +706,12 @@ snd_ambient_8005553C = 0x8005553C; // type:func rom:0x3093C snd_ambient_80055590 = 0x80055590; // type:func rom:0x30990 snd_ambient_800555E4 = 0x800555E4; // type:func rom:0x309E4 snd_ambient_80055618 = 0x80055618; // type:func rom:0x30A18 -au_ambience_set_volume = 0x8005566C; // type:func rom:0x30A6C -au_ambience_disable = 0x800556D0; // type:func rom:0x30AD0 -au_ambience_enable = 0x80055718; // type:func rom:0x30B18 +snd_ambient_set_volume = 0x8005566C; // type:func rom:0x30A6C +snd_ambient_disable = 0x800556D0; // type:func rom:0x30AD0 +snd_ambient_enable = 0x80055718; // type:func rom:0x30B18 snd_ambient_80055760 = 0x80055760; // type:func rom:0x30B60 snd_ambient_800557CC = 0x800557CC; // type:func rom:0x30BCC -snd_ambient_80055848 = 0x80055848; // type:func rom:0x30C48 +snd_ambient_set_track = 0x80055848; // type:func rom:0x30C48 au_song_load = 0x800558D4; // type:func rom:0x30CD4 au_song_start = 0x8005591C; // type:func rom:0x30D1C au_song_start_variation = 0x80055970; // type:func rom:0x30D70 @@ -4828,7 +4828,7 @@ ItemEntitiesCreated = 0x801512F8; // type:data rom:0xE79F8 gCurrentModelTreeRoot = 0x801512FC; // type:data rom:0xE79FC D_80151300 = 0x80151300; // type:data rom:0xE7A00 D_80151304 = 0x80151304; // type:data rom:0xE7A04 -D_80151308 = 0x80151308; // type:data rom:0xE7A08 +gCurrentRoomDoorSounds = 0x80151308; // type:data rom:0xE7A08 gMsgBGScrollAmtY = 0x8015130C; // type:data rom:0xE7A0C D_8015130E = 0x8015130E; // type:data rom:0xE7A0E gEntityHideMode = 0x80151310; // type:data rom:0xE7A10 @@ -4843,7 +4843,7 @@ entity_updateCounter = 0x80151330; // type:data rom:0xE7A30 gTriggerCount = 0x80151334; // rom:0xE7A34 D_80151338 = 0x80151338; // type:data rom:0xE7A38 gHudElementCacheSize = 0x8015133C; // type:data rom:0xE7A3C -gCurrentDoorSoundsSet = 0x80151340; // rom:0xE7A40 +gCurrentDoorSounds = 0x80151340; // rom:0xE7A40 D_80151344 = 0x80151344; // type:data rom:0xE7A44 D_80151348 = 0x80151348; // type:data rom:0xE7A48 gWorldEntityList = 0x80151380; // rom:0xE7A80 @@ -5531,7 +5531,7 @@ PlaySoundAt = 0x802D61DC; // type:func rom:0xFAB8C StopSound = 0x802D62B8; // type:func rom:0xFAC68 func_802D62E4 = 0x802D62E4; // type:func rom:0xFAC94 UseDoorSounds = 0x802D6314; // type:func rom:0xFACC4 -UseAdvancedDoorSounds = 0x802D6340; // type:func rom:0xFACF0 +UseRoomDoorSounds = 0x802D6340; // type:func rom:0xFACF0 PlaySoundAtF = 0x802D636C; // type:func rom:0xFAD1C ShowKeyChoicePopup = 0x802D6420; // type:func rom:0xFADD0 ShowConsumableChoicePopup = 0x802D663C; // type:func rom:0xFAFEC @@ -14997,7 +14997,7 @@ MakeShop = 0x80281860; // type:func rom:0x7E26E0 MakeShopOwner = 0x80281BD8; // type:func rom:0x7E2A58 func_80281C20 = 0x80281C20; // type:func rom:0x7E2AA0 func_80281C84 = 0x80281C84; // type:func rom:0x7E2B04 -MakeDoorAdvanced = 0x80281CAC; // type:func rom:0x7E2B2C +CreateMapRoom = 0x80281CAC; // type:func rom:0x7E2B2C func_802822A8 = 0x802822A8; // type:func rom:0x7E3128 func_80282314 = 0x80282314; // type:func rom:0x7E3194 GetDoorState = 0x80282324; // type:func rom:0x7E31A4 @@ -17675,13 +17675,13 @@ nok_01_CosInterpMinMax = 0x80242514; // type:func rom:0x9C78F4 func_802426A4_9C7A84 = 0x802426A4; // type:func rom:0x9C7A84 func_80242760_9C7B40 = 0x80242760; // type:func rom:0x9C7B40 func_80242790_9C7B70 = 0x80242790; // type:func rom:0x9C7B70 -func_802427C0_9C7BA0 = 0x802427C0; // type:func rom:0x9C7BA0 -func_80242804_9C7BE4 = 0x80242804; // type:func rom:0x9C7BE4 -func_80242858_9C7C38 = 0x80242858; // type:func rom:0x9C7C38 +InitializeRadio = 0x802427C0; // type:func rom:0x9C7BA0 +SetRadioVolumeMax = 0x80242804; // type:func rom:0x9C7BE4 +SetRadioVolumeMute = 0x80242858; // type:func rom:0x9C7C38 func_80242898_9C7C78 = 0x80242898; // type:func rom:0x9C7C78 func_802428B8_9C7C98 = 0x802428B8; // type:func rom:0x9C7C98 func_802428D8_9C7CB8 = 0x802428D8; // type:func rom:0x9C7CB8 -func_80242910_9C7CF0 = 0x80242910; // type:func rom:0x9C7CF0 +SetTradeEventStartTime = 0x80242910; // type:func rom:0x9C7CF0 nok_01_foliage_setup_shear_mtx = 0x80242930; // type:func rom:0x9C7D10 nok_01_TransformFoliage = 0x802429A0; // type:func rom:0x9C7D80 nok_01_varStash = 0x80245F44; // type:data rom:0x9CB324 diff --git a/ver/us/undefined_syms.txt b/ver/us/undefined_syms.txt index 19650b5ed8..98bf4608cc 100644 --- a/ver/us/undefined_syms.txt +++ b/ver/us/undefined_syms.txt @@ -34,22 +34,6 @@ D_803B5000 = 0x803B5000; D_803DA800 = 0x803DA800; heap_battleHead = 0x803DA800; -// Letter delivery BSS -nok_01_LetterDelivery_SavedNpcAnim = 0x80251E34; -nok_02_LetterDelivery_SavedNpcAnim = 0x80254B94; - -// Quizmo BSS -nok_01_Quizmo_Worker = 0x80251C40; -nok_01_Quizmo_AnswerResult = 0x80251C58; -nok_01_Quizmo_StageEffect = 0x80251C60; -nok_01_Quizmo_AudienceEffect = 0x80251C64; -nok_01_Quizmo_VannaTEffect = 0x80251C68; -nok_02_Quizmo_AnswerResult = 0x802549B8; -nok_02_Quizmo_Worker = 0x802549A0; -nok_02_Quizmo_StageEffect = 0x802549C0; -nok_02_Quizmo_AudienceEffect = 0x802549C4; -nok_02_Quizmo_VannaTEffect = 0x802549C8; - // boot D_A0000000 = 0xA0000000; D_A4000000 = 0xA4000000;