encounters and static npc flags (#843)

* matched update_encounters_neutral

* matched encounter funcs

* replaced NPC flags with ENEMY flags

* cleaning up

* warnings
This commit is contained in:
Unnunu 2022-11-01 15:27:10 +03:00 committed by GitHub
parent 5a668faf5d
commit 8fd2613bd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
190 changed files with 3690 additions and 5776 deletions

View File

@ -2394,6 +2394,7 @@ enum EncounterOutcomes {
OUTCOME_PLAYER_LOST = 1,
OUTCOME_PLAYER_FLED = 2,
OUTCOME_ENEMY_FLED = 3,
OUTCOME_4 = 4,
};
enum MerleeSpellType {
@ -4246,7 +4247,7 @@ enum EnemyFlags {
ENEMY_FLAGS_2 = 0x00000002,
ENEMY_FLAGS_4 = 0x00000004,
ENEMY_FLAGS_8 = 0x00000008,
ENEMY_FLAGS_10 = 0x00000010,
ENEMY_FLAGS_FLED = 0x00000010,
ENEMY_FLAGS_20 = 0x00000020,
ENEMY_FLAGS_40 = 0x00000040,
ENEMY_FLAGS_80 = 0x00000080,
@ -4254,7 +4255,7 @@ enum EnemyFlags {
ENEMY_FLAGS_200 = 0x00000200,
ENEMY_FLAGS_400 = 0x00000400,
ENEMY_FLAGS_800 = 0x00000800,
ENEMY_FLAGS_1000 = 0x00001000,
ENEMY_FLAGS_GRAVITY = 0x00001000,
ENEMY_FLAGS_2000 = 0x00002000,
ENEMY_FLAGS_4000 = 0x00004000,
ENEMY_FLAGS_8000 = 0x00008000,
@ -5724,4 +5725,56 @@ enum BackgroundRenderTypes {
BACKGROUND_RENDER_TYPE_3 = 3,
};
enum EncounterStates {
ENCOUNTER_STATE_NONE = 0,
ENCOUNTER_STATE_CREATE = 1,
ENCOUNTER_STATE_NEUTRAL = 2,
ENCOUNTER_STATE_PRE_BATTLE = 3,
ENCOUNTER_STATE_CONVERSATION = 4,
ENCOUNTER_STATE_POST_BATTLE = 5,
};
enum EncounterCreateSubStates {
ENCOUNTER_SUBSTATE_CREATE_INIT = 0,
ENCOUNTER_SUBSTATE_CREATE_RUN_INIT_SCRIPT = 1,
ENCOUNTER_SUBSTATE_CREATE_RUN_AI = 2,
};
enum EncounterNeutralSubStates {
ENCOUNTER_SUBSTATE_NEUTRAL = 0,
};
enum EncounterPreBattleSubStates {
ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT = 0,
ENCOUNTER_SUBSTATE_PRE_BATTLE_LOAD_BATTLE = 1,
ENCOUNTER_SUBSTATE_PRE_BATTLE_AUTO_WIN = 2,
ENCOUNTER_SUBSTATE_PRE_BATTLE_3 = 3,
};
enum EncounterConversationSubStates {
ENCOUNTER_SUBSTATE_CONVERSATION_INIT = 0,
ENCOUNTER_SUBSTATE_CONVERSATION_END = 1,
};
enum EncounterPostBattleSubStates {
ENCOUNTER_SUBSTATE_POST_BATTLE_INIT = 0,
ENCOUNTER_SUBSTATE_POST_BATTLE_WON_WAIT = 2,
ENCOUNTER_SUBSTATE_POST_BATTLE_WON_KILL = 3,
ENCOUNTER_SUBSTATE_POST_BATTLE_WON_TO_NEUTRAL = 4,
ENCOUNTER_SUBSTATE_POST_BATTLE_WON_CHECK_MERLEE_BONUS = 10,
ENCOUNTER_SUBSTATE_POST_BATTLE_PLAY_NPC_DEFEAT = 11,
ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_INIT = 100,
ENCOUNTER_SUBSTATE_POST_BATTLE_FLED_WAIT = 101,
ENCOUNTER_SUBSTATE_POST_BATTLE_102 = 102,
ENCOUNTER_SUBSTATE_POST_BATTLE_103 = 103,
ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_INIT = 200,
ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_WAIT = 201,
ENCOUNTER_SUBSTATE_POST_BATTLE_202 = 202,
ENCOUNTER_SUBSTATE_POST_BATTLE_LOST_TO_NEUTRAL = 203,
ENCOUNTER_SUBSTATE_POST_BATTLE_300 = 300,
ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_INIT = 400,
ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_WAIT = 401,
ENCOUNTER_SUBSTATE_POST_BATTLE_ENEMY_FLED_TO_NEUTRAL = 402,
};
#endif

View File

@ -140,10 +140,12 @@ enum EventPriority {
};
enum EventStateFlags {
EVT_FLAG_01 = 0x01,
EVT_FLAG_10 = 0x10, // has child?
EVT_FLAG_20 = 0x20, // add to global script list
EVT_FLAG_40 = 0x40, // thread?
EVT_FLAG_ACTIVE = 0x01,
EVT_FLAG_SUSPENDED_IN_GROUP = 0x02,
EVT_FLAG_BLOCKED_BY_CHILD = 0x10,
EVT_FLAG_RUN_IMMEDIATELY = 0x20, ///< don't wait for next `update_scripts` call
EVT_FLAG_THREAD = 0x40,
EVT_FLAG_SUSPENDED = 0x80, ///< doesn't affect child
};
#endif

View File

@ -138,8 +138,7 @@ typedef struct NpcSettings {
/* 0x18 */ EvtScript* aux;
/* 0x1C */ EvtScript* onDefeat;
/* 0x20 */ s32 flags;
/* 0x24 */ char unk_24[3];
/* 0x24 */ s8 unk_27;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s16 level;
/* 0x2A */ s16 actionFlags; // action flags: 1 = jump on seeing player
} NpcSettings; // size = 0x2C
@ -268,12 +267,14 @@ typedef struct StaticNpc {
} StaticNpc; // size = 0x1F0
/// Zero-terminated.
typedef struct {
typedef struct NpcGroup {
/* 0x00 */ s32 npcCount;
/* 0x04 */ StaticNpc* npcs;
/* 0x08 */ s16 battle;
/* 0x0A */ s16 stage;
} NpcGroupList[]; // size = 0x0C
} NpcGroup; // size = 0x0C
typedef NpcGroup NpcGroupList[];
// function signature used for state handlers in AI main functions
typedef void AIStateHandler(Evt* script, MobileAISettings* settings, EnemyDetectVolume* territory);
@ -358,7 +359,7 @@ typedef struct EncounterStatus {
/* 0x00E */ s16 coinsEarned; /* valid after battle */
/* 0x010 */ char unk_10;
/* 0x011 */ s8 allowFleeing;
/* 0x012 */ s8 unk_12;
/* 0x012 */ s8 scriptedBattle; ///< battle started by StartBattle but not by encounter
/* 0x013 */ s8 dropWhackaBump;
/* 0x014 */ s32 songID;
/* 0x018 */ s32 unk_18;
@ -380,7 +381,15 @@ typedef struct EncounterStatus {
/* 0x0A0 */ s8 dizzyAttackStatus;
/* 0x0A1 */ char unk_A1[0x1];
/* 0x0A2 */ s16 dizzyAttackDuration;
/* 0x0A4 */ char unk_A4[0xC];
/* 0x0A4 */ s8 unk_A4;
/* 0x0A5 */ char unk_A5[0x1];
/* 0x0A6 */ s16 unk_A6;
/* 0x0A8 */ s8 unk_A8;
/* 0x0A9 */ char unk_A9[0x1];
/* 0x0AA */ s16 unk_AA;
/* 0x0AC */ s8 unk_AC;
/* 0x0AD */ char unk_AD[0x1];
/* 0x0AE */ s16 unk_AE;
/* 0x0B0 */ s32 defeatFlags[60][12];
/* 0xFB0 */ s16 recentMaps[2];
/* 0xFB4 */ char unk_FB4[4];

View File

@ -117,7 +117,7 @@ extern Window gWindows[64];
extern s32 D_802A3838;
extern s32 gGameState;
extern s32 gEncounterState;
extern s16 gNpcCount;
extern s32 gOverrideFlags;
extern s16 D_8009A6A0;
@ -173,7 +173,7 @@ extern Vec3s btl_actorHomePositions[];
extern SaveData gCurrentSaveFile;
extern s32 D_8009A5D0;
extern s32 gEncounterSubState;
extern s32 timeFreezeMode;
extern s32 D_8009A678;

View File

@ -1356,7 +1356,7 @@ block_52:
return;
}
btl_cam_use_preset(2);
btl_cam_use_preset(BTL_CAM_PRESET_C);
if (partner == NULL || !(gBattleStatus.flags1 & BS_FLAGS1_100000)) {
gBattleState2 = 4;
} else if (gBattleStatus.flags2 & 0x40) {
@ -1998,7 +1998,7 @@ void btl_state_update_end_training_battle(void) {
if (playerData->trainingsDone < 9999) {
playerData->trainingsDone++;
}
encounterStatus->battleOutcome = 3;
encounterStatus->battleOutcome = OUTCOME_ENEMY_FLED;
if (!(gBattleStatus.flags2 & BS_FLAGS2_2000000)) {
bgm_set_song(0, -1, 0, 1500, 8);
}
@ -2024,7 +2024,7 @@ void btl_state_update_end_battle(void) {
if (gGameStatusPtr->debugEnemyContact == 2) {
D_80280A30 = 255;
}
if (encounterStatus->battleOutcome == 1 && !(gBattleStatus.flags1 & BS_FLAGS1_800000)) {
if (encounterStatus->battleOutcome == OUTCOME_PLAYER_LOST && !(gBattleStatus.flags1 & BS_FLAGS1_800000)) {
btl_cam_unfreeze();
btl_cam_use_preset(BTL_CAM_PRESET_B);
set_screen_overlay_color(0, 0, 0, 0);
@ -2123,7 +2123,7 @@ void btl_state_update_end_battle(void) {
void btl_state_draw_end_battle(void) {
Camera* camera = &gCameras[gCurrentCameraID];
if (gCurrentEncounter.battleOutcome == 1 && !(gBattleStatus.flags1 & BS_FLAGS1_800000)) {
if (gCurrentEncounter.battleOutcome == OUTCOME_PLAYER_LOST && !(gBattleStatus.flags1 & BS_FLAGS1_800000)) {
camera->auxBoomZOffset += 0x100;
set_screen_overlay_params_front(7, D_80280A30);
} else {
@ -2223,7 +2223,7 @@ void btl_state_update_run_away(void) {
if (!(gBattleStatus.flags1 & BS_FLAGS1_ENEMY_FLED)) {
gBattleState2 = BATTLE_STATE2_UNK_3;
} else {
currentEncounter->battleOutcome = 2;
currentEncounter->battleOutcome = OUTCOME_PLAYER_FLED;
if (is_ability_active(ABILITY_RUNAWAY_PAY) == 0) {
gBattleState2 = BATTLE_STATE2_UNK_B;
} else {
@ -2888,7 +2888,6 @@ void btl_state_update_end_player_turn(void) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* player = battleStatus->playerActor;
Actor* partner = battleStatus->partnerActor;
s32 prevHPDrainCount;
Evt* script;
if (gBattleState2 == BATTLE_STATE2_UNK_0) {
@ -2927,7 +2926,7 @@ void btl_state_update_end_player_turn(void) {
gBattleState2 = BATTLE_STATE2_BEGIN_LEVEL_UP;
} else {
battleStatus->battlePhase = PHASE_PLAYER_HAPPY;
script = start_script(&PlayerScriptDispatcher, 0xA, 0);
script = start_script(&PlayerScriptDispatcher, EVT_PRIORITY_A, 0);
player->takeTurnScript = script;
player->takeTurnID = script->id;
script->owner1.actorID = ACTOR_PLAYER;
@ -2979,9 +2978,9 @@ void btl_state_update_end_player_turn(void) {
partner->currentPos.x += (player->state.currentPos.x - partner->currentPos.x) / player->state.moveTime;
partner->currentPos.z += (player->state.currentPos.z - partner->currentPos.z) / player->state.moveTime;
}
player->currentPos.z += sin_rad(DEG_TO_RAD(player->state.angle)) * 16.0f;
player->currentPos.z += sin_rad((player->state.angle * TAU) / 360.0f) * 16.0f;
player->yaw = clamp_angle(-player->state.angle);
partner->currentPos.z -= sin_rad(DEG_TO_RAD(player->state.angle)) * 16.0f;
partner->currentPos.z -= sin_rad((player->state.angle * TAU) / 360.0f) * 16.0f;
partner->yaw = clamp_angle(-player->state.angle);
player->state.angle += 90.0f;
@ -3720,19 +3719,19 @@ void btl_state_update_first_strike(void) {
}
switch (encounterStatus->hitType) {
case 2:
case ENCOUNTER_TRIGGER_JUMP:
battleStatus->moveCategory = 0;
battleStatus->selectedMoveID = MOVE_UNUSED_JUMP4;
battleStatus->selectedItemID = encounterStatus->hitTier;
battleStatus->currentTargetListFlags = gMoveTable[MOVE_UNUSED_JUMP4].flags;
break;
case 4:
case ENCOUNTER_TRIGGER_HAMMER:
battleStatus->moveCategory = 1;
battleStatus->selectedMoveID = MOVE_UNUSED_HAMMER4;
battleStatus->selectedItemID = encounterStatus->hitTier;
battleStatus->currentTargetListFlags = gMoveTable[MOVE_UNUSED_HAMMER4].flags;
break;
case 6:
case ENCOUNTER_TRIGGER_PARTNER:
btl_set_state(BATTLE_STATE_PARTNER_FIRST_STRIKE);
return;
}
@ -3740,7 +3739,7 @@ void btl_state_update_first_strike(void) {
enemy = get_actor(ACTOR_ENEMY0);
if (enemy->onHitScriptSource != NULL) {
enemy->lastEventType = EVENT_BEGIN_FIRST_STRIKE;
script = start_script(enemy->onHitScriptSource, 0xA, 0x20);
script = start_script(enemy->onHitScriptSource, 0xA, EVT_FLAG_RUN_IMMEDIATELY);
enemy->onHitScript = script;
enemy->onHitID = script->id;
script->owner1.actorID = enemy->actorID;
@ -3843,7 +3842,7 @@ void btl_state_update_first_strike(void) {
if (target != NULL) {
if (target->onHitScriptSource != NULL) {
target->lastEventType = EVENT_END_FIRST_STRIKE;
script = start_script(target->onHitScriptSource, 0xA, 0x20);
script = start_script(target->onHitScriptSource, 0xA, EVT_FLAG_RUN_IMMEDIATELY);
target->onHitScript = script;
target->onHitID = script->id;
script->owner1.actorID = target->actorID;
@ -3931,7 +3930,7 @@ void btl_state_update_partner_striking_first(void) {
actor = get_actor(ACTOR_ENEMY0);
if (actor->onHitScriptSource != NULL) {
actor->lastEventType = EVENT_BEGIN_FIRST_STRIKE;
script = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20);
script = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
actor->onHitScript = script;
actor->onHitID = script->id;
script->owner1.actorID = actor->actorID;
@ -4014,7 +4013,7 @@ void btl_state_update_partner_striking_first(void) {
if (actor != NULL) {
if (actor->onHitScriptSource != NULL) {
actor->lastEventType = EVENT_END_FIRST_STRIKE;
script = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20);
script = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
actor->onHitScript = script;
actor->onHitID = script->id;
script->owner1.actorID = actor->actorID;

View File

@ -445,7 +445,7 @@ INCLUDE_ASM(s32, "181810", save_tattle_flags);
INCLUDE_ASM(s32, "181810", load_tattle_flags);
ApiStatus func_80253FB0(Evt* script, s32 isInitialCall) {
gCurrentEncounter.battleOutcome = 3;
gCurrentEncounter.battleOutcome = OUTCOME_ENEMY_FLED;
btl_set_state(BATTLE_STATE_END_BATTLE);
return ApiStatus_DONE2;

View File

@ -2768,29 +2768,29 @@ void start_rumble_type(u32 arg0) {
case 0:
break;
case 1:
D_802939C0 = start_script(&D_802939C4, EVT_PRIORITY_A, EVT_FLAG_20)->id;
D_802939C0 = start_script(&D_802939C4, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id;
break;
case 2:
D_802939C0 = start_script(&D_80293A10, EVT_PRIORITY_A, EVT_FLAG_20)->id;
D_802939C0 = start_script(&D_80293A10, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id;
break;
case 3:
D_802939C0 = start_script(&D_80293A34, EVT_PRIORITY_A, EVT_FLAG_20)->id;
D_802939C0 = start_script(&D_80293A34, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id;
break;
case 4:
D_802939C0 = start_script(&D_80293A58, EVT_PRIORITY_A, EVT_FLAG_20)->id;
D_802939C0 = start_script(&D_80293A58, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id;
break;
case 5:
D_802939C0 = start_script(&D_80293A7C, EVT_PRIORITY_A, EVT_FLAG_20)->id;
D_802939C0 = start_script(&D_80293A7C, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id;
break;
case 6:
D_802939C0 = start_script(&D_80293AA0, EVT_PRIORITY_A, EVT_FLAG_20)->id;
D_802939C0 = start_script(&D_80293AA0, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id;
break;
case 7:
case 8:
case 9:
case 10:
case 11:
D_802939C0 = start_script(&D_80293AC4, EVT_PRIORITY_A, EVT_FLAG_20)->id;
D_802939C0 = start_script(&D_80293AC4, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY)->id;
break;
}
}

View File

@ -139,7 +139,7 @@ void dispatch_event_player(s32 eventType) {
oldOnHitScript = player->onHitScript;
oldOnHitID = player->onHitID;
eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_20);
eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
player->onHitScript = eventScript;
player->onHitID = eventScript->id;
eventScript->owner1.actor = NULL;
@ -165,7 +165,7 @@ void dispatch_event_player_continue_turn(s32 eventType) {
oldOnHitScript = player->onHitScript;
oldOnHitID = player->onHitID;
eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_20);
eventScript = start_script(&HandleEvent_Player, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
player->onHitScript = eventScript;
player->onHitID = eventScript->id;
eventScript->owner1.actor = NULL;

View File

@ -110,7 +110,7 @@ void dispatch_event_actor(Actor* actor, s32 event) {
Evt* newScript;
actor->lastEventType = event;
newScript = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20);
newScript = start_script(actor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
actor->onHitScript = newScript;
actor->onHitID = newScript->id;
newScript->owner1.actorID = actor->actorID;

View File

@ -14,7 +14,7 @@ void dispatch_event_partner(s32 lastEventType) {
Evt* script;
partnerActor->lastEventType = lastEventType;
script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20);
script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
partnerActor->onHitScript = script;
partnerActor->onHitID = script->id;
script->owner1.actorID = ACTOR_PARTNER;
@ -37,7 +37,7 @@ void dispatch_event_partner_continue_turn(s8 lastEventType) {
Evt* script;
partnerActor->lastEventType = lastEventType;
script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_20);
script = start_script(partnerActor->onHitScriptSource, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
partnerActor->onHitScript = script;
partnerActor->onHitID = script->id;
script->owner1.actorID = ACTOR_PARTNER;

View File

@ -1,999 +0,0 @@
#include "common.h"
#include "battle/battle.h"
#include "script_api/battle.h"
#include "npc.h"
#include "effects.h"
#include "hud_element.h"
#include "world/partners.h"
#include "sprite.h"
#include "sprite/npc/BattleMerlee.h"
ApiStatus ShowMerleeCoinMessage(Evt* script, s32 isInitialCall);
ApiStatus ShowMerleeRanOutMessage(Evt* script, s32 isInitialCall);
ApiStatus FadeInMerlee(Evt* script, s32 isInitialCall);
ApiStatus FadeOutMerlee(Evt* script, s32 isInitialCall);
ApiStatus MerleeUpdateFX(Evt* script, s32 isInitialCall);
ApiStatus MerleeStopFX(Evt* script, s32 isInitialCall);
ApiStatus PlayMerleeGatherFX(Evt* script, s32 isInitialCall);
ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall);
s32 D_80077C40 = 0;
EvtScript D_80077C44 = {
EVT_WAIT(10)
EVT_CALL(FadeBackgroundToBlack)
EVT_WAIT(10)
EVT_CALL(CreateNpc, NPC_BTL_MERLEE, ANIM_BattleMerlee_Gather)
EVT_CALL(SetNpcFlagBits, NPC_BTL_MERLEE, NPC_FLAG_100, TRUE)
EVT_CALL(SetNpcYaw, NPC_BTL_MERLEE, 0)
EVT_CALL(GetCamLookAtObjVector)
EVT_CALL(SetNpcPos, NPC_BTL_MERLEE, LVar0, LVar1, LVar2)
EVT_THREAD
EVT_CALL(MerleeUpdateFX)
EVT_END_THREAD
EVT_CALL(FadeInMerlee)
EVT_WAIT(30)
EVT_CALL(SetNpcAnimation, NPC_BTL_MERLEE, ANIM_BattleMerlee_Release)
EVT_CALL(MerleeStopFX)
EVT_CALL(UnfadeBackgroundFromBlack)
EVT_WAIT(20)
EVT_THREAD
EVT_CALL(FadeOutMerlee)
EVT_CALL(DeleteNpc, NPC_BTL_MERLEE)
EVT_END_THREAD
EVT_CALL(PlaySound, SOUND_2075)
EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2)
EVT_CALL(PlayMerleeGatherFX, LVar0, LVar1, LVar2)
EVT_CALL(PlayMerleeOrbFX, LVar0, LVar1, LVar2)
EVT_WAIT(15)
EVT_CALL(ShowMerleeCoinMessage)
EVT_WAIT(15)
EVT_CALL(HasMerleeCasts)
EVT_IF_EQ(LVar0, 1)
EVT_RETURN
EVT_END_IF
EVT_CALL(ShowMerleeRanOutMessage)
EVT_WAIT(15)
EVT_RETURN
EVT_END
};
EvtScript SCRIPT_NpcDefeat = {
EVT_CALL(GetBattleOutcome, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(0)
EVT_CALL(OnDefeatEnemy)
EVT_CASE_EQ(1)
EVT_CASE_EQ(2)
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
EvtScript D_80077E9C = {
EVT_CALL(OnFleeBattleDrops)
EVT_RETURN
EVT_END
};
EnemyDrops D_80077EB8 = {
.dropFlags = NPC_DROP_FLAGS_80,
.itemDropChance = 10,
.itemDrops = {
{
.item = ITEM_MUSHROOM,
.weight = 50,
.unk_04 = -1,
},
},
.heartDrops = {
{
.cutoff = F16(75),
.generalChance = F16(100),
.attempts = 0,
.chancePerAttempt = 1,
},
{
.cutoff = F16(50),
.generalChance = F16(75),
.attempts = 0,
.chancePerAttempt = 2,
},
{
.cutoff = F16(25),
.generalChance = F16(50),
.attempts = 0,
.chancePerAttempt = 3,
},
{
.cutoff = F16(0),
.generalChance = F16(25),
.attempts = 0,
.chancePerAttempt = 4,
},
},
.flowerDrops = {
{
.cutoff = 1,
.generalChance = 3,
.attempts = 0,
.chancePerAttempt = 0,
},
},
.minCoinBonus = 0,
.maxCoinBonus = 0,
};
EvtScript EnemyNpcHit = {
EVT_CALL(GetOwnerEncounterTrigger, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(ENCOUNTER_TRIGGER_NONE)
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_JUMP)
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_HAMMER)
EVT_CASE_OR_EQ(ENCOUNTER_TRIGGER_PARTNER)
EVT_CALL(GetSelfAnimationFromTable, ENEMY_ANIM_INDEX_HIT, LVar0)
EVT_EXEC_WAIT(EVS_NpcHitRecoil)
EVT_CASE_EQ(ENCOUNTER_TRIGGER_SPIN)
EVT_THREAD
EVT_CALL(func_800458CC, LVar0)
EVT_IF_EQ(LVar0, 0)
EVT_SET(LVarA, 0)
EVT_LOOP(30)
EVT_ADD(LVarA, 40)
EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVarA, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_IF
EVT_END_THREAD
EVT_END_CASE_GROUP
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
EvtScript EnemyNpcDefeat = {
EVT_CALL(SetNpcRotation, NPC_SELF, 0, 0, 0)
EVT_CALL(GetBattleOutcome, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(OUTCOME_PLAYER_WON)
EVT_CALL(DoNpcDefeat)
EVT_CASE_EQ(OUTCOME_PLAYER_FLED)
EVT_CALL(OnPlayerFled, 0)
EVT_CASE_EQ(OUTCOME_ENEMY_FLED)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_10, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
EVT_END
};
extern s8 D_8009A654;
extern s16 D_8009A668;
extern s32 D_800A0BA0;
extern f32 D_800A0BA4;
extern EffectInstance* WorldMerleeOrbEffect;
extern EffectInstance* WorldMerleeWaveEffect;
void set_battle_formation(Battle*);
s32 get_defeated(s32 mapID, s32 encounterID) {
EncounterStatus* currentEncounter = &gCurrentEncounter;
s32 encounterIdx = encounterID / 32;
s32 encounterShift = encounterID % 32;
return currentEncounter->defeatFlags[mapID][encounterIdx] & (1 << encounterShift);
}
void set_defeated(s32 mapID, s32 encounterID) {
EncounterStatus* currentEncounter = &gCurrentEncounter;
s32 encounterIdx = encounterID / 32;
s32 encounterShift;
s32 flag;
flag = encounterID % 32;
encounterShift = flag;
flag = currentEncounter->defeatFlags[mapID][encounterIdx];
currentEncounter->defeatFlags[mapID][encounterIdx] = flag | (1 << encounterShift);
// TODO: The below should work but has regalloc issues:
/*EncounterStatus *currentEncounter = &gCurrentEncounter;
s32 encounterIdx = encounterID / 32;
s32 encounterShift = encounterID % 32;
currentEncounter->defeatFlags[mapID][encounterIdx] |= (1 << encounterShift);*/
}
ApiStatus ShowMerleeCoinMessage(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
show_merlee_message(0, 60);
}
if (is_merlee_message_done()) {
return ApiStatus_BLOCK;
} else {
return ApiStatus_DONE2;
}
}
ApiStatus ShowMerleeRanOutMessage(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
show_merlee_message(1, 60);
}
if (is_merlee_message_done()) {
return ApiStatus_BLOCK;
} else {
return ApiStatus_DONE2;
}
}
ApiStatus FadeBackgroundToBlack(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
mdl_set_all_fog_mode(1);
*gBgRenderTypePtr = BACKGROUND_RENDER_TYPE_1;
set_background_color_blend(0, 0, 0, 0);
script->functionTemp[0] = 25;
}
set_background_color_blend(0, 0, 0, ((25 - script->functionTemp[0]) * 10) & 254);
script->functionTemp[0]--;
if (script->functionTemp[0] == 0) {
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus UnfadeBackgroundFromBlack(Evt* script, s32 isInitialCall) {
if (isInitialCall) {
script->functionTemp[0] = 25;
}
set_background_color_blend(0, 0, 0, (script->functionTemp[0] * 10) & 0xFE);
script->functionTemp[0] -= 5;
if (script->functionTemp[0] == 0) {
set_background_color_blend(0, 0, 0, 0);
return ApiStatus_DONE2;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus FadeInMerlee(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(NPC_BTL_MERLEE);
if (isInitialCall) {
sfx_play_sound(SOUND_24B);
npc->alpha = 0;
}
npc->alpha += 17;
if ((u32)(npc->alpha & 0xFF) >= 0xFF) {
npc->alpha = 0xFF;
return ApiStatus_DONE1;
} else {
return ApiStatus_BLOCK;
}
}
ApiStatus FadeOutMerlee(Evt* script, s32 isInitialCall) {
Npc* npc = get_npc_unsafe(NPC_BTL_MERLEE);
npc->alpha -= 17;
if (npc->alpha == 0) {
npc->alpha = 0;
return ApiStatus_DONE1;
} else {
return ApiStatus_BLOCK;
}
}
// same as BattleMerleeUpdateFX aside from syms
ApiStatus MerleeUpdateFX(Evt* script, s32 isInitialCall) {
Npc* merlee = get_npc_unsafe(NPC_BTL_MERLEE);
EnergyOrbWaveFXData* effectData;
if (isInitialCall) {
script->functionTemp[1] = 0;
D_800A0BA4 = merlee->pos.y;
WorldMerleeOrbEffect = fx_energy_orb_wave(0, merlee->pos.x, merlee->pos.y, merlee->pos.z, 0.4f, 0);
WorldMerleeWaveEffect = fx_energy_orb_wave(3, merlee->pos.x, merlee->pos.y, merlee->pos.z, 0.00001f, 0);
D_800A0BB8 = 0;
D_800A0BA0 = 12;
sfx_play_sound(SOUND_2074);
}
merlee->pos.y = D_800A0BA4 + sin_rad(DEG_TO_RAD(script->functionTemp[1])) * 3.0f;
script->functionTemp[1] += 10;
script->functionTemp[1] = clamp_angle(script->functionTemp[1]);
effectData = WorldMerleeOrbEffect->data.energyOrbWave;
effectData->pos.x = merlee->pos.x;
effectData->pos.y = merlee->pos.y + 16.0f;
effectData->pos.z = merlee->pos.z;
effectData = WorldMerleeWaveEffect->data.energyOrbWave;
effectData->pos.x = merlee->pos.x;
effectData->pos.y = merlee->pos.y + 16.0f;
effectData->pos.z = merlee->pos.z + 5.0f;
if (D_800A0BB8 == 2) {
WorldMerleeOrbEffect->data.energyOrbWave->scale = 0.00001f;
WorldMerleeWaveEffect->data.energyOrbWave->scale = 0.00001f;
WorldMerleeOrbEffect->flags |= EFFECT_INSTANCE_FLAGS_10;
WorldMerleeWaveEffect->flags |= EFFECT_INSTANCE_FLAGS_10;
return ApiStatus_DONE1;
}
if (D_800A0BB8 == 1) {
effectData = WorldMerleeOrbEffect->data.energyOrbWave;
effectData->scale += 0.35;
if (effectData->scale > 3.5) {
effectData->scale = 3.5f;
}
if (D_800A0BA0 != 0) {
D_800A0BA0--;
} else {
effectData = WorldMerleeWaveEffect->data.energyOrbWave;
effectData->scale += 0.5;
if (effectData->scale > 5.0) {
D_800A0BB8 = 2;
}
}
}
return ApiStatus_BLOCK;
}
ApiStatus MerleeStopFX(Evt* script, s32 isInitialCall) {
D_800A0BB8 = 1;
return ApiStatus_DONE2;
}
ApiStatus GetCamLookAtObjVector(Evt* script, s32 isInitialCall) {
script->varTable[0] = gCameras[gCurrentCameraID].lookAt_obj.x;
script->varTable[1] = gCameras[gCurrentCameraID].lookAt_obj.y;
script->varTable[2] = gCameras[gCurrentCameraID].lookAt_obj.z;
return ApiStatus_DONE2;
}
ApiStatus HasMerleeCasts(Evt* script, s32 isInitialCall) {
script->varTable[0] = FALSE;
if (gPlayerData.merleeCastsLeft > 0) {
script->varTable[0] = TRUE;
}
return ApiStatus_DONE2;
}
ApiStatus PlayMerleeGatherFX(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 var0 = evt_get_variable(script, *args++);
s32 var1 = evt_get_variable(script, *args++);
s32 var2 = evt_get_variable(script, *args++);
fx_energy_in_out(6, var0, var1, var2, 1.2f, 30);
return ApiStatus_DONE2;
}
ApiStatus PlayMerleeOrbFX(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 var0 = evt_get_variable(script, *args++);
s32 var1 = evt_get_variable(script, *args++);
s32 var2 = evt_get_variable(script, *args++);
fx_energy_orb_wave(9, var0, var1, var2, 5.0f, 15);
return ApiStatus_DONE2;
}
ApiStatus OnDefeatEnemy(Evt* script, s32 isInitialCall) {
Enemy* enemy = script->owner1.enemy;
Npc* npc = get_npc_unsafe(enemy->npcID);
s32 temp1;
if (isInitialCall) {
script->functionTemp[0] = 0;
script->functionTemp[1] = 20;
}
if (script->functionTemp[1] & 1) {
npc->flags &= ~NPC_FLAG_2;
} else {
npc->flags |= NPC_FLAG_2;
}
if (script->functionTemp[1] == 15) {
sfx_play_sound(SOUND_DEATH);
fx_damage_stars(1, npc->pos.x, npc->pos.y + (npc->collisionHeight / 2), npc->pos.z, 0, -1.0f, 0, 10);
}
temp1 = script->functionTemp[1];
if (script->functionTemp[1] == 10) {
fx_big_smoke_puff(npc->pos.x, npc->pos.y + 10.0f, npc->pos.z + 10.0f);
if (script->functionTemp[1] == temp1) { // what? (never can be false, seemingly)
spawn_drops(enemy);
}
}
script->functionTemp[1]--;
if (script->functionTemp[1] == 0) {
npc->flags |= NPC_FLAG_2;
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}
ApiStatus OnFleeBattleDrops(Evt* script, s32 isInitialCall) {
PlayerStatus* playerStatus = &gPlayerStatus;
PlayerData* playerData = &gPlayerData;
if (isInitialCall) {
script->functionTemp[0] = 0;
script->functionTemp[1] = 40;
script->functionTemp[2] = 0;
}
script->functionTemp[2]++;
if (script->functionTemp[2] >= 5) {
if (rand_int(100) < 50) {
if (playerData->coins != 0) {
playerData->coins--;
make_item_entity_delayed(ITEM_COIN, playerStatus->position.x, playerStatus->position.y + playerStatus->colliderHeight,
playerStatus->position.z, 3, 0, 0);
}
}
script->functionTemp[2] = 0;
}
return --script->functionTemp[1] == 0;
}
/// Default/neutral state during world gameplay; checks for player-enemy collisions and initiates battles when they occur.
INCLUDE_ASM(s32, "1a1f0_len_5390", update_encounters_neutral);
void draw_encounters_neutral(void) {
}
void update_encounters_pre_battle(void) {
EncounterStatus* currentEncounter = &gCurrentEncounter;
PlayerData* playerData = &gPlayerData;
Encounter* encounter;
Enemy* enemy;
s32 i;
s32 j;
switch (D_8009A5D0) {
case 0:
currentEncounter->fadeOutAmount = 0;
currentEncounter->unk_94 = 1;
currentEncounter->fadeOutAccel = 1;
currentEncounter->unk_08 = -1;
D_8009A654 = 0;
D_80077C40 = 0;
suspend_all_group(0x10);
for (i = 0; i < currentEncounter->numEncounters; i++) {
encounter = currentEncounter->encounterList[i];
if (encounter != NULL) {
for (j = 0; j < encounter->count; j++) {
enemy = encounter->enemy[j];
if (enemy != NULL && !(enemy->flags & NPC_FLAG_NO_AI)) {
if (enemy->aiScript != NULL) {
suspend_all_script(enemy->aiScriptID);
}
if (enemy->auxScript != NULL) {
suspend_all_script(enemy->auxScriptID);
}
}
}
}
}
enemy = currentEncounter->currentEnemy;
if ((enemy->flags & NPC_FLAG_MOTION_BLUR) && currentEncounter->unk_12 == 0) {
currentEncounter->unk_94 = 0;
currentEncounter->battleStartCountdown = 0;
partner_handle_before_battle();
D_8009A5D0 = 3;
return;
}
if (gGameStatusPtr->debugEnemyContact == 2) {
currentEncounter->unk_94 = 0;
currentEncounter->battleStartCountdown = 10;
partner_handle_before_battle();
D_8009A5D0 = 2;
return;
}
enemy = currentEncounter->currentEnemy;
if (currentEncounter->hitType != 1 &&
currentEncounter->hitType != 3 &&
is_ability_active(ABILITY_FIRST_ATTACK) &&
(playerData->level >= enemy->npcSettings->level) &&
!(enemy->flags & ENEMY_FLAGS_40) &&
currentEncounter->unk_12 == 0)
{
currentEncounter->unk_94 = 0;
currentEncounter->battleStartCountdown = 0xA;
D_80077C40 = 1;
D_8009A5D0 = 2;
return;
}
enemy = currentEncounter->currentEnemy;
if ((
(is_ability_active(ABILITY_BUMP_ATTACK)) &&
(playerData->level >= enemy->npcSettings->level) &&
(!(enemy->flags & ENEMY_FLAGS_40) &&
(currentEncounter->unk_12 == 0))
) || (
(enemy = currentEncounter->currentEnemy,
(currentEncounter->hitType == 3)) &&
(is_ability_active(ABILITY_SPIN_ATTACK)) &&
playerData->level >= enemy->npcSettings->level &&
!(enemy->flags & ENEMY_FLAGS_40) &&
currentEncounter->unk_12 == 0
))
{
currentEncounter->battleStartCountdown = 10;
D_80077C40 = 1;
currentEncounter->unk_94 = 0;
D_8009A5D0 = 2;
return;
}
if (currentEncounter->songID < 0) {
switch (currentEncounter->firstStrikeType) {
case 0:
bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_NONE);
break;
case 1:
bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_PLAYER);
break;
case 2:
bgm_set_battle_song(SONG_NORMAL_BATTLE, FIRST_STRIKE_ENEMY);
break;
}
} else {
bgm_set_battle_song(currentEncounter->songID, FIRST_STRIKE_NONE);
}
bgm_push_battle_song();
D_8009A654 = 1;
currentEncounter->battleStartCountdown = 10;
D_8009A5D0 = 1;
case 1:
if (currentEncounter->fadeOutAmount == 255) {
if (currentEncounter->battleStartCountdown != 0) {
currentEncounter->battleStartCountdown--;
break;
}
encounter = currentEncounter->currentEncounter;
for (i = 0; i < encounter->count; i++) {
enemy = encounter->enemy[i];
if (enemy != NULL &&
((!(enemy->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) || enemy == currentEncounter->currentEnemy)) &&
!(enemy->flags & NPC_FLAG_NO_AI) &&
enemy->hitScript != NULL)
{
kill_script_by_ID(enemy->hitScriptID);
enemy->hitScript = NULL;
}
}
partner_handle_before_battle();
currentEncounter->dizzyAttackStatus = 0;
currentEncounter->dizzyAttackDuration = 0;
enemy = currentEncounter->currentEnemy;
currentEncounter->unk_10 = enemy->unk_B5;
if (is_ability_active(ABILITY_DIZZY_ATTACK) && currentEncounter->hitType == 3) {
currentEncounter->dizzyAttackStatus = 4;
currentEncounter->dizzyAttackDuration = 3;
}
sfx_stop_sound(SOUND_2111);
sfx_stop_sound(SOUND_2112);
sfx_stop_sound(SOUND_2113);
sfx_stop_sound(SOUND_2114);
set_battle_formation(NULL);
set_battle_stage(encounter->stage);
load_battle(encounter->battle);
currentEncounter->unk_07 = 1;
currentEncounter->unk_08 = 0;
currentEncounter->merleeCoinBonus = 0;
currentEncounter->damageTaken = 0;
currentEncounter->coinsEarned = 0;
currentEncounter->fadeOutAccel = 0;
currentEncounter->fadeOutAmount = 255;
set_screen_overlay_params_front(0, 255.0f);
gGameState = 5;
D_8009A678 = 1;
D_8009A5D0 = 0;
}
break;
case 2:
if (currentEncounter->battleStartCountdown != 0) {
currentEncounter->battleStartCountdown--;
break;
}
encounter = currentEncounter->currentEncounter;
for (i = 0; i < encounter->count; i++) {
enemy = encounter->enemy[i];
if (enemy != NULL &&
(!(enemy->flags & NPC_FLAG_ENABLE_HIT_SCRIPT) || enemy == currentEncounter->currentEnemy) &&
!(enemy->flags & NPC_FLAG_NO_AI) &&
(enemy->hitScript != 0))
{
kill_script_by_ID(enemy->hitScriptID);
enemy->hitScript = NULL;
}
}
currentEncounter->unk_08 = 1;
currentEncounter->unk_07 = 1;
currentEncounter->battleOutcome = 0;
currentEncounter->merleeCoinBonus = 0;
currentEncounter->damageTaken = 0;
gGameState = 5;
currentEncounter->coinsEarned = 0;
currentEncounter->fadeOutAccel = 0;
currentEncounter->fadeOutAmount = 0;
D_8009A678 = 1;
D_8009A5D0 = 0;
break;
case 3:
currentEncounter->battleOutcome = 4;
currentEncounter->unk_08 = 1;
currentEncounter->fadeOutAmount = 0;
currentEncounter->fadeOutAccel = 0;
gGameState = 5;
D_8009A678 = 1;
D_8009A5D0 = 0;
break;
}
}
void draw_encounters_pre_battle(void) {
EncounterStatus* encounter = &gCurrentEncounter;
Npc* npc = get_npc_unsafe(encounter->currentEnemy->npcID);
PlayerStatus* playerStatus = &gPlayerStatus;
if (encounter->unk_94 != 0) {
f32 playerX, playerY, playerZ;
f32 otherX, otherY, otherZ;
s32 pScreenX, pScreenY, pScreenZ;
s32 oScreenX, oScreenY, oScreenZ;
if (encounter->fadeOutAmount != 255) {
encounter->fadeOutAccel++;
if (encounter->fadeOutAccel > 10) {
encounter->fadeOutAccel = 10;
}
encounter->fadeOutAmount += encounter->fadeOutAccel;
if (encounter->fadeOutAmount > 255) {
encounter->fadeOutAmount = 255;
}
playerX = playerStatus->position.x;
playerY = playerStatus->position.y;
playerZ = playerStatus->position.z;
otherX = npc->pos.x;
otherY = npc->pos.y;
otherZ = npc->pos.z;
if (otherY < -990.0f) {
otherX = playerX;
otherY = playerY;
otherZ = playerZ;
}
if (gGameStatusPtr->demoState == 2) {
set_screen_overlay_params_back(10, encounter->fadeOutAmount);
set_screen_overlay_alpha(1, 255.0f);
set_screen_overlay_color(1, 0, 0, 0);
get_screen_coords(gCurrentCameraID, playerX, playerY + 20.0f, playerZ, &pScreenX, &pScreenY, &pScreenZ);
get_screen_coords(gCurrentCameraID, otherX, otherY + 15.0f, otherZ, &oScreenX, &oScreenY, &oScreenZ);
set_screen_overlay_center(1, 0, (pScreenX - oScreenX) / 2 + oScreenX,
(pScreenY - oScreenY) / 2 + oScreenY);
} else {
set_screen_overlay_params_front(10, encounter->fadeOutAmount);
set_screen_overlay_alpha(0, 255.0f);
set_screen_overlay_color(0, 0, 0, 0);
get_screen_coords(gCurrentCameraID, playerX, playerY + 20.0f, playerZ, &pScreenX, &pScreenY, &pScreenZ);
get_screen_coords(gCurrentCameraID, otherX, otherY + 15.0f, otherZ, &oScreenX, &oScreenY, &oScreenZ);
set_screen_overlay_center(0, 0, (pScreenX - oScreenX) / 2 + oScreenX,
(pScreenY - oScreenY) / 2 + oScreenY);
}
}
}
}
void show_first_strike_message(void) {
EncounterStatus* currentEncounter = &gCurrentEncounter;
s32 posX;
s32 width;
s32 xOffset;
s32 screenWidthHalf;
if (currentEncounter->unk_94 == 0) {
D_8009A668 = -200;
return;
}
D_8009A668 += 40;
xOffset = D_8009A668;
if (xOffset > 0) {
if (xOffset < 1600) {
xOffset = 0;
} else {
xOffset -= 1600;
}
}
screenWidthHalf = SCREEN_WIDTH / 2;
switch (currentEncounter->firstStrikeType) {
case FIRST_STRIKE_PLAYER:
switch (currentEncounter->hitType) {
case 2:
case 4:
width = get_msg_width(0x1D00AC, 0) + 24;
posX = (xOffset + screenWidthHalf) - (width / 2);
draw_box(0, 0x14, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL,
SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
draw_msg(0x1D00AC, posX + 11, 75, 0xFF, 0xA, 0);
break;
case 6:
width = get_msg_width(0x1D00AD, 0) + 24;
posX = (xOffset + screenWidthHalf) - (width / 2);
draw_box(0, 0x14, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL,
SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
draw_msg(0x1D00AD, posX + 11, 75, 0xFF, 0xA, 0);
break;
}
break;
case FIRST_STRIKE_ENEMY:
if (!is_ability_active(ABILITY_CHILL_OUT)) {
width = get_msg_width(0x1D00AE, 0) + 24;
posX = (xOffset + screenWidthHalf) - (width / 2);
draw_box(0, 4, posX, 69, 0, width, 28, 255, 0, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, NULL, 0, NULL,
SCREEN_WIDTH, SCREEN_HEIGHT, NULL);
draw_msg(0x1D00AE, posX + 11, 75, 0xFF, 0xA, 0);
}
break;
}
}
INCLUDE_ASM(s32, "1a1f0_len_5390", update_encounters_post_battle);
void draw_encounters_post_battle(void) {
EncounterStatus* currentEncounter = &gCurrentEncounter;
s32 ret = currentEncounter->fadeOutAccel;
if (ret != 0) {
set_screen_overlay_params_front(0, currentEncounter->fadeOutAmount);
set_screen_overlay_color(0, 0, 0, 0);
}
}
void update_encounters_conversation(void) {
EncounterStatus* encounter = &gCurrentEncounter;
PlayerStatus* playerStatus = &gPlayerStatus;
Enemy* currentEnemy;
s32 flag;
switch (D_8009A5D0) {
case 0:
currentEnemy = encounter->currentEnemy;
flag = FALSE;
if (currentEnemy->interactScript != NULL) {
if (does_script_exist(currentEnemy->interactScriptID)) {
flag = TRUE;
} else {
currentEnemy->interactScript = NULL;
}
}
if (currentEnemy->hitScript != NULL) {
if (does_script_exist(currentEnemy->hitScriptID)) {
flag = TRUE;
} else {
currentEnemy->hitScript = NULL;
}
}
if (!flag) {
D_8009A5D0 = 1;
}
break;
case 1:
resume_all_group(1);
currentEnemy = encounter->currentEnemy;
if (currentEnemy != NULL && currentEnemy->aiScript != NULL) {
resume_all_script(currentEnemy->aiScriptID);
}
enable_player_input();
partner_enable_input();
if (playerStatus->actionState == ACTION_STATE_TALK) {
set_action_state(ACTION_STATE_IDLE);
}
func_800EF3D4(0);
encounter->hitType = 0;
resume_all_group(16);
gGameState = 2;
D_8009A678 = 1;
D_8009A5D0 = 0;
break;
}
}
void draw_encounters_conversation(void) {
}
s32 check_conversation_trigger(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
Camera* camera = &gCameras[gCurrentCameraID];
EncounterStatus* encounterStatus = &gCurrentEncounter;
f32 npcX, npcY, npcZ;
f32 angle;
f32 deltaX, deltaZ;
Encounter* encounter;
f32 playerX, playerY, playerZ;
f32 playerColliderHeight;
f32 playerColliderRadius;
f32 length;
f32 npcCollisionHeight;
f32 npcCollisionRadius;
Encounter* encounterTemp;
Npc* npc;
Npc* encounterNpc;
Enemy* enemy;
Enemy* encounterEnemy;
f32 minLength;
f32 xTemp, yTemp, zTemp;
s32 i, j;
playerStatus->encounteredNPC = NULL;
playerStatus->flags &= ~PS_FLAGS_HAS_CONVERSATION_NPC;
playerColliderHeight = playerStatus->colliderHeight;
playerColliderRadius = playerStatus->colliderDiameter / 2;
playerX = playerStatus->position.x;
playerY = playerStatus->position.y;
playerZ = playerStatus->position.z;
if (gPartnerActionStatus.partnerActionState != PARTNER_ACTION_NONE) {
return FALSE;
}
encounter = NULL;
npc = NULL;
enemy = NULL;
minLength = 65535.0f;
for (i = 0; i < encounterStatus->numEncounters; i++) {
encounterTemp = encounterStatus->encounterList[i];
if (encounterTemp == NULL) {
continue;
}
for (j = 0; j < encounterTemp->count; j++) {
encounterEnemy = encounterTemp->enemy[j];
if (encounterEnemy == NULL) {
continue;
}
if (encounterEnemy->flags & (ENEMY_FLAGS_80000000 | ENEMY_FLAGS_20)) {
continue;
}
if (!(encounterEnemy->flags & ENEMY_FLAGS_1)) {
continue;
}
if ((encounterEnemy->flags & ENEMY_FLAGS_8000000) || encounterEnemy->interactBytecode == NULL) {
continue;
}
encounterNpc = get_npc_unsafe(encounterEnemy->npcID);
npcX = encounterNpc->pos.x;
npcY = encounterNpc->pos.y;
npcZ = encounterNpc->pos.z;
deltaX = npcX - playerX;
deltaZ = npcZ - playerZ;
npcCollisionHeight = encounterNpc->collisionHeight;
npcCollisionRadius = encounterNpc->collisionRadius;
length = sqrtf(SQ(deltaX) + SQ(deltaZ));
if ((playerColliderRadius + npcCollisionRadius <= length) ||
(npcY + npcCollisionHeight < playerY) ||
(playerY + playerColliderHeight < npcY)) {
continue;
}
if (clamp_angle(playerStatus->spriteFacingAngle) < 180.0f) {
angle = clamp_angle(camera->currentYaw - 120.0f);
if (playerStatus->trueAnimation & SPRITE_ID_BACK_FACING) {
angle = clamp_angle(angle + 60.0f);
}
} else {
angle = clamp_angle(camera->currentYaw + 120.0f);
if (playerStatus->trueAnimation & SPRITE_ID_BACK_FACING) {
angle = clamp_angle(angle - 60.0f);
}
}
if (fabsf(get_clamped_angle_diff(angle, atan2(playerX, playerZ, npcX, npcZ))) > 90.0f) {
continue;
}
if (!(encounterEnemy->flags & ENEMY_FLAGS_10000) && encounterNpc->flags & NPC_FLAG_20000000) {
xTemp = npcX;
yTemp = npcY;
zTemp = npcZ;
if (npc_test_move_taller_with_slipping(0, &xTemp, &yTemp, &zTemp, length,
atan2(npcX, npcZ, playerX, playerZ),
npcCollisionHeight,
2.0f * npcCollisionRadius) != 0) {
continue;
}
}
if (length < minLength) {
minLength = length;
encounter = encounterTemp;
npc = encounterNpc;
enemy = encounterEnemy;
}
}
}
if (!(playerStatus->animFlags & PA_FLAGS_8BIT_MARIO) && npc != NULL && !is_picking_up_item()) {
playerStatus->encounteredNPC = npc;
playerStatus->flags |= PS_FLAGS_HAS_CONVERSATION_NPC;
if (playerStatus->pressedButtons & BUTTON_A) {
close_status_menu();
gCurrentEncounter.hitType = ENCOUNTER_TRIGGER_CONVERSATION;
enemy->encountered = ENCOUNTER_TRIGGER_CONVERSATION;
encounterStatus->currentEncounter = encounter;
encounterStatus->currentEnemy = enemy;
encounterStatus->firstStrikeType = FIRST_STRIKE_PLAYER;
return TRUE;
}
}
return FALSE;
}
INCLUDE_ASM(s32, "1a1f0_len_5390", create_encounters);
void init_encounters_ui(void) {
}
s32 is_starting_conversation(void) {
s32 ret = gGameState == 3;
if (gCurrentEncounter.hitType == 5) {
ret = 1;
}
return ret;
}

View File

@ -67,7 +67,7 @@ void func_80048E34(Enemy* enemy, s32 arg1, s32 arg2) {
if (enemy->aiBytecode != NULL) {
enemy->unk_C8 = arg2;
newScript = start_script(enemy->aiBytecode, EVT_PRIORITY_A, EVT_FLAG_20);
newScript = start_script(enemy->aiBytecode, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
enemy->aiScript = newScript;
enemy->aiScriptID = newScript->id;
newScript->owner2.npcID = enemy->npcID;
@ -76,7 +76,7 @@ void func_80048E34(Enemy* enemy, s32 arg1, s32 arg2) {
if (enemy->unk_B8 != NULL) {
enemy->unk_C4 = arg1;
newScript = start_script(enemy->unk_B8, EVT_PRIORITY_A, EVT_FLAG_20);
newScript = start_script(enemy->unk_B8, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
enemy->unk_BC = newScript;
enemy->unk_C0 = newScript->id;
newScript->owner2.npcID = enemy->npcID;

View File

@ -1707,11 +1707,11 @@ s32 test_item_player_collision(ItemEntity* item) {
return TRUE;
}
if (gGameState != 2 && gGameState != 0) {
if (gEncounterState != ENCOUNTER_STATE_NEUTRAL && gEncounterState != ENCOUNTER_STATE_NONE) {
return FALSE;
}
if (encounterStatus->hitType == 5) {
if (encounterStatus->hitType == ENCOUNTER_TRIGGER_CONVERSATION) {
return FALSE;
}
@ -2343,7 +2343,7 @@ void update_item_entity_collectable(ItemEntity* item) {
if (!does_script_exist(D_80155D80)) {
D_801565A8 = 0;
remove_item_entity_by_reference(item);
resume_all_group(2);
resume_all_group(EVT_GROUP_02);
}
}

View File

@ -1120,7 +1120,7 @@ void update_entities(void) {
if (!(entity->flags & ENTITY_FLAGS_8000)) {
entity->flags |= ENTITY_FLAGS_2000000;
}
entity->boundScript = start_script(entity->boundScriptBytecode, EVT_PRIORITY_A, EVT_FLAG_20);
entity->boundScript = start_script(entity->boundScriptBytecode, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
}
if (entity->flags & ENTITY_FLAGS_2000000) {

View File

@ -2174,7 +2174,7 @@ void btl_cam_use_preset_intl(s32 id) {
}
BattleCam_ControlScript = preset;
newScript = start_script(preset, EVT_PRIORITY_A, EVT_FLAG_20);
newScript = start_script(preset, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
BattleCam_DoneMoving = FALSE;
battleStatus->camMovementScript = newScript;
battleStatus->camMovementScriptID = newScript->id;

View File

@ -93,7 +93,7 @@ void func_802B742C(void) {
if (((playerStatus->flags & (PS_FLAGS_HAS_CONVERSATION_NPC | PS_FLAGS_40000 | PS_FLAGS_20))
!= PS_FLAGS_HAS_CONVERSATION_NPC) ||
(gGameState == GAME_MODE_CHANGE_MAP) ||
(gEncounterState == ENCOUNTER_STATE_CONVERSATION) ||
(playerStatus->animFlags & PA_FLAGS_HOLDING_WATT) ||
(playerStatus->inputEnabledCounter != 0) ||
(playerStatus->animFlags & PA_FLAGS_SPINNING))

2743
src/encounter.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -51,7 +51,7 @@ ApiStatus MakeNpcs(Evt* script, s32 isInitialCall) {
script->functionTemp[0] = 1;
break;
case 1:
if (gGameState != script->functionTemp[0]) {
if (gEncounterState != ENCOUNTER_STATE_CREATE) {
return ApiStatus_DONE2;
}
}
@ -186,14 +186,14 @@ void start_battle(Evt* script, s32 songID) {
Encounter* encounter;
s32 i;
resume_all_group(1);
resume_all_group(EVT_GROUP_01);
currentEncounter->hitType = 1;
currentEncounter->hitType = ENCOUNTER_TRIGGER_NONE;
enemy->encountered = TRUE;
currentEncounter->currentEnemy = enemy;
currentEncounter->currentEncounter = currentEncounter->encounterList[enemy->encounterIndex];
currentEncounter->firstStrikeType = FIRST_STRIKE_NONE;
currentEncounter->allowFleeing = 0;
currentEncounter->allowFleeing = FALSE;
currentEncounter->songID = songID;
currentEncounter->unk_18 = -1;
@ -231,10 +231,10 @@ void start_battle(Evt* script, s32 songID) {
currentEncounter->fadeOutAmount = 0;
currentEncounter->unk_94 = 0;
currentEncounter->unk_12 = 1;
gGameState = 3;
currentEncounter->scriptedBattle = TRUE;
gEncounterState = ENCOUNTER_STATE_PRE_BATTLE;
D_8009A678 = 1;
D_8009A5D0 = 0;
gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT;
}
ApiStatus StartBattle(Evt* script, s32 isInitialCall) {
@ -254,9 +254,9 @@ ApiStatus StartBossBattle(Evt* script, s32 isInitialCall) {
Encounter* encounter;
s32 i;
resume_all_group(1);
resume_all_group(EVT_GROUP_01);
currentEncounter->hitType = 1;
currentEncounter->hitType = ENCOUNTER_TRIGGER_NONE;
enemy->encountered = TRUE;
currentEncounter->currentEnemy = enemy;
currentEncounter->currentEncounter = currentEncounter->encounterList[enemy->encounterIndex];
@ -297,10 +297,10 @@ ApiStatus StartBossBattle(Evt* script, s32 isInitialCall) {
currentEncounter->fadeOutAmount = 0;
currentEncounter->unk_94 = 0;
currentEncounter->unk_12 = 1;
gGameState = 3;
currentEncounter->scriptedBattle = TRUE;
gEncounterState = ENCOUNTER_STATE_PRE_BATTLE;
D_8009A678 = 1;
D_8009A5D0 = 0;
gEncounterSubState = ENCOUNTER_SUBSTATE_PRE_BATTLE_INIT;
return ApiStatus_DONE1;
}
@ -309,7 +309,7 @@ ApiStatus SetBattleMusic(Evt* script, s32 isInitialCall) {
Bytecode songID = evt_get_variable(script, *script->ptrReadPos);
EncounterStatus* currentEncounter = &gCurrentEncounter;
currentEncounter->allowFleeing = 1;
currentEncounter->allowFleeing = TRUE;
currentEncounter->songID = songID;
currentEncounter->unk_18 = -1;
return ApiStatus_DONE2;
@ -772,7 +772,7 @@ ApiStatus func_800457C4(Evt* script, s32 isInitialCall) {
}
ApiStatus func_800457F8(Evt* script, s32 isInitialCall) {
gCurrentEncounter.unk_12 = 1;
gCurrentEncounter.scriptedBattle = TRUE;
return ApiStatus_DONE2;
}

View File

@ -70,7 +70,7 @@ void entity_Chest_adjust_camera(Entity* entity) {
script = &Entity_Chest_AdjustCam_KZN;
}
if (script != NULL) {
start_script(script, EVT_PRIORITY_A, EVT_FLAG_20);
start_script(script, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
}
}
@ -85,7 +85,7 @@ void entity_Chest_reset_camera(Entity* entity) {
} else {
script = &Entity_Chest_ResetCam_Default;
}
start_script(script, EVT_PRIORITY_A, EVT_FLAG_20);
start_script(script, EVT_PRIORITY_A, EVT_FLAG_RUN_IMMEDIATELY);
}
void entity_Chest_setupGfx(s32 entityIndex) {

View File

@ -985,7 +985,7 @@ s32 evt_trigger_on_activate_exec_script(Trigger* trigger) {
return 0;
}
script = start_script(scriptStart, trigger->priority, EVT_FLAG_20);
script = start_script(scriptStart, trigger->priority, EVT_FLAG_RUN_IMMEDIATELY);
trigger->runningScript = script;
trigger->runningScriptID = script->id;
script->varTable[0] = trigger->varTable[0];
@ -1105,7 +1105,7 @@ ApiStatus evt_handle_does_script_exist(Evt* script) {
s32 evt_trigger_on_activate_lock(Trigger* trigger) {
if (trigger->runningScript == NULL) {
Evt* newScript = start_script(trigger->onTriggerEvt, trigger->priority, EVT_FLAG_20);
Evt* newScript = start_script(trigger->onTriggerEvt, trigger->priority, EVT_FLAG_RUN_IMMEDIATELY);
trigger->runningScript = newScript;
trigger->runningScriptID = newScript->id;
newScript->varTable[0] = trigger->varTable[0];
@ -1166,7 +1166,7 @@ ApiStatus evt_handle_thread(Evt* script) {
} while (opcode != EVT_OP_END_THREAD);
script->ptrNextLine = endLine;
newScript = start_script_in_group((EvtScript*)startLine, script->priority, (EVT_FLAG_20 | EVT_FLAG_40), script->groupFlags);
newScript = start_script_in_group((EvtScript*)startLine, script->priority, EVT_FLAG_RUN_IMMEDIATELY | EVT_FLAG_THREAD, script->groupFlags);
newScript->owner1.enemyID = script->owner1.enemyID;
newScript->owner2.npcID = script->owner2.npcID;
newScript->array = script->array;
@ -1203,7 +1203,7 @@ ApiStatus evt_handle_child_thread(Evt* script) {
} while (opcode != EVT_OP_END_CHILD_THREAD);
script->ptrNextLine = endLine;
newScript = func_802C39F8(script, startLine, (EVT_FLAG_20 | EVT_FLAG_40));
newScript = func_802C39F8(script, startLine, EVT_FLAG_RUN_IMMEDIATELY | EVT_FLAG_THREAD);
newScript->owner1.enemyID = script->owner1.enemyID;
newScript->owner2.npcID = script->owner2.npcID;
newScript->groupFlags = script->groupFlags;

View File

@ -213,7 +213,7 @@ void init_script_list(void) {
}
void suspend_frozen_scripts(Evt* script) {
s32 arg;
s32 groupFlags;
switch (timeFreezeMode) {
default:
@ -221,14 +221,14 @@ void suspend_frozen_scripts(Evt* script) {
case 4:
return;
case 1:
arg = 1;
groupFlags = EVT_GROUP_01;
break;
case 2:
case 3:
arg = 2;
groupFlags = EVT_GROUP_02;
break;
}
suspend_all_group(arg);
suspend_all_group(groupFlags);
}
Evt* start_script(EvtScript* source, s32 priority, s32 initialState) {
@ -250,7 +250,7 @@ Evt* start_script(EvtScript* source, s32 priority, s32 initialState) {
gNumScripts++;
ASSERT(newScript != NULL);
newScript->state = initialState | EVT_FLAG_01;
newScript->state = initialState | EVT_FLAG_ACTIVE;
newScript->currentOpcode = 0;
newScript->priority = priority;
newScript->ptrNextLine = (Bytecode*)source;
@ -283,7 +283,7 @@ Evt* start_script(EvtScript* source, s32 priority, s32 initialState) {
find_script_labels(newScript);
if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_20)) {
if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_RUN_IMMEDIATELY)) {
scriptListCount = gScriptListCount++;
gScriptIndexList[scriptListCount] = curScriptIndex;
gScriptIdList[scriptListCount] = newScript->id;
@ -322,7 +322,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g
// Some of this function is surely macros. I think we'll learn more as we do others in this file. -Ethan
do {
newScript->state = initialState | EVT_FLAG_01;
newScript->state = initialState | EVT_FLAG_ACTIVE;
newScript->currentOpcode = 0;
newScript->priority = priority;
newScript->id = gStaticScriptCounter++;
@ -353,7 +353,7 @@ Evt* start_script_in_group(EvtScript* source, u8 priority, u8 initialState, u8 g
find_script_labels(newScript);
if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_20)) {
if (gIsUpdatingScripts && (newScript->state & EVT_FLAG_RUN_IMMEDIATELY)) {
scriptListCount = gScriptListCount++;
gScriptIndexList[scriptListCount] = curScriptIndex;
gScriptIdList[scriptListCount] = newScript->id;
@ -390,8 +390,8 @@ Evt* start_child_script(Evt* parentScript, EvtScript* source, s32 initialState)
ASSERT(child != NULL);
parentScript->childScript = child;
parentScript->state |= EVT_FLAG_10;
child->state = initialState | EVT_FLAG_01;
parentScript->state |= EVT_FLAG_BLOCKED_BY_CHILD;
child->state = initialState | EVT_FLAG_ACTIVE;
child->ptrCurrentLine = child->ptrFirstLine = child->ptrNextLine = (Bytecode*)source;
@ -459,7 +459,7 @@ Evt* func_802C39F8(Evt* parentScript, Bytecode* nextLine, s32 newState) {
gNumScripts++;
ASSERT(child != NULL);
child->state = newState | EVT_FLAG_01;
child->state = newState | EVT_FLAG_ACTIVE;
child->ptrNextLine = nextLine;
child->ptrFirstLine = nextLine;
child->ptrCurrentLine = nextLine;
@ -581,7 +581,7 @@ void update_scripts(void) {
for (i = 0; i < gScriptListCount; i++) {
Evt* script = (*gCurrentScriptListPtr)[gScriptIndexList[i]];
if (script != NULL && script->id == gScriptIdList[i] && script->state != 0 && !(script->state & 0x92)) {
if (script != NULL && script->id == gScriptIdList[i] && script->state != 0 && !(script->state & (EVT_FLAG_SUSPENDED | EVT_FLAG_BLOCKED_BY_CHILD | EVT_FLAG_SUSPENDED_IN_GROUP))) {
s32 stop = FALSE;
s32 status;
@ -646,7 +646,7 @@ void kill_script(Evt* instanceToKill) {
blockingParent = instanceToKill->blockingParent;
if (blockingParent != NULL) {
blockingParent->childScript = NULL;
blockingParent->state &= ~0x10;
blockingParent->state &= ~EVT_FLAG_BLOCKED_BY_CHILD;
for (j = 0; j < ARRAY_COUNT(blockingParent->varTable); j++) {
blockingParent->varTable[j] = instanceToKill->varTable[j];
@ -777,7 +777,7 @@ void suspend_group_script(Evt* script, s32 groupFlags) {
}
if ((script->groupFlags & groupFlags) != 0) {
script->state |= 0x2;
script->state |= EVT_FLAG_SUSPENDED_IN_GROUP;
}
}
@ -798,7 +798,7 @@ void resume_group_script(Evt* script, s32 groupFlags) {
}
if ((script->groupFlags & groupFlags) != 0) {
script->state &= ~0x2;
script->state &= ~EVT_FLAG_SUSPENDED_IN_GROUP;
}
}

View File

@ -325,25 +325,25 @@ void set_time_freeze_mode(s32 mode) {
case 0:
timeFreezeMode = mode;
gOverrideFlags &= ~(GLOBAL_OVERRIDES_800 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES);
resume_all_group(3);
resume_all_group(EVT_GROUP_01 | EVT_GROUP_02);
break;
case 1:
timeFreezeMode = mode;
gOverrideFlags &= ~(GLOBAL_OVERRIDES_800 | GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200);
gOverrideFlags |= GLOBAL_OVERRIDES_DISABLE_BATTLES;
suspend_all_group(1);
suspend_all_group(EVT_GROUP_01);
break;
case 2:
timeFreezeMode = mode;
gOverrideFlags &= ~(GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_800);
gOverrideFlags |= GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES;
suspend_all_group(2);
suspend_all_group(EVT_GROUP_02);
break;
case 3:
timeFreezeMode = mode;
gOverrideFlags &= ~GLOBAL_OVERRIDES_800;
gOverrideFlags |= GLOBAL_OVERRIDES_400 | GLOBAL_OVERRIDES_200 | GLOBAL_OVERRIDES_DISABLE_BATTLES;
suspend_all_group(2);
suspend_all_group(EVT_GROUP_02);
break;
case 4:
timeFreezeMode = mode;

View File

@ -2240,7 +2240,7 @@ void init_encounter_status(void) {
currentEncounter->battleTriggerCooldown = 0;
currentEncounter->npcGroupList = 0;
currentEncounter->unk_08 = 0;
currentEncounter->dropWhackaBump = 0;
currentEncounter->dropWhackaBump = FALSE;
for (i = 0; i < ARRAY_COUNT(currentEncounter->defeatFlags); i++) {
for (j = 0; j < ARRAY_COUNT(currentEncounter->defeatFlags[i]); j++) {
@ -2253,7 +2253,7 @@ void init_encounter_status(void) {
}
func_80045AC0();
gGameState = 0;
gEncounterState = ENCOUNTER_STATE_NONE;
create_generic_entity_world(0, npc_dyn_entity_draw_no_op);
}
@ -2289,10 +2289,10 @@ void clear_encounter_status(void) {
currentEncounter->currentEntryIndex = gGameStatusPtr->entryID;
currentEncounter->npcGroupList = 0;
currentEncounter->unk_08 = 0;
currentEncounter->unk_12 = 0;
currentEncounter->scriptedBattle = FALSE;
func_80045AC0();
gGameState = 0;
gEncounterState = ENCOUNTER_STATE_NONE;
create_generic_entity_world(NULL, npc_dyn_entity_draw_no_op);
}
@ -2304,22 +2304,22 @@ void func_8003E514(s8 arg0) {
}
void update_encounters(void) {
switch (gGameState) {
case 0:
switch (gEncounterState) {
case ENCOUNTER_STATE_NONE:
break;
case 1:
case ENCOUNTER_STATE_CREATE:
create_encounters();
break;
case 2:
case ENCOUNTER_STATE_NEUTRAL:
update_encounters_neutral();
break;
case 3:
case ENCOUNTER_STATE_PRE_BATTLE:
update_encounters_pre_battle();
break;
case 4:
case ENCOUNTER_STATE_CONVERSATION:
update_encounters_conversation();
break;
case 5:
case ENCOUNTER_STATE_POST_BATTLE:
update_encounters_post_battle();
break;
}
@ -2328,22 +2328,22 @@ void update_encounters(void) {
}
void draw_encounter_ui(void) {
switch (gGameState) {
case 0:
switch (gEncounterState) {
case ENCOUNTER_STATE_NONE:
break;
case 1:
case ENCOUNTER_STATE_CREATE:
init_encounters_ui();
break;
case 2:
case ENCOUNTER_STATE_NEUTRAL:
draw_encounters_neutral();
break;
case 3:
case ENCOUNTER_STATE_PRE_BATTLE:
draw_encounters_pre_battle();
break;
case 4:
case ENCOUNTER_STATE_CONVERSATION:
draw_encounters_conversation();
break;
case 5:
case ENCOUNTER_STATE_POST_BATTLE:
draw_encounters_post_battle();
break;
}
@ -2352,12 +2352,12 @@ void draw_encounter_ui(void) {
}
void draw_first_strike_ui(void) {
switch (gGameState) {
case 0:
default:
switch (gEncounterState) {
case ENCOUNTER_STATE_NONE:
break;
case 3:
case ENCOUNTER_STATE_PRE_BATTLE:
show_first_strike_message();
break;
}
}
@ -2388,9 +2388,9 @@ void make_npcs(s32 flags, s32 mapID, s32* npcGroupList) {
}
if (npcGroupList != NULL) {
gGameState = 1;
gEncounterState = ENCOUNTER_STATE_CREATE;
D_8009A678 = 1;
D_8009A5D0 = 0;
gEncounterSubState = ENCOUNTER_SUBSTATE_CREATE_INIT;
}
}
@ -2461,7 +2461,7 @@ void kill_enemy(Enemy* enemy) {
if (!(enemy->flags & ENEMY_FLAGS_4)) {
if (!(enemy->flags & ENEMY_FLAGS_8) || (enemy == encounterStatus->currentEnemy)) {
if (!(enemy->flags & ENEMY_FLAGS_1)) {
if (!(enemy->flags & ENEMY_FLAGS_10)) {
if (!(enemy->flags & ENEMY_FLAGS_FLED)) {
COPY_set_defeated(encounterStatus->mapID, encounter->encounterID + i);
}
}

View File

@ -8,7 +8,7 @@ StaticNpc N(NpcData_HyperCleft_01) = {
.settings = &N(NpcSettings_HyperCleft),
.pos = { -196.0f, 130.0f, 104.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = HYPER_CLEFT_DROPS,
.territory = {
.wander = {
@ -31,7 +31,7 @@ StaticNpc N(NpcData_HyperCleft_02) = {
.settings = &N(NpcSettings_HyperCleft),
.pos = { 641.0f, 268.0f, 202.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = HYPER_CLEFT_DROPS,
.territory = {
.wander = {
@ -54,7 +54,7 @@ StaticNpc N(NpcData_HyperGoomba) = {
.settings = &N(NpcSettings_HyperGoomba),
.pos = { 333.0f, 215.0f, 85.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = HYPER_GOOMBA_DROPS,
.territory = {
.wander = {

View File

@ -380,7 +380,7 @@ StaticNpc N(NpcData_Boo_01) = {
.settings = &N(NpcSettings_Boo_Patrol),
.pos = { 36.0f, 185.0f, 140.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Boo_01),
.drops = BOO_DROPS,
.territory = {
@ -406,7 +406,7 @@ StaticNpc N(NpcData_Boo_02) = {
.settings = &N(NpcSettings_Boo),
.pos = { 209.0f, 185.0f, 217.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Boo_02),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,
@ -418,7 +418,7 @@ StaticNpc N(NpcData_Boo_03) = {
.settings = &N(NpcSettings_Boo_Patrol),
.pos = { 379.0f, 186.0f, 186.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Boo_03),
.drops = BOO_DROPS,
.territory = {
@ -444,7 +444,7 @@ StaticNpc N(NpcData_Boo_04) = {
.settings = &N(NpcSettings_Boo),
.pos = { 544.0f, 235.0f, 128.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Boo_04),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,
@ -456,7 +456,7 @@ StaticNpc N(NpcData_Boo_05) = {
.settings = &N(NpcSettings_Boo),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Boo_05),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,
@ -520,7 +520,7 @@ StaticNpc N(NpcData_Boo_06)[] = {
.settings = &N(NpcSettings_Boo),
.pos = { 36.0f, 277.0f, 140.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Boo_06),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,
@ -530,7 +530,7 @@ StaticNpc N(NpcData_Boo_06)[] = {
.settings = &N(NpcSettings_Boo),
.pos = { 180.0f, 285.0f, 182.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Boo_07),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,
@ -540,7 +540,7 @@ StaticNpc N(NpcData_Boo_06)[] = {
.settings = &N(NpcSettings_Boo),
.pos = { 349.0f, 286.0f, 152.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Boo_08),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,
@ -550,7 +550,7 @@ StaticNpc N(NpcData_Boo_06)[] = {
.settings = &N(NpcSettings_Boo),
.pos = { 490.0f, 324.0f, 128.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Boo_09),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,

View File

@ -9,7 +9,7 @@ StaticNpc N(NpcData_HyperParagoomba) = {
.settings = &N(NpcSettings_HyperParagoomba),
.pos = { -350.0f, 180.0f, 150.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = HYPER_PARAGOOMBA_DROPS,
.territory = {
.wander = {
@ -32,7 +32,7 @@ StaticNpc N(NpcData_HyperGoomba) = {
.settings = &N(NpcSettings_HyperGoomba_Patrol),
.pos = { 360.0f, 208.0f, 100.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = HYPER_GOOMBA_DROPS,
.territory = {
.wander = {
@ -55,7 +55,7 @@ StaticNpc N(NpcData_HyperCleft_01) = {
.settings = &N(NpcSettings_HyperCleft),
.pos = { 150.0f, 177.0f, 160.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = HYPER_CLEFT_DROPS,
.territory = {
.wander = {
@ -78,7 +78,7 @@ StaticNpc N(NpcData_HyperCleft_02) = {
.settings = &N(NpcSettings_HyperCleft),
.pos = { 550.0f, 230.0f, 125.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = HYPER_CLEFT_DROPS,
.territory = {
.wander = {

View File

@ -234,7 +234,7 @@ StaticNpc N(NpcData_Boo_01)[] = {
.settings = &N(NpcSettings_Boo_Patrol),
.pos = { 55.0f, 195.0f, 160.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Boo_09),
.drops = BOO_DROPS,
.animations = GUSTY_BOO_ANIMS,

View File

@ -305,7 +305,7 @@ EvtScript N(EVS_NpcIdle_Boo) = {
};
EvtScript N(EVS_NpcDefeat_Tubba) = {
EVT_CALL(SetEncounterStatusFlags, 2, TRUE)
EVT_CALL(SetEncounterStatusFlags, ENCOUNTER_STATUS_FLAGS_2, TRUE)
EVT_CALL(GetBattleOutcome, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(OUTCOME_PLAYER_WON)
@ -564,7 +564,7 @@ StaticNpc N(NpcData_Tubba)[] = {
.settings = &N(NpcSettings_TubbaBlubba),
.pos = { 309.0f, 0.0f, 11.0f },
.yaw = 270,
.flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000,
.init = &N(EVS_NpcInit_Tubba),
.drops = TUBBA_DROPS,
.animations = TUBBA_ANIMS,
@ -575,7 +575,7 @@ StaticNpc N(NpcData_Tubba)[] = {
.settings = &N(NpcSettings_TubbasHeart),
.pos = { -10.0f, 50.0f, -170.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000,
.init = &N(EVS_NpcInit_Bow),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -688,7 +688,7 @@ StaticNpc N(NpcData_Bootler) = {
.settings = &N(NpcSettings_Boo),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000,
.init = &N(EVS_NpcInit_Bootler),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -731,7 +731,7 @@ StaticNpc N(NpcData_HyperParagoomba_01) = {
.settings = &N(NpcSettings_HyperParagoomba),
.pos = { -216.0f, 60.0f, -10.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_HyperParagoomba),
.drops = HYPER_PARAGOOMBA_DROPS,
.territory = {
@ -755,7 +755,7 @@ StaticNpc N(NpcData_HyperParagoomba_02) = {
.settings = &N(NpcSettings_HyperParagoomba),
.pos = { 0.0f, 60.0f, 150.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_HyperParagoomba),
.drops = HYPER_PARAGOOMBA_DROPS,
.territory = {
@ -779,7 +779,7 @@ StaticNpc N(NpcData_HyperParagoomba_03) = {
.settings = &N(NpcSettings_HyperParagoomba),
.pos = { 260.0f, 60.0f, 30.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_HyperParagoomba),
.drops = HYPER_PARAGOOMBA_DROPS,
.territory = {
@ -803,7 +803,7 @@ StaticNpc N(NpcData_Skolar) = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Skolar),
.drops = SKOLAR_DROPS,
.animations = SKOLAR_ANIMS,

View File

@ -50,7 +50,7 @@ StaticNpc N(NpcData_TubbasHeart) = {
.settings = &N(NpcSettings_TubbasHeart),
.pos = { -23.0f, 75.0f, 31.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Yakkey),
.drops = YAKKEY_DROPS,
.animations = YAKKEY_ANIMS,

View File

@ -50,7 +50,7 @@ StaticNpc N(NpcData_TubbasHeart) = {
.settings = &N(NpcSettings_TubbasHeart),
.pos = { 0.0f, 25.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TubbasHeart),
.drops = TUBBAS_HEART_DROPS,
.animations = TUBBAS_HEART_ANIMS,

View File

@ -64,7 +64,7 @@ StaticNpc N(NpcData_TubbasHeart) = {
.settings = &N(NpcSettings_TubbasHeart),
.pos = { 80.0f, 50.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TubbasHeart),
.drops = TUBBAS_HEART_DROPS,
.animations = TUBBAS_HEART_ANIMS,
@ -75,7 +75,7 @@ StaticNpc N(NpcData_HyperGoomba) = {
.settings = &N(NpcSettings_HyperGoomba),
.pos = { 0.0f, 0.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_HyperGoomba),
.drops = HYPER_GOOMBA_DROPS,
.territory = {

View File

@ -66,7 +66,7 @@ Vec3i N(HeartJumpPath)[] = {
{ -70, 10, 20 },
{ -180, 0, 0 },
{ -300, 0, 0 },
{ SUBLIST_DONE, 0, 0 },
{ SUBLIST_DONE, 0, 0 },
};
EvtScript N(EVS_Scene_HeartEscape) = {
@ -154,7 +154,7 @@ StaticNpc N(NpcData_TubbasHeart) = {
.settings = &N(NpcSettings_TubbasHeart),
.pos = { 119.0f, 60.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING | NPC_FLAG_40000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000,
.init = &N(EVS_NpcInit_TubbasHeart),
.drops = TUBBAS_HEART_DROPS,
.animations = TUBBAS_HEART_ANIMS,

View File

@ -275,7 +275,7 @@ StaticNpc N(npcGroup_80240EEC) = {
.id = NPC_TUBBAS_HEART,
.settings = &N(npcSettings_802406A0),
.pos = { 119.0f, 60.0f, 0.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING | NPC_FLAG_40000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000,
.init = &N(init_80240E70),
.yaw = 270,
.drops = {

View File

@ -65,7 +65,7 @@ StaticNpc N(NpcData_TubbasHeart) = {
.settings = &N(NpcSettings_TubbasHeart),
.pos = { 80.0f, 50.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TubbasHeart),
.drops = TUBBAS_HEART_DROPS,
.animations = TUBBAS_HEART_ANIMS,
@ -76,7 +76,7 @@ StaticNpc N(NpcData_HyperGoomba) = {
.settings = &N(NpcSettings_HyperGoomba),
.pos = { 0.0f, 0.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_HyperGoomba),
.drops = HYPER_GOOMBA_DROPS,
.territory = {

View File

@ -65,7 +65,7 @@ StaticNpc N(NpcData_TubbasHeart) = {
.settings = &N(NpcSettings_TubbasHeart),
.pos = { 80.0f, 50.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TubbasHeart),
.drops = TUBBAS_HEART_DROPS,
.animations = TUBBAS_HEART_ANIMS,
@ -76,7 +76,7 @@ StaticNpc N(NpcData_HyperGoomba) = {
.settings = &N(NpcSettings_HyperGoomba),
.pos = { 0.0f, 0.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_HyperGoomba),
.drops = HYPER_GOOMBA_DROPS,
.territory = {

View File

@ -458,7 +458,7 @@ StaticNpc N(npcGroup_80241FE4) = {
.id = NPC_BOO0,
.settings = &N(npcSettings_80240640),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_400000,
.init = &N(init_80241F70),
.yaw = 90,
.drops = {
@ -491,7 +491,7 @@ StaticNpc N(npcGroup_802421D4) = {
.id = NPC_BOO1,
.settings = &N(npcSettings_80240640),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400,
.init = &N(init_80241F94),
.yaw = 90,
.drops = {
@ -523,7 +523,7 @@ StaticNpc N(npcGroup_802423C4) = {
.id = NPC_BOO2,
.settings = &N(npcSettings_80240640),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400,
.init = &N(init_80241FA4),
.yaw = 90,
.drops = {
@ -555,7 +555,7 @@ StaticNpc N(npcGroup_802425B4) = {
.id = NPC_BOO3,
.settings = &N(npcSettings_80240640),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400,
.init = &N(init_80241FB4),
.yaw = 90,
.drops = {
@ -587,7 +587,7 @@ StaticNpc N(npcGroup_802427A4) = {
.id = NPC_BOO4,
.settings = &N(npcSettings_80240640),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400,
.init = &N(init_80241FC4),
.yaw = 90,
.drops = {
@ -619,7 +619,7 @@ StaticNpc N(npcGroup_80242994) = {
.id = NPC_BOO5,
.settings = &N(npcSettings_80240640),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400,
.init = &N(init_80241FD4),
.yaw = 90,
.drops = {
@ -797,7 +797,7 @@ StaticNpc N(npcGroup_802434FC) = {
.id = NPC_SENTINEL,
.settings = &N(npcSettings_8024066C),
.pos = { 0.0f, 0.0f, -1000.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000,
.init = &N(init_802434EC),
.yaw = 90,
.drops = {

View File

@ -436,17 +436,17 @@ EvtScript N(802449C4) = {
EvtScript N(80244AD0) = {
EVT_SET_GROUP(EVT_GROUP_00)
EVT_SUSPEND_GROUP(1)
EVT_SUSPEND_GROUP(EVT_GROUP_01)
EVT_CALL(ShowKeyChoicePopup)
EVT_IF_EQ(LVar0, 0)
EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40)
EVT_CALL(CloseChoicePopup)
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_RETURN
EVT_END_IF
EVT_IF_EQ(LVar0, -1)
EVT_CALL(CloseChoicePopup)
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_RETURN
EVT_END_IF
EVT_CALL(FindKeyItem, ITEM_TUBBA_CASTLE_KEY, LVar0)
@ -457,7 +457,7 @@ EvtScript N(80244AD0) = {
EVT_CALL(PlaySoundAt, 0x269, 0, LVar0, LVar1, LVar2)
EVT_SET(LVar0, MapVar(0))
EVT_CALL(N(RemovePadlock))
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_UNBIND
EVT_RETURN
EVT_END
@ -485,8 +485,8 @@ f32 N(FlyingAI_JumpVels)[] = {
};
EvtScript N(80244CE8) = {
EVT_CALL(SetSelfEnemyFlagBits, ((NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000)), TRUE)
EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING)), TRUE)
EVT_CALL(SetSelfEnemyFlagBits, ((ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000)), TRUE)
EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | ENEMY_FLAGS_800)), TRUE)
EVT_RETURN
EVT_END
};
@ -589,10 +589,10 @@ EvtScript N(8024517C) = {
EvtScript N(80245208) = {
EVT_CALL(GetBattleOutcome, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(0)
EVT_CASE_EQ(OUTCOME_PLAYER_WON)
EVT_CALL(DoNpcDefeat)
EVT_CASE_EQ(1)
EVT_CASE_EQ(2)
EVT_CASE_EQ(OUTCOME_PLAYER_LOST)
EVT_CASE_EQ(OUTCOME_PLAYER_FLED)
EVT_END_SWITCH
EVT_RETURN
EVT_END
@ -892,7 +892,7 @@ StaticNpc N(npcGroup_80246090) = {
.id = NPC_SENTINEL0,
.settings = &N(npcSettings_8024526C),
.pos = { -180.0f, 100.0f, 230.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(init_80245D80),
.yaw = 90,
.drops = {
@ -925,7 +925,7 @@ StaticNpc N(npcGroup_80246280) = {
.id = NPC_SENTINEL1,
.settings = &N(npcSettings_8024526C),
.pos = { 180.0f, 100.0f, 230.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(init_80245E44),
.yaw = 270,
.drops = {
@ -958,7 +958,7 @@ StaticNpc N(npcGroup_80246470) = {
.id = NPC_SENTINEL2,
.settings = &N(npcSettings_8024526C),
.pos = { -180.0f, 100.0f, -230.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(init_80245F08),
.yaw = 90,
.drops = {
@ -991,7 +991,7 @@ StaticNpc N(npcGroup_80246660) = {
.id = NPC_SENTINEL3,
.settings = &N(npcSettings_8024526C),
.pos = { 180.0f, 100.0f, -230.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(init_80245FCC),
.yaw = 270,
.drops = {

View File

@ -158,13 +158,13 @@ static s32 N(pad_1AA8)[] = {
EvtScript N(80241AB0) = {
EVT_CALL(GetBattleOutcome, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(0)
EVT_CASE_EQ(OUTCOME_PLAYER_WON)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_CASE_EQ(2)
EVT_CASE_EQ(OUTCOME_PLAYER_FLED)
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_CALL(OnPlayerFled, 1)
EVT_CASE_EQ(3)
EVT_CALL(SetEnemyFlagBits, -1, 16, 1)
EVT_CASE_EQ(OUTCOME_ENEMY_FLED)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
@ -284,7 +284,7 @@ StaticNpc N(npcGroup_80241E08)[] = {
.id = NPC_WORLD_CLUBBA0,
.settings = &N(npcSettings_80241C3C),
.pos = { -200.0f, 0.0f, 180.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -323,7 +323,7 @@ StaticNpc N(npcGroup_80241E08)[] = {
.id = NPC_WORLD_CLUBBA1,
.settings = &N(npcSettings_80241DDC),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -357,7 +357,7 @@ StaticNpc N(npcGroup_802421E8)[] = {
.id = NPC_WORLD_CLUBBA2,
.settings = &N(npcSettings_80241D08),
.pos = { 375.0f, 0.0f, 100.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -395,7 +395,7 @@ StaticNpc N(npcGroup_802421E8)[] = {
.id = NPC_WORLD_CLUBBA3,
.settings = &N(npcSettings_80241DDC),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -345,17 +345,17 @@ static s32 N(pad_3738)[] = {
EvtScript N(80243740) = {
EVT_SET_GROUP(EVT_GROUP_00)
EVT_SUSPEND_GROUP(1)
EVT_SUSPEND_GROUP(EVT_GROUP_01)
EVT_CALL(ShowKeyChoicePopup)
EVT_IF_EQ(LVar0, 0)
EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40)
EVT_CALL(CloseChoicePopup)
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_RETURN
EVT_END_IF
EVT_IF_EQ(LVar0, -1)
EVT_CALL(CloseChoicePopup)
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_RETURN
EVT_END_IF
EVT_CALL(FindKeyItem, ITEM_TUBBA_CASTLE_KEY, LVar0)
@ -366,7 +366,7 @@ EvtScript N(80243740) = {
EVT_CALL(PlaySoundAt, 0x269, 0, LVar0, LVar1, LVar2)
EVT_SET(LVar0, MapVar(0))
EVT_CALL(N(RemovePadlock))
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_UNBIND
EVT_RETURN
EVT_END
@ -402,7 +402,7 @@ EvtScript N(80243970) = {
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_CALL(OnPlayerFled, 1)
EVT_CASE_EQ(3)
EVT_CALL(SetEnemyFlagBits, -1, 16, 1)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
@ -557,7 +557,7 @@ StaticNpc N(npcGroup_80243DE8)[] = {
.id = NPC_WORLD_CLUBBA0,
.settings = &N(npcSettings_80243AFC),
.pos = { 180.0f, 0.0f, -122.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -595,7 +595,7 @@ StaticNpc N(npcGroup_80243DE8)[] = {
.id = NPC_WORLD_CLUBBA1,
.settings = &N(npcSettings_80243D68),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -629,7 +629,7 @@ StaticNpc N(npcGroup_802441C8)[] = {
.id = NPC_WORLD_CLUBBA2,
.settings = &N(npcSettings_80243BC8),
.pos = { -272.0f, 0.0f, -135.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -667,7 +667,7 @@ StaticNpc N(npcGroup_802441C8)[] = {
.id = NPC_WORLD_CLUBBA3,
.settings = &N(npcSettings_80243D68),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -701,7 +701,7 @@ StaticNpc N(npcGroup_802445A8)[] = {
.id = NPC_WORLD_CLUBBA4,
.settings = &N(npcSettings_80243C94),
.pos = { -326.0f, 210.0f, 80.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(init_80243D94),
.yaw = 90,
.drops = {
@ -740,7 +740,7 @@ StaticNpc N(npcGroup_802445A8)[] = {
.id = NPC_WORLD_CLUBBA5,
.settings = &N(npcSettings_80243D68),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -117,7 +117,7 @@ f32 N(FlyingAI_JumpVels)[] = {
};
EvtScript N(80243578) = {
EVT_CALL(SetSelfEnemyFlagBits, ((NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000)), TRUE)
EVT_CALL(SetSelfEnemyFlagBits, ((ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000)), TRUE)
EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING)), TRUE)
EVT_RETURN
EVT_END
@ -238,7 +238,7 @@ StaticNpc N(npcGroup_80243B28) = {
.id = NPC_SENTINEL,
.settings = &N(npcSettings_80243AFC),
.pos = { 70.0f, -220.0f, 186.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -128,7 +128,7 @@ EvtScript N(802418C0) = {
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_CALL(OnPlayerFled, 1)
EVT_CASE_EQ(3)
EVT_CALL(SetEnemyFlagBits, -1, 16, 1)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
@ -206,7 +206,7 @@ StaticNpc N(npcGroup_80241B4C)[] = {
.id = NPC_WORLD_CLUBBA0,
.settings = &N(npcSettings_80241A4C),
.pos = { 132.0f, -110.0f, 238.0f },
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -244,7 +244,7 @@ StaticNpc N(npcGroup_80241B4C)[] = {
.id = NPC_WORLD_CLUBBA1,
.settings = &N(npcSettings_80241B20),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -278,7 +278,7 @@ StaticNpc N(npcGroup_80241F2C)[] = {
.id = NPC_WORLD_CLUBBA2,
.settings = &N(npcSettings_80241A4C),
.pos = { 503.0f, -210.0f, 225.0f },
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -316,7 +316,7 @@ StaticNpc N(npcGroup_80241F2C)[] = {
.id = NPC_WORLD_CLUBBA3,
.settings = &N(npcSettings_80241B20),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -134,7 +134,7 @@ StaticNpc N(npcGroup_80240954) = {
.id = NPC_BOO,
.settings = &N(npcSettings_80240840),
.pos = { -300.0f, 10.0f, 150.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_400,
.init = &N(init_802408FC),
.yaw = 270,
.drops = {

View File

@ -105,7 +105,7 @@ EvtScript N(802417F0) = {
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_CALL(OnPlayerFled, 1)
EVT_CASE_EQ(3)
EVT_CALL(SetEnemyFlagBits, -1, 16, 1)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
@ -191,7 +191,7 @@ StaticNpc N(npcGroup_80241A7C)[] = {
.id = NPC_WORLD_CLUBBA0,
.settings = &N(npcSettings_8024197C),
.pos = { -500.0f, 0.0f, -240.0f },
.flags = NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -230,7 +230,7 @@ StaticNpc N(npcGroup_80241A7C)[] = {
.id = NPC_WORLD_CLUBBA1,
.settings = &N(npcSettings_80241A50),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -180,7 +180,7 @@ EvtScript N(802441D4) = {
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_CALL(OnPlayerFled, 1)
EVT_CASE_EQ(3)
EVT_CALL(SetEnemyFlagBits, -1, 16, 1)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
@ -267,7 +267,7 @@ f32 N(FlyingAI_JumpVels)[] = {
};
EvtScript N(80244478) = {
EVT_CALL(SetSelfEnemyFlagBits, ((NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000)), TRUE)
EVT_CALL(SetSelfEnemyFlagBits, ((ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000)), TRUE)
EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING)), TRUE)
EVT_RETURN
EVT_END
@ -514,7 +514,7 @@ StaticNpc N(npcGroup_802450A0) = {
.id = NPC_WORLD_TUBBA,
.settings = &N(npcSettings_8024417C),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_4 | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_4 | NPC_FLAG_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000,
.init = &N(init_80244E94),
.yaw = 270,
.drops = {
@ -555,7 +555,7 @@ StaticNpc N(npcGroup_80245290)[] = {
.id = NPC_WORLD_CLUBBA0,
.settings = &N(npcSettings_80244360),
.pos = { -250.0f, 0.0f, 135.0f },
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -594,7 +594,7 @@ StaticNpc N(npcGroup_80245290)[] = {
.id = NPC_WORLD_CLUBBA1,
.settings = &N(npcSettings_80244434),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -628,7 +628,7 @@ StaticNpc N(npcGroup_80245670)[] = {
.id = NPC_WORLD_CLUBBA2,
.settings = &N(npcSettings_80244360),
.pos = { 220.0f, 0.0f, 155.0f },
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -667,7 +667,7 @@ StaticNpc N(npcGroup_80245670)[] = {
.id = NPC_WORLD_CLUBBA3,
.settings = &N(npcSettings_80244434),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -701,7 +701,7 @@ StaticNpc N(npcGroup_80245A50)[] = {
.id = NPC_WORLD_CLUBBA4,
.settings = &N(npcSettings_80244360),
.pos = { 825.0f, 100.0f, 200.0f },
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -740,7 +740,7 @@ StaticNpc N(npcGroup_80245A50)[] = {
.id = NPC_WORLD_CLUBBA5,
.settings = &N(npcSettings_80244434),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -773,7 +773,7 @@ StaticNpc N(npcGroup_80245E30) = {
.id = NPC_SENTINEL0,
.settings = &N(npcSettings_802449FC),
.pos = { 75.0f, 310.0f, 85.0f },
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -805,7 +805,7 @@ StaticNpc N(npcGroup_80246020) = {
.id = NPC_SENTINEL1,
.settings = &N(npcSettings_802449FC),
.pos = { -451.0f, 310.0f, 81.0f },
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -897,7 +897,7 @@ StaticNpc N(npcGroup_80246528) = {
.id = NPC_WORLD_CLUBBA6,
.settings = &N(npcSettings_80244A28),
.pos = { 426.0f, 0.0f, 38.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_400000,
.init = &N(init_802464C4),
.yaw = 270,
.drops = {
@ -944,7 +944,7 @@ StaticNpc N(npcGroup_80246768) = {
.id = NPC_WORLD_CLUBBA7,
.settings = &N(npcSettings_80244360),
.pos = { -250.0f, 0.0f, 135.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_400,
.init = &N(init_80246728),
.yaw = 90,
.drops = {

View File

@ -198,7 +198,7 @@ EvtScript N(80244000) = {
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_CALL(OnPlayerFled, 1)
EVT_CASE_EQ(3)
EVT_CALL(SetEnemyFlagBits, -1, 16, 1)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
@ -319,7 +319,7 @@ f32 N(FlyingAI_JumpVels)[] = {
};
EvtScript N(80244370) = {
EVT_CALL(SetSelfEnemyFlagBits, ((NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_8000000 | NPC_FLAG_10000000 | NPC_FLAG_20000000)), TRUE)
EVT_CALL(SetSelfEnemyFlagBits, ((ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_8000000 | ENEMY_FLAGS_10000000 | ENEMY_FLAGS_20000000)), TRUE)
EVT_CALL(SetNpcFlagBits, NPC_SELF, ((NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING)), TRUE)
EVT_RETURN
EVT_END
@ -441,7 +441,7 @@ StaticNpc N(npcGroup_80244920)[] = {
.id = NPC_WORLD_CLUBBA0,
.settings = &N(npcSettings_8024418C),
.pos = { -350.0f, 0.0f, 180.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -480,7 +480,7 @@ StaticNpc N(npcGroup_80244920)[] = {
.id = NPC_WORLD_CLUBBA1,
.settings = &N(npcSettings_8024432C),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -524,7 +524,7 @@ StaticNpc N(npcGroup_80244D6C)[] = {
.id = NPC_WORLD_CLUBBA2,
.settings = &N(npcSettings_80244258),
.pos = { 310.0f, 0.0f, 88.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(init_80244D00),
.yaw = 270,
.drops = {
@ -564,7 +564,7 @@ StaticNpc N(npcGroup_80244D6C)[] = {
.id = NPC_WORLD_CLUBBA3,
.settings = &N(npcSettings_8024432C),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -597,7 +597,7 @@ StaticNpc N(npcGroup_8024514C) = {
.id = NPC_SENTINEL,
.settings = &N(npcSettings_802448F4),
.pos = { -20.0f, 100.0f, 180.0f },
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -163,7 +163,7 @@ EvtScript N(80241EA0) = {
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_CALL(OnPlayerFled, 1)
EVT_CASE_EQ(3)
EVT_CALL(SetEnemyFlagBits, -1, 16, 1)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
@ -377,7 +377,7 @@ StaticNpc N(npcGroup_802428C0) = {
.id = NPC_WORLD_TUBBA,
.settings = &N(npcSettings_8024212C),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000,
.init = &N(init_802427EC),
.yaw = 270,
.drops = {
@ -424,17 +424,17 @@ static s32 N(pad_2AC8)[] = {
EvtScript N(80242AD0) = {
EVT_SET_GROUP(EVT_GROUP_00)
EVT_SUSPEND_GROUP(1)
EVT_SUSPEND_GROUP(EVT_GROUP_01)
EVT_CALL(ShowKeyChoicePopup)
EVT_IF_EQ(LVar0, 0)
EVT_CALL(ShowMessageAtScreenPos, MSG_Menus_00D8, 160, 40)
EVT_CALL(CloseChoicePopup)
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_RETURN
EVT_END_IF
EVT_IF_EQ(LVar0, -1)
EVT_CALL(CloseChoicePopup)
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_RETURN
EVT_END_IF
EVT_CALL(FindKeyItem, ITEM_TUBBA_CASTLE_KEY, LVar0)
@ -445,7 +445,7 @@ EvtScript N(80242AD0) = {
EVT_CALL(PlaySoundAt, 0x269, 0, LVar0, LVar1, LVar2)
EVT_SET(LVar0, MapVar(0))
EVT_CALL(N(RemovePadlock))
EVT_RESUME_GROUP(1)
EVT_RESUME_GROUP(EVT_GROUP_01)
EVT_UNBIND
EVT_RETURN
EVT_END

View File

@ -120,7 +120,7 @@ EvtScript N(802417C0) = {
EVT_CALL(SetNpcPos, NPC_SELF, 0, -1000, 0)
EVT_CALL(OnPlayerFled, 1)
EVT_CASE_EQ(3)
EVT_CALL(SetEnemyFlagBits, -1, 16, 1)
EVT_CALL(SetEnemyFlagBits, -1, ENEMY_FLAGS_FLED, 1)
EVT_CALL(RemoveNpc, NPC_SELF)
EVT_END_SWITCH
EVT_RETURN
@ -206,7 +206,7 @@ StaticNpc N(npcGroup_80241A4C)[] = {
.id = NPC_WORLD_CLUBBA0,
.settings = &N(npcSettings_8024194C),
.pos = { -70.0f, 0.0f, -100.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -245,7 +245,7 @@ StaticNpc N(npcGroup_80241A4C)[] = {
.id = NPC_WORLD_CLUBBA1,
.settings = &N(npcSettings_80241A20),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -279,7 +279,7 @@ StaticNpc N(npcGroup_80241E2C)[] = {
.id = NPC_WORLD_CLUBBA2,
.settings = &N(npcSettings_8024194C),
.pos = { 0.0f, 0.0f, -235.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -317,7 +317,7 @@ StaticNpc N(npcGroup_80241E2C)[] = {
.id = NPC_WORLD_CLUBBA3,
.settings = &N(npcSettings_80241A20),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -351,7 +351,7 @@ StaticNpc N(npcGroup_8024220C)[] = {
.id = NPC_WORLD_CLUBBA4,
.settings = &N(npcSettings_8024194C),
.pos = { 70.0f, 0.0f, -100.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -389,7 +389,7 @@ StaticNpc N(npcGroup_8024220C)[] = {
.id = NPC_WORLD_CLUBBA5,
.settings = &N(npcSettings_80241A20),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -423,7 +423,7 @@ StaticNpc N(npcGroup_802425EC)[] = {
.id = NPC_WORLD_CLUBBA6,
.settings = &N(npcSettings_8024194C),
.pos = { 140.0f, 0.0f, -235.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -461,7 +461,7 @@ StaticNpc N(npcGroup_802425EC)[] = {
.id = NPC_WORLD_CLUBBA7,
.settings = &N(npcSettings_80241A20),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -495,7 +495,7 @@ StaticNpc N(npcGroup_802429CC)[] = {
.id = NPC_WORLD_CLUBBA8,
.settings = &N(npcSettings_8024194C),
.pos = { 210.0f, 0.0f, -100.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 270,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -533,7 +533,7 @@ StaticNpc N(npcGroup_802429CC)[] = {
.id = NPC_WORLD_CLUBBA9,
.settings = &N(npcSettings_80241A20),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -567,7 +567,7 @@ StaticNpc N(npcGroup_80242DAC)[] = {
.id = NPC_WORLD_CLUBBA10,
.settings = &N(npcSettings_8024194C),
.pos = { 280.0f, 0.0f, -235.0f },
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.yaw = 90,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -605,7 +605,7 @@ StaticNpc N(npcGroup_80242DAC)[] = {
.id = NPC_WORLD_CLUBBA11,
.settings = &N(npcSettings_80241A20),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.yaw = 0,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -585,7 +585,7 @@ StaticNpc N(npcGroup_802432D4) = {
.id = NPC_WORLD_TUBBA,
.settings = &N(npcSettings_802415FC),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000,
.init = &N(init_80242924),
.yaw = 270,
.drops = {
@ -618,7 +618,7 @@ StaticNpc N(npcGroup_802434C4) = {
.id = NPC_YAKKEY,
.settings = &N(npcSettings_80241628),
.pos = { 0.0f, -1000.0f, 0.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800,
.init = &N(init_8024329C),
.yaw = 270,
.drops = {

View File

@ -194,7 +194,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Mouser_01,
.settings = &N(NpcSettings_Mouser),
.pos = { -332.0f, 0.0f, 188.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_ShopOwner),
.yaw = 180,
.drops = MOUSER_DROPS,
@ -304,7 +304,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_ChuckQuizmo,
.settings = &N(Quizmo_NpcSettings),
.pos = { -400.0f, 0.0f, 100.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_ThreeSisters),
.yaw = 244,
.drops = TOADETTE_DROPS,

View File

@ -365,7 +365,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Archeologist,
.settings = &N(NpcSettings_Archeologist),
.pos = { -320.0f, 0.0f, -14.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Archeologist),
.yaw = 90,
.drops = {
@ -398,7 +398,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Dryite_01,
.settings = &N(NpcSettings_Dryite_Wander),
.pos = { -20.0f, 0.0f, 40.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_MrE),
.yaw = 270,
.drops = DRYITE_DROPS,
@ -410,7 +410,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_DisguisedMoustafa,
.settings = &N(NpcSettings_Mouser),
.pos = { 245.0f, 0.0f, -35.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_DisguisedMoustafa),
.yaw = 90,
.drops = {
@ -442,7 +442,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Toad,
.settings = &N(NpcSettings_Toad_Stationary),
.pos = { -143.0f, 0.0f, -170.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_ToadHouseKeeper),
.yaw = 180,
.drops = TOAD_DROPS,
@ -453,7 +453,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Merlee,
.settings = &N(NpcSettings_Merlee),
.pos = { -130.0f, 0.0f, -400.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcAuxAI_Merlee),
.yaw = 180,
.drops = {
@ -485,7 +485,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Moustafa,
.settings = &N(NpcSettings_Mouser),
.pos = { NPC_DISPOSE_LOCATION },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Moustafa),
.yaw = 0,
.drops = {
@ -517,7 +517,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Dryite_02,
.settings = &N(NpcSettings_Dryite),
.pos = { 25.0f, 0.0f, -38.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Dryite_02),
.yaw = 270,
.drops = DRYITE_DROPS,
@ -528,7 +528,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Dryite_03,
.settings = &N(NpcSettings_Dryite),
.pos = { -375.0f, 0.0f, -10.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Dryite_03),
.yaw = 270,
.drops = DRYITE_DROPS,
@ -539,7 +539,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Mouser_01,
.settings = &N(NpcSettings_Mouser),
.pos = { -50.0f, 0.0f, -470.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Mouser_01),
.yaw = 180,
.drops = {
@ -554,7 +554,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Mouser_02,
.settings = &N(NpcSettings_Mouser),
.pos = { -270.0f, 0.0f, 91.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Mouser_02),
.yaw = 270,
.drops = {
@ -569,7 +569,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_Mouser_03,
.settings = &N(NpcSettings_Mouser),
.pos = { 210.0f, 0.0f, -35.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Mouser_03),
.yaw = 90,
.drops = {
@ -583,7 +583,7 @@ StaticNpc N(PassiveNPCs)[] = {
.id = NPC_ChuckQuizmo,
.settings = &N(Quizmo_NpcSettings),
.pos = { -335.0f, 0.0f, 90.0f },
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.initVarCount = 1,
.initVar = { .bytes = { 0, QUIZ_AREA_DRO, QUIZ_COUNT_DRO, QUIZ_MAP_DRO_02 } },
.yaw = 270,

View File

@ -623,7 +623,7 @@ StaticNpc N(NpcData_Wisterwood) = {
.settings = &N(NpcSettings_Dummy),
.pos = { -72.0f, 60.0f, -100.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_GRAVITY | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Lakilulu),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -86,7 +86,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = {
.settings = &N(NpcSettings_Lakilester_Epilogue),
.pos = { 144.0f, 0.0f, 374.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Lakilester_Epilogue),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -117,7 +117,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = {
.settings = &N(NpcSettings_Lakilester_Epilogue),
.pos = { 198.0f, 0.0f, 363.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Lakilulu_Epilogue),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -148,7 +148,7 @@ StaticNpc N(NpcData_Lakilester_Epilogue)[] = {
.settings = &N(NpcSettings_Parakarry_Epilogue),
.pos = { 266.0f, 0.0f, 322.0f },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Parakarry_Epilogue),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -15,27 +15,27 @@ NpcSettings N(NpcSettings_Petunia) = {
#include "world/common/complete/GiveReward.inc.c"
Vec3i N(BurrowLocations_Mole_01)[] = {
{ -100, 0, 210 },
{ -160, 0, 285 },
{ -35, 0, 305 },
{ -100, 0, 210 },
{ -160, 0, 285 },
{ -35, 0, 305 },
};
Vec3i N(BurrowLocations_Mole_02)[] = {
{ -190, 0, 80 },
{ -130, 0, 0 },
{ -70, 0, -60 },
{ -70, 0, -60 },
};
Vec3i N(BurrowLocations_Mole_03)[] = {
{ 75, 0, -15 },
{ 35, 0, -100 },
{ 130, 0, 0 },
{ 130, 0, 0 },
};
Vec3i N(BurrowLocations_Mole_04)[] = {
{ 115, 0, 180 },
{ 85, 0, 290 },
{ 145, 0, 140 },
{ 145, 0, 140 },
};
EvtScript N(EVS_Scene_SunReturns) = {
@ -781,7 +781,7 @@ StaticNpc N(NpcData_Petunia) = {
.settings = &N(NpcSettings_Petunia),
.pos = { -30.0f, 0.0f, 100.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Petunia),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -814,7 +814,7 @@ StaticNpc N(NpcData_Dayzee) = {
.settings = &N(NpcSettings_Dayzee),
.pos = { -233.0f, 0.0f, -217.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Dayzee),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -846,7 +846,7 @@ StaticNpc N(NpcData_MontyMole_01) = {
.settings = &N(NpcSettings_Dayzee),
.pos = { -100.0f, 0.0f, 210.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_MontyMole_01),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -878,7 +878,7 @@ StaticNpc N(NpcData_MontyMole_02) = {
.settings = &N(NpcSettings_Dayzee),
.pos = { -130.0f, 0.0f, 0.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_MontyMole_02),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -910,7 +910,7 @@ StaticNpc N(NpcData_MontyMole_03) = {
.settings = &N(NpcSettings_Dayzee),
.pos = { 75.0f, 0.0f, 20.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_MontyMole_03),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -942,7 +942,7 @@ StaticNpc N(NpcData_MontyMole_04) = {
.settings = &N(NpcSettings_Dayzee),
.pos = { 71.0f, 0.0f, 200.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_MontyMole_04),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -249,7 +249,7 @@ StaticNpc N(NpcData_Posie) = {
.settings = &N(NpcSettings_Posie),
.pos = { -260.0f, 0.0f, 0.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Posie),
.drops = POSIE_DROPS,
.animations = POSIE_ANIMS,

View File

@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = {
.settings = &N(NpcSettings_GateFlower),
.pos = { -695.0f, 0.0f, -30.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_GateFlower),
.drops = GATE_FLOWER_DROPS,
.animations = GATE_FLOWER_YELLOW_ANIMS,
@ -174,7 +174,7 @@ StaticNpc N(NpcData_Dayzee_01) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { 205.0f, 0.0f, -80.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -197,7 +197,7 @@ StaticNpc N(NpcData_Dayzee_02) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { 275.0f, 0.0f, -115.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -220,7 +220,7 @@ StaticNpc N(NpcData_Dayzee_03) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { -230.0f, 60.0f, -110.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -243,7 +243,7 @@ StaticNpc N(NpcData_Dayzee_04) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { -330.0f, 60.0f, -110.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -266,7 +266,7 @@ StaticNpc N(NpcData_Dayzee_05) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { -430.0f, 60.0f, -110.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -289,7 +289,7 @@ StaticNpc N(NpcData_Dayzee_06) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { -530.0f, 60.0f, -110.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -312,7 +312,7 @@ StaticNpc N(NpcData_Dayzee_07) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { -630.0f, 60.0f, -110.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -356,7 +356,7 @@ StaticNpc N(NpcData_AmazyDayzee) = {
.settings = &N(NpcSettings_AmazyDayzee),
.pos = { 240.0f, 0.0f, -90.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_AmazyDayzee),
.drops = AMAZY_DAYZEE_DROPS,
.territory = {

View File

@ -63,7 +63,7 @@ StaticNpc N(NpcData_Dayzee_01) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { -350.0f, 0.0f, 40.0f },
.yaw = 90,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -86,7 +86,7 @@ StaticNpc N(NpcData_Dayzee_02) = {
.settings = &N(NpcSettings_CrazyDayzee),
.pos = { 260.0f, 0.0f, 75.0f },
.yaw = 270,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = CRAZY_DAYZEE_DROPS,
.territory = {
.wander = {
@ -109,7 +109,7 @@ StaticNpc N(NpcData_Bzzap_01) = {
.settings = &N(NpcSettings_Bzzap),
.pos = { -50.0f, 55.0f, 90.0f },
.yaw = 90,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = BZZAP_DROPS,
.territory = {
.wander = {
@ -132,7 +132,7 @@ StaticNpc N(NpcData_Bzzap_02) = {
.settings = &N(NpcSettings_Bzzap_02),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.init = &N(EVS_NpcInit_Bzzap_02),
.drops = BZZAP_DROPS,
.territory = {

View File

@ -203,7 +203,7 @@ StaticNpc N(NpcData_Lily) = {
.settings = &N(NpcSettings_Lily),
.pos = { 80.0f, -60.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Lily),
.drops = LILY_DROPS,
.animations = LILY_ANIMS,

View File

@ -116,7 +116,7 @@ EvtScript N(EVS_LakitusFlying_Gather) = {
EVT_END_IF
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(LoadPath, 45, EVT_PTR(N(FlightPath_Lakitu_02_Gather)),
EVT_CALL(LoadPath, 45, EVT_PTR(N(FlightPath_Lakitu_02_Gather)),
ARRAY_COUNT(N(FlightPath_Lakitu_02_Gather)), EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(GetNextPathPos)
@ -374,7 +374,7 @@ StaticNpc N(NpcData_Lakitus)[] = {
.settings = &N(NpcSettings_Lakitu),
.pos = { 553.0f, 60.0f, 52.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000,
.init = &N(EVS_NpcInit_Lakitu_02),
.drops = LAKITU_DROPS,
.animations = LAKITU_ANIMS,

View File

@ -194,7 +194,7 @@ StaticNpc N(NpcData_Rosie)[] = {
.settings = &N(NpcSettings_Rosie),
.pos = { -70.0f, 0.0f, 20.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_GRAVITY,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_200,
.drops = ROSIE_DROPS,
.animations = ROSIE_ANIMS,
},

View File

@ -597,7 +597,7 @@ StaticNpc N(NpcData_Lakilester) = {
.settings = &N(NpcSettings_Lakilester),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000,
.init = &N(EVS_NpcInit_Lakilester),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -629,7 +629,7 @@ StaticNpc N(NpcData_Lakilulu) = {
.settings = &N(NpcSettings_Lakilester),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Lakilulu),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -662,7 +662,7 @@ StaticNpc N(NpcData_Lakilulu_Spiny) = {
.settings = &N(NpcSettings_Lakilester),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Lakilulu_Spiny),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -694,7 +694,7 @@ StaticNpc N(NpcData_Lakitu_01) = {
.settings = &N(NpcSettings_Lakitu_SpinySpawner),
.pos = { 335.0f, 90.0f, 45.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Lakitu),
.drops = LAKITU_DROPS,
.territory = {
@ -718,7 +718,7 @@ StaticNpc N(NpcData_Lakitu_02) = {
.settings = &N(NpcSettings_Lakitu_SpinySpawner),
.pos = { -320.0f, 90.0f, 0.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Lakitu),
.drops = LAKITU_DROPS,
.territory = {
@ -742,7 +742,7 @@ StaticNpc N(NpcData_Spiny_01) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Spiny),
.drops = SPINY_DROPS,
.territory = {
@ -766,7 +766,7 @@ StaticNpc N(NpcData_Spiny_02) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Spiny),
.drops = SPINY_DROPS,
.territory = {
@ -790,7 +790,7 @@ StaticNpc N(NpcData_Spiny_03) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Spiny),
.drops = SPINY_DROPS,
.territory = {
@ -814,7 +814,7 @@ StaticNpc N(NpcData_Spiny_04) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Spiny),
.drops = SPINY_DROPS,
.territory = {
@ -838,7 +838,7 @@ StaticNpc N(NpcData_Spiny_05) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Spiny),
.drops = SPINY_DROPS,
.territory = {
@ -862,7 +862,7 @@ StaticNpc N(NpcData_Spiny_06) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_Spiny),
.drops = SPINY_DROPS,
.territory = {

View File

@ -16,7 +16,7 @@ NpcSettings N(NpcSettings_BubbleFlower) = {
s32 N(KeyList)[] = {
ITEM_BUBBLE_BERRY,
ITEM_NONE
ITEM_NONE
};
EvtScript N(EVS_NpcInteract_BubbleFlower) = {
@ -83,7 +83,7 @@ StaticNpc N(NpcData_BubbleFlower) = {
.settings = &N(NpcSettings_BubbleFlower),
.pos = { 617.0f, 0.0f, 108.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_4000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_4000,
.init = &N(EVS_NpcInit_BubbleFlower),
.drops = BUBULB_DROPS,
.animations = BUBULB_PINK_ANIMS,
@ -95,7 +95,7 @@ StaticNpc N(NpcData_Bzzap) = {
.settings = &N(NpcSettings_Bzzap),
.pos = { -175.0f, 55.0f, 15.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = BZZAP_DROPS,
.territory = {
.wander = {

View File

@ -203,7 +203,7 @@ StaticNpc N(NpcData_Sun)[] = {
.settings = &N(NpcSettings_Sun),
.pos = { 0.0f, 250.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_8000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000,
.init = &N(EVS_NpcInit_Sun_02),
.drops = SUN_DROPS,
.animations = SUN_ANIMS,

View File

@ -8,7 +8,7 @@ StaticNpc N(NpcData_TuffPuff_01) = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { 440.0f, 145.0f, 15.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = TUFF_PUFF_DROPS,
.territory = {
.wander = {
@ -31,7 +31,7 @@ StaticNpc N(NpcData_TuffPuff_02) = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { 600.0f, 145.0f, 15.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = TUFF_PUFF_DROPS,
.territory = {
.wander = {

View File

@ -11,7 +11,7 @@ StaticNpc N(NpcData_Lakitu_01) = {
.settings = &N(NpcSettings_Lakitu_SpinySpawner),
.pos = { -185.0f, 90.0f, 10.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = LAKITU_DROPS,
.territory = {
.wander = {
@ -34,7 +34,7 @@ StaticNpc N(NpcData_Lakitu_02) = {
.settings = &N(NpcSettings_Lakitu_SpinySpawner),
.pos = { 200.0f, 90.0f, -25.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = LAKITU_DROPS,
.territory = {
.wander = {
@ -57,7 +57,7 @@ StaticNpc N(NpcData_Spiny_01) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = SPINY_DROPS,
.territory = {
.wander = {
@ -80,7 +80,7 @@ StaticNpc N(NpcData_Spiny_02) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = SPINY_DROPS,
.territory = {
.wander = {
@ -103,7 +103,7 @@ StaticNpc N(NpcData_Spiny_03) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = SPINY_DROPS,
.territory = {
.wander = {
@ -126,7 +126,7 @@ StaticNpc N(NpcData_Spiny_04) = {
.settings = &N(NpcSettings_SpawnedSpiny),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_4 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = SPINY_DROPS,
.territory = {
.wander = {

View File

@ -603,7 +603,7 @@ StaticNpc N(NpcData_MachineGang)[] = {
.settings = &N(NpcSettings_Lakitu),
.pos = { 0.0f, 15.0f, 60.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_FlyingMagikoopa),
.drops = MAGIKOOPA_DROPS,
.animations = FLYING_MAGIKOOPA_YELLOW_ANIMS,

View File

@ -256,12 +256,12 @@ Vec3i N(BeginAnimScaleX)[] = {
{ 5, 12, 6 },
{ 12, 5, 5 },
{ 5, 10, 5 },
{ 10, 5, 4 },
{ 10, 5, 4 },
};
Vec2i N(LoopAnimScaleX)[] = {
{ 8, 10 },
{ 10, 8 },
{ 10, 8 },
};
Vec3i N(BeginAnimScaleY)[] = {
@ -270,12 +270,12 @@ Vec3i N(BeginAnimScaleY)[] = {
{ 14, 5, 6 },
{ 5, 12, 5 },
{ 12, 5, 5 },
{ 5, 10, 4 },
{ 5, 10, 4 },
};
Vec2i N(LoopAnimScaleY)[] = {
{ 10, 6 },
{ 6, 10 },
{ 6, 10 },
};
EvtScript N(EVS_HuffNPuff_Defeat_Flashing) = {
@ -525,7 +525,7 @@ EvtScript N(EVS_NpcDefeat_HuffNPuff_Main) = {
EVT_CALL(GetBattleOutcome, LVar0)
EVT_SWITCH(LVar0)
EVT_CASE_EQ(OUTCOME_PLAYER_WON)
EVT_CALL(SetEncounterStatusFlags, 1, TRUE)
EVT_CALL(SetEncounterStatusFlags, ENCOUNTER_STATUS_FLAGS_1, TRUE)
EVT_CALL(SetNpcYaw, NPC_PARTNER, 90)
EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar3)
EVT_CALL(GetNpcPos, NPC_PARTNER, LVar0, LVar1, LVar2)
@ -608,7 +608,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = {
.settings = &N(NpcSettings_HuffNPuff),
.pos = { 650.0f, NPC_DISPOSE_POS_Y, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000,
.init = &N(EVS_NpcInit_HuffNPuff_Face),
.drops = HUFF_N_PUFF_NO_DROPS,
.animations = HUFF_N_PUFF_ANIMS,
@ -619,7 +619,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = {
.settings = &N(NpcSettings_HuffNPuff),
.pos = { 650.0f, 100.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000,
.init = &N(EVS_NpcInit_HuffNPuff_Body),
.drops = HUFF_N_PUFF_NO_DROPS,
.animations = HUFF_N_PUFF_ANIMS,
@ -630,7 +630,7 @@ StaticNpc N(NpcData_HuffNPuff)[] = {
.settings = &N(NpcSettings_HuffNPuff),
.pos = { 650.0f, NPC_DISPOSE_POS_Y, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000,
.init = &N(EVS_NpcInit_HuffNPuff_Arms),
.drops = HUFF_N_PUFF_NO_DROPS,
.animations = HUFF_N_PUFF_ANIMS,
@ -649,7 +649,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -660,7 +660,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -671,7 +671,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -682,7 +682,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -693,7 +693,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -704,7 +704,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -715,7 +715,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -726,7 +726,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -737,7 +737,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -748,7 +748,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -759,7 +759,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -770,7 +770,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -781,7 +781,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -792,7 +792,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,
@ -803,7 +803,7 @@ StaticNpc N(NpcData_TuffPuffs)[] = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_TuffPuff),
.drops = TUFF_PUFF_NO_DROPS,
.animations = TUFF_PUFF_ANIMS,

View File

@ -108,7 +108,7 @@ StaticNpc N(NpcData_Bzzap) = {
.settings = &N(NpcSettings_Dummy),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Bzzap),
.drops = BZZAP_NO_DROPS,
.animations = BZZAP_ANIMS,
@ -119,7 +119,7 @@ StaticNpc N(NpcData_Dayzee) = {
.settings = &N(NpcSettings_Dummy),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Dayzee),
.drops = CRAZY_DAYZEE_DROPS,
.animations = CRAZY_DAYZEE_ANIMS,

View File

@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = {
.settings = &N(NpcSettings_GateFlower),
.pos = { 385.0f, 0.0f, -35.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_GateFlower),
.drops = GATE_FLOWER_DROPS,
.animations = GATE_FLOWER_BLUE_ANIMS,
@ -174,7 +174,7 @@ StaticNpc N(NpcData_Spiny_01) = {
.settings = &N(NpcSettings_Spiny),
.pos = { 80.0f, 0.0f, 0.0f },
.yaw = 90,
.flags = NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = SPINY_DROPS,
.territory = {
.wander = {
@ -196,7 +196,7 @@ StaticNpc N(NpcData_Spiny_02) = {
.settings = &N(NpcSettings_Spiny),
.pos = { -320.0f, 0.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = SPINY_DROPS,
.territory = {
.wander = {

View File

@ -162,7 +162,7 @@ StaticNpc N(NpcData_GateFlower) = {
.settings = &N(NpcSettings_GateFlower),
.pos = { 505.0f, 0.0f, -25.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_GateFlower),
.drops = GATE_FLOWER_DROPS,
.animations = GATE_FLOWER_RED_ANIMS,
@ -174,7 +174,7 @@ StaticNpc N(NpcData_TuffPuff) = {
.settings = &N(NpcSettings_TuffPuff),
.pos = { -200.0f, 45.0f, 0.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = TUFF_PUFF_DROPS,
.territory = {
.wander = {
@ -197,7 +197,7 @@ StaticNpc N(NpcData_Bzzap) = {
.settings = &N(NpcSettings_Bzzap),
.pos = { 150.0f, 55.0f, 0.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = BZZAP_DROPS,
.territory = {
.wander = {

View File

@ -25,7 +25,7 @@ API_CALLABLE(N(func_80240118_90CD58)) {
sfx_play_sound_at_position(SOUND_DEATH, 0, npc->pos.x, npc->pos.y + (npc->collisionHeight / 2), npc->pos.z);
fx_damage_stars(1, npc->pos.x, npc->pos.y + (npc->collisionHeight / 2), npc->pos.z, 0.0f, -1.0f, 0.0f, 10);
}
temp = script->functionTemp[1];
if (script->functionTemp[1] == 10) {
fx_big_smoke_puff(npc->pos.x, npc->pos.y + 10.0f, npc->pos.z + 10.0f);
@ -34,7 +34,7 @@ API_CALLABLE(N(func_80240118_90CD58)) {
spawn_drops(enemy);
}
}
script->functionTemp[1]--;
if (script->functionTemp[1] == 0) {
return ApiStatus_DONE1;
@ -49,7 +49,7 @@ StaticNpc N(NpcData_MontyMole_GroundAmbush)[] = {
.settings = &N(NpcSettings_MontyMole_GroundAmbush),
.pos = { 880.0f, 70.0f, 67.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = MONTY_MOLE_DROPS,
.territory = {
.wander = {
@ -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 = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
@ -99,7 +99,7 @@ StaticNpc N(NpcData_MontyMole_WallAmbush)[] = {
.settings = &N(NpcSettings_MontyMole_WallAmbush),
.pos = { 1220.0f, -30.0f, 70.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = MONTY_MOLE_DROPS,
.territory = {
.wander = {
@ -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 = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = {
.dropFlags = NPC_DROP_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_4000 | NPC_FLAG_MOTION_BLUR | NPC_FLAG_200000 | NPC_FLAG_400000 | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_4000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_400000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP,
.init = &N(EVS_NpcInit_Whacka_02),
.drops = WHACKA_DROPS,
.animations = WHACKA_ANIMS,

View File

@ -11,7 +11,7 @@ StaticNpc N(NpcData_MontyMole_WallAmbush)[] = {
.settings = &N(NpcSettings_MontyMole_WallAmbush),
.pos = { 340.0f, 70.0f, 101.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = MONTY_MOLE_DROPS,
.territory = {
.wander = {
@ -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 = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_800000,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
@ -62,7 +62,7 @@ StaticNpc N(NpcData_MontyMole_StoneThrower_01)[] = {
.settings = &N(NpcSettings_MontyMole_StoneThrower),
.pos = { -250.0f, 10.0f, 260.0f },
.yaw = 90,
.flags = NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_800,
.drops = MONTY_MOLE_DROPS,
.territory = {
.wander = {
@ -88,7 +88,7 @@ StaticNpc N(NpcData_MontyMole_StoneThrower_02)[] = {
.settings = &N(NpcSettings_MontyMole_StoneThrower),
.pos = { -175.0f, 10.0f, 240.0f },
.yaw = 270,
.flags = NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_800,
.drops = MONTY_MOLE_DROPS,
.territory = {
.wander = {
@ -114,7 +114,7 @@ StaticNpc N(NpcData_MontyMole_StoneThrower_03)[] = {
.settings = &N(NpcSettings_MontyMole_StoneThrower),
.pos = { -55.0f, 10.0f, 180.0f },
.yaw = 270,
.flags = NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_800,
.drops = MONTY_MOLE_DROPS,
.territory = {
.wander = {
@ -139,7 +139,7 @@ StaticNpc N(NpcData_Cleft) = {
.settings = &N(NpcSettings_Cleft),
.pos = { -657.0f, 163.0f, 155.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = CLEFT_DROPS,
.territory = {
.wander = {

View File

@ -12,7 +12,7 @@ StaticNpc N(NpcData_Cleft_01) = {
.settings = &N(NpcSettings_Cleft),
.pos = { 526.0f, 238.0f, 69.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_2000,
.drops = CLEFT_DROPS,
.territory = {
.wander = {
@ -35,7 +35,7 @@ StaticNpc N(NpcData_Cleft_02) = {
.settings = &N(NpcSettings_Cleft),
.pos = { 450.0f, 50.0f, 215.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_2000,
.drops = CLEFT_DROPS,
.territory = {
.wander = {
@ -58,7 +58,7 @@ StaticNpc N(NpcData_Cleft_03) = {
.settings = &N(NpcSettings_Cleft),
.pos = { 90.0f, 0.0f, 160.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_2000,
.drops = CLEFT_DROPS,
.territory = {
.wander = {
@ -82,7 +82,7 @@ StaticNpc N(NpcData_MontyMole_01)[] = {
.settings = &N(NpcSettings_MontyMole_WallAmbush),
.pos = { 867.0f, 0.0f, 101.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = MONTY_MOLE_DROPS,
.territory = {
.wander = {
@ -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 = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = {
.dropFlags = NPC_DROP_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Bubulb),
.drops = BUBULB_DROPS,
.animations = BUBULB_PURPLE_ANIMS,

View File

@ -8,7 +8,7 @@ StaticNpc N(NpcData_Cleft_01) = {
.settings = &N(NpcSettings_Cleft),
.pos = { -525.0f, -75.0f, 60.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = CLEFT_DROPS,
.territory = {
.wander = {
@ -31,7 +31,7 @@ StaticNpc N(NpcData_Cleft_02) = {
.settings = &N(NpcSettings_Cleft),
.pos = { -1686.0f, -60.0f, 180.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = CLEFT_DROPS,
.territory = {
.wander = {
@ -54,7 +54,7 @@ StaticNpc N(NpcData_Cleft_03) = {
.settings = &N(NpcSettings_Cleft),
.pos = { -1300.0f, 408.0f, -125.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = CLEFT_DROPS,
.territory = {
.wander = {
@ -78,7 +78,7 @@ StaticNpc N(NpcData_MontyMole)[] = {
.settings = &N(NpcSettings_MontyMole_GroundAmbush),
.pos = { -1000.0f, 23.0f, 60.0f },
.yaw = 0,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = MONTY_MOLE_DROPS,
.territory = {
.wander = {
@ -100,7 +100,7 @@ StaticNpc N(NpcData_MontyMole)[] = {
.settings = &N(NpcSettings_MontyMole_GroundAmbush_Hole),
.pos = { -1000.0f, 23.0f, 60.0f },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_NO_AI | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_20 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,

View File

@ -282,7 +282,7 @@ StaticNpc N(NpcData_Cleft) = {
.settings = &N(NpcSettings_Cleft),
.pos = { -412.0f, -250.0f, 143.0f },
.yaw = 0,
.flags = NPC_FLAG_100 | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_800,
.drops = CLEFT_DROPS,
.territory = {
.wander = {
@ -305,7 +305,7 @@ StaticNpc N(NpcData_Buzzar) = {
.settings = &N(NpcSettings_Buzzar),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = STANDARD_HEART_DROPS(3),

View File

@ -128,7 +128,7 @@ StaticNpc N(NpcData_TrainConductorToad)[] = {
.settings = &N(NpcSettings_TrainConductorToad),
.pos = { -440.0f, 20.0f, 110.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_TrainStationToad_01),
.drops = TRAIN_CONDUCTOR_DROPS,
.animations = TRAIN_CONDUCTOR_WHITE_ANIMS,
@ -139,7 +139,7 @@ StaticNpc N(NpcData_TrainConductorToad)[] = {
.settings = &N(NpcSettings_TrainConductorToad),
.pos = { -425.0f, 70.0f, -20.0f },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_TrainStationToad_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 = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Toad),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -168,7 +168,7 @@ StaticNpc N(NpcData_ThreeSisters)[] = {
.settings = &N(NpcSettings_Toad_Stationary),
.pos = { -562.0f, 0.0f, 384.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_ThreeSisters_01),
.drops = TOADETTE_DROPS,
.animations = TOADETTE_GREEN_ANIMS,

View File

@ -315,7 +315,7 @@ StaticNpc N(NpcData_Parakarry) = {
.settings = &N(NpcSettings_Parakarry),
.pos = { -610.0f, 230.0f, -485.0f },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000,
.init = &N(EVS_NpcInit_Parakarry),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -23,7 +23,7 @@ StaticNpc N(NpcData_TrainConductorToad) = {
.settings = &N(NpcSettings_TrainConductorToad),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_TrainConductorToad),
.drops = TRAIN_CONDUCTOR_DROPS,
.animations = TRAIN_CONDUCTOR_ANIMS,

View File

@ -585,7 +585,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = {
.settings = &N(NpcSettings_Kolorado_01),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Kolorado_01),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -617,7 +617,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = {
.settings = &N(NpcSettings_Kolorado_02),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Kolorado_02),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -649,7 +649,7 @@ StaticNpc N(D_8024488C_B24DCC)[] = {
.settings = &N(NpcSettings_JrTroopa),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_JrTroopa),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -682,7 +682,7 @@ StaticNpc N(D_80244E5C_B2539C) = {
.settings = &N(NpcSettings_HeartPlant_01),
.pos = { 455.0f, 0.0f, 115.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
@ -714,7 +714,7 @@ StaticNpc N(D_8024504C_B2558C) = {
.settings = &N(NpcSettings_HeartPlant_01),
.pos = { 167.0f, 0.0f, 404.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
@ -746,7 +746,7 @@ StaticNpc N(D_8024523C_B2577C) = {
.settings = &N(NpcSettings_HeartPlant_01),
.pos = { 90.0f, 0.0f, 316.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
@ -778,7 +778,7 @@ StaticNpc N(D_8024542C_B2596C) = {
.settings = &N(NpcSettings_HeartPlant_01),
.pos = { 424.0f, 0.0f, 182.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,
@ -810,7 +810,7 @@ StaticNpc N(D_8024561C_B25B5C) = {
.settings = &N(NpcSettings_HeartPlant_01),
.pos = { 143.0f, 0.0f, 260.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_400000,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,

View File

@ -15,7 +15,7 @@ ApiStatus func_80240FC0_B45730(Evt* script, s32 isInitialCall) {
Evt* newScript;
D_8024625C_B4A9CC++;
newScript = start_script(rideScript, 0, 0x20);
newScript = start_script(rideScript, 0, EVT_FLAG_RUN_IMMEDIATELY);
newScript->varTable[1] = playerStatus->position.x - 10.0f;
newScript->varTable[2] = playerStatus->position.y;
newScript->varTable[3] = playerStatus->position.z;

View File

@ -283,7 +283,7 @@ NpcSettings N(NpcSettings_Fuzzipede) = {
.ai = &N(EVS_NpcAI_Fuzzipede),
.onHit = &N(EVS_NpcHit_Fuzzipede),
.onDefeat = &N(EVS_NpcDefeat_Fuzzipede),
.unk_27 = 100,
.unk_24 = 100,
};
StaticNpc N(NpcData_Fuzzipede) = {
@ -291,7 +291,7 @@ StaticNpc N(NpcData_Fuzzipede) = {
.settings = &N(NpcSettings_Fuzzipede),
.pos = { 333.0f, -10.0f, -130.0f },
.yaw = 90,
.flags = NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_JUMPING | NPC_FLAG_8000 | NPC_FLAG_40000 | NPC_FLAG_MOTION_BLUR | NPC_FLAG_1000000 | NPC_FLAG_SIMPLIFIED_PHYSICS | NPC_FLAG_PARTICLE | NPC_FLAG_10000000,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_800 | ENEMY_FLAGS_8000 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_IGNORE_TOUCH | ENEMY_FLAGS_IGNORE_JUMP | ENEMY_FLAGS_IGNORE_HAMMER | ENEMY_FLAGS_10000000,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,

View File

@ -111,7 +111,7 @@ StaticNpc N(NpcData_Goombaria) = {
.settings = &N(NpcSettings_Goombaria_Stationary),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_StarSpirit),
.drops = KALMAR_DROPS,
.animations = KALMAR_ANIMS,

View File

@ -168,7 +168,7 @@ StaticNpc N(NpcData_Goompa) = {
.settings = &N(NpcSettings_Goompa),
.pos = { -50.0f, 0.0f, 80.0f },
.yaw = 45,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Goompa),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,

View File

@ -263,7 +263,7 @@ StaticNpc N(NpcData_JrTroopa) = {
.settings = &N(NpcSettings_JrTroopa),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000,
.init = &N(EVS_NpcInit_JrTroopa),
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
@ -295,7 +295,7 @@ StaticNpc N(NpcData_Goompa) = {
.settings = &N(NpcSettings_Goompa),
.pos = { -58.0f, 0.0f, 130.0f },
.yaw = 0,
.flags = NPC_FLAG_100 | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_200000,
.animations = {
},
};

View File

@ -76,7 +76,7 @@ StaticNpc N(NpcData_Goomba_01) = {
.settings = &N(NpcSettings_Goomba_Wander),
.pos = { 305.0f, 50.0f, -13.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = GOOMBA_DROPS,
.territory = {
.wander = {
@ -99,7 +99,7 @@ StaticNpc N(NpcData_Goomba_02) = {
.settings = &N(NpcSettings_Goomba_Wander),
.pos = { 700.0f, 210.0f, -165.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = GOOMBA_DROPS,
.territory = {
.wander = {
@ -129,7 +129,7 @@ StaticNpc N(NpcData_SpikedGoomba) = {
.settings = &N(NpcSettings_SpikedGoomba_Wander),
.pos = { 712.0f, 100.0f, -95.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.init = &N(EVS_NpcInit_SpikedGoomba),
.drops = SPIKED_GOOMBA_DROPS,
.territory = {
@ -153,7 +153,7 @@ StaticNpc N(NpcData_Paragoomba) = {
.settings = &N(NpcSettings_Paragoomba_Wander),
.pos = { 960.0f, 210.0f, -20.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = PARAGOOMBA_DROPS,
.territory = {
.wander = {

View File

@ -8,7 +8,7 @@ StaticNpc N(NpcData_SpikedGoomba) = {
.settings = &N(NpcSettings_SpikedGoomba_Wander),
.pos = { 160.0f, 0.0f, 30.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = SPIKED_GOOMBA_DROPS,
.territory = {
.wander = {
@ -30,7 +30,7 @@ StaticNpc N(NpcData_Paragoomba) = {
.settings = &N(NpcSettings_Paragoomba_Wander),
.pos = { 525.0f, 60.0f, 15.0f },
.yaw = 270,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = PARAGOOMBA_DROPS,
.territory = {
.wander = {

View File

@ -211,7 +211,7 @@ StaticNpc N(NpcData_GoombaBros_Red)[] = {
.settings = &N(NpcSettings_GoombaBros_Stationary),
.pos = { 526.0f, 80.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000,
.init = &N(EVS_NpcInit_GoombaBros_Red),
.drops = GOOMBA_BROS_DROPS,
.territory = {
@ -233,7 +233,7 @@ StaticNpc N(NpcData_GoombaBros_Red)[] = {
.settings = &N(NpcSettings_GoombaBros_Stationary),
.pos = { 498.0f, 80.0f, -10.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_100 | NPC_FLAG_40000 | NPC_FLAG_200000 | NPC_FLAG_NO_DROPS,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_100 | ENEMY_FLAGS_40000 | ENEMY_FLAGS_200000 | ENEMY_FLAGS_800000,
.init = &N(EVS_NpcInit_GoombaBros_Blue),
.drops = GOOMBA_BROS_DROPS,
.territory = {

View File

@ -9,7 +9,7 @@ StaticNpc N(NpcData_Goomba_01) = {
.settings = &N(NpcSettings_Goomba_Wander),
.pos = { 200.0f, 0.0f, 24.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = GOOMBA_DROPS,
.territory = {
.wander = {
@ -31,7 +31,7 @@ StaticNpc N(NpcData_Goomba_02) = {
.settings = &N(NpcSettings_Goomba_Wander),
.pos = { 250.0f, 0.0f, 35.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = GOOMBA_DROPS,
.territory = {
.wander = {
@ -132,7 +132,7 @@ StaticNpc N(NpcData_Goomba_Ambush) = {
.settings = &N(NpcSettings_Goomba_Wander),
.pos = { -34.0f, 29.0f, -32.0f },
.yaw = 270,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Goomba_Ambush),
.drops = GOOMBA_DROPS,
.territory = {
@ -155,7 +155,7 @@ StaticNpc N(NpcData_Paragoomba) = {
.settings = &N(NpcSettings_Paragoomba_Wander),
.pos = { 670.0f, 60.0f, 20.0f },
.yaw = 270,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = PARAGOOMBA_DROPS,
.territory = {
.wander = {

View File

@ -13,7 +13,7 @@ StaticNpc N(NpcData_Toad) = {
.settings = &N(NpcSettings_Toad_Stationary),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW | NPC_FLAG_4000 | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000 | ENEMY_FLAGS_4000 | ENEMY_FLAGS_200000,
.init = &N(EVS_NpcInit_Toad),
.drops = TOAD_DROPS,
.animations = TOAD_RED_ANIMS,

View File

@ -92,7 +92,7 @@ StaticNpc N(NpcData_Goomba) = {
.settings = &N(NpcSettings_Goomba_Wander),
.pos = { -33.0f, 30.0f, -25.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Goomba),
.drops = GOOMBA_DROPS,
.territory = {

View File

@ -31,7 +31,7 @@ AnimID N(StarSpiritAnimations)[][2] = {
{ ANIM_WorldEldstar_Idle, ANIM_WorldEldstar_Back },
{ ANIM_WorldMamar_Idle, ANIM_WorldMamar_Back },
{ ANIM_WorldSkolar_Idle, ANIM_WorldSkolar_Back },
{ ANIM_WorldMuskular_Idle, ANIM_WorldMuskular_Back },
{ ANIM_WorldMuskular_Idle, ANIM_WorldMuskular_Back },
{ ANIM_WorldMisstar_Idle, ANIM_WorldMisstar_Back },
{ ANIM_WorldKlevar_Idle, ANIM_WorldKlevar_Back },
{ ANIM_WorldKalmar_Idle, ANIM_WorldKalmar_Back },
@ -77,7 +77,7 @@ API_CALLABLE(N(CreateEndChapterData)) {
Npc* npc = get_npc_safe(NPC_StarSpirit);
EndChapter* data;
s32 backFacing;
if (isInitialCall) {
data = heap_malloc(sizeof(*data));
script->userData = data;
@ -109,7 +109,7 @@ API_CALLABLE(N(CreateEndChapterData)) {
}
npc->currentAnim = N(StarSpiritAnimations)[data->chapter][backFacing];
}
if (data->spiritCardEffect != NULL) {
data->spiritCardEffect->data.spiritCard->yaw = data->yaw;
data->spiritCardEffect->data.spiritCard->pos.x = data->pos.x - 2.0f;
@ -139,7 +139,7 @@ API_CALLABLE(N(AccelerateCardSpin)) {
Bytecode* args = script->ptrReadPos;
EndChapter* data;
s32 duration;
if (isInitialCall) {
script->functionTempF[1] = evt_get_float_variable(script, *args++);
duration = script->functionTemp[2] = evt_get_variable(script, *args++);
@ -149,7 +149,7 @@ API_CALLABLE(N(AccelerateCardSpin)) {
data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr);
data->angularVelocity += script->functionTempF[1];
script->functionTemp[0]++;
if (script->functionTemp[0] < script->functionTemp[2]) {
return ApiStatus_BLOCK;
@ -173,7 +173,7 @@ API_CALLABLE(N(MakeCardFloatUpward)) {
data->pos.y = update_lerp(script->varTable[0],
script->functionTemp[1], script->functionTemp[2],
script->functionTemp[0], script->functionTemp[3]);
script->functionTemp[0]++;
if (script->functionTemp[0] < script->functionTemp[3]) {
return ApiStatus_BLOCK;
@ -221,11 +221,11 @@ API_CALLABLE(N(FlashScreenWhite)) {
HOLD_WHITE = 1,
BACK_TO_NORMAL = 2,
};
if (isInitialCall) {
script->functionTemp[0] = FADE_TO_WHITE;
}
switch(script->functionTemp[0]) {
case FADE_TO_WHITE:
set_screen_overlay_color(0, 208, 208, 208);
@ -270,7 +270,7 @@ API_CALLABLE(N(FlashScreenWhite)) {
API_CALLABLE(N(SpinDownStarSpirit)) {
Bytecode* args = script->ptrReadPos;
EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr);
if (isInitialCall) {
script->functionTemp[0] = 0;
data->stopAccelerating = TRUE;
@ -282,7 +282,7 @@ API_CALLABLE(N(SpinDownStarSpirit)) {
data->yaw = clamp_angle(update_lerp(EASING_QUADRATIC_OUT,
data->startYaw, script->functionTemp[1],
script->functionTemp[0], script->functionTemp[2]));
script->functionTemp[0]++;
if (script->functionTemp[0] < script->functionTemp[2]) {
return ApiStatus_BLOCK;
@ -295,7 +295,7 @@ API_CALLABLE(N(EndOfChapterBounceIn)) {
Bytecode* args = script->ptrReadPos;
EndChapter* endChatper = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr);
s32 posY;
if (isInitialCall) {
endChatper->chapterChangeEffect = fx_chapter_change(gGameStatusPtr->entryID + 10, 40, 0, 0, 1.0f, 0);
script->functionTemp[0] = 0;
@ -312,7 +312,7 @@ API_CALLABLE(N(EndOfChapterBounceIn)) {
endChatper->chapterChangeEffect->data.chapterChange->chapterPos.y = posY;
endChatper->chapterChangeEffect->data.chapterChange->endOfPos.x = script->varTable[0];
endChatper->chapterChangeEffect->data.chapterChange->endOfPos.y = posY;
script->functionTemp[0]++;
if (script->functionTemp[0] < script->functionTemp[3]) {
return ApiStatus_BLOCK;
@ -325,7 +325,7 @@ API_CALLABLE(N(EndOfChapterSplitApart)) {
Bytecode* args = script->ptrReadPos;
EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr);
s32 leftDx, rightDx;
if (isInitialCall) {
script->functionTemp[0] = 0;
script->varTable[0] = evt_get_variable(script, *args++);
@ -340,7 +340,7 @@ API_CALLABLE(N(EndOfChapterSplitApart)) {
data->chapterChangeEffect->data.chapterChange->chapterPos.y = script->functionTemp[1];
data->chapterChangeEffect->data.chapterChange->endOfPos.x = script->varTable[0] + rightDx;
data->chapterChangeEffect->data.chapterChange->endOfPos.y = script->functionTemp[1];
script->functionTemp[0]++;
if (script->functionTemp[0] < script->functionTemp[3]) {
return ApiStatus_BLOCK;
@ -352,7 +352,7 @@ API_CALLABLE(N(EndOfChapterSplitApart)) {
API_CALLABLE(N(func_80240BB4_9085E4)) {
Bytecode* args = script->ptrReadPos;
EndChapter* data = (EndChapter*) evt_get_variable(script, MV_EndChapterDataPtr);
if (isInitialCall) {
script->functionTemp[0] = 0;
script->functionTemp[1] = evt_get_variable(script, *args++);
@ -364,7 +364,7 @@ API_CALLABLE(N(func_80240BB4_9085E4)) {
data->unk0C = update_lerp(EASING_LINEAR,
script->functionTemp[1], script->functionTemp[2],
script->functionTemp[0], script->functionTemp[3]);
script->functionTemp[0]++;
if (script->functionTemp[0] < script->functionTemp[3]) {
return ApiStatus_BLOCK;
@ -408,7 +408,7 @@ void func_80240DA4_9087D4(void) {
s32 baseX = 47;
s32 baseY = 100;
EndChapter* data = evt_get_variable(NULL, MapVar(0));
switch (D_802417C8_9091F8) {
case 0:
if (data->unk1E != 0) {
@ -559,7 +559,7 @@ StaticNpc N(NpcData_Eldstar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_01),
.drops = ELDSTAR_DROPS,
.animations = ELDSTAR_ANIMS,
@ -569,7 +569,7 @@ StaticNpc N(NpcData_Eldstar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_02),
.drops = ELDSTAR_DROPS,
.animations = ELDSTAR_ANIMS,
@ -582,7 +582,7 @@ StaticNpc N(NpcData_Mamar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_01),
.drops = MAMAR_DROPS,
.animations = MAMAR_ANIMS,
@ -592,7 +592,7 @@ StaticNpc N(NpcData_Mamar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_02),
.drops = MAMAR_DROPS,
.animations = MAMAR_ANIMS,
@ -605,7 +605,7 @@ StaticNpc N(NpcData_Skolar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_01),
.drops = SKOLAR_DROPS,
.animations = SKOLAR_ANIMS,
@ -615,7 +615,7 @@ StaticNpc N(NpcData_Skolar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_02),
.drops = SKOLAR_DROPS,
.animations = SKOLAR_ANIMS,
@ -628,7 +628,7 @@ StaticNpc N(NpcData_Muskular)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_01),
.drops = MUSKULAR_DROPS,
.animations = MUSKULAR_ANIMS,
@ -638,7 +638,7 @@ StaticNpc N(NpcData_Muskular)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_02),
.drops = MUSKULAR_DROPS,
.animations = MUSKULAR_ANIMS,
@ -651,7 +651,7 @@ StaticNpc N(NpcData_Misstar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_01),
.drops = MISSTAR_DROPS,
.animations = MISSTAR_ANIMS,
@ -661,7 +661,7 @@ StaticNpc N(NpcData_Misstar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_02),
.drops = MISSTAR_DROPS,
.animations = MISSTAR_ANIMS,
@ -674,7 +674,7 @@ StaticNpc N(NpcData_Klevar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_01),
.drops = KLEVAR_DROPS,
.animations = KLEVAR_ANIMS,
@ -684,7 +684,7 @@ StaticNpc N(NpcData_Klevar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_02),
.drops = KLEVAR_DROPS,
.animations = KLEVAR_ANIMS,
@ -697,7 +697,7 @@ StaticNpc N(NpcData_Kalmar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_01),
.drops = KALMAR_DROPS,
.animations = KALMAR_ANIMS,
@ -707,7 +707,7 @@ StaticNpc N(NpcData_Kalmar)[] = {
.settings = &N(NpcSettings_StarSpirit),
.pos = { -40.0f, 96.0f, 0.0f },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.init = &N(EVS_NpcInit_Eldstar_02),
.drops = KALMAR_DROPS,
.animations = KALMAR_ANIMS,

View File

@ -11,7 +11,7 @@ StaticNpc N(NpcData_ParadePeach) = {
.settings = &N(NpcSettings_ParadePeach),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_4 | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_4 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = {
.dropFlags = NPC_DROP_FLAGS_80,
.heartDrops = NO_DROPS,

View File

@ -50,7 +50,7 @@ StaticNpc N(NpcPutridPiranha) = {
.settings = &N(NpcSettings_PutridPiranhaSentinel),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 270,
.flags = NPC_FLAG_4 | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_4 | ENEMY_FLAGS_200000,
.init = &N(EVS_NpcInit_PutridPiranha),
.drops = PIRANHA_SENTINEL_DROPS,
.animations = PIRANHA_SENTINEL_ANIMS,

View File

@ -167,7 +167,7 @@ StaticNpc N(NpcData_Kolorado) = {
.settings = &N(NpcSettings_Kolorado),
.pos = { -740.0f, 20.0f, 0.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000,
.init = &N(EVS_NpcInit_Kolorado),
.drops = KOLORADO_DROPS,
.animations = KOLORADO_ANIMS,
@ -179,7 +179,7 @@ StaticNpc N(NpcData_LavaBubble) = {
.settings = &N(NpcSettings_LavaBubble),
.pos = { 250.0f, 50.0f, 0.0f },
.yaw = 90,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = LAVA_BUBBLE_DROPS,
.territory = {
.wander = {

View File

@ -170,7 +170,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = {
.settings = &N(NpcSettings_Kolorado),
.pos = { 392.0f, 470.0f, 218.0f },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000,
.init = &N(EVS_NpcInit_ZiplineDummy),
.drops = KOLORADO_DROPS,
.animations = KOLORADO_ANIMS,
@ -205,7 +205,7 @@ StaticNpc N(NpcData_SpikeTop_01) = {
.settings = &N(NpcSettings_SpikeTop),
.pos = { 140.0f, 670.0f, -20.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = SPIKE_TOP_DROPS,
.territory = {
.wander = {
@ -228,7 +228,7 @@ StaticNpc N(NpcData_SpikeTop_02) = {
.settings = &N(NpcSettings_SpikeTop),
.pos = { -200.0f, 670.0f, -35.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = SPIKE_TOP_DROPS,
.territory = {
.wander = {
@ -251,7 +251,7 @@ StaticNpc N(NpcData_SpikeTop_03) = {
.settings = &N(NpcSettings_SpikeTop),
.pos = { 30.0f, 20.0f, 320.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = SPIKE_TOP_DROPS,
.territory = {
.wander = {
@ -275,7 +275,7 @@ StaticNpc N(NpcData_PutridPiranha)[] = {
.settings = &N(NpcSettings_PutridPiranha),
.pos = { 260.0f, 20.0f, 255.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = PUTRID_PIRANHA_DROPS,
.territory = {
.wander = {

View File

@ -148,7 +148,7 @@ StaticNpc N(NpcData_FireBar_01)[] = {
.settings = &N(NpcSettings_FireBar_01),
.pos = { 0.0f, 0.0f, 0.0f },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.init = (void*) 0x00004003,
.animations = {
},

View File

@ -8,7 +8,7 @@ StaticNpc N(NpcData_LavaBubble_01) = {
.settings = &N(NpcSettings_LavaBubble),
.pos = { -200.0f, 50.0f, 150.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = LAVA_BUBBLE_DROPS,
.territory = {
.wander = {
@ -31,7 +31,7 @@ StaticNpc N(NpcData_LavaBubble_02) = {
.settings = &N(NpcSettings_LavaBubble),
.pos = { -250.0f, 80.0f, 50.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = LAVA_BUBBLE_DROPS,
.territory = {
.wander = {

View File

@ -9,7 +9,7 @@ StaticNpc N(NpcData_PutridPiranha)[] = {
.settings = &N(NpcSettings_PutridPiranha),
.pos = { 80.0f, 0.0f, 135.0f },
.yaw = 270,
.flags = NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_100 | ENEMY_FLAGS_400,
.drops = PUTRID_PIRANHA_DROPS,
.territory = {
.wander = {

View File

@ -231,7 +231,7 @@ StaticNpc N(NpcData_PassiveNPCs)[] = {
.settings = &N(NpcSettings_Kolorado),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_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 = NPC_FLAG_PASSIVE | NPC_FLAG_100 | NPC_FLAG_GRAVITY | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_200000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_100 | ENEMY_FLAGS_200 | ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_200000,
.init = &N(EVS_Dummy_Init),
.drops = KOLORADO_DROPS,
.animations = KOLORADO_ANIMS,
@ -255,7 +255,7 @@ StaticNpc N(NpcData_SpikeTop) = {
.settings = &N(NpcSettings_SpikeTop),
.pos = { -100.0f, 350.0f, 50.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING | NPC_FLAG_NO_PROJECT_SHADOW,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800 | ENEMY_FLAGS_2000,
.drops = SPIKE_TOP_DROPS,
.territory = {
.wander = {
@ -279,7 +279,7 @@ StaticNpc N(NpcData_PutridPiranha)[] = {
.settings = &N(NpcSettings_PutridPiranha),
.pos = { 200.0f, 350.0f, 100.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS,
.flags = ENEMY_FLAGS_400,
.drops = PUTRID_PIRANHA_DROPS,
.territory = {
.wander = {

View File

@ -149,7 +149,7 @@ StaticNpc N(NpcData_FireBar_01)[] = {
.settings = &N(NpcSettings_FireBar_01),
.pos = { 0.0f, 0.0f, 0.0f },
.yaw = 0,
.flags = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.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 = NPC_FLAG_PASSIVE,
.flags = ENEMY_FLAGS_1,
.init = (void*) 0x00004003,
.animations = {
},
@ -277,7 +277,7 @@ StaticNpc N(NpcData_Bubble_01) = {
.settings = &N(NpcSettings_LavaBubble),
.pos = { -150.0f, 50.0f, 10.0f },
.yaw = 90,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = LAVA_BUBBLE_DROPS,
.territory = {
.wander = {
@ -300,7 +300,7 @@ StaticNpc N(NpcData_Bubble_02) = {
.settings = &N(NpcSettings_LavaBubble),
.pos = { 150.0f, 50.0f, 10.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = LAVA_BUBBLE_DROPS,
.territory = {
.wander = {

View File

@ -138,7 +138,7 @@ StaticNpc N(NpcData_Kolorado) = {
.settings = &N(NpcSettings_Kolorado),
.pos = { NPC_DISPOSE_LOCATION },
.yaw = 90,
.flags = NPC_FLAG_PASSIVE | NPC_FLAG_ENABLE_HIT_SCRIPT | NPC_FLAG_100 | NPC_FLAG_LOCK_ANIMS | NPC_FLAG_DIRTY_SHADOW | NPC_FLAG_MOTION_BLUR | NPC_FLAG_400000,
.flags = ENEMY_FLAGS_1 | ENEMY_FLAGS_8 | ENEMY_FLAGS_100 | ENEMY_FLAGS_400 | ENEMY_FLAGS_10000 | ENEMY_FLAGS_100000 | ENEMY_FLAGS_400000,
.init = &N(EVS_NpcInit_Kolorado),
.drops = KOLORADO_DROPS,
.animations = KOLORADO_ANIMS,
@ -151,7 +151,7 @@ StaticNpc N(NpcData_Piranha)[] = {
.settings = &N(NpcSettings_PutridPiranha),
.pos = { -325.0f, 0.0f, 150.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = PUTRID_PIRANHA_DROPS,
.territory = {
.wander = {
@ -176,7 +176,7 @@ StaticNpc N(NpcData_SpikeTop) = {
.settings = &N(NpcSettings_SpikeTop),
.pos = { -450.0f, 0.0f, 100.0f },
.yaw = 270,
.flags = NPC_FLAG_LOCK_ANIMS | NPC_FLAG_JUMPING,
.flags = ENEMY_FLAGS_400 | ENEMY_FLAGS_800,
.drops = SPIKE_TOP_DROPS,
.territory = {
.wander = {

Some files were not shown because too many files have changed in this diff Show More