Goods and Services (misc decomp PR from eth number 335) (#629)

* an end func

* 2nd segment bss file added

* hud_element work

* some renaming, set_hud_element_scale

* 2 hud_element funcz

* remove more unneeded undefined_syms

* bss 3, PR comments

* fx_134

* func_80200080

* 4 funx

* fix shtuff

* a func

* create_actor

* func_80263064

* initialize_battle, some stuff, and cleanup

* clean

* NL
This commit is contained in:
Ethan Roseman 2022-01-20 08:08:24 -05:00 committed by GitHub
parent 445b110ed8
commit 3bd5a9d91e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
129 changed files with 1211 additions and 2115 deletions

View File

@ -256,7 +256,7 @@ typedef struct PlayerData {
/* 0x29C */ s16 playerFirstStrikes;
/* 0x29E */ s16 enemyFirstStrikes;
/* 0x2A0 */ u16 powerBounces;
/* 0x2A2 */ s16 battlesCount;
/* 0x2A2 */ u16 battlesCount;
/* 0x2A4 */ s16 unk_2A4[4];
/* 0x2AC */ s32 unk_2AC;
/* 0x2B0 */ s32 unk_2B0;
@ -294,7 +294,7 @@ typedef struct Trigger {
/* 0x08 */ union {
s32 colliderID;
Vec4f* position;
} location;
} location;
/* 0x0C */ s32 (*onActivateFunc)(struct Trigger*);
/* 0x10 */ EvtScript* onTriggerEvt;
/* 0x14 */ struct Evt* runningScript;
@ -856,21 +856,9 @@ typedef struct BattleStatus {
/* 0x008 */ s32 varTable[16];
/* 0x048 */ u8 currentSubmenu;
/* 0x049 */ char unk_49[3];
/* 0x04C */ s8 unk_4C;
/* 0x04D */ s8 unk_4D;
/* 0x04E */ s8 unk_4E;
/* 0x04F */ s8 unk_4F;
/* 0x050 */ s8 unk_50;
/* 0x051 */ s8 unk_51;
/* 0x052 */ s8 unk_52;
/* 0x053 */ s8 stratsLastCursorPos;
/* 0x054 */ char unk_54[8];
/* 0x05C */ s8 unk_5C;
/* 0x05D */ s8 unk_5D;
/* 0x05E */ char unk_5E[4];
/* 0x062 */ s8 unk_62;
/* 0x063 */ s8 unk_63;
/* 0x064 */ char unk_64[12];
/* 0x04C */ s8 unk_4C[16];
/* 0x05C */ s8 unk_5C[16];
/* 0x06C */ char unk_6C[0x4];
/* 0x070 */ s16 menuDisableFlags; /* 1 = jump, 2 = hammer, 4 = items */
/* 0x072 */ char unk_72[2];
/* 0x074 */ s32 unk_74;
@ -985,8 +973,8 @@ typedef struct BattleStatus {
/* 0x434 */ s32* unk_434;
/* 0x438 */ FGModelData* foregroundModelData;
/* 0x43C */ BattleStatusUnk* unk_43C;
/* 0x440 */ u8 tattleFlags[27];
/* 0x45B */ char unk_45B[5];
/* 0x440 */ u8 tattleFlags[28];
/* 0x45C */ char unk_45C[4];
} BattleStatus; // size = 0x460
typedef struct TextureHeader {
@ -1482,26 +1470,51 @@ typedef struct SelectableTarget {
/* 0x00 */ s16 actorID;
/* 0x02 */ s16 partID; /* sometimes loaded as byte from 0x3 */
/* 0x04 */ Vec3s pos;
/* 0x0A */ char unk_0A[7];
/* 0x0A */ s16 unk_0A;
/* 0x0C */ s16 unk_0C;
/* 0x0E */ s16 unk_0E;
/* 0x10 */ s8 unk_10;
/* 0x11 */ u8 homeCol; /* from xpos --> 0-3 */
/* 0x12 */ u8 homeRow; /* from ypos --> 0-3 */
/* 0x13 */ u8 layer; /* from zpos? --> 0-1 */
} SelectableTarget; // size = 0x14
typedef struct ActorPartMovement {
/* 0x00 */ char unk_00[12];
/* 0x00 */ Vec3f unk_00;
/* 0x0C */ Vec3f goalPos;
/* 0x18 */ char unk_18[12];
/* 0x18 */ Vec3f unk_18;
/* 0x24 */ f32 jumpScale;
/* 0x28 */ f32 moveSpeed;
/* 0x2C */ char unk_2C[32];
/* 0x2C */ f32 unk_2C;
/* 0x30 */ f32 unk_30;
/* 0x34 */ f32 unk_34;
/* 0x38 */ s16 unk_38;
/* 0x3A */ s16 unk_3A;
/* 0x3C */ s32 unk_3C;
/* 0x40 */ char unk_40[0xC];
/* 0x4C */ s32 varTable[16];
} ActorPartMovement; // size = 0x8C
typedef struct ActorPartBlueprint {
/* 0x00 */ s32 flags;
/* 0x04 */ s8 index;
/* 0x05 */ Vec3b posOffset;
/* 0x08 */ Vec2b targetOffset;
/* 0x0A */ s16 opacity;
/* 0x0C */ s32* idleAnimations;
/* 0x10 */ s32* defenseTable;
/* 0x14 */ s32 eventFlags;
/* 0x18 */ s32 elementImmunityFlags;
/* 0x1C */ s8 unk_1C;
/* 0x1C */ s8 unk_1D;
/* 0x1E */ char unk_1E[2];
/* 0x20 */ s32 unk_20;
} ActorPartBlueprint; // size = 0x24
typedef struct ActorPart {
/* 0x00 */ s32 flags;
/* 0x04 */ s32 targetFlags; /* initialized to 0 */
/* 0x08 */ struct ActorPartBlueprint* staticData;
/* 0x08 */ ActorPartBlueprint* staticData;
/* 0x0C */ struct ActorPart* nextPart;
/* 0x10 */ struct ActorPartMovement* movement;
/* 0x14 */ Vec3s partOffset;
@ -1839,7 +1852,7 @@ typedef struct Actor {
/* 0x1EC */ s32 onTurnChangeID;
/* 0x1F0 */ s8 lastEventType;
/* 0x1F1 */ s8 turnPriority;
/* 0x1F2 */ u8 enemyIndex; /* actorID = this | 200 */
/* 0x1F2 */ s8 enemyIndex; /* actorID = this | 200 */
/* 0x1F3 */ s8 numParts;
/* 0x1F4 */ struct ActorPart* partsTable;
/* 0x1F8 */ s16 lastDamageTaken;
@ -1883,7 +1896,10 @@ typedef struct Actor {
/* 0x427 */ char unk_427;
/* 0x428 */ s16 targetActorID;
/* 0x42A */ char unk_42A[2];
/* 0x42C */ struct Shadow* shadow; /* might be shadow ID */
/* 0x42C */ union {
/* */ struct Shadow* ptr;
/* */ s32 id;
/* 0x42C */ } shadow;
/* 0x430 */ f32 shadowScale; /* = actor size / 24.0 */
/* 0x434 */ s16 renderMode; /* initially 0xD, set to 0x22 if any part is transparent */
/* 0x436 */ s16 hudElementDataIndex;

View File

@ -454,6 +454,23 @@ typedef struct Effect75 {
/* 0x20 */ s32 unk_20;
} Effect75; // size = 0x24
typedef struct Effect134 {
/* 0x00 */ s32 unk_00;
/* 0x04 */ f32 unk_04;
/* 0x08 */ f32 unk_08;
/* 0x0C */ f32 unk_0C;
/* 0x10 */ s32 unk_10;
/* 0x14 */ s32 unk_14;
/* 0x18 */ s32 unk_18;
/* 0x1C */ s32 unk_1C;
/* 0x20 */ s32 unk_20;
/* 0x24 */ s32 unk_24;
/* 0x28 */ s32 unk_28;
/* 0x2C */ s32 unk_2C;
/* 0x30 */ s32 unk_30;
/* 0x34 */ f32 unk_34;
} Effect134; // size = 0x38
// TODO figure out what this actually is
// playFX_4E invokes gEffectTable[78]'s entryPoint function
// playFX_6F invokes gEffectTable[111]'s entryPoint function
@ -505,13 +522,13 @@ typedef struct EffectInstance {
/* 0x00 */ s32 flags;
/* 0x04 */ s32 effectIndex;
/* 0x08 */ s32 numParts;
/* 0x0C */ Effect16* data; // often but not always EffectInstanceData
/* 0x0C */ void* data; // often but not always EffectInstanceData
/* 0x10 */ struct EffectGraphics* graphics;
} EffectInstance; // size = 0x14
typedef struct EffectBlueprint {
/* 0x00 */ s32 unk_00;
/* 0x04 */ s32 effectIndex;
/* 0x04 */ s32 effectID;
/* 0x08 */ void (*init)(EffectInstance* effectInst);
/* 0x0C */ void (*update)(EffectInstance* effectInst);
/* 0x10 */ void (*renderWorld)(EffectInstance* effectInst);

View File

@ -502,6 +502,7 @@ void func_802D74C0(f32 x, f32 y, f32 z, s32 arg3);
void show_damage_popup(f32 x, f32 y, f32 z, s32 damageAmount, s32);
void add_xz_vec3f(Vec3f* vector, f32 speed, f32 angleDeg);
void add_xz_vec3f_copy1(Vec3f* vector, f32 speed, f32 angleDeg);
void play_movement_dust_effects(s32 var0, f32 xPos, f32 yPos, f32 zPos, f32 angleDeg);
void func_80138D88(s32, s32, s32, s32, f32);
@ -710,6 +711,8 @@ s32 try_inflict_status(Actor*, s32, s32);
void mdl_set_all_fog_mode(s32);
void load_model_animator_tree(s32, StaticAnimatorNode**);
void func_8024EDC0(void);
void update_effects(void);
void update_cameras(void);
void clear_render_tasks(void);

View File

@ -89,6 +89,7 @@
#define SPRITE_PIXEL_SCALE (5.0 / 7.0)
#ifdef PERMUTER
#undef SCRIPT
#define SCRIPT(...) {}
#endif

View File

@ -84,6 +84,7 @@ extern s16 D_80151308;
extern s32 D_80151310;
extern s32 D_8010C92C;
extern s32 D_8010C950;
extern s16 D_8010CD00;
extern s16 D_8010CD10;
extern s16 D_8010CD12;

View File

@ -1,11 +1,22 @@
#include "common.h"
#include "filemenu.h"
extern MenuWindowBP D_8024A0CC[2];
INCLUDE_ASM(s32, "167570", filemenu_yesno_draw_options_contents);
INCLUDE_ASM(s32, "167570", filemenu_yesno_draw_prompt_contents);
INCLUDE_ASM(s32, "167570", filemenu_yesno_init);
void filemenu_yesno_init(MenuPanel* tab) {
s32 i;
for (i = 0; i < ARRAY_COUNT(D_8024A0CC); i++) {
D_8024A0CC[i].tab = tab;
}
setup_pause_menu_tab(D_8024A0CC, ARRAY_COUNT(D_8024A0CC));
tab->unk_00.c.initialized = TRUE;
}
INCLUDE_ASM(s32, "167570", filemenu_yesno_handle_input);

View File

@ -189,16 +189,17 @@ void func_80243910(void) {
void btl_state_update_prepare_menu(void) {
BattleStatus* battleStatus = &gBattleStatus;
battleStatus->unk_4D = -1;
battleStatus->unk_4E = -1;
battleStatus->unk_4F = -1;
battleStatus->unk_50 = -1;
battleStatus->unk_51 = -1;
battleStatus->unk_52 = -1;
battleStatus->stratsLastCursorPos = -1;
battleStatus->unk_5D = -1;
battleStatus->unk_62 = -1;
battleStatus->unk_63 = -1;
battleStatus->unk_4C[1] = -1;
battleStatus->unk_4C[2] = -1;
battleStatus->unk_4C[3] = -1;
battleStatus->unk_4C[4] = -1;
battleStatus->unk_4C[5] = -1;
battleStatus->unk_4C[5] = -1;
battleStatus->unk_4C[6] = -1;
battleStatus->unk_4C[7] = -1;
battleStatus->unk_5C[1] = -1;
battleStatus->unk_5C[6] = -1;
battleStatus->unk_5C[7] = -1;
dma_copy(_415D90_ROM_START, _415D90_ROM_END, _415D90_VRAM);
@ -588,7 +589,7 @@ void btl_state_update_change_partner(void) {
}
}
battleStatus->unk_5C = -1;
battleStatus->unk_5C[0] = -1;
D_8029F248 = 0xA;
gBattleState2 = BATTLE_STATES2_UNK_2;

View File

@ -29,12 +29,21 @@ void* bHPDigitHudScripts[] = {
s32 D_80280A30 = 0xFF;
extern s32 D_8029DA30;
extern s8 D_8029DA33;
extern s32 D_8029DA34;
extern Camera D_8029DA50[ARRAY_COUNT(gCameras)];
extern f32 D_8029EFB0;
extern f32 D_8029EFB4;
extern f32 D_8029EFB8;
extern s32 D_8029EFBC;
extern s32 D_8029EFC0[10];
extern s32 D_8029EFE8[10];
extern s32 D_8029F010[10];
extern HudScript HudScript_HPBar;
extern HudScript HudScript_Item_SmallStarPoint;
extern HudScript HudScript_Item_StarPoint;
extern HudScript HudScript_StatusSPShine;
EvtScript BtlPutPartnerAway = {
EVT_CALL(DispatchEvent, 256, 62)
@ -82,17 +91,17 @@ EvtScript BtlBringPartnerOut = {
EVT_END
};
void func_8023ED5C(void);
void func_8023F088(Camera*);
void func_8023FF84(Camera*);
void get_dpad_input_radial(f32* angle, f32* magnitude) {
BattleStatus* battleStatus = &gBattleStatus;
u16 currentButtonsDown;
f32 stickX;
f32 stickY;
f32 mag;
f32 maxMagnitude = 60.0f;
stickX = battleStatus->stickX;
stickY = battleStatus->stickY;
currentButtonsDown = battleStatus->currentButtonsDown;
f32 stickX = battleStatus->stickX;
f32 stickY = battleStatus->stickY;
u16 currentButtonsDown = battleStatus->currentButtonsDown;
f32 mag;
if (currentButtonsDown & 0xF00) {
stickY = 0.0f;
@ -130,7 +139,89 @@ void func_8023E11C(void) {
D_802809F5 = 0;
}
INCLUDE_ASM(s32, "16c8e0", initialize_battle);
void initialize_battle(void) {
PlayerData* playerData = &gPlayerData;
BattleStatus* battleStatus = &gBattleStatus;
Camera* tattleCam = &gCameras[CAM_TATTLE];
s32 hudElemID;
s32 i;
gBattleStatus.flags1 = 0;
gBattleStatus.flags2 = 0;
gBattleStatus.flags1 = 0;
D_8029DA34 = gOverrideFlags;
gOverrideFlags &= ~0x80;
gBattleStatus.inputBitmask = -1;
gOverrideFlags &= ~0x80;
for (i = 0; i < 16; i++) {
battleStatus->pushInputBuffer[i] = 0; // @bug? why just 16
}
battleStatus->inputBufferPos = 0;
battleStatus->holdInputBufferPos = 0;
battleStatus->unk_95 = 0;
for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) {
battleStatus->enemyActors[i] = NULL;
}
battleStatus->playerActor = NULL;
battleStatus->partnerActor = NULL;
for (i = 0; i < ARRAY_COUNT(battleStatus->unk_4C); i++) {
battleStatus->unk_4C[i] = -1;
battleStatus->unk_5C[i] = -1;
}
for (i = 0; i < ARRAY_COUNT(battleStatus->tattleFlags); i++) {
battleStatus->tattleFlags[i] = 0;
}
if (gGameStatusPtr->peachFlags & 1) {
gBattleStatus.flags2 |= BS_FLAGS2_40;
increment_status_menu_disabled();
} else {
gBattleStatus.flags2 &= ~BS_FLAGS2_40;
}
create_generic_entity_world(NULL, func_8023ED5C);
func_8024EDC0();
func_80268E88();
set_windows_visible(1);
D_8029EFBC = create_hud_element(HudScript_HPBar);
set_hud_element_flags(D_8029EFBC, 0x80);
for (i = 0; i < ARRAY_COUNT(D_8029EFC0); i++) {
hudElemID = D_8029EFC0[i] = create_hud_element(HudScript_Item_StarPoint);
set_hud_element_flags(hudElemID, 0x80 | 0x2);
set_hud_element_render_depth(hudElemID, 20);
}
for (i = 0; i < ARRAY_COUNT(D_8029EFE8); i++) {
hudElemID = D_8029EFE8[i] = create_hud_element(HudScript_StatusSPShine);
set_hud_element_flags(hudElemID, 0x80 | 0x2);
set_hud_element_render_depth(hudElemID, 20);
}
for (i = 0; i < ARRAY_COUNT(D_8029F010); i++) {
hudElemID = D_8029F010[i] = create_hud_element(HudScript_Item_SmallStarPoint);
set_hud_element_flags(hudElemID, 0x80 | 0x2);
set_hud_element_render_depth(hudElemID, 20);
}
tattleCam->fpDoPreRender = func_8023F088;
tattleCam->fpDoPostRender = func_8023FF84;
if (playerData->battlesCount < 9999) {
playerData->battlesCount++;
}
D_8029DA30 = playerData->currentPartner;
if (gBattleStatus.flags2 & BS_FLAGS2_40) {
playerData->currentPartner = PARTNER_TWINK;
}
}
void func_8023E3FC(void) {
}
@ -151,7 +242,7 @@ void btl_update(void) {
s32 cond;
if (battleStatus->inputBitmask != -1) {
if (battleStatus->flags1 & 0x80000 && gGameStatusPtr->unk_81 != 0) {
if (battleStatus->flags1 & BS_FLAGS1_80000 && gGameStatusPtr->unk_81 != 0) {
s32 inputBitmask = battleStatus->inputBitmask;
battleStatus->currentButtonsDown = gGameStatusPtr->altCurrentButtons & inputBitmask;
@ -488,7 +579,7 @@ u16 func_8023F060(u16 arg0, s32 arg1, s32 arg2) {
INCLUDE_ASM(s32, "16c8e0", func_8023F088);
void func_8023FF84(void) {
void func_8023FF84(Camera* camera) {
show_foreground_models_unchecked();
}
@ -583,7 +674,7 @@ void btl_delete_actor(Actor* actor) {
partsTable = actorPartTemp;
}
delete_shadow(actor->shadow);
delete_shadow(actor->shadow.id);
remove_all_status_icons(actor->hudElementDataIndex);
remove_effect(actor->ptrDefuffIcon); // ???
@ -603,9 +694,9 @@ void btl_delete_actor(Actor* actor) {
}
void btl_delete_player_actor(Actor* player) {
struct ActorPart* partsTable;
struct ActorPartMovement* movement;
struct DecorationTable* decorationTable;
ActorPart* partsTable;
ActorPartMovement* movement;
DecorationTable* decorationTable;
s32 i;
for (i = 0; i < 2; i++) {
@ -626,7 +717,7 @@ void btl_delete_player_actor(Actor* player) {
decorationTable = partsTable->decorationTable;
movement = partsTable->movement;
delete_shadow(player->shadow);
delete_shadow(player->shadow.id);
remove_all_status_icons(player->hudElementDataIndex);
remove_effect(player->ptrDefuffIcon);

View File

@ -553,7 +553,7 @@ void update_actor_shadow(s32 arg0, Actor* actor) {
s32 i;
if (actor != NULL) {
shadow = get_shadow_by_index((s32) actor->shadow);
shadow = get_shadow_by_index(actor->shadow.id);
shadow->flags |= SHADOW_FLAGS_HIDDEN;
if (!(actor->flags & ACTOR_FLAG_DISABLED)) {
if (actor->flags & ACTOR_FLAG_10000000) {
@ -633,7 +633,7 @@ void update_actor_shadow(s32 arg0, Actor* actor) {
actorPart = actorPart->nextPart;
}
shadow = get_shadow_by_index((s32) actor->shadow);
shadow = get_shadow_by_index(actor->shadow.id);
if (!(actor->flags & ACTOR_FLAG_NO_SHADOW)) {
shadow->flags &= ~ACTOR_FLAG_DISABLED;
}
@ -715,7 +715,7 @@ void update_player_actor_shadow(void) {
func_802549F4(player);
}
shadow = get_shadow_by_index((s32) player->shadow);
shadow = get_shadow_by_index(player->shadow.id);
shadow->flags &= ~SHADOW_FLAGS_HIDDEN;
if (!battleStatus->outtaSightActive) {
@ -911,7 +911,8 @@ void func_8025D158(ActorPart* part, s32 decorationIndex) {
INCLUDE_ASM(s32, "182B30", func_8025D160);
void func_8025D290(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->data->unk_2C = 5;
// TODO cast to appropriate struct data type once we know what it is
((s32*) part->decorationTable->unk_8B0[decorationIndex]->data)[11] = 5;
}
INCLUDE_ASM(s32, "182B30", func_8025D2B0);
@ -928,7 +929,8 @@ void func_8025D4A0(ActorPart* part, s32 decorationIndex) {
INCLUDE_ASM(s32, "182B30", func_8025D4C8);
void func_8025D620(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->data->unk_2C = 5;
// TODO cast to appropriate struct data type once we know what it is
((s32*) part->decorationTable->unk_8B0[decorationIndex]->data)[11] = 5;
}
INCLUDE_ASM(s32, "182B30", func_8025D640);
@ -961,12 +963,13 @@ void func_8025DBC8(ActorPart* part, s32 decorationIndex) {
INCLUDE_ASM(s32, "182B30", func_8025DBD0);
void func_8025DD40(ActorPart* actorPart, s32 decorationIndex) {
actorPart->decorationTable->unk_8B0[decorationIndex]->data->unk_2C = 5;
void func_8025DD40(ActorPart* part, s32 decorationIndex) {
// TODO cast to appropriate struct data type once we know what it is
((s32*) part->decorationTable->unk_8B0[decorationIndex]->data)[11] = 5;
}
INCLUDE_ASM(s32, "182B30", func_8025DD60);
void func_8025DE88(ActorPart* actorPart, s32 decorationIndex) {
actorPart->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
void func_8025DE88(ActorPart* part, s32 decorationIndex) {
part->decorationTable->unk_8B0[decorationIndex]->flags |= 0x10;
}

View File

@ -1116,6 +1116,7 @@ s32 func_80265CE8(u32*, s32);
void create_target_list(Actor* actor, s32 arg1);
INCLUDE_ASM(s32, "190B20", create_target_list);
void func_80266DAC(Actor* actor, s32 arg1);
void player_create_target_list(Actor* actor) {
@ -1126,14 +1127,81 @@ void enemy_create_target_list(Actor* actor) {
create_target_list(actor, 1);
}
void func_80263064(s32, s32, s32);
INCLUDE_ASM(s32, "190B20", func_80263064);
s32 func_80263064(Actor* actor0, Actor* actor1, s32 unused) {
s32 ret = 0;
SelectableTarget* target = actor0->targetData;
s32 numParts;
ActorPart* part;
s32 i;
void func_80263230(s32 arg0, s32 arg1) {
if (actor1 == NULL) {
return ret;
}
numParts = actor1->numParts;
part = actor1->partsTable;
for (i = 0; i < numParts; i++) {
if (!(part->flags & 0x20000)) {
if (!(part->flags & 0x800000)) {
continue;
} else {
ActorPartBlueprint* bp = part->staticData;
f32 x, y, z;
if (!(part->flags & 0x100000)) {
x = actor1->currentPos.x;
y = actor1->currentPos.y;
z = actor1->currentPos.z;
x += part->partOffset.x;
if (!(actor1->flags & 0x800)) {
y += part->partOffset.y;
} else {
y -= part->partOffset.y;
}
z += part->partOffset.z;
x += part->targetOffset.x;
if (!(actor1->flags & 0x800)) {
y += part->targetOffset.y;
} else {
y -= part->targetOffset.y;
}
} else {
x = part->absolutePosition.x;
y = part->absolutePosition.y;
z = part->absolutePosition.z;
x += part->targetOffset.x;
if (!(actor1->flags & 0x800)) {
y += part->targetOffset.y;
} else {
y -= part->targetOffset.y;
}
}
actor0->targetActorID = target->actorID = actor1->actorID;
actor0->targetPartIndex = target->partID = bp->index;
target->pos.x = x;
target->pos.y = y;
target->pos.z = z;
target->unk_10 = 0;
target++;
ret++;
}
}
part = part->nextPart;
}
actor0->targetListLength = ret;
return ret;
}
void func_80263230(Actor* arg0, Actor* arg1) {
func_80263064(arg0, arg1, 0);
}
void func_8026324C(s32 arg0, s32 arg1) {
void func_8026324C(Actor* arg0, Actor* arg1) {
func_80263064(arg0, arg1, 1);
}
@ -1993,7 +2061,7 @@ void load_player_actor(void) {
ASSERT(partMovement != NULL);
player->shadow = create_shadow_type(0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
player->shadow.id = create_shadow_type(0, player->currentPos.x, player->currentPos.y, player->currentPos.z);
player->shadowScale = player->size.x / 24.0;
player->hudElementDataIndex = create_status_icon_set();
player->ptrDefuffIcon = playFX_41(0, -142.0f, 34.0f, 1.0f, 0);
@ -2247,7 +2315,7 @@ void load_partner_actor(void) {
part->nextPart = NULL;
}
partnerActor->shadow = create_shadow_type(0, partnerActor->currentPos.x, partnerActor->currentPos.y, partnerActor->currentPos.z);
partnerActor->shadow.id = create_shadow_type(0, partnerActor->currentPos.x, partnerActor->currentPos.y, partnerActor->currentPos.z);
partnerActor->shadowScale = partnerActor->size.x / 24.0;
partnerActor->hudElementDataIndex = create_status_icon_set();
partnerActor->ptrDefuffIcon = playFX_41(0, -142.0f, 34.0f, 1.0f, 0);
@ -2259,7 +2327,273 @@ void load_partner_actor(void) {
}
}
INCLUDE_ASM(s32, "190B20", create_actor);
Actor* create_actor(Formation formation) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* actor;
ActorBlueprint* formationActor;
ActorPart* part;
ActorPartBlueprint* partBP;
Evt* takeTurnScript;
s32 partCount;
f32 x, y, z;
DecorationTable* decorationTable;
s32 i, j, k;
if (formation->home.index >= -270000000) {
x = btl_actorHomePositions[formation->home.index].x;
y = btl_actorHomePositions[formation->home.index].y;
z = btl_actorHomePositions[formation->home.index].z;
} else {
x = formation->home.vec->x;
y = formation->home.vec->y;
z = formation->home.vec->z;
}
formationActor = formation->actor;
partCount = formationActor->partCount;
for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) {
if (battleStatus->enemyActors[i] == NULL) {
break;
}
}
battleStatus->enemyActors[i] = heap_malloc(sizeof(*actor));
actor = battleStatus->enemyActors[i];
ASSERT(actor != NULL);
actor->unk_134 = battleStatus->unk_93++;
actor->footStepCounter = 0;
actor->actorBlueprint = formationActor;
actor->actorType = formationActor->type;
actor->flags = formationActor->flags;
actor->homePos.x = actor->currentPos.x = x;
actor->homePos.y = actor->currentPos.y = y;
actor->homePos.z = actor->currentPos.z = z;
actor->headOffset.x = 0;
actor->headOffset.y = 0;
actor->headOffset.z = 0;
actor->maxHP = actor->currentHP = formationActor->maxHP;
actor->numParts = partCount;
actor->idleScriptSource = NULL;
actor->takeTurnScriptSource = formationActor->script;
actor->onHitScriptSource = NULL;
actor->onTurnChanceScriptSource = NULL;
actor->idleScript = NULL;
actor->takeTurnScript = NULL;
actor->onHitScript = NULL;
actor->turnPriority = formation->priority;
actor->enemyIndex = i;
actor->yaw = 0.0f;
actor->rotation.x = 0.0f;
actor->rotation.y = 0.0f;
actor->rotation.z = 0.0f;
actor->rotationPivotOffset.x = 0;
actor->rotationPivotOffset.y = 0;
actor->rotationPivotOffset.z = 0;
actor->scale.x = 1.0f;
actor->scale.y = 1.0f;
actor->scale.z = 1.0f;
actor->scaleModifier.x = 1.0f;
actor->scaleModifier.y = 1.0f;
actor->scaleModifier.z = 1.0f;
actor->unk_19A = 0;
actor->extraCoinBonus = 0;
actor->size.x = formationActor->size.x;
actor->size.y = formationActor->size.y;
actor->scalingFactor = 1.0f;
actor->unk_194 = 0;
actor->unk_195 = 0;
actor->unk_196 = 0;
actor->unk_197 = 0;
actor->unk_198.x = 0;
actor->unk_198.y = 0;
actor->unk_206 = 0;
actor->unk_200 = NULL;
actor->unk_204 = 0;
actor->unk_205 = 0;
actor->healthBarPosition.x = actor->currentPos.x + formationActor->hpBarOffset.x;
actor->healthBarPosition.y = actor->currentPos.y + formationActor->hpBarOffset.y;
actor->healthBarPosition.z = actor->currentPos.z;
if (actor->flags & ACTOR_FLAG_HP_OFFSET_BELOW) {
actor->healthBarPosition.y = actor->currentPos.y - actor->size.y - formationActor->hpBarOffset.y;
}
actor->statusTable = formationActor->statusTable;
actor->debuff = 0;
actor->debuffDuration = 0;
actor->staticStatus = 0;
actor->staticDuration = 0;
actor->stoneStatus = 0;
actor->stoneDuration = 0;
actor->koStatus = 0;
actor->koDuration = 0;
actor->transStatus = 0;
actor->transDuration = 0;
actor->isGlowing = 0;
actor->unk_21E = 0;
actor->unk_21D = 0;
actor->attackBoost = 0;
actor->defenseBoost = 0;
actor->chillOutAmount = 0;
actor->chillOutTurns = 0;
actor->status = 0;
actor->actorTypeData1[0] = bActorSoundTable[actor->actorType].walk[0];
actor->actorTypeData1[1] = bActorSoundTable[actor->actorType].walk[1];
actor->actorTypeData1[2] = bActorSoundTable[actor->actorType].fly[0];
actor->actorTypeData1[3] = bActorSoundTable[actor->actorType].fly[1];
actor->actorTypeData1[4] = bActorSoundTable[actor->actorType].jump;
actor->actorTypeData1[5] = bActorSoundTable[actor->actorType].hurt;
actor->actorTypeData1b[0] = bActorSoundTable[actor->actorType].delay[0];
actor->actorTypeData1b[1] = bActorSoundTable[actor->actorType].delay[1];
for (i = 0; i < ARRAY_COUNT(actor->unk_438); i++) {
actor->unk_438[i] = 0;
}
actor->state.varTable[0] = formation->var0;
actor->state.varTable[1] = formation->var1;
actor->state.varTable[2] = formation->var2;
actor->state.varTable[3] = formation->var3;
actor->renderMode = RENDER_MODE_ALPHATEST;
actor->unk_208 = 0;
part = heap_malloc(sizeof(*part));
actor->partsTable = part;
ASSERT(part != NULL);
for (j = 0; j < partCount; j++) {
ActorPartBlueprint* actorPartBP = &formationActor->partsData[j];
part->decorationTable = NULL;
part->staticData = actorPartBP;
part->flags = actorPartBP->flags | ACTOR_PART_FLAG_4;
part->targetFlags = 0;
part->partOffsetFloat.x = part->partOffset.x = actorPartBP->posOffset.x;
part->partOffsetFloat.y = part->partOffset.y = actorPartBP->posOffset.y;
part->partOffsetFloat.z = part->partOffset.z = actorPartBP->posOffset.z;
part->visualOffset.x = 0;
part->visualOffset.y = 0;
part->visualOffset.z = 0;
part->absolutePosition.x = actor->currentPos.x;
part->absolutePosition.y = actor->currentPos.y;
part->absolutePosition.z = actor->currentPos.z;
part->currentPos.x = actor->currentPos.x;
part->currentPos.y = actor->currentPos.y;
part->currentPos.z = actor->currentPos.z;
part->defenseTable = actorPartBP->defenseTable;
part->idleAnimations = actorPartBP->idleAnimations;
part->eventFlags = actorPartBP->eventFlags;
part->partFlags3 = actorPartBP->elementImmunityFlags;
part->opacity = actorPartBP->opacity;
if (part->opacity < 255) {
actor->renderMode = RENDER_MODE_SURFACE_XLU_LAYER3;
}
part->size.y = actor->size.y;
part->size.x = actor->size.x;
part->yaw = 0.0f;
part->targetOffset.x = actorPartBP->targetOffset.x;
part->targetOffset.y = actorPartBP->targetOffset.y;
part->unk_70 = 0;
part->unk_75 = actorPartBP->unk_1C;
part->unk_76 = actorPartBP->unk_1D;
part->rotation.x = 0.0f;
part->rotation.y = 0.0f;
part->rotation.z = 0.0f;
part->rotationPivotOffset.x = 0;
part->rotationPivotOffset.y = 0;
part->rotationPivotOffset.z = 0;
part->scale.x = 1.0f;
part->scale.y = 1.0f;
part->scale.z = 1.0f;
part->verticalStretch = 1;
part->unkOffset[0] = 0;
part->unkOffset[1] = 0;
part->partTypeData[0] = bActorSoundTable[actor->actorType].walk[0];
part->partTypeData[1] = bActorSoundTable[actor->actorType].walk[1];
part->partTypeData[2] = bActorSoundTable[actor->actorType].fly[0];
part->partTypeData[3] = bActorSoundTable[actor->actorType].fly[1];
part->partTypeData[4] = bActorSoundTable[actor->actorType].jump;
part->partTypeData[5] = bActorSoundTable[actor->actorType].hurt;
part->actorTypeData2b[0] = bActorSoundTable[actor->actorType].delay[0];
part->actorTypeData2b[1] = bActorSoundTable[actor->actorType].delay[1];
if (part->idleAnimations != NULL && !(part->flags & ACTOR_PART_FLAG_2)) {
part->decorationTable = heap_malloc(sizeof(*decorationTable));
decorationTable = part->decorationTable;
ASSERT(decorationTable != NULL);
decorationTable->unk_6C0 = 0;
decorationTable->unk_750 = 0;
decorationTable->unk_764 = 0;
decorationTable->unk_768 = 0;
decorationTable->unk_7D8 = 0;
decorationTable->unk_7D9 = 0;
for (k = 0; k < ARRAY_COUNT(decorationTable->posX); k++) {
decorationTable->posX[k] = actor->currentPos.x;
decorationTable->posY[k] = actor->currentPos.y;
decorationTable->posZ[k] = actor->currentPos.z;
}
decorationTable->unk_7DA = 3;
decorationTable->unk_7DB = 0;
decorationTable->effectType = 0;
for (k = 0; k < ARRAY_COUNT(decorationTable->unk_8B0); k++) {
decorationTable->unk_8B0[k] = NULL;
decorationTable->decorationType[k] = 0;
}
}
if (part->flags >= 0) {
part->movement = heap_malloc(sizeof(*part->movement));
ASSERT(part->movement != NULL);
}
if (actor->flags & 0x4000) {
part->flags |= 0x4000;
}
part->animationRate = 1.0f;
part->currentAnimation = 0;
part->unk_84 = -1;
if (part->idleAnimations != NULL) {
part->currentAnimation = func_80265CE8(part->idleAnimations, 1) & ~0x80000000;
part->unk_84 = spr_load_npc_sprite(part->currentAnimation, NULL);
}
if (j + 1 >= partCount) {
part->nextPart = NULL;
continue;
}
part->nextPart = heap_malloc(sizeof(*part->nextPart));
part = part->nextPart;
if (part == NULL) {
PANIC();
}
part->nextPart = NULL;
}
actor->hpFraction = 25;
actor->actorID = actor->enemyIndex | 0x200;
takeTurnScript = start_script(actor->takeTurnScriptSource, 0xA, 0);
actor->takeTurnID = takeTurnScript->id;
takeTurnScript->owner1.enemyID = actor->enemyIndex | 0x200;
actor->shadow.id = create_shadow_type(0, actor->currentPos.x, actor->currentPos.y, actor->currentPos.z);
actor->shadowScale = actor->size.x / 24.0;
actor->ptrDefuffIcon = playFX_41(0, -142.0f, 34.0f, 1.0f, 0);
actor->unk_228 = NULL;
actor->hudElementDataIndex = create_status_icon_set();
return actor;
}
s32 func_80265CE8(u32* anim, s32 arg1) {
s32 ret;
@ -2629,9 +2963,57 @@ s32 get_defense(Actor* actor, s32* defenseTable, s32 elementFlags) {
return minDefense;
}
INCLUDE_ASM(s32, "190B20", func_802664DC);
void func_802664DC(f32 x, f32 y, f32 z, s32 attack, s32 a) {
s32 i;
INCLUDE_ASM(void, "190B20", show_damage_popup, f32 x, f32 y, f32 z, s32 damageAmount, s32 arg4);
for (i = 0; i < 1; i++) {
if (gDamageCountEffects[i] == NULL) {
break;
}
}
if (i > 0) {
i = 0;
// TODO use actual effect instance struct when we know what it is
((s32*)gDamageCountEffects[i]->data)[12] = 5;
gDamageCountEffects[i] = NULL;
}
if (a == 0) {
a = -55;
} else {
a = 55;
}
playFX_1E(0, x, y, z, 10.0f, a, attack, &gDamageCountEffects[i]);
gDamageCountTimers[i] = 40;
}
void show_damage_popup(f32 x, f32 y, f32 z, s32 attack, s32 a) {
s32 i;
for (i = 0; i < ARRAY_COUNT(gDamageCountEffects); i++) {
if (gDamageCountEffects[i] == NULL) {
break;
}
}
if (i > ARRAY_COUNT(gDamageCountEffects) - 1) {
i = 0;
// TODO use actual effect instance struct when we know what it is
((s32*)gDamageCountEffects[i]->data)[12] = 5;
gDamageCountEffects[i] = NULL;
}
if (a == 0) {
a = -55;
} else {
a = 55;
}
playFX_1E(0, x, y, z, 10.0f, a, attack, &gDamageCountEffects[i]);
gDamageCountTimers[i] = 40;
}
void func_80266684(void) {
s32 i;
@ -2656,7 +3038,67 @@ void func_80266970(Actor* target) {
target->unk_204 = 0;
}
INCLUDE_ASM(s32, "190B20", func_80266978);
void func_80266978(void) {
BattleStatus* battleStatus = &gBattleStatus;
Actor* actor;
s32 i;
for (i = 0; i < ARRAY_COUNT(battleStatus->enemyActors); i++) {
actor = gBattleStatus.enemyActors[i];
if (actor != NULL) {
if (actor->unk_205 == 0x3C) {
if (actor->unk_200 != 0) {
actor->unk_200[3][9] = 0;
}
}
if (actor->unk_205 == 5) {
if (actor->unk_200 != 0) {
actor->unk_200[3][6] = 0;
actor->unk_200 = NULL;
}
}
if (actor->unk_205 > 0) {
actor->unk_205--;
}
}
}
actor = battleStatus->playerActor;
if (actor != NULL) {
if (actor->unk_205 == 60) {
if (actor->unk_200 != NULL) {
actor->unk_200[3][9] = 0;
}
}
if (actor->unk_205 == 5) {
if (actor->unk_200 != NULL) {
actor->unk_200[3][6] = 0;
actor->unk_200 = NULL;
}
}
if (actor->unk_205 > 0) {
actor->unk_205--;
}
}
actor = battleStatus->partnerActor;
if (actor != NULL) {
if (actor->unk_205 == 60) {
if (actor->unk_200 != NULL) {
actor->unk_200[3][9] = 0;
}
}
if (actor->unk_205 == 5) {
if (actor->unk_200 != NULL) {
actor->unk_200[3][6] = 0;
actor->unk_200 = NULL;
}
}
if (actor->unk_205 > 0) {
actor->unk_205--;
}
}
}
void func_80266ADC(Actor* target) {
target->unk_206 = -1;

View File

@ -1066,7 +1066,52 @@ INCLUDE_ASM(s32, "1A5830", JumpPartTo);
INCLUDE_ASM(s32, "1A5830", FallPartTo);
INCLUDE_ASM(s32, "1A5830", LandJumpPart);
s32 LandJumpPart(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
Actor* actor;
ActorPart* part;
ActorPartMovement* movement;
if (isInitialCall) {
script->functionTemp[0] = 0;
}
if (script->functionTemp[0] == 0) {
s32 actorID = evt_get_variable(script, *args++);
s32 partIndex = evt_get_variable(script, *args++);
if (actorID == ACTOR_SELF) {
actorID = script->owner1.actorID;
}
actor = get_actor(actorID);
part = get_actor_part(actor, partIndex);
script->functionTemp[1] = (s32) actor;
script->functionTemp[2] = (s32) part;
movement = part->movement;
movement->unk_00.x = part->absolutePosition.x;
movement->unk_00.y = part->absolutePosition.y;
movement->unk_00.z = part->absolutePosition.z;
script->functionTemp[0] = 1;
}
part = script->functionTemp[2];
movement = part->movement;
movement->unk_00.y += movement->unk_2C;
movement->unk_2C -= movement->jumpScale;
add_xz_vec3f_copy1(movement, movement->moveSpeed, movement->unk_30);
part->absolutePosition.x = movement->unk_00.x;
part->absolutePosition.y = movement->unk_00.y;
part->absolutePosition.z = movement->unk_00.z;
if (part->absolutePosition.y < 0.0f) {
part->absolutePosition.y = 0.0f;
play_movement_dust_effects(2, part->absolutePosition.x, part->absolutePosition.y, part->absolutePosition.z, part->yaw);
return ApiStatus_DONE1;
}
return ApiStatus_BLOCK;
}
INCLUDE_ASM(s32, "1A5830", RunPartTo);

View File

@ -1,3 +1,44 @@
#include "common.h"
#include "ld_addrs.h"
#include "mips.h"
INCLUDE_ASM(s32, "316a70", func_80200080);
extern s32 D_80026AC7[];
void func_80200080(void) {
s32 seed = 0x3C01A775;
u32 thisInsn = 0xB0018FFC;
HeapNode*(*load_engine_data)(s32) = D_80026AC7; // load_engine_data - ????????
s32 hash = 0;
u32 prevInsn;
u32* it;
while (IO_READ(PI_STATUS_REG) & (PI_STATUS_DMA_BUSY | PI_STATUS_IO_BUSY));
seed -= IO_READ(thisInsn + 0xFFFE7508);
prevInsn = 0;
for (it = _3169F0_ROM_START; it < _3169F0_ROM_END; it++) {
while (IO_READ(PI_STATUS_REG) & (PI_STATUS_DMA_BUSY | PI_STATUS_IO_BUSY));
thisInsn = IO_READ(it + 0x4000000); // ???
hash += LOWER(thisInsn) + UPPER(thisInsn);
if (OPCODE(prevInsn) == LUI &&
OPCODE(thisInsn) == ADDIU &&
GET_RS(thisInsn) == GET_RT(prevInsn) &&
GET_RS(thisInsn) == GET_RT(thisInsn))
{
hash -= LOWER(thisInsn);
hash -= LOWER(prevInsn);
}
if (OPCODE(thisInsn) == JAL) {
hash -= LOWER(thisInsn) + (UPPER(thisInsn) & 0xFC00);
}
prevInsn = thisInsn;
}
load_engine_data += seed + 0xDDD20 - hash;
load_engine_data(thisInsn);
}

View File

@ -2,6 +2,16 @@
#define NAMESPACE E20110
typedef struct TempE20110 {
/* 0x00 */ Vec3f unk_00;
/* 0x0C */ char unk_0C[0x14];
/* 0x20 */ char unk_20[0x1];
/* 0x21 */ s8 unk_21;
/* 0x22 */ s8 unk_22;
} TempE20110;
extern TempE20110* D_802B7CB8_E20DC8;
#include "common/UnkAngleFunc1.inc.c"
INCLUDE_ASM(s32, "E20110", func_802B70B4_E201C4);
@ -10,7 +20,39 @@ INCLUDE_ASM(s32, "E20110", func_802B71E8_E202F8);
INCLUDE_ASM(s32, "E20110", func_802B7450_E20560);
INCLUDE_ASM(s32, "E20110", func_802B75E8_E206F8);
void func_802B75E8_E206F8(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
f32 unk_21;
f32 yTemp;
f32 y;
f32 delta;
D_802B7CB8_E20DC8->unk_21 += D_802B7CB8_E20DC8->unk_22;
if (D_802B7CB8_E20DC8->unk_21 > 4) {
D_802B7CB8_E20DC8->unk_22 = -1;
D_802B7CB8_E20DC8->unk_21 = 4;
}
if (D_802B7CB8_E20DC8->unk_21 < -4) {
D_802B7CB8_E20DC8->unk_22 = 1;
D_802B7CB8_E20DC8->unk_21 = -4;
}
delta = (playerStatus->position.x - D_802B7CB8_E20DC8->unk_00.x) * 0.666f;
D_802B7CB8_E20DC8->unk_00.x += delta;
delta = (playerStatus->position.z - D_802B7CB8_E20DC8->unk_00.z) * 0.666f;
D_802B7CB8_E20DC8->unk_00.z += delta;
yTemp = playerStatus->position.y + playerStatus->colliderHeight;
unk_21 = D_802B7CB8_E20DC8->unk_21;
y = D_802B7CB8_E20DC8->unk_00.y;
if (!(playerStatus->animFlags & 0x1000)) {
delta = (yTemp + 8.0f + unk_21 - y) * 0.25f;
} else {
delta = (yTemp + 2.0f + unk_21 - y) * 0.25f;
}
D_802B7CB8_E20DC8->unk_00.y += delta;
}
INCLUDE_ASM(s32, "E20110", func_802B7728_E20838);

View File

@ -64,7 +64,7 @@ ActorPartBlueprint N(partsTable_80220C14)[] = {
.defenseTable = N(defenseTable_80220B40),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -97,7 +97,7 @@ ActorPartBlueprint N(partsTable_8021B460)[] = {
.defenseTable = N(defenseTable_8021B2F0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
@ -109,7 +109,7 @@ ActorPartBlueprint N(partsTable_8021B460)[] = {
.defenseTable = N(defenseTable_8021B2FC),
.eventFlags = ACTOR_EVENT_FLAG_GROUNDABLE,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -121,7 +121,7 @@ ActorPartBlueprint N(partsTable_8021B460)[] = {
.defenseTable = N(defenseTable_8021B2F0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -133,7 +133,7 @@ ActorPartBlueprint N(partsTable_8021B460)[] = {
.defenseTable = N(defenseTable_8021B2F0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -55,7 +55,7 @@ ActorPartBlueprint N(partsTable_80218828)[] = {
.defenseTable = N(defenseTable_80218770),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -70,7 +70,7 @@ ActorPartBlueprint N(partsTable_80225D4C)[] = {
.defenseTable = N(defenseTable_80225C94),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -88,7 +88,7 @@ ActorPartBlueprint N(partsTable_80223D30)[] = {
.defenseTable = N(defenseTable_80223C78),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000,
@ -100,7 +100,7 @@ ActorPartBlueprint N(partsTable_80223D30)[] = {
.defenseTable = N(defenseTable_80223C78),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -64,7 +64,8 @@ ActorPartBlueprint N(partsTable_80218104)[] = {
.defenseTable = N(defenseTable_8021804C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 2301,
.unk_1C = 8,
.unk_1D = 0xFD,
},
};

View File

@ -71,7 +71,7 @@ ActorPartBlueprint N(partsTable_80218D24)[] = {
.defenseTable = N(defenseTable_80218C6C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -52,7 +52,8 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.defenseTable = N(defenseTable_8021ACB0),
.eventFlags = ACTOR_EVENT_FLAG_FIREY,
.elementImmunityFlags = 0,
.unk_1C = -522,
.unk_1C = 0xFD,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -64,7 +65,8 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.defenseTable = N(defenseTable_8021ACB0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -76,7 +78,8 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.defenseTable = N(defenseTable_8021ACB0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -88,7 +91,8 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.defenseTable = N(defenseTable_8021ACB0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -100,7 +104,8 @@ ActorPartBlueprint N(partsTable_8021AD80)[] = {
.defenseTable = N(defenseTable_8021ACB0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -60,7 +60,7 @@ ActorPartBlueprint N(partsTable_80219114)[] = {
.defenseTable = N(defenseTable_8021905C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -79,7 +79,8 @@ ActorPartBlueprint N(partsTable_8021D5F0)[] = {
.defenseTable = N(defenseTable_8021D480),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -1036,
.unk_1C = 0xFB,
.unk_1D = 0xF4,
},
};
@ -97,7 +98,8 @@ ActorPartBlueprint N(partsTable_8021D614)[] = {
.defenseTable = N(defenseTable_8021D48C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -1036,
.unk_1C = 0xFB,
.unk_1D = 0xF4,
},
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
@ -109,7 +111,7 @@ ActorPartBlueprint N(partsTable_8021D614)[] = {
.defenseTable = N(defenseTable_8021D48C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -121,7 +123,7 @@ ActorPartBlueprint N(partsTable_8021D614)[] = {
.defenseTable = N(defenseTable_8021D48C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};
@ -1275,7 +1277,8 @@ ActorPartBlueprint N(partsTable_80221624)[] = {
.defenseTable = N(defenseTable_802214B4),
.eventFlags = ACTOR_EVENT_FLAG_ILLUSORY,
.elementImmunityFlags = 0,
.unk_1C = -1036,
.unk_1C = 0xFB,
.unk_1D = 0xF4,
},
};
@ -1290,7 +1293,7 @@ ActorPartBlueprint N(partsTable_80221648)[] = {
.defenseTable = N(defenseTable_802214C0),
.eventFlags = ACTOR_EVENT_FLAG_ILLUSORY,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
};

View File

@ -62,7 +62,8 @@ ActorPartBlueprint N(partsTable_8021E594)[] = {
.defenseTable = N(defenseTable_8021E4C0),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 263,
.unk_1C = 1,
.unk_1D = 7,
},
};

View File

@ -60,7 +60,7 @@ ActorPartBlueprint N(partsTable_80218CC8)[] = {
.defenseTable = N(defenseTable_80218C10),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET,
@ -72,7 +72,7 @@ ActorPartBlueprint N(partsTable_80218CC8)[] = {
.defenseTable = N(defenseTable_80218C10),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -84,7 +84,7 @@ ActorPartBlueprint N(partsTable_80218CC8)[] = {
.defenseTable = N(defenseTable_80218C10),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -96,7 +96,7 @@ ActorPartBlueprint N(partsTable_80218CC8)[] = {
.defenseTable = N(defenseTable_80218C10),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -108,7 +108,7 @@ ActorPartBlueprint N(partsTable_80218CC8)[] = {
.defenseTable = N(defenseTable_80218C10),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -120,7 +120,7 @@ ActorPartBlueprint N(partsTable_80218CC8)[] = {
.defenseTable = N(defenseTable_80218C10),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -102,7 +102,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_MULTI_TARGET,
@ -114,7 +114,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 242,
.unk_1D = 242,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -126,7 +126,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -138,7 +138,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -150,7 +150,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -162,7 +162,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -174,7 +174,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -186,7 +186,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -198,7 +198,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -210,7 +210,7 @@ ActorPartBlueprint N(partsTable_80221604)[] = {
.defenseTable = N(defenseTable_8022154C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -52,7 +52,8 @@ ActorPartBlueprint N(partsTable_8021C568)[] = {
.defenseTable = N(defenseTable_8021C4B0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 271,
.unk_1C = 1,
.unk_1D = 0xF,
},
};

View File

@ -125,7 +125,7 @@ ActorPartBlueprint N(partsTable_80218D34)[] = {
.defenseTable = N(defenseTable_80218C5C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 240,
.unk_1D = 240,
},
{
.flags = ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_4000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,

View File

@ -120,7 +120,8 @@ ActorPartBlueprint N(partsTable_8021BAD4)[] = {
.defenseTable = N(defenseTable_8021BA1C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -1039,
.unk_1C = 0xFB,
.unk_1D = 0xF1,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000 | ACTOR_PART_FLAG_40000000,

View File

@ -82,7 +82,7 @@ ActorPartBlueprint N(partsTable_8021B708)[] = {
.defenseTable = N(defenseTable_8021B650),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET,
@ -94,7 +94,7 @@ ActorPartBlueprint N(partsTable_8021B708)[] = {
.defenseTable = N(defenseTable_8021B650),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 242,
.unk_1D = 242,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -106,7 +106,7 @@ ActorPartBlueprint N(partsTable_8021B708)[] = {
.defenseTable = N(defenseTable_8021B650),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -118,7 +118,7 @@ ActorPartBlueprint N(partsTable_8021B708)[] = {
.defenseTable = N(defenseTable_8021B650),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -130,7 +130,7 @@ ActorPartBlueprint N(partsTable_8021B708)[] = {
.defenseTable = N(defenseTable_8021B650),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -61,7 +61,7 @@ ActorPartBlueprint N(partsTable_802187EC)[] = {
.defenseTable = N(defenseTable_80218710),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -53,7 +53,7 @@ ActorPartBlueprint N(partsTable_8021A508)[] = {
.defenseTable = N(defenseTable_8021A450),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 249,
.unk_1D = 249,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000,
@ -65,7 +65,7 @@ ActorPartBlueprint N(partsTable_8021A508)[] = {
.defenseTable = N(defenseTable_8021A450),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 249,
.unk_1D = 249,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -77,7 +77,7 @@ ActorPartBlueprint N(partsTable_8021A508)[] = {
.defenseTable = N(defenseTable_8021A450),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};
@ -142,7 +142,7 @@ ActorPartBlueprint N(partsTable_8021A60C)[] = {
.defenseTable = NULL,
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -66,7 +66,7 @@ ActorPartBlueprint N(partsTable_8021FD54)[] = {
.defenseTable = N(defenseTable_8021FC9C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 251,
.unk_1D = 251,
},
};

View File

@ -103,7 +103,7 @@ ActorPartBlueprint N(partsTable_80220A04)[] = {
.defenseTable = N(defenseTable_8022094C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 251,
.unk_1D = 251,
},
};

View File

@ -98,7 +98,7 @@ ActorPartBlueprint N(partsTable_80221720)[] = {
.defenseTable = N(defenseTable_80221668),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 251,
.unk_1D = 251,
},
};

View File

@ -65,7 +65,8 @@ ActorPartBlueprint N(partsTable_8021DA4C)[] = {
.defenseTable = N(defenseTable_8021D98C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -1797,
.unk_1C = 0xF8,
.unk_1D = 0xFB,
},
};

View File

@ -56,7 +56,7 @@ ActorPartBlueprint N(partsTable_8021EA90)[] = {
.defenseTable = N(defenseTable_8021E9D0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -65,7 +65,7 @@ ActorPartBlueprint N(partsTable_8022193C)[] = {
.defenseTable = N(defenseTable_8022187C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -129,7 +129,8 @@ ActorPartBlueprint N(partsTable_802187F0)[] = {
.defenseTable = N(defenseTable_80218670),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_FRONT,
.elementImmunityFlags = 0,
.unk_1C = -520,
.unk_1C = 0xFD,
.unk_1D = 0xF8,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET,
@ -141,7 +142,8 @@ ActorPartBlueprint N(partsTable_802187F0)[] = {
.defenseTable = N(defenseTable_80218684),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,

View File

@ -81,7 +81,8 @@ ActorPartBlueprint N(partsTable_80218B00)[] = {
.defenseTable = N(defenseTable_80218A48),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -266,
.unk_1C = 0xFE,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000,
@ -93,7 +94,8 @@ ActorPartBlueprint N(partsTable_80218B00)[] = {
.defenseTable = N(defenseTable_80218A48),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -266,
.unk_1C = 0xFE,
.unk_1D = 0xF6,
},
};

View File

@ -54,7 +54,7 @@ ActorPartBlueprint N(partsTable_80219968)[] = {
.defenseTable = N(defenseTable_802198B0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 253,
.unk_1D = 253,
},
};

View File

@ -52,7 +52,7 @@ ActorPartBlueprint N(partsTable_8021D4B8)[] = {
.defenseTable = N(defenseTable_8021D400),
.eventFlags = 0,
.elementImmunityFlags = 0,
.unk_1C = 253,
.unk_1D = 253,
},
};

View File

@ -95,7 +95,7 @@ ActorPartBlueprint N(partsTable_802209C8)[] = {
.defenseTable = N(defenseTable_80220910),
.eventFlags = 0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_20 | ACTOR_PART_FLAG_MULTI_TARGET,
@ -107,7 +107,7 @@ ActorPartBlueprint N(partsTable_802209C8)[] = {
.defenseTable = N(defenseTable_80220910),
.eventFlags = 0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -59,7 +59,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.defenseTable = N(defenseTable_802232DC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -71,7 +71,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.defenseTable = N(defenseTable_802232DC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -83,7 +83,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.defenseTable = N(defenseTable_802232DC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -95,7 +95,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.defenseTable = N(defenseTable_802232DC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -107,7 +107,7 @@ ActorPartBlueprint N(partsTable_8022339C)[] = {
.defenseTable = N(defenseTable_802232DC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -54,7 +54,7 @@ ActorPartBlueprint N(partsTable_8021B778)[] = {
.defenseTable = N(defenseTable_8021B6C0),
.eventFlags = 0,
.elementImmunityFlags = 0,
.unk_1C = 253,
.unk_1D = 253,
},
};

View File

@ -52,7 +52,7 @@ ActorPartBlueprint N(partsTable_8021EEB8)[] = {
.defenseTable = N(defenseTable_8021EE00),
.eventFlags = 0,
.elementImmunityFlags = 0,
.unk_1C = 253,
.unk_1D = 253,
},
};

View File

@ -74,7 +74,8 @@ ActorPartBlueprint N(partsTable_802244C4)[] = {
.defenseTable = N(defenseTable_8022440C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 1532,
.unk_1C = 5,
.unk_1D = 0xFC,
},
};

View File

@ -145,7 +145,8 @@ ActorPartBlueprint N(partsTable_8022C640)[] = {
.defenseTable = N(defenseTable_8022C418),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -262,
.unk_1C = 0xFE,
.unk_1D = 0xFA,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -157,7 +158,7 @@ ActorPartBlueprint N(partsTable_8022C640)[] = {
.defenseTable = N(defenseTable_8022C424),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.unk_1C = 245,
.unk_1D = 245,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -169,7 +170,8 @@ ActorPartBlueprint N(partsTable_8022C640)[] = {
.defenseTable = N(defenseTable_8022C430),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -263,
.unk_1C = 0xFE,
.unk_1D = 0xF9,
},
};

View File

@ -58,7 +58,7 @@ ActorPartBlueprint N(partsTable_80222AE4)[] = {
.defenseTable = N(defenseTable_80222A2C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -89,7 +89,8 @@ ActorPartBlueprint N(partsTable_8022A6E0)[] = {
.defenseTable = N(defenseTable_8022A628),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -263,
.unk_1C = 0xFE,
.unk_1D = 0xF9,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -101,7 +102,7 @@ ActorPartBlueprint N(partsTable_8022A6E0)[] = {
.defenseTable = N(defenseTable_8022A628),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -76,7 +76,7 @@ ActorPartBlueprint N(partsTable_80225F0C)[] = {
.defenseTable = N(defenseTable_80225E54),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 250,
.unk_1D = 250,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -88,7 +88,7 @@ ActorPartBlueprint N(partsTable_80225F0C)[] = {
.defenseTable = N(defenseTable_80225E54),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -86,7 +86,7 @@ ActorPartBlueprint N(partsTable)[] = {
.defenseTable = N(defenseTable_8021C1B0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
@ -98,7 +98,7 @@ ActorPartBlueprint N(partsTable)[] = {
.defenseTable = N(defenseTable_8021C1BC),
.eventFlags = ACTOR_EVENT_FLAG_GROUNDABLE,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -110,7 +110,7 @@ ActorPartBlueprint N(partsTable)[] = {
.defenseTable = N(defenseTable_8021C1B0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -122,7 +122,7 @@ ActorPartBlueprint N(partsTable)[] = {
.defenseTable = N(defenseTable_8021C1B0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -52,7 +52,7 @@ ActorPartBlueprint N(partsTable_8021A448)[] = {
.defenseTable = N(defenseTable_8021A390),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.unk_1C = 244,
.unk_1D = 244,
},
};

View File

@ -70,7 +70,7 @@ ActorPartBlueprint N(partsTable_80228014)[] = {
.defenseTable = N(defenseTable_80227F5C),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.unk_1C = 245,
.unk_1D = 245,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -82,7 +82,7 @@ ActorPartBlueprint N(partsTable_80228014)[] = {
.defenseTable = N(defenseTable_80227F5C),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -57,7 +57,8 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.defenseTable = N(defenseTable_80218E10),
.eventFlags = ACTOR_EVENT_FLAG_FIREY,
.elementImmunityFlags = ELEMENT_IMMUNITY_FLAGS_2,
.unk_1C = -522,
.unk_1C = 0xFD,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -69,7 +70,8 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.defenseTable = N(defenseTable_80218E10),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -81,7 +83,8 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.defenseTable = N(defenseTable_80218E10),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -93,7 +96,8 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.defenseTable = N(defenseTable_80218E10),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -105,7 +109,8 @@ ActorPartBlueprint N(partsTable_80218EE8)[] = {
.defenseTable = N(defenseTable_80218E10),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -86,7 +86,8 @@ ActorPartBlueprint N(partsTable_80220FD0)[] = {
.defenseTable = N(defenseTable_80220E60),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -1036,
.unk_1C = 0xFB,
.unk_1D = 0xF4,
},
};
@ -101,7 +102,8 @@ ActorPartBlueprint N(partsTable_80220FF4)[] = {
.defenseTable = N(defenseTable_80220E6C),
.eventFlags = ACTOR_EVENT_FLAG_800000,
.elementImmunityFlags = 0,
.unk_1C = -1036,
.unk_1C = 0xFB,
.unk_1D = 0xF4,
},
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
@ -113,7 +115,7 @@ ActorPartBlueprint N(partsTable_80220FF4)[] = {
.defenseTable = N(defenseTable_80220E6C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,

View File

@ -56,7 +56,8 @@ ActorPartBlueprint N(partsTable_80219E24)[] = {
.defenseTable = N(defenseTable_80219D50),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 263,
.unk_1C = 1,
.unk_1D = 263,
},
};

View File

@ -76,7 +76,8 @@ ActorPartBlueprint N(partsTable_8021D47C)[] = {
.defenseTable = N(defenseTable_8021D3C4),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -266,
.unk_1C = 0xFE,
.unk_1D = 0xF6,
},
};
@ -504,7 +505,8 @@ ActorPartBlueprint N(partsTable_8021EA50)[] = {
.defenseTable = N(defenseTable_8021E998),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -9,
.unk_1C = 0xFF,
.unk_1D = 0xF7,
},
};
@ -1082,7 +1084,7 @@ ActorPartBlueprint N(partsTable_8022069C)[] = {
.defenseTable = N(defenseTable_802205D8),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 240,
.unk_1D = 240,
},
};
@ -1593,7 +1595,8 @@ ActorPartBlueprint N(partsTable_80222394)[] = {
.defenseTable = N(defenseTable_802222DC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -263,
.unk_1C = 0xFE,
.unk_1D = 0xF9,
},
};
@ -1947,7 +1950,7 @@ ActorPartBlueprint N(partsTable_8022348C)[] = {
.defenseTable = N(defenseTable_802233D4),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 240,
.unk_1D = 240,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET,
@ -1959,7 +1962,7 @@ ActorPartBlueprint N(partsTable_8022348C)[] = {
.defenseTable = N(defenseTable_802233D4),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 240,
.unk_1D = 240,
},
};
@ -2309,7 +2312,7 @@ ActorPartBlueprint N(partsTable_80224514)[] = {
.defenseTable = N(defenseTable_8022445C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET,
@ -2321,7 +2324,7 @@ ActorPartBlueprint N(partsTable_80224514)[] = {
.defenseTable = N(defenseTable_8022445C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};
@ -2761,7 +2764,7 @@ ActorPartBlueprint N(partsTable_80225A80)[] = {
.defenseTable = N(defenseTable_802259C0),
.eventFlags = ACTOR_EVENT_FLAG_ELECTRIFIED,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET,
@ -2773,7 +2776,7 @@ ActorPartBlueprint N(partsTable_80225A80)[] = {
.defenseTable = N(defenseTable_802259C0),
.eventFlags = ACTOR_EVENT_FLAG_ELECTRIFIED,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
};
@ -3157,7 +3160,7 @@ ActorPartBlueprint N(partsTable_80226A80)[] = {
.defenseTable = N(defenseTable_802269C8),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 244,
.unk_1D = 244,
},
};
@ -3636,7 +3639,8 @@ ActorPartBlueprint N(partsTable_8022851C)[] = {
.defenseTable = N(defenseTable_80228464),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -266,
.unk_1C = 0xFE,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -3648,7 +3652,7 @@ ActorPartBlueprint N(partsTable_8022851C)[] = {
.defenseTable = N(defenseTable_80228464),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -59,7 +59,8 @@ ActorPartBlueprint N(partsTable_8022A364)[] = {
.defenseTable = N(defenseTable_8022A2AC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 761,
.unk_1C = 2,
.unk_1D = 0xF9,
},
};

View File

@ -72,7 +72,8 @@ ActorPartBlueprint N(partsTable_8022B790)[] = {
.defenseTable = N(defenseTable_8022B6D8),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 761,
.unk_1C = 2,
.unk_1D = 0xF9,
},
};

View File

@ -72,7 +72,8 @@ ActorPartBlueprint N(partsTable_8022DAF0)[] = {
.defenseTable = N(defenseTable_8022DA38),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 761,
.unk_1C = 2,
.unk_1D = 0xF9,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -84,7 +85,7 @@ ActorPartBlueprint N(partsTable_8022DAF0)[] = {
.defenseTable = N(defenseTable_8022DA38),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -64,7 +64,8 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.defenseTable = N(defenseTable_8021A86C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 758,
.unk_1C = 2,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -76,7 +77,8 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.defenseTable = N(defenseTable_8021A86C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -5,
.unk_1C = 255,
.unk_1D = -5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -88,7 +90,8 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.defenseTable = N(defenseTable_8021A86C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -5,
.unk_1C = 255,
.unk_1D = -5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -100,7 +103,8 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.defenseTable = N(defenseTable_8021A86C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -5,
.unk_1C = 255,
.unk_1D = -5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -112,7 +116,8 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.defenseTable = N(defenseTable_8021A86C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -5,
.unk_1C = 255,
.unk_1D = -5,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -124,7 +129,8 @@ ActorPartBlueprint N(partsTable_8021A924)[] = {
.defenseTable = N(defenseTable_8021A86C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -5,
.unk_1C = 255,
.unk_1D = -5,
},
};

View File

@ -54,7 +54,7 @@ ActorPartBlueprint N(partsTable_80218478)[] = {
.defenseTable = N(defenseTable_802183C0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -75,7 +75,7 @@ ActorPartBlueprint N(partsTable_8021D44C)[] = {
.defenseTable = N(defenseTable_8021D394),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -48,7 +48,7 @@ ActorPartBlueprint N(partsTable_80222108)[] = {
.defenseTable = N(defenseTable_80222050),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -89,7 +89,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279DC),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -101,7 +101,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279F0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -113,7 +113,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -125,7 +125,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -137,7 +137,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -149,7 +149,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -161,7 +161,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -173,7 +173,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -185,7 +185,7 @@ ActorPartBlueprint N(partsTable_80227AB4)[] = {
.defenseTable = N(defenseTable_802279FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -52,7 +52,8 @@ ActorPartBlueprint N(partsTable_802219C8)[] = {
.defenseTable = N(defenseTable_80221910),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -53,7 +53,8 @@ ActorPartBlueprint N(partsTable_8021ADD0)[] = {
.defenseTable = N(defenseTable_8021AD10),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -53,7 +53,8 @@ ActorPartBlueprint N(partsTable_8021FED0)[] = {
.defenseTable = N(defenseTable_8021FE10),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -76,7 +76,7 @@ ActorPartBlueprint N(partsTable_80224AEC)[] = {
.defenseTable = N(defenseTable_80224A2C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -53,7 +53,8 @@ ActorPartBlueprint N(partsTable_8021E3D0)[] = {
.defenseTable = N(defenseTable_8021E310),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -71,7 +71,8 @@ ActorPartBlueprint N(partsTable_8022CC34)[] = {
.defenseTable = N(defenseTable_8022CB4C),
.eventFlags = ACTOR_EVENT_FLAG_FIREY,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -53,7 +53,8 @@ ActorPartBlueprint N(partsTable_802192D0)[] = {
.defenseTable = N(defenseTable_80219210),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -146,7 +146,7 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.defenseTable = N(defenseTable_80229610),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
@ -158,7 +158,8 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.defenseTable = N(defenseTable_802295FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_100000,
@ -170,7 +171,8 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.defenseTable = N(defenseTable_802295FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
.unk_20 = 0x29007E,
},
{
@ -183,7 +185,8 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.defenseTable = N(defenseTable_802295FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_2 | ACTOR_PART_FLAG_2000 | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -195,7 +198,8 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.defenseTable = N(defenseTable_802295FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -207,7 +211,8 @@ ActorPartBlueprint N(partsTable_8022977C)[] = {
.defenseTable = N(defenseTable_802295FC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -84,7 +84,8 @@ ActorPartBlueprint N(partsTable_80227564)[] = {
.defenseTable = N(defenseTable_802274A4),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -13,
.unk_1C = 0xFF,
.unk_1D = 0xF3,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -96,7 +97,8 @@ ActorPartBlueprint N(partsTable_80227564)[] = {
.defenseTable = N(defenseTable_802274A4),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -53,7 +53,8 @@ ActorPartBlueprint N(partsTable_8021C8D0)[] = {
.defenseTable = N(defenseTable_8021C810),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -10,
.unk_1C = 0xFF,
.unk_1D = 0xF6,
},
};

View File

@ -87,7 +87,7 @@ ActorPartBlueprint N(partsTable_8021D66C)[] = {
.defenseTable = N(defenseTable_8021D5B4),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 244,
.unk_1D = 244,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -99,7 +99,7 @@ ActorPartBlueprint N(partsTable_8021D66C)[] = {
.defenseTable = N(defenseTable_8021D5B4),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};
@ -114,7 +114,7 @@ ActorPartBlueprint N(partsTable_8021D6B4)[] = {
.defenseTable = N(defenseTable_8021D5B4),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -62,7 +62,7 @@ ActorPartBlueprint N(partsTable_80218338)[] = {
.defenseTable = N(defenseTable_80218280),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET,
@ -74,7 +74,7 @@ ActorPartBlueprint N(partsTable_80218338)[] = {
.defenseTable = N(defenseTable_80218280),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -86,7 +86,7 @@ ActorPartBlueprint N(partsTable_80218338)[] = {
.defenseTable = N(defenseTable_80218280),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -98,7 +98,7 @@ ActorPartBlueprint N(partsTable_80218338)[] = {
.defenseTable = N(defenseTable_80218280),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -110,7 +110,7 @@ ActorPartBlueprint N(partsTable_80218338)[] = {
.defenseTable = N(defenseTable_80218280),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -122,7 +122,7 @@ ActorPartBlueprint N(partsTable_80218338)[] = {
.defenseTable = N(defenseTable_80218280),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_200000,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -52,7 +52,7 @@ ActorPartBlueprint N(partsTable_80219DD8)[] = {
.defenseTable = N(defenseTable_80219D20),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 247,
.unk_1D = 247,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_MULTI_TARGET | ACTOR_PART_FLAG_80000000,
@ -64,7 +64,7 @@ ActorPartBlueprint N(partsTable_80219DD8)[] = {
.defenseTable = N(defenseTable_80219D20),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 247,
.unk_1D = 247,
},
};

View File

@ -98,7 +98,7 @@ ActorPartBlueprint N(partsTable_8021A70C)[] = {
.defenseTable = N(defenseTable_8021A5A8),
.eventFlags = ACTOR_EVENT_FLAG_EXPLOSIVE,
.elementImmunityFlags = 0,
.unk_1C = 247,
.unk_1D = 247,
},
};

View File

@ -50,7 +50,7 @@ ActorPartBlueprint N(partsTable_80219018)[] = {
.defenseTable = N(defenseTable_80218F60),
.eventFlags = ACTOR_EVENT_FLAG_400,
.elementImmunityFlags = 0,
.unk_1C = 250,
.unk_1D = 250,
},
};

View File

@ -59,7 +59,7 @@ ActorPartBlueprint N(partsTable_8022B564)[] = {
.defenseTable = N(defenseTable_8022B4A0),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -87,7 +87,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -99,7 +99,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A684),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -111,7 +111,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -123,7 +123,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -135,7 +135,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -147,7 +147,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -159,7 +159,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -171,7 +171,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET | ACTOR_PART_FLAG_100000,
@ -183,7 +183,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -195,7 +195,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
{
.flags = ACTOR_PART_FLAG_NO_TARGET,
@ -207,7 +207,7 @@ ActorPartBlueprint N(partsTable_8021A748)[] = {
.defenseTable = N(defenseTable_8021A670),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -59,7 +59,7 @@ ActorPartBlueprint N(partsTable_80225624)[] = {
.defenseTable = N(defenseTable_80225560),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -59,7 +59,7 @@ ActorPartBlueprint N(partsTable_802285C4)[] = {
.defenseTable = N(defenseTable_80228500),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -59,7 +59,7 @@ ActorPartBlueprint N(partsTable_8022E504)[] = {
.defenseTable = N(defenseTable_8022E440),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};

View File

@ -60,7 +60,7 @@ ActorPartBlueprint N(partsTable_80218344)[] = {
.defenseTable = N(defenseTable_8021828C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 0,
.unk_1D = 0,
},
};
@ -137,8 +137,8 @@ ApiStatus func_80218130_4CF2E0(Evt* script, s32 isInitialCall) {
ApiStatus func_80218158_4CF308(Evt* script, s32 isInitialCall) {
BattleStatus* battleStatus = &gBattleStatus;
battleStatus->unk_4C = 0;
battleStatus->unk_5C = 0;
battleStatus->unk_4C[0] = 0;
battleStatus->unk_5C[0] = 0;
return ApiStatus_DONE2;
}

View File

@ -230,21 +230,6 @@ typedef enum ActorType {
.dmaEnd = battle_##id##_ROM_END, \
.dmaDest = battle_##id##_VRAM
typedef struct ActorPartBlueprint {
/* 0x00 */ s32 flags;
/* 0x04 */ s8 index;
/* 0x05 */ Vec3b posOffset;
/* 0x08 */ Vec2b targetOffset;
/* 0x0A */ s16 opacity;
/* 0x0C */ s32* idleAnimations;
/* 0x10 */ s32* defenseTable;
/* 0x14 */ s32 eventFlags;
/* 0x18 */ s32 elementImmunityFlags;
/* 0x1C */ s16 unk_1C;
/* 0x1E */ char unk_1E[2];
/* 0x20 */ s32 unk_20;
} ActorPartBlueprint; // size = 0x24
typedef struct ActorBlueprint {
/* 0x00 */ s32 flags;
/* 0x04 */ char unk_04;

View File

@ -47,7 +47,7 @@ ActorPartBlueprint N(partsTable_80219808)[] = {
.defenseTable = N(defenseTable_80219750),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -57,7 +57,7 @@ ActorPartBlueprint N(partsTable_8021CA44)[] = {
.defenseTable = N(defenseTable_8021C960),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 249,
.unk_1D = 249,
},
};

View File

@ -68,7 +68,8 @@ ActorPartBlueprint N(partsTable_8021F99C)[] = {
.defenseTable = N(defenseTable_8021F8DC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -5,
.unk_1C = 0xFF,
.unk_1D = 0xFB,
},
};

View File

@ -82,7 +82,7 @@ ActorPartBlueprint N(partsTable_8021B280)[] = {
.defenseTable = N(defenseTable_8021B110),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
@ -94,7 +94,7 @@ ActorPartBlueprint N(partsTable_8021B280)[] = {
.defenseTable = N(defenseTable_8021B11C),
.eventFlags = ACTOR_EVENT_FLAG_GROUNDABLE,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -106,7 +106,7 @@ ActorPartBlueprint N(partsTable_8021B280)[] = {
.defenseTable = N(defenseTable_8021B110),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -118,7 +118,7 @@ ActorPartBlueprint N(partsTable_8021B280)[] = {
.defenseTable = N(defenseTable_8021B110),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -90,7 +90,7 @@ ActorPartBlueprint N(partsTable_8021EC6C)[] = {
.defenseTable = N(defenseTable_8021EAD0),
.eventFlags = ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 249,
.unk_1D = 249,
},
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
@ -102,7 +102,8 @@ ActorPartBlueprint N(partsTable_8021EC6C)[] = {
.defenseTable = N(defenseTable_8021EAFC),
.eventFlags = ACTOR_EVENT_FLAG_GROUNDABLE,
.elementImmunityFlags = 0,
.unk_1C = 754,
.unk_1C = 2,
.unk_1D = 0xF2,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,
@ -114,7 +115,7 @@ ActorPartBlueprint N(partsTable_8021EC6C)[] = {
.defenseTable = N(defenseTable_8021EAD0),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 246,
.unk_1D = 246,
},
};

View File

@ -65,7 +65,8 @@ ActorPartBlueprint N(partsTable_8021B1AC)[] = {
.defenseTable = N(defenseTable_8021B0EC),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = 1010,
.unk_1C = 3,
.unk_1D = 0xF2,
},
};

View File

@ -60,7 +60,7 @@ ActorPartBlueprint N(partsTable_8021C984)[] = {
.defenseTable = N(defenseTable_8021C8B0),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP | ACTOR_EVENT_FLAG_FLIPABLE,
.elementImmunityFlags = 0,
.unk_1C = 14,
.unk_1D = 14,
},
};

View File

@ -48,7 +48,7 @@ ActorPartBlueprint N(partsTable_8021E468)[] = {
.defenseTable = N(defenseTable_8021E3B0),
.eventFlags = ACTOR_EVENT_FLAG_SPIKY_TOP,
.elementImmunityFlags = 0,
.unk_1C = 244,
.unk_1D = 244,
},
};

View File

@ -83,7 +83,8 @@ ActorPartBlueprint N(partsTable_80223C90)[] = {
.defenseTable = N(defenseTable_80223B20),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -1036,
.unk_1C = 0xFB,
.unk_1D = 0xF4,
},
};
@ -98,7 +99,8 @@ ActorPartBlueprint N(partsTable_80223CB4)[] = {
.defenseTable = N(defenseTable_80223B2C),
.eventFlags = ACTOR_EVENT_FLAG_0,
.elementImmunityFlags = 0,
.unk_1C = -1036,
.unk_1C = 0xFB,
.unk_1D = 0xF4,
},
{
.flags = ACTOR_PART_FLAG_MULTI_TARGET,
@ -110,7 +112,7 @@ ActorPartBlueprint N(partsTable_80223CB4)[] = {
.defenseTable = N(defenseTable_80223B2C),
.eventFlags = ACTOR_EVENT_FLAG_800000,
.elementImmunityFlags = 0,
.unk_1C = 248,
.unk_1D = 248,
},
{
.flags = ACTOR_PART_FLAG_INVISIBLE | ACTOR_PART_FLAG_NO_TARGET,

View File

@ -466,12 +466,12 @@ EffectInstance* create_effect_instance(EffectBlueprint* effectBp) {
ASSERT(newEffectInst != NULL);
curEffect = &gEffectGraphicsData[0];
newEffectInst->effectIndex = effectBp->effectIndex;
newEffectInst->effectIndex = effectBp->effectID;
newEffectInst->flags = 1;
// Look for a loaded effect of the proper index
for (i = 0; i < ARRAY_COUNT(gEffectGraphicsData); i++) {
if ((curEffect->flags & EFFECT_LOADED) && (curEffect->effectIndex == effectBp->effectIndex)) {
if ((curEffect->flags & EFFECT_LOADED) && (curEffect->effectIndex == effectBp->effectID)) {
break;
}
curEffect++;

View File

@ -39,7 +39,7 @@ void fx_1_main(f32 x, f32 y, f32 z) {
bp.update = fx_1_update;
bp.renderWorld = fx_1_render;
bp.unk_14 = NULL;
bp.effectIndex = 1;
bp.effectID = EFFECT_ID_01;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;

View File

@ -22,7 +22,7 @@ void fx_10_main(f32 arg0, f32 arg1, f32 arg2, f32 arg3) {
bp.update = fx_10_update;
bp.renderWorld = fx_10_render;
bp.unk_14 = NULL;
bp.effectIndex = 10;
bp.effectID = EFFECT_ID_0A;
effect = shim_create_effect_instance(&bp);
effect->numParts = numParts;

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