mirror of https://github.com/zeldaret/oot.git
CollisionCheckInfo.damageEffect -> damageReaction
This commit is contained in:
parent
e991255a45
commit
a1c6da7146
|
@ -464,7 +464,7 @@ typedef struct CollisionCheckInfo {
|
||||||
/* 0x16 */ u8 mass; // Used to compute displacement for OC collisions
|
/* 0x16 */ u8 mass; // Used to compute displacement for OC collisions
|
||||||
/* 0x17 */ u8 health; // Note: some actors may use their own health variable instead of this one
|
/* 0x17 */ u8 health; // Note: some actors may use their own health variable instead of this one
|
||||||
/* 0x18 */ u8 damage; // Amount to decrement health by
|
/* 0x18 */ u8 damage; // Amount to decrement health by
|
||||||
/* 0x19 */ u8 damageEffect; // Stores what effect should occur when hit by a weapon
|
/* 0x19 */ u8 damageReaction; // Stores what reaction should occur when dealt damage
|
||||||
/* 0x1A */ u8 atHitEffect; // Stores what effect should occur when AT connects with an AC
|
/* 0x1A */ u8 atHitEffect; // Stores what effect should occur when AT connects with an AC
|
||||||
/* 0x1B */ u8 acHitEffect; // Stores what effect should occur when AC is touched by an AT
|
/* 0x1B */ u8 acHitEffect; // Stores what effect should occur when AC is touched by an AT
|
||||||
} CollisionCheckInfo; // size = 0x1C
|
} CollisionCheckInfo; // size = 0x1C
|
||||||
|
|
|
@ -3027,7 +3027,7 @@ void CollisionCheck_InitInfo(CollisionCheckInfo* info) {
|
||||||
*/
|
*/
|
||||||
void CollisionCheck_ResetDamage(CollisionCheckInfo* info) {
|
void CollisionCheck_ResetDamage(CollisionCheckInfo* info) {
|
||||||
info->damage = 0;
|
info->damage = 0;
|
||||||
info->damageEffect = 0;
|
info->damageReaction = 0;
|
||||||
info->atHitEffect = 0;
|
info->atHitEffect = 0;
|
||||||
info->acHitEffect = 0;
|
info->acHitEffect = 0;
|
||||||
info->displacement.x = info->displacement.y = info->displacement.z = 0.0f;
|
info->displacement.x = info->displacement.y = info->displacement.z = 0.0f;
|
||||||
|
@ -3108,7 +3108,7 @@ void CollisionCheck_ApplyDamage(PlayState* play, CollisionCheckContext* colChkCt
|
||||||
}
|
}
|
||||||
|
|
||||||
damage = tbl->table[i] & 0xF;
|
damage = tbl->table[i] & 0xF;
|
||||||
col->actor->colChkInfo.damageEffect = tbl->table[i] >> 4 & 0xF;
|
col->actor->colChkInfo.damageReaction = tbl->table[i] >> 4 & 0xF;
|
||||||
}
|
}
|
||||||
if (!(col->acFlags & AC_HARD)) {
|
if (!(col->acFlags & AC_HARD)) {
|
||||||
col->actor->colChkInfo.damage += damage;
|
col->actor->colChkInfo.damage += damage;
|
||||||
|
|
|
@ -2552,7 +2552,7 @@ void BossSst_HandCollisionCheck(BossSst* this, PlayState* play) {
|
||||||
s32 bothHands = true;
|
s32 bothHands = true;
|
||||||
|
|
||||||
this->colliderJntSph.base.acFlags &= ~AC_HIT;
|
this->colliderJntSph.base.acFlags &= ~AC_HIT;
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
this->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT);
|
this->colliderJntSph.base.atFlags &= ~(AT_ON | AT_HIT);
|
||||||
this->colliderJntSph.base.acFlags &= ~AC_ON;
|
this->colliderJntSph.base.acFlags &= ~AC_ON;
|
||||||
this->colliderJntSph.base.ocFlags1 &= ~OC1_NO_PUSH;
|
this->colliderJntSph.base.ocFlags1 &= ~OC1_NO_PUSH;
|
||||||
|
@ -2563,7 +2563,7 @@ void BossSst_HandCollisionCheck(BossSst* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||||
if (this->actor.colChkInfo.damageEffect == 3) {
|
if (this->actor.colChkInfo.damageReaction == 3) {
|
||||||
BossSst_HandSetupFrozen(this);
|
BossSst_HandSetupFrozen(this);
|
||||||
} else {
|
} else {
|
||||||
BossSst_HandSetupReel(this);
|
BossSst_HandSetupReel(this);
|
||||||
|
@ -2583,7 +2583,7 @@ void BossSst_HandCollisionCheck(BossSst* this, PlayState* play) {
|
||||||
void BossSst_HeadCollisionCheck(BossSst* this, PlayState* play) {
|
void BossSst_HeadCollisionCheck(BossSst* this, PlayState* play) {
|
||||||
if (this->colliderCylinder.base.acFlags & AC_HIT) {
|
if (this->colliderCylinder.base.acFlags & AC_HIT) {
|
||||||
this->colliderCylinder.base.acFlags &= ~AC_HIT;
|
this->colliderCylinder.base.acFlags &= ~AC_HIT;
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (this->actionFunc == BossSst_HeadVulnerable) {
|
if (this->actionFunc == BossSst_HeadVulnerable) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
|
|
|
@ -1402,7 +1402,7 @@ void BossVa_BodyPhase4(BossVa* this, PlayState* play) {
|
||||||
if (this->timer >= 0) {
|
if (this->timer >= 0) {
|
||||||
if (this->invincibilityTimer == 0) {
|
if (this->invincibilityTimer == 0) {
|
||||||
this->invincibilityTimer = 8;
|
this->invincibilityTimer = 8;
|
||||||
if (this->actor.colChkInfo.damageEffect != 1) {
|
if (this->actor.colChkInfo.damageReaction != 1) {
|
||||||
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
this->actor.world.rot.y = this->actor.yawTowardsPlayer;
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_BALINADE_DAMAGE);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_BALINADE_DAMAGE);
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 12);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 12);
|
||||||
|
|
|
@ -810,27 +810,27 @@ void EnAm_UpdateDamage(EnAm* this, PlayState* play) {
|
||||||
} else if ((this->hurtCollider.base.acFlags & AC_HIT) && (this->behavior >= AM_BEHAVIOR_5)) {
|
} else if ((this->hurtCollider.base.acFlags & AC_HIT) && (this->behavior >= AM_BEHAVIOR_5)) {
|
||||||
this->hurtCollider.base.acFlags &= ~AC_HIT;
|
this->hurtCollider.base.acFlags &= ~AC_HIT;
|
||||||
|
|
||||||
if (this->dyna.actor.colChkInfo.damageEffect != AM_DMGEFF_MAGIC_FIRE_LIGHT) {
|
if (this->dyna.actor.colChkInfo.damageReaction != AM_DMGEFF_MAGIC_FIRE_LIGHT) {
|
||||||
this->unk_264 = 0;
|
this->unk_264 = 0;
|
||||||
this->damageEffect = this->dyna.actor.colChkInfo.damageEffect;
|
this->damageEffect = this->dyna.actor.colChkInfo.damageReaction;
|
||||||
Actor_SetDropFlag(&this->dyna.actor, &this->hurtCollider.elem, false);
|
Actor_SetDropFlag(&this->dyna.actor, &this->hurtCollider.elem, false);
|
||||||
|
|
||||||
if ((this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_NUT) ||
|
if ((this->dyna.actor.colChkInfo.damageReaction == AM_DMGEFF_NUT) ||
|
||||||
(this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_STUN) ||
|
(this->dyna.actor.colChkInfo.damageReaction == AM_DMGEFF_STUN) ||
|
||||||
(this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_ICE)) {
|
(this->dyna.actor.colChkInfo.damageReaction == AM_DMGEFF_ICE)) {
|
||||||
if (this->behavior != AM_BEHAVIOR_STUNNED) {
|
if (this->behavior != AM_BEHAVIOR_STUNNED) {
|
||||||
EnAm_SetupStunned(this, play);
|
EnAm_SetupStunned(this, play);
|
||||||
|
|
||||||
if (this->dyna.actor.colChkInfo.damage != 0) {
|
if (this->dyna.actor.colChkInfo.damage != 0) {
|
||||||
this->dyna.actor.colChkInfo.health = 0;
|
this->dyna.actor.colChkInfo.health = 0;
|
||||||
}
|
}
|
||||||
} else if (this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_STUN) {
|
} else if (this->dyna.actor.colChkInfo.damageReaction == AM_DMGEFF_STUN) {
|
||||||
Vec3f sparkPos = this->dyna.actor.world.pos;
|
Vec3f sparkPos = this->dyna.actor.world.pos;
|
||||||
|
|
||||||
sparkPos.y += 50.0f;
|
sparkPos.y += 50.0f;
|
||||||
CollisionCheck_SpawnShieldParticlesMetal(play, &sparkPos);
|
CollisionCheck_SpawnShieldParticlesMetal(play, &sparkPos);
|
||||||
}
|
}
|
||||||
} else if ((this->dyna.actor.colChkInfo.damageEffect == AM_DMGEFF_KILL) ||
|
} else if ((this->dyna.actor.colChkInfo.damageReaction == AM_DMGEFF_KILL) ||
|
||||||
(this->behavior == AM_BEHAVIOR_STUNNED)) {
|
(this->behavior == AM_BEHAVIOR_STUNNED)) {
|
||||||
this->dyna.actor.colChkInfo.health = 0;
|
this->dyna.actor.colChkInfo.health = 0;
|
||||||
|
|
||||||
|
@ -857,7 +857,7 @@ void EnAm_Update(Actor* thisx, PlayState* play) {
|
||||||
EnAm_UpdateDamage(this, play);
|
EnAm_UpdateDamage(this, play);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->dyna.actor.colChkInfo.damageEffect != AM_DMGEFF_MAGIC_FIRE_LIGHT) {
|
if (this->dyna.actor.colChkInfo.damageReaction != AM_DMGEFF_MAGIC_FIRE_LIGHT) {
|
||||||
if (this->attackTimer != 0) {
|
if (this->attackTimer != 0) {
|
||||||
this->attackTimer--;
|
this->attackTimer--;
|
||||||
}
|
}
|
||||||
|
|
|
@ -399,7 +399,7 @@ void EnAnubice_Update(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
if (this->actor.colChkInfo.damageEffect == ANUBICE_DMGEFF_FIRE) {
|
if (this->actor.colChkInfo.damageReaction == ANUBICE_DMGEFF_FIRE) {
|
||||||
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_PROP);
|
Actor_ChangeCategory(play, &play->actorCtx, &this->actor, ACTORCAT_PROP);
|
||||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
|
|
|
@ -1169,7 +1169,7 @@ void EnBb_CollisionCheck(EnBb* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
this->dmgEffect = this->actor.colChkInfo.damageEffect;
|
this->dmgEffect = this->actor.colChkInfo.damageReaction;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, false);
|
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, false);
|
||||||
switch (this->dmgEffect) {
|
switch (this->dmgEffect) {
|
||||||
case 7:
|
case 7:
|
||||||
|
@ -1252,7 +1252,7 @@ void EnBb_Update(Actor* thisx, PlayState* play2) {
|
||||||
if (this->actor.params <= ENBB_BLUE) {
|
if (this->actor.params <= ENBB_BLUE) {
|
||||||
EnBb_CollisionCheck(this, play);
|
EnBb_CollisionCheck(this, play);
|
||||||
}
|
}
|
||||||
if (this->actor.colChkInfo.damageEffect != 0xD) {
|
if (this->actor.colChkInfo.damageReaction != 0xD) {
|
||||||
this->actionFunc(this, play);
|
this->actionFunc(this, play);
|
||||||
if ((this->actor.params <= ENBB_BLUE) && (this->actor.speed >= -6.0f) &&
|
if ((this->actor.params <= ENBB_BLUE) && (this->actor.speed >= -6.0f) &&
|
||||||
!(this->actor.flags & ACTOR_FLAG_ATTACHED_TO_ARROW)) {
|
!(this->actor.flags & ACTOR_FLAG_ATTACHED_TO_ARROW)) {
|
||||||
|
|
|
@ -767,12 +767,12 @@ void func_809BE798(EnBigokuta* this, PlayState* play) {
|
||||||
void EnBigokuta_UpdateDamage(EnBigokuta* this, PlayState* play) {
|
void EnBigokuta_UpdateDamage(EnBigokuta* this, PlayState* play) {
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
if (this->actor.colChkInfo.damageEffect != 0 || this->actor.colChkInfo.damage != 0) {
|
if (this->actor.colChkInfo.damageReaction != 0 || this->actor.colChkInfo.damage != 0) {
|
||||||
if (this->actor.colChkInfo.damageEffect == 1) {
|
if (this->actor.colChkInfo.damageReaction == 1) {
|
||||||
if (this->actionFunc != func_809BE058) {
|
if (this->actionFunc != func_809BE058) {
|
||||||
func_809BD524(this);
|
func_809BD524(this);
|
||||||
}
|
}
|
||||||
} else if (this->actor.colChkInfo.damageEffect == 0xF) {
|
} else if (this->actor.colChkInfo.damageReaction == 0xF) {
|
||||||
func_809BD47C(this);
|
func_809BD47C(this);
|
||||||
} else if (!Actor_IsFacingPlayer(&this->actor, 0x4000)) {
|
} else if (!Actor_IsFacingPlayer(&this->actor, 0x4000)) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) { // Dead
|
if (Actor_ApplyDamage(&this->actor) == 0) { // Dead
|
||||||
|
|
|
@ -572,14 +572,14 @@ void EnBili_UpdateDamage(EnBili* this, PlayState* play) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_BIRI_DEAD);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_BIRI_DEAD);
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
damageEffect = this->actor.colChkInfo.damageEffect;
|
damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
|
|
||||||
if (damageEffect == BIRI_DMGEFF_DEKUNUT) {
|
if (damageEffect == BIRI_DMGEFF_DEKUNUT) {
|
||||||
if (this->actionFunc != EnBili_Stunned) {
|
if (this->actionFunc != EnBili_Stunned) {
|
||||||
|
|
|
@ -706,10 +706,10 @@ void func_809D0584(EnBw* this, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
if (this->collider2.base.acFlags & AC_HIT) {
|
if (this->collider2.base.acFlags & AC_HIT) {
|
||||||
this->collider2.base.acFlags &= ~AC_HIT;
|
this->collider2.base.acFlags &= ~AC_HIT;
|
||||||
if ((this->actor.colChkInfo.damageEffect == 0) || (this->unk_220 == 6)) {
|
if ((this->actor.colChkInfo.damageReaction == 0) || (this->unk_220 == 6)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider2.elem, false);
|
Actor_SetDropFlag(&this->actor, &this->collider2.elem, false);
|
||||||
if ((this->damageEffect == 1) || (this->damageEffect == 0xE)) {
|
if ((this->damageEffect == 1) || (this->damageEffect == 0xE)) {
|
||||||
if (this->unk_23C == 0) {
|
if (this->unk_23C == 0) {
|
||||||
|
@ -771,7 +771,7 @@ void EnBw_Update(Actor* thisx, PlayState* play2) {
|
||||||
Color_RGBA8 sp44 = { 0, 0, 0, 220 };
|
Color_RGBA8 sp44 = { 0, 0, 0, 220 };
|
||||||
|
|
||||||
func_809D0584(this, play);
|
func_809D0584(this, play);
|
||||||
if (thisx->colChkInfo.damageEffect != 6) {
|
if (thisx->colChkInfo.damageReaction != 6) {
|
||||||
this->actionFunc(this, play);
|
this->actionFunc(this, play);
|
||||||
if (this->unk_23C == 0) {
|
if (this->unk_23C == 0) {
|
||||||
this->unk_23A = (this->unk_23A + 4) & 0x7F;
|
this->unk_23A = (this->unk_23A + 4) & 0x7F;
|
||||||
|
|
|
@ -169,7 +169,7 @@ void EnCrow_SetupDamaged(EnCrow* this, PlayState* play) {
|
||||||
this->actor.lockOnArrowOffset = 0.0f;
|
this->actor.lockOnArrowOffset = 0.0f;
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_KAICHO_DEAD);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_KAICHO_DEAD);
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect == 3) { // Ice arrows
|
if (this->actor.colChkInfo.damageReaction == 3) { // Ice arrows
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 40);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 40);
|
||||||
for (i = 0; i < 8; i++) {
|
for (i = 0; i < 8; i++) {
|
||||||
iceParticlePos.x = ((i & 1 ? 7.0f : -7.0f) * scale) + this->actor.world.pos.x;
|
iceParticlePos.x = ((i & 1 ? 7.0f : -7.0f) * scale) + this->actor.world.pos.x;
|
||||||
|
@ -178,7 +178,7 @@ void EnCrow_SetupDamaged(EnCrow* this, PlayState* play) {
|
||||||
EffectSsEnIce_SpawnFlyingVec3f(play, &this->actor, &iceParticlePos, 150, 150, 150, 250, 235, 245, 255,
|
EffectSsEnIce_SpawnFlyingVec3f(play, &this->actor, &iceParticlePos, 150, 150, 150, 250, 235, 245, 255,
|
||||||
((Rand_ZeroOne() * 0.15f) + 0.85f) * scale);
|
((Rand_ZeroOne() * 0.15f) + 0.85f) * scale);
|
||||||
}
|
}
|
||||||
} else if (this->actor.colChkInfo.damageEffect == 2) { // Fire arrows and Din's Fire
|
} else if (this->actor.colChkInfo.damageReaction == 2) { // Fire arrows and Din's Fire
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 40);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 40);
|
||||||
|
|
||||||
for (i = 0; i < 4; i++) {
|
for (i = 0; i < 4; i++) {
|
||||||
|
@ -426,8 +426,8 @@ void EnCrow_UpdateDamage(EnCrow* this, PlayState* play) {
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, true);
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (this->actor.colChkInfo.damageEffect == 1) { // Deku Nuts
|
if (this->actor.colChkInfo.damageReaction == 1) { // Deku Nuts
|
||||||
EnCrow_SetupTurnAway(this);
|
EnCrow_SetupTurnAway(this);
|
||||||
} else {
|
} else {
|
||||||
Actor_ApplyDamage(&this->actor);
|
Actor_ApplyDamage(&this->actor);
|
||||||
|
|
|
@ -1049,14 +1049,14 @@ void EnDekubaba_UpdateDamage(EnDekubaba* this, PlayState* play) {
|
||||||
Actor_SetDropFlagJntSph(&this->actor, &this->collider, true);
|
Actor_SetDropFlagJntSph(&this->actor, &this->collider, true);
|
||||||
|
|
||||||
if ((this->collider.base.colMaterial != COL_MATERIAL_HARD) &&
|
if ((this->collider.base.colMaterial != COL_MATERIAL_HARD) &&
|
||||||
((this->actor.colChkInfo.damageEffect != DEKUBABA_DMGEFF_NONE) || (this->actor.colChkInfo.damage != 0))) {
|
((this->actor.colChkInfo.damageReaction != DEKUBABA_DMGEFF_NONE) || (this->actor.colChkInfo.damage != 0))) {
|
||||||
|
|
||||||
phi_s0 = this->actor.colChkInfo.health - this->actor.colChkInfo.damage;
|
phi_s0 = this->actor.colChkInfo.health - this->actor.colChkInfo.damage;
|
||||||
|
|
||||||
if (this->actionFunc != EnDekubaba_StunnedVertical) {
|
if (this->actionFunc != EnDekubaba_StunnedVertical) {
|
||||||
if ((this->actor.colChkInfo.damageEffect == DEKUBABA_DMGEFF_BOOMERANG) ||
|
if ((this->actor.colChkInfo.damageReaction == DEKUBABA_DMGEFF_BOOMERANG) ||
|
||||||
(this->actor.colChkInfo.damageEffect == DEKUBABA_DMGEFF_DEKUNUT)) {
|
(this->actor.colChkInfo.damageReaction == DEKUBABA_DMGEFF_DEKUNUT)) {
|
||||||
if (this->actor.colChkInfo.damageEffect == DEKUBABA_DMGEFF_BOOMERANG) {
|
if (this->actor.colChkInfo.damageReaction == DEKUBABA_DMGEFF_BOOMERANG) {
|
||||||
phi_s0 = this->actor.colChkInfo.health;
|
phi_s0 = this->actor.colChkInfo.health;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1070,14 +1070,14 @@ void EnDekubaba_UpdateDamage(EnDekubaba* this, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
EnDekubaba_SetupHit(this, 0);
|
EnDekubaba_SetupHit(this, 0);
|
||||||
}
|
}
|
||||||
} else if ((this->actor.colChkInfo.damageEffect == DEKUBABA_DMGEFF_BOOMERANG) ||
|
} else if ((this->actor.colChkInfo.damageReaction == DEKUBABA_DMGEFF_BOOMERANG) ||
|
||||||
(this->actor.colChkInfo.damageEffect == DEKUBABA_DMGEFF_SWORD)) {
|
(this->actor.colChkInfo.damageReaction == DEKUBABA_DMGEFF_SWORD)) {
|
||||||
if (phi_s0 > 0) {
|
if (phi_s0 > 0) {
|
||||||
EnDekubaba_SetupSway(this);
|
EnDekubaba_SetupSway(this);
|
||||||
} else {
|
} else {
|
||||||
EnDekubaba_SetupPrunedSomersault(this);
|
EnDekubaba_SetupPrunedSomersault(this);
|
||||||
}
|
}
|
||||||
} else if (this->actor.colChkInfo.damageEffect != DEKUBABA_DMGEFF_DEKUNUT) {
|
} else if (this->actor.colChkInfo.damageReaction != DEKUBABA_DMGEFF_DEKUNUT) {
|
||||||
EnDekubaba_SetupHit(this, 0);
|
EnDekubaba_SetupHit(this, 0);
|
||||||
} else {
|
} else {
|
||||||
return;
|
return;
|
||||||
|
@ -1085,7 +1085,7 @@ void EnDekubaba_UpdateDamage(EnDekubaba* this, PlayState* play) {
|
||||||
|
|
||||||
this->actor.colChkInfo.health = CLAMP_MIN(phi_s0, 0);
|
this->actor.colChkInfo.health = CLAMP_MIN(phi_s0, 0);
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect == DEKUBABA_DMGEFF_FIRE) {
|
if (this->actor.colChkInfo.damageReaction == DEKUBABA_DMGEFF_FIRE) {
|
||||||
firePos = &this->actor.world.pos;
|
firePos = &this->actor.world.pos;
|
||||||
fireScale = (this->size * 70.0f);
|
fireScale = (this->size * 70.0f);
|
||||||
|
|
||||||
|
|
|
@ -456,9 +456,9 @@ void EnDekunuts_ColliderCheck(EnDekunuts* this, PlayState* play) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
||||||
if (this->actor.colChkInfo.mass == 50) {
|
if (this->actor.colChkInfo.mass == 50) {
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (this->actor.colChkInfo.damageEffect != 1) {
|
if (this->actor.colChkInfo.damageReaction != 1) {
|
||||||
if (this->actor.colChkInfo.damageEffect == 2) {
|
if (this->actor.colChkInfo.damageReaction == 2) {
|
||||||
EffectSsFCircle_Spawn(play, &this->actor, &this->actor.world.pos, 40, 50);
|
EffectSsFCircle_Spawn(play, &this->actor, &this->actor.world.pos, 40, 50);
|
||||||
}
|
}
|
||||||
EnDekunuts_SetupBeDamaged(this);
|
EnDekunuts_SetupBeDamaged(this);
|
||||||
|
|
|
@ -507,7 +507,7 @@ void EnDh_CollisionCheck(EnDh* this, PlayState* play) {
|
||||||
|
|
||||||
if ((this->colliderJntSph.base.acFlags & AC_HIT) && !this->retreat) {
|
if ((this->colliderJntSph.base.acFlags & AC_HIT) && !this->retreat) {
|
||||||
this->colliderJntSph.base.acFlags &= ~AC_HIT;
|
this->colliderJntSph.base.acFlags &= ~AC_HIT;
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) && (this->actor.colChkInfo.damageEffect != 6)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) && (this->actor.colChkInfo.damageReaction != 6)) {
|
||||||
this->colliderJntSph.base.atFlags = this->colliderJntSph.elements[0].base.atElemFlags =
|
this->colliderJntSph.base.atFlags = this->colliderJntSph.elements[0].base.atElemFlags =
|
||||||
AT_NONE; // also ATELEM_NONE
|
AT_NONE; // also ATELEM_NONE
|
||||||
this->colliderJntSph.elements[0].base.atDmgInfo.dmgFlags =
|
this->colliderJntSph.elements[0].base.atDmgInfo.dmgFlags =
|
||||||
|
|
|
@ -409,7 +409,7 @@ void EnDha_UpdateHealth(EnDha* this, PlayState* play) {
|
||||||
if (!((this->unk_1C0 >= 8) || !(this->collider.base.acFlags & AC_HIT))) {
|
if (!((this->unk_1C0 >= 8) || !(this->collider.base.acFlags & AC_HIT))) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect == 0 || this->actor.colChkInfo.damageEffect == 6) {
|
if (this->actor.colChkInfo.damageReaction == 0 || this->actor.colChkInfo.damageReaction == 6) {
|
||||||
return;
|
return;
|
||||||
} else {
|
} else {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 8);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 8);
|
||||||
|
|
|
@ -360,14 +360,14 @@ s32 EnDodojr_CheckDamaged(EnDodojr* this, PlayState* play) {
|
||||||
this->actor.shape.shadowDraw = ActorShadow_DrawCircle;
|
this->actor.shape.shadowDraw = ActorShadow_DrawCircle;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect == 0) && (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction == 0) && (this->actor.colChkInfo.damage != 0)) {
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
this->freezeFrameTimer = 2;
|
this->freezeFrameTimer = 2;
|
||||||
this->actionFunc = EnDodojr_WaitFreezeFrames;
|
this->actionFunc = EnDodojr_WaitFreezeFrames;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect == 1) && (this->actionFunc != EnDodojr_Stunned) &&
|
if ((this->actor.colChkInfo.damageReaction == 1) && (this->actionFunc != EnDodojr_Stunned) &&
|
||||||
(this->actionFunc != EnDodojr_StunnedBounce)) {
|
(this->actionFunc != EnDodojr_StunnedBounce)) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
|
||||||
this->stunTimer = 120;
|
this->stunTimer = 120;
|
||||||
|
|
|
@ -733,9 +733,9 @@ void EnDodongo_CollisionCheck(EnDodongo* this, PlayState* play) {
|
||||||
} else if ((this->bodyCollider.base.acFlags & AC_HIT) && (this->actionState > DODONGO_DEATH)) {
|
} else if ((this->bodyCollider.base.acFlags & AC_HIT) && (this->actionState > DODONGO_DEATH)) {
|
||||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlagJntSph(&this->actor, &this->bodyCollider, false);
|
Actor_SetDropFlagJntSph(&this->actor, &this->bodyCollider, false);
|
||||||
if (this->actor.colChkInfo.damageEffect != 0xE) {
|
if (this->actor.colChkInfo.damageReaction != 0xE) {
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
if ((this->actor.colChkInfo.damageEffect == 1) || (this->actor.colChkInfo.damageEffect == 0xF)) {
|
if ((this->actor.colChkInfo.damageReaction == 1) || (this->actor.colChkInfo.damageReaction == 0xF)) {
|
||||||
if (this->actionState != DODONGO_STUNNED) {
|
if (this->actionState != DODONGO_STUNNED) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
Actor_ApplyDamage(&this->actor);
|
Actor_ApplyDamage(&this->actor);
|
||||||
|
@ -783,7 +783,7 @@ void EnDodongo_Update(Actor* thisx, PlayState* play) {
|
||||||
EnDodongo* this = (EnDodongo*)thisx;
|
EnDodongo* this = (EnDodongo*)thisx;
|
||||||
|
|
||||||
EnDodongo_CollisionCheck(this, play);
|
EnDodongo_CollisionCheck(this, play);
|
||||||
if (this->actor.colChkInfo.damageEffect != 0xE) {
|
if (this->actor.colChkInfo.damageReaction != 0xE) {
|
||||||
this->actionFunc(this, play);
|
this->actionFunc(this, play);
|
||||||
Actor_MoveXZGravity(&this->actor);
|
Actor_MoveXZGravity(&this->actor);
|
||||||
Actor_UpdateBgCheckInfo(play, &this->actor, 75.0f, 60.0f, 70.0f,
|
Actor_UpdateBgCheckInfo(play, &this->actor, 75.0f, 60.0f, 70.0f,
|
||||||
|
|
|
@ -616,7 +616,7 @@ void EnEiyer_UpdateDamage(EnEiyer* this, PlayState* play) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect != 0 || this->actor.colChkInfo.damage != 0) {
|
if (this->actor.colChkInfo.damageReaction != 0 || this->actor.colChkInfo.damage != 0) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_EIER_DEAD);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_EIER_DEAD);
|
||||||
|
@ -630,7 +630,7 @@ void EnEiyer_UpdateDamage(EnEiyer* this, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
EnEiyer_SetupDie(this);
|
EnEiyer_SetupDie(this);
|
||||||
}
|
}
|
||||||
} else if (this->actor.colChkInfo.damageEffect == 1) {
|
} else if (this->actor.colChkInfo.damageReaction == 1) {
|
||||||
if (this->actionFunc != EnEiyer_Stunned) {
|
if (this->actionFunc != EnEiyer_Stunned) {
|
||||||
EnEiyer_SetupStunned(this);
|
EnEiyer_SetupStunned(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -643,13 +643,13 @@ void EnFirefly_UpdateDamage(EnFirefly* this, PlayState* play) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elements[0].base, true);
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||||
}
|
}
|
||||||
|
|
||||||
damageEffect = this->actor.colChkInfo.damageEffect;
|
damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
|
|
||||||
if (damageEffect == 2) { // Din's Fire
|
if (damageEffect == 2) { // Din's Fire
|
||||||
if (this->actor.params == KEESE_ICE_FLY) {
|
if (this->actor.params == KEESE_ICE_FLY) {
|
||||||
|
|
|
@ -423,7 +423,7 @@ void EnFloormas_SetupRecover(EnFloormas* this) {
|
||||||
void EnFloormas_SetupFreeze(EnFloormas* this) {
|
void EnFloormas_SetupFreeze(EnFloormas* this) {
|
||||||
Animation_Change(&this->skelAnime, &gWallmasterJumpAnim, 1.5f, 0, 20.0f, ANIMMODE_ONCE, -3.0f);
|
Animation_Change(&this->skelAnime, &gWallmasterJumpAnim, 1.5f, 0, 20.0f, ANIMMODE_ONCE, -3.0f);
|
||||||
this->actor.speed = 0.0f;
|
this->actor.speed = 0.0f;
|
||||||
if (this->actor.colChkInfo.damageEffect == 4) {
|
if (this->actor.colChkInfo.damageReaction == 4) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_GRAY, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_GRAY, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
} else {
|
} else {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
|
@ -992,7 +992,7 @@ void EnFloormas_ColliderCheck(EnFloormas* this, PlayState* play) {
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (this->collider.base.colMaterial != COL_MATERIAL_HARD) {
|
if (this->collider.base.colMaterial != COL_MATERIAL_HARD) {
|
||||||
isSmall = false;
|
isSmall = false;
|
||||||
if (this->actor.scale.x < 0.01f) {
|
if (this->actor.scale.x < 0.01f) {
|
||||||
|
@ -1000,7 +1000,7 @@ void EnFloormas_ColliderCheck(EnFloormas* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
if (isSmall && this->collider.elem.acHitElem->atDmgInfo.dmgFlags & DMG_HOOKSHOT) {
|
if (isSmall && this->collider.elem.acHitElem->atDmgInfo.dmgFlags & DMG_HOOKSHOT) {
|
||||||
this->actor.colChkInfo.damage = 2;
|
this->actor.colChkInfo.damage = 2;
|
||||||
this->actor.colChkInfo.damageEffect = 0;
|
this->actor.colChkInfo.damageReaction = 0;
|
||||||
}
|
}
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
if (isSmall) {
|
if (isSmall) {
|
||||||
|
@ -1014,12 +1014,12 @@ void EnFloormas_ColliderCheck(EnFloormas* this, PlayState* play) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_FALL_DAMAGE);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_FALL_DAMAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect == 4) || (this->actor.colChkInfo.damageEffect == 1)) {
|
if ((this->actor.colChkInfo.damageReaction == 4) || (this->actor.colChkInfo.damageReaction == 1)) {
|
||||||
if (this->actionFunc != EnFloormas_Freeze) {
|
if (this->actionFunc != EnFloormas_Freeze) {
|
||||||
EnFloormas_SetupFreeze(this);
|
EnFloormas_SetupFreeze(this);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this->actor.colChkInfo.damageEffect == 2) {
|
if (this->actor.colChkInfo.damageReaction == 2) {
|
||||||
EffectSsFCircle_Spawn(play, &this->actor, &this->actor.world.pos, this->actor.scale.x * 4000.0f,
|
EffectSsFCircle_Spawn(play, &this->actor, &this->actor.world.pos, this->actor.scale.x * 4000.0f,
|
||||||
this->actor.scale.x * 4000.0f);
|
this->actor.scale.x * 4000.0f);
|
||||||
}
|
}
|
||||||
|
|
|
@ -356,7 +356,7 @@ void EnFz_ApplyDamage(EnFz* this, PlayState* play) {
|
||||||
this->collider1.base.acFlags &= ~AC_HIT;
|
this->collider1.base.acFlags &= ~AC_HIT;
|
||||||
} else if (this->collider1.base.acFlags & AC_HIT) {
|
} else if (this->collider1.base.acFlags & AC_HIT) {
|
||||||
this->collider1.base.acFlags &= ~AC_HIT;
|
this->collider1.base.acFlags &= ~AC_HIT;
|
||||||
switch (this->actor.colChkInfo.damageEffect) {
|
switch (this->actor.colChkInfo.damageReaction) {
|
||||||
case 0xF:
|
case 0xF:
|
||||||
Actor_ApplyDamage(&this->actor);
|
Actor_ApplyDamage(&this->actor);
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_XLU, 8);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_XLU, 8);
|
||||||
|
|
|
@ -1390,12 +1390,12 @@ void EnGeldB_CollisionCheck(EnGeldB* this, PlayState* play) {
|
||||||
} else if ((this->bodyCollider.base.acFlags & AC_HIT) && (this->action >= GELDB_READY) &&
|
} else if ((this->bodyCollider.base.acFlags & AC_HIT) && (this->action >= GELDB_READY) &&
|
||||||
(this->spinAttackState < 2)) {
|
(this->spinAttackState < 2)) {
|
||||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||||
if (this->actor.colChkInfo.damageEffect != GELDB_DMG_UNK_6) {
|
if (this->actor.colChkInfo.damageReaction != GELDB_DMG_UNK_6) {
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true);
|
||||||
Audio_StopSfxByPosAndId(&this->actor.projectedPos, NA_SE_EN_GERUDOFT_BREATH);
|
Audio_StopSfxByPosAndId(&this->actor.projectedPos, NA_SE_EN_GERUDOFT_BREATH);
|
||||||
if ((this->actor.colChkInfo.damageEffect == GELDB_DMG_STUN) ||
|
if ((this->actor.colChkInfo.damageReaction == GELDB_DMG_STUN) ||
|
||||||
(this->actor.colChkInfo.damageEffect == GELDB_DMG_FREEZE)) {
|
(this->actor.colChkInfo.damageReaction == GELDB_DMG_FREEZE)) {
|
||||||
if (this->action != GELDB_STUNNED) {
|
if (this->action != GELDB_STUNNED) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
Actor_ApplyDamage(&this->actor);
|
Actor_ApplyDamage(&this->actor);
|
||||||
|
@ -1429,7 +1429,7 @@ void EnGeldB_Update(Actor* thisx, PlayState* play) {
|
||||||
EnGeldB* this = (EnGeldB*)thisx;
|
EnGeldB* this = (EnGeldB*)thisx;
|
||||||
|
|
||||||
EnGeldB_CollisionCheck(this, play);
|
EnGeldB_CollisionCheck(this, play);
|
||||||
if (this->actor.colChkInfo.damageEffect != GELDB_DMG_UNK_6) {
|
if (this->actor.colChkInfo.damageReaction != GELDB_DMG_UNK_6) {
|
||||||
Actor_MoveXZGravity(&this->actor);
|
Actor_MoveXZGravity(&this->actor);
|
||||||
Actor_UpdateBgCheckInfo(play, &this->actor, 15.0f, 30.0f, 60.0f,
|
Actor_UpdateBgCheckInfo(play, &this->actor, 15.0f, 30.0f, 60.0f,
|
||||||
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
|
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
|
||||||
|
|
|
@ -544,7 +544,7 @@ void EnGs_Update(Actor* thisx, PlayState* play2) {
|
||||||
this->unk_19F = 0;
|
this->unk_19F = 0;
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
|
|
||||||
switch (this->actor.colChkInfo.damageEffect) {
|
switch (this->actor.colChkInfo.damageReaction) {
|
||||||
case 15:
|
case 15:
|
||||||
this->unk_19E |= 1;
|
this->unk_19E |= 1;
|
||||||
func_80A4F77C(this);
|
func_80A4F77C(this);
|
||||||
|
|
|
@ -754,7 +754,7 @@ void EnIk_UpdateDamage(EnIk* this, PlayState* play) {
|
||||||
|
|
||||||
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true);
|
||||||
|
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||||
|
|
||||||
if ((this->damageEffect == EN_IK_DMGEFF_NONE) || (this->damageEffect == EN_IK_DMGEFF_SPARKS_NO_DMG) ||
|
if ((this->damageEffect == EN_IK_DMGEFF_NONE) || (this->damageEffect == EN_IK_DMGEFF_SPARKS_NO_DMG) ||
|
||||||
|
|
|
@ -1440,8 +1440,8 @@ void EnMb_CheckColliding(EnMb* this, PlayState* play) {
|
||||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||||
} else if ((this->bodyCollider.base.acFlags & AC_HIT) && this->state >= ENMB_STATE_STUNNED) {
|
} else if ((this->bodyCollider.base.acFlags & AC_HIT) && this->state >= ENMB_STATE_STUNNED) {
|
||||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||||
if (this->actor.colChkInfo.damageEffect != ENMB_DMGEFF_IGNORE &&
|
if (this->actor.colChkInfo.damageReaction != ENMB_DMGEFF_IGNORE &&
|
||||||
this->actor.colChkInfo.damageEffect != ENMB_DMGEFF_FREEZE) {
|
this->actor.colChkInfo.damageReaction != ENMB_DMGEFF_FREEZE) {
|
||||||
if ((player->stateFlags2 & PLAYER_STATE2_7) && player->actor.parent == &this->actor) {
|
if ((player->stateFlags2 & PLAYER_STATE2_7) && player->actor.parent == &this->actor) {
|
||||||
player->stateFlags2 &= ~PLAYER_STATE2_7;
|
player->stateFlags2 &= ~PLAYER_STATE2_7;
|
||||||
player->actor.parent = NULL;
|
player->actor.parent = NULL;
|
||||||
|
@ -1450,11 +1450,11 @@ void EnMb_CheckColliding(EnMb* this, PlayState* play) {
|
||||||
#endif
|
#endif
|
||||||
Actor_SetPlayerKnockbackLargeNoDamage(play, &this->actor, 6.0f, this->actor.world.rot.y, 6.0f);
|
Actor_SetPlayerKnockbackLargeNoDamage(play, &this->actor, 6.0f, this->actor.world.rot.y, 6.0f);
|
||||||
}
|
}
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
this->attack = ENMB_ATTACK_NONE;
|
this->attack = ENMB_ATTACK_NONE;
|
||||||
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false);
|
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false);
|
||||||
if (this->actor.colChkInfo.damageEffect == ENMB_DMGEFF_STUN ||
|
if (this->actor.colChkInfo.damageReaction == ENMB_DMGEFF_STUN ||
|
||||||
this->actor.colChkInfo.damageEffect == ENMB_DMGEFF_STUN_ICE) {
|
this->actor.colChkInfo.damageReaction == ENMB_DMGEFF_STUN_ICE) {
|
||||||
if (this->state != ENMB_STATE_STUNNED) {
|
if (this->state != ENMB_STATE_STUNNED) {
|
||||||
Actor_ApplyDamage(&this->actor);
|
Actor_ApplyDamage(&this->actor);
|
||||||
EnMb_SetupStunned(this);
|
EnMb_SetupStunned(this);
|
||||||
|
@ -1485,7 +1485,7 @@ void EnMb_Update(Actor* thisx, PlayState* play) {
|
||||||
s32 pad;
|
s32 pad;
|
||||||
|
|
||||||
EnMb_CheckColliding(this, play);
|
EnMb_CheckColliding(this, play);
|
||||||
if (thisx->colChkInfo.damageEffect != ENMB_DMGEFF_FREEZE) {
|
if (thisx->colChkInfo.damageReaction != ENMB_DMGEFF_FREEZE) {
|
||||||
this->actionFunc(this, play);
|
this->actionFunc(this, play);
|
||||||
Actor_MoveXZGravity(thisx);
|
Actor_MoveXZGravity(thisx);
|
||||||
Actor_UpdateBgCheckInfo(play, thisx, 40.0f, 40.0f, 70.0f,
|
Actor_UpdateBgCheckInfo(play, thisx, 40.0f, 40.0f, 70.0f,
|
||||||
|
|
|
@ -324,7 +324,7 @@ s32 EnNy_CollisionCheck(EnNy* this, PlayState* play) {
|
||||||
effectPos.y = this->collider.elements[0].base.acDmgInfo.hitPos.y;
|
effectPos.y = this->collider.elements[0].base.acDmgInfo.hitPos.y;
|
||||||
effectPos.z = this->collider.elements[0].base.acDmgInfo.hitPos.z;
|
effectPos.z = this->collider.elements[0].base.acDmgInfo.hitPos.z;
|
||||||
if ((this->unk_1E0 == 0.25f) && (this->unk_1D4 == 0xFF)) {
|
if ((this->unk_1E0 == 0.25f) && (this->unk_1D4 == 0xFF)) {
|
||||||
switch (this->actor.colChkInfo.damageEffect) {
|
switch (this->actor.colChkInfo.damageReaction) {
|
||||||
case 0xE:
|
case 0xE:
|
||||||
sp3F = 1;
|
sp3F = 1;
|
||||||
FALLTHROUGH;
|
FALLTHROUGH;
|
||||||
|
|
|
@ -570,11 +570,11 @@ void EnOkuta_ColliderCheck(EnOkuta* this, PlayState* play) {
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
this->actor.colChkInfo.health = 0;
|
this->actor.colChkInfo.health = 0;
|
||||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||||
if (this->actor.colChkInfo.damageEffect == 3) {
|
if (this->actor.colChkInfo.damageReaction == 3) {
|
||||||
EnOkuta_SetupFreeze(this);
|
EnOkuta_SetupFreeze(this);
|
||||||
} else {
|
} else {
|
||||||
EnOkuta_SetupWaitToDie(this);
|
EnOkuta_SetupWaitToDie(this);
|
||||||
|
|
|
@ -902,13 +902,13 @@ void EnPeehat_Adult_CollisionCheck(EnPeehat* this, PlayState* play) {
|
||||||
} else if (this->colliderJntSph.base.acFlags & AC_HIT) {
|
} else if (this->colliderJntSph.base.acFlags & AC_HIT) {
|
||||||
this->colliderJntSph.base.acFlags &= ~AC_HIT;
|
this->colliderJntSph.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlagJntSph(&this->actor, &this->colliderJntSph, true);
|
Actor_SetDropFlagJntSph(&this->actor, &this->colliderJntSph, true);
|
||||||
if (this->actor.colChkInfo.damageEffect == PEAHAT_DMG_EFF_NUT ||
|
if (this->actor.colChkInfo.damageReaction == PEAHAT_DMG_EFF_NUT ||
|
||||||
this->actor.colChkInfo.damageEffect == PEAHAT_DMG_EFF_LIGHT_ICE_ARROW) {
|
this->actor.colChkInfo.damageReaction == PEAHAT_DMG_EFF_LIGHT_ICE_ARROW) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (this->actor.colChkInfo.damageEffect == PEAHAT_DMG_EFF_HOOKSHOT) {
|
if (this->actor.colChkInfo.damageReaction == PEAHAT_DMG_EFF_HOOKSHOT) {
|
||||||
this->actor.colChkInfo.health = 0;
|
this->actor.colChkInfo.health = 0;
|
||||||
} else if (this->actor.colChkInfo.damageEffect == PEAHAT_DMG_EFF_BOOMERANG) {
|
} else if (this->actor.colChkInfo.damageReaction == PEAHAT_DMG_EFF_BOOMERANG) {
|
||||||
if (this->state != PEAHAT_STATE_STUNNED) {
|
if (this->state != PEAHAT_STATE_STUNNED) {
|
||||||
EnPeehat_SetStateBoomerangStunned(this);
|
EnPeehat_SetStateBoomerangStunned(this);
|
||||||
}
|
}
|
||||||
|
@ -919,7 +919,7 @@ void EnPeehat_Adult_CollisionCheck(EnPeehat* this, PlayState* play) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_PIHAT_DAMAGE);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_PIHAT_DAMAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect == PEAHAT_DMG_EFF_FIRE) {
|
if (this->actor.colChkInfo.damageReaction == PEAHAT_DMG_EFF_FIRE) {
|
||||||
Vec3f pos;
|
Vec3f pos;
|
||||||
s32 i;
|
s32 i;
|
||||||
for (i = 4; i >= 0; i--) {
|
for (i = 4; i >= 0; i--) {
|
||||||
|
@ -949,7 +949,7 @@ void EnPeehat_Update(Actor* thisx, PlayState* play) {
|
||||||
if (thisx->params <= 0) {
|
if (thisx->params <= 0) {
|
||||||
EnPeehat_Adult_CollisionCheck(this, play);
|
EnPeehat_Adult_CollisionCheck(this, play);
|
||||||
}
|
}
|
||||||
if (thisx->colChkInfo.damageEffect != PEAHAT_DMG_EFF_LIGHT_ICE_ARROW) {
|
if (thisx->colChkInfo.damageReaction != PEAHAT_DMG_EFF_LIGHT_ICE_ARROW) {
|
||||||
if (thisx->speed != 0.0f || thisx->velocity.y != 0.0f) {
|
if (thisx->speed != 0.0f || thisx->velocity.y != 0.0f) {
|
||||||
Actor_MoveXZGravity(thisx);
|
Actor_MoveXZGravity(thisx);
|
||||||
Actor_UpdateBgCheckInfo(play, thisx, 25.0f, 30.0f, 30.0f, UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2);
|
Actor_UpdateBgCheckInfo(play, thisx, 25.0f, 30.0f, 30.0f, UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2);
|
||||||
|
|
|
@ -744,7 +744,7 @@ void EnPoField_SoulInteract(EnPoField* this, PlayState* play) {
|
||||||
void EnPoField_TestForDamage(EnPoField* this, PlayState* play) {
|
void EnPoField_TestForDamage(EnPoField* this, PlayState* play) {
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
if (this->actor.colChkInfo.damageEffect != 0 || this->actor.colChkInfo.damage != 0) {
|
if (this->actor.colChkInfo.damageReaction != 0 || this->actor.colChkInfo.damage != 0) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_PO_DEAD);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_PO_DEAD);
|
||||||
|
|
|
@ -1166,15 +1166,15 @@ void func_80ADC10C(EnPoSisters* this, PlayState* play) {
|
||||||
Item_DropCollectible(play, &sp24, ITEM00_ARROWS_SMALL);
|
Item_DropCollectible(play, &sp24, ITEM00_ARROWS_SMALL);
|
||||||
}
|
}
|
||||||
} else if (this->collider.base.colMaterial == COL_MATERIAL_METAL ||
|
} else if (this->collider.base.colMaterial == COL_MATERIAL_METAL ||
|
||||||
(this->actor.colChkInfo.damageEffect == 0 && this->actor.colChkInfo.damage == 0)) {
|
(this->actor.colChkInfo.damageReaction == 0 && this->actor.colChkInfo.damage == 0)) {
|
||||||
if (this->unk_194 == 0) {
|
if (this->unk_194 == 0) {
|
||||||
this->actor.freezeTimer = 0;
|
this->actor.freezeTimer = 0;
|
||||||
}
|
}
|
||||||
} else if (this->actor.colChkInfo.damageEffect == 0xF) {
|
} else if (this->actor.colChkInfo.damageReaction == 0xF) {
|
||||||
this->actor.world.rot.y = this->actor.shape.rot.y;
|
this->actor.world.rot.y = this->actor.shape.rot.y;
|
||||||
this->unk_199 |= 2;
|
this->unk_199 |= 2;
|
||||||
func_80AD98F4(this, play);
|
func_80AD98F4(this, play);
|
||||||
} else if (this->unk_194 == 0 && this->actor.colChkInfo.damageEffect == 0xE &&
|
} else if (this->unk_194 == 0 && this->actor.colChkInfo.damageReaction == 0xE &&
|
||||||
this->actionFunc == func_80ADB770) {
|
this->actionFunc == func_80ADB770) {
|
||||||
if (this->unk_19C == 0) {
|
if (this->unk_19C == 0) {
|
||||||
this->unk_19C = -45;
|
this->unk_19C = -45;
|
||||||
|
|
|
@ -880,7 +880,7 @@ void EnPoh_TalkComposer(EnPoh* this, PlayState* play) {
|
||||||
void func_80AE032C(EnPoh* this, PlayState* play) {
|
void func_80AE032C(EnPoh* this, PlayState* play) {
|
||||||
if (this->colliderCylinder.base.acFlags & AC_HIT) {
|
if (this->colliderCylinder.base.acFlags & AC_HIT) {
|
||||||
this->colliderCylinder.base.acFlags &= ~AC_HIT;
|
this->colliderCylinder.base.acFlags &= ~AC_HIT;
|
||||||
if (this->actor.colChkInfo.damageEffect != 0 || this->actor.colChkInfo.damage != 0) {
|
if (this->actor.colChkInfo.damageReaction != 0 || this->actor.colChkInfo.damage != 0) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_PO_DEAD);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_PO_DEAD);
|
||||||
|
|
|
@ -835,7 +835,7 @@ void EnRd_UpdateDamage(EnRd* this, PlayState* play) {
|
||||||
|
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
|
|
||||||
if (this->action != REDEAD_ACTION_RISE_FROM_COFFIN) {
|
if (this->action != REDEAD_ACTION_RISE_FROM_COFFIN) {
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
||||||
|
|
|
@ -555,7 +555,7 @@ void EnReeba_CheckDamage(EnReeba* this, PlayState* play) {
|
||||||
this->actor.shape.rot.x = this->actor.shape.rot.z = 0;
|
this->actor.shape.rot.x = this->actor.shape.rot.z = 0;
|
||||||
this->stunType = LEEVER_STUN_NONE;
|
this->stunType = LEEVER_STUN_NONE;
|
||||||
|
|
||||||
switch (this->actor.colChkInfo.damageEffect) {
|
switch (this->actor.colChkInfo.damageReaction) {
|
||||||
case LEEVER_DMGEFF_UNUSED:
|
case LEEVER_DMGEFF_UNUSED:
|
||||||
case LEEVER_DMGEFF_BOOMERANG:
|
case LEEVER_DMGEFF_BOOMERANG:
|
||||||
if ((this->actor.colChkInfo.health > 1) && (this->stunType != LEEVER_STUN_OTHER)) {
|
if ((this->actor.colChkInfo.health > 1) && (this->stunType != LEEVER_STUN_OTHER)) {
|
||||||
|
|
|
@ -448,13 +448,13 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) {
|
||||||
u8 dropType = RR_DROP_RANDOM_RUPEE;
|
u8 dropType = RR_DROP_RANDOM_RUPEE;
|
||||||
|
|
||||||
this->collider1.base.acFlags &= ~AC_HIT;
|
this->collider1.base.acFlags &= ~AC_HIT;
|
||||||
if (this->actor.colChkInfo.damageEffect != 0) {
|
if (this->actor.colChkInfo.damageReaction != 0) {
|
||||||
hitPos.x = this->collider1.elem.acDmgInfo.hitPos.x;
|
hitPos.x = this->collider1.elem.acDmgInfo.hitPos.x;
|
||||||
hitPos.y = this->collider1.elem.acDmgInfo.hitPos.y;
|
hitPos.y = this->collider1.elem.acDmgInfo.hitPos.y;
|
||||||
hitPos.z = this->collider1.elem.acDmgInfo.hitPos.z;
|
hitPos.z = this->collider1.elem.acDmgInfo.hitPos.z;
|
||||||
CollisionCheck_BlueBlood(play, NULL, &hitPos);
|
CollisionCheck_BlueBlood(play, NULL, &hitPos);
|
||||||
}
|
}
|
||||||
switch (this->actor.colChkInfo.damageEffect) {
|
switch (this->actor.colChkInfo.damageReaction) {
|
||||||
case RR_DMG_LIGHT_ARROW:
|
case RR_DMG_LIGHT_ARROW:
|
||||||
dropType++; // purple rupee
|
dropType++; // purple rupee
|
||||||
FALLTHROUGH;
|
FALLTHROUGH;
|
||||||
|
@ -471,7 +471,7 @@ void EnRr_CollisionCheck(EnRr* this, PlayState* play) {
|
||||||
// "ouch"
|
// "ouch"
|
||||||
PRINTF(VT_FGCOL(RED) "いてっ( %d : LIFE %d : DAMAGE %d : %x )!!" VT_RST "\n", this->frameCount,
|
PRINTF(VT_FGCOL(RED) "いてっ( %d : LIFE %d : DAMAGE %d : %x )!!" VT_RST "\n", this->frameCount,
|
||||||
this->actor.colChkInfo.health, this->actor.colChkInfo.damage,
|
this->actor.colChkInfo.health, this->actor.colChkInfo.damage,
|
||||||
this->actor.colChkInfo.damageEffect);
|
this->actor.colChkInfo.damageReaction);
|
||||||
this->stopScroll = false;
|
this->stopScroll = false;
|
||||||
Actor_ApplyDamage(&this->actor);
|
Actor_ApplyDamage(&this->actor);
|
||||||
this->invincibilityTimer = 40;
|
this->invincibilityTimer = 40;
|
||||||
|
|
|
@ -393,7 +393,7 @@ s32 EnSb_UpdateDamage(EnSb* this, PlayState* play) {
|
||||||
tookDamage = false;
|
tookDamage = false;
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
|
|
||||||
switch (this->actor.colChkInfo.damageEffect) {
|
switch (this->actor.colChkInfo.damageReaction) {
|
||||||
case 14: // wind arrow
|
case 14: // wind arrow
|
||||||
hitByWindArrow = true;
|
hitByWindArrow = true;
|
||||||
FALLTHROUGH;
|
FALLTHROUGH;
|
||||||
|
|
|
@ -472,11 +472,11 @@ void EnSkb_CheckDamage(EnSkb* this, PlayState* play) {
|
||||||
} else if (this->actionState >= SKB_BEHAVIOR_ATTACKING) {
|
} else if (this->actionState >= SKB_BEHAVIOR_ATTACKING) {
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
if (this->actor.colChkInfo.damageEffect != 6) {
|
if (this->actor.colChkInfo.damageReaction != 6) {
|
||||||
this->lastDamageEffect = this->actor.colChkInfo.damageEffect;
|
this->lastDamageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elements[1].base, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elements[1].base, true);
|
||||||
this->setColliderAT = false;
|
this->setColliderAT = false;
|
||||||
if (this->actor.colChkInfo.damageEffect == 1) {
|
if (this->actor.colChkInfo.damageReaction == 1) {
|
||||||
if (this->actionState != SKB_BEHAVIOR_STUNNED) {
|
if (this->actionState != SKB_BEHAVIOR_STUNNED) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA,
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA,
|
||||||
80);
|
80);
|
||||||
|
@ -485,7 +485,7 @@ void EnSkb_CheckDamage(EnSkb* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
colorFilterDuration = 8;
|
colorFilterDuration = 8;
|
||||||
if (this->actor.colChkInfo.damageEffect == 7) {
|
if (this->actor.colChkInfo.damageReaction == 7) {
|
||||||
scale = this->actor.scale.y * 7500.0f;
|
scale = this->actor.scale.y * 7500.0f;
|
||||||
for (i = 4; i >= 0; i--) {
|
for (i = 4; i >= 0; i--) {
|
||||||
flamePos = this->actor.world.pos;
|
flamePos = this->actor.world.pos;
|
||||||
|
@ -504,8 +504,8 @@ void EnSkb_CheckDamage(EnSkb* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
player = GET_PLAYER(play);
|
player = GET_PLAYER(play);
|
||||||
if (this->breakFlags == 0) {
|
if (this->breakFlags == 0) {
|
||||||
if ((this->actor.colChkInfo.damageEffect == 0xD) ||
|
if ((this->actor.colChkInfo.damageReaction == 0xD) ||
|
||||||
((this->actor.colChkInfo.damageEffect == 0xE) &&
|
((this->actor.colChkInfo.damageReaction == 0xE) &&
|
||||||
((player->meleeWeaponAnimation >= PLAYER_MWA_RIGHT_SLASH_1H &&
|
((player->meleeWeaponAnimation >= PLAYER_MWA_RIGHT_SLASH_1H &&
|
||||||
player->meleeWeaponAnimation <= PLAYER_MWA_LEFT_COMBO_2H) ||
|
player->meleeWeaponAnimation <= PLAYER_MWA_LEFT_COMBO_2H) ||
|
||||||
(player->meleeWeaponAnimation == PLAYER_MWA_BACKSLASH_RIGHT ||
|
(player->meleeWeaponAnimation == PLAYER_MWA_BACKSLASH_RIGHT ||
|
||||||
|
|
|
@ -606,7 +606,7 @@ s32 EnSkj_CollisionCheck(EnSkj* this, PlayState* play) {
|
||||||
|
|
||||||
if (!((this->unk_2D3 == 0) || (D_80B01EA0 != 0) || !(this->collider.base.acFlags & AC_HIT))) {
|
if (!((this->unk_2D3 == 0) || (D_80B01EA0 != 0) || !(this->collider.base.acFlags & AC_HIT))) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
switch (this->actor.colChkInfo.damageEffect) {
|
switch (this->actor.colChkInfo.damageReaction) {
|
||||||
case 0xF:
|
case 0xF:
|
||||||
effectPos.x = this->collider.elem.acDmgInfo.hitPos.x;
|
effectPos.x = this->collider.elem.acDmgInfo.hitPos.x;
|
||||||
effectPos.y = this->collider.elem.acDmgInfo.hitPos.y;
|
effectPos.y = this->collider.elem.acDmgInfo.hitPos.y;
|
||||||
|
|
|
@ -461,7 +461,7 @@ s32 EnSt_CheckHitBackside(EnSt* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
|
|
||||||
this->invulnerableTimer = 8;
|
this->invulnerableTimer = 8;
|
||||||
if (this->actor.colChkInfo.damageEffect == 1) {
|
if (this->actor.colChkInfo.damageReaction == 1) {
|
||||||
if (this->stunTimer == 0) {
|
if (this->stunTimer == 0) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_GOMA_JR_FREEZE);
|
||||||
this->stunTimer = 120;
|
this->stunTimer = 120;
|
||||||
|
|
|
@ -1678,9 +1678,9 @@ void EnTest_UpdateDamage(EnTest* this, PlayState* play) {
|
||||||
} else if (this->bodyCollider.base.acFlags & AC_HIT) {
|
} else if (this->bodyCollider.base.acFlags & AC_HIT) {
|
||||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect != STALFOS_DMGEFF_SLING) &&
|
if ((this->actor.colChkInfo.damageReaction != STALFOS_DMGEFF_SLING) &&
|
||||||
(this->actor.colChkInfo.damageEffect != STALFOS_DMGEFF_FIREMAGIC)) {
|
(this->actor.colChkInfo.damageReaction != STALFOS_DMGEFF_FIREMAGIC)) {
|
||||||
this->lastDamageEffect = this->actor.colChkInfo.damageEffect;
|
this->lastDamageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
if (this->swordState >= 1) {
|
if (this->swordState >= 1) {
|
||||||
this->swordState = 0;
|
this->swordState = 0;
|
||||||
}
|
}
|
||||||
|
@ -1689,9 +1689,9 @@ void EnTest_UpdateDamage(EnTest* this, PlayState* play) {
|
||||||
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false);
|
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false);
|
||||||
Audio_StopSfxByPosAndId(&this->actor.projectedPos, NA_SE_EN_STAL_WARAU);
|
Audio_StopSfxByPosAndId(&this->actor.projectedPos, NA_SE_EN_STAL_WARAU);
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect == STALFOS_DMGEFF_STUN) ||
|
if ((this->actor.colChkInfo.damageReaction == STALFOS_DMGEFF_STUN) ||
|
||||||
(this->actor.colChkInfo.damageEffect == STALFOS_DMGEFF_FREEZE) ||
|
(this->actor.colChkInfo.damageReaction == STALFOS_DMGEFF_FREEZE) ||
|
||||||
(this->actor.colChkInfo.damageEffect == STALFOS_DMGEFF_LIGHT)) {
|
(this->actor.colChkInfo.damageReaction == STALFOS_DMGEFF_LIGHT)) {
|
||||||
if (this->unk_7C8 != 0xB) {
|
if (this->unk_7C8 != 0xB) {
|
||||||
Actor_ApplyDamage(&this->actor);
|
Actor_ApplyDamage(&this->actor);
|
||||||
EnTest_SetupStunned(this);
|
EnTest_SetupStunned(this);
|
||||||
|
@ -1723,7 +1723,7 @@ void EnTest_Update(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
EnTest_UpdateDamage(this, play);
|
EnTest_UpdateDamage(this, play);
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect != STALFOS_DMGEFF_FIREMAGIC) {
|
if (this->actor.colChkInfo.damageReaction != STALFOS_DMGEFF_FIREMAGIC) {
|
||||||
Actor_MoveXZGravity(&this->actor);
|
Actor_MoveXZGravity(&this->actor);
|
||||||
Actor_UpdateBgCheckInfo(play, &this->actor, 75.0f, 30.0f, 30.0f,
|
Actor_UpdateBgCheckInfo(play, &this->actor, 75.0f, 30.0f, 30.0f,
|
||||||
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
|
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
|
||||||
|
|
|
@ -865,11 +865,11 @@ void EnTite_CheckDamage(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
if ((this->collider.base.acFlags & AC_HIT) && (this->action >= TEKTITE_IDLE)) {
|
if ((this->collider.base.acFlags & AC_HIT) && (this->action >= TEKTITE_IDLE)) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
if (thisx->colChkInfo.damageEffect != 0xE) { // Immune to fire magic
|
if (thisx->colChkInfo.damageReaction != 0xE) { // Immune to fire magic
|
||||||
this->damageEffect = thisx->colChkInfo.damageEffect;
|
this->damageEffect = thisx->colChkInfo.damageReaction;
|
||||||
Actor_SetDropFlag(thisx, &this->collider.elements[0].base, false);
|
Actor_SetDropFlag(thisx, &this->collider.elements[0].base, false);
|
||||||
// Stun if Tektite hit by nut, boomerang, hookshot, ice arrow or ice magic
|
// Stun if Tektite hit by nut, boomerang, hookshot, ice arrow or ice magic
|
||||||
if ((thisx->colChkInfo.damageEffect == 1) || (thisx->colChkInfo.damageEffect == 0xF)) {
|
if ((thisx->colChkInfo.damageReaction == 1) || (thisx->colChkInfo.damageReaction == 0xF)) {
|
||||||
if (this->action != TEKTITE_STUNNED) {
|
if (this->action != TEKTITE_STUNNED) {
|
||||||
Actor_SetColorFilter(thisx, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(thisx, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
Actor_ApplyDamage(thisx);
|
Actor_ApplyDamage(thisx);
|
||||||
|
@ -915,7 +915,7 @@ void EnTite_Update(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
EnTite_CheckDamage(thisx, play);
|
EnTite_CheckDamage(thisx, play);
|
||||||
// Stay still if hit by immunity damage type this frame
|
// Stay still if hit by immunity damage type this frame
|
||||||
if (thisx->colChkInfo.damageEffect != 0xE) {
|
if (thisx->colChkInfo.damageReaction != 0xE) {
|
||||||
this->actionFunc(this, play);
|
this->actionFunc(this, play);
|
||||||
Actor_MoveXZGravity(thisx);
|
Actor_MoveXZGravity(thisx);
|
||||||
Actor_UpdateBgCheckInfo(play, thisx, 25.0f, 40.0f, 20.0f, this->unk_2DC);
|
Actor_UpdateBgCheckInfo(play, thisx, 25.0f, 40.0f, 20.0f, this->unk_2DC);
|
||||||
|
|
|
@ -612,7 +612,7 @@ void EnTorch2_Update(Actor* thisx, PlayState* play2) {
|
||||||
this->stateFlags3 &= ~PLAYER_STATE3_2;
|
this->stateFlags3 &= ~PLAYER_STATE3_2;
|
||||||
} else {
|
} else {
|
||||||
func_800F5ACC(NA_BGM_MINI_BOSS);
|
func_800F5ACC(NA_BGM_MINI_BOSS);
|
||||||
if (this->actor.colChkInfo.damageEffect == 1) {
|
if (this->actor.colChkInfo.damageReaction == 1) {
|
||||||
if (sAlpha == 255) {
|
if (sAlpha == 255) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -604,10 +604,10 @@ void EnTp_UpdateDamage(EnTp* this, PlayState* play) {
|
||||||
|
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlagJntSph(&this->actor, &this->collider, true);
|
Actor_SetDropFlagJntSph(&this->actor, &this->collider, true);
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect != TAILPASARAN_DMGEFF_NONE) {
|
if (this->actor.colChkInfo.damageReaction != TAILPASARAN_DMGEFF_NONE) {
|
||||||
if (this->actor.colChkInfo.damageEffect == TAILPASARAN_DMGEFF_DEKUNUT) {
|
if (this->actor.colChkInfo.damageReaction == TAILPASARAN_DMGEFF_DEKUNUT) {
|
||||||
phi_s4 = 1;
|
phi_s4 = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -622,7 +622,7 @@ void EnTp_UpdateDamage(EnTp* this, PlayState* play) {
|
||||||
|
|
||||||
if (head->actor.params <= TAILPASARAN_HEAD) {
|
if (head->actor.params <= TAILPASARAN_HEAD) {
|
||||||
EnTp_SetupDie(head);
|
EnTp_SetupDie(head);
|
||||||
head->damageEffect = this->actor.colChkInfo.damageEffect;
|
head->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
head->actor.params = TAILPASARAN_HEAD_DYING;
|
head->actor.params = TAILPASARAN_HEAD_DYING;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -512,21 +512,21 @@ void EnVali_UpdateDamage(EnVali* this, PlayState* play) {
|
||||||
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
this->bodyCollider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, true);
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect != BARI_DMGEFF_NONE) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != BARI_DMGEFF_NONE) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_BARI_DEAD);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_BARI_DEAD);
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
this->actor.flags &= ~ACTOR_FLAG_ATTENTION_ENABLED;
|
||||||
} else if ((this->actor.colChkInfo.damageEffect != BARI_DMGEFF_STUN) &&
|
} else if ((this->actor.colChkInfo.damageReaction != BARI_DMGEFF_STUN) &&
|
||||||
(this->actor.colChkInfo.damageEffect != BARI_DMGEFF_SLINGSHOT)) {
|
(this->actor.colChkInfo.damageReaction != BARI_DMGEFF_SLINGSHOT)) {
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_BARI_DAMAGE);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_BARI_DAMAGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_STUN) {
|
if (this->actor.colChkInfo.damageReaction == BARI_DMGEFF_STUN) {
|
||||||
if (this->actionFunc != EnVali_Stunned) {
|
if (this->actionFunc != EnVali_Stunned) {
|
||||||
EnVali_SetupStunned(this);
|
EnVali_SetupStunned(this);
|
||||||
}
|
}
|
||||||
} else if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_SWORD) {
|
} else if (this->actor.colChkInfo.damageReaction == BARI_DMGEFF_SWORD) {
|
||||||
if (this->actionFunc != EnVali_Stunned) {
|
if (this->actionFunc != EnVali_Stunned) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 150, COLORFILTER_BUFFLAG_XLU, 30);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 150, COLORFILTER_BUFFLAG_XLU, 30);
|
||||||
this->actor.params = BARI_TYPE_SWORD_DAMAGE;
|
this->actor.params = BARI_TYPE_SWORD_DAMAGE;
|
||||||
|
@ -534,11 +534,11 @@ void EnVali_UpdateDamage(EnVali* this, PlayState* play) {
|
||||||
} else {
|
} else {
|
||||||
EnVali_SetupRetaliate(this);
|
EnVali_SetupRetaliate(this);
|
||||||
}
|
}
|
||||||
} else if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_FIRE) {
|
} else if (this->actor.colChkInfo.damageReaction == BARI_DMGEFF_FIRE) {
|
||||||
EnVali_SetupBurnt(this);
|
EnVali_SetupBurnt(this);
|
||||||
} else if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_ICE) {
|
} else if (this->actor.colChkInfo.damageReaction == BARI_DMGEFF_ICE) {
|
||||||
EnVali_SetupFrozen(this);
|
EnVali_SetupFrozen(this);
|
||||||
} else if (this->actor.colChkInfo.damageEffect == BARI_DMGEFF_SLINGSHOT) {
|
} else if (this->actor.colChkInfo.damageReaction == BARI_DMGEFF_SLINGSHOT) {
|
||||||
if (this->slingshotReactionTimer == 0) {
|
if (this->slingshotReactionTimer == 0) {
|
||||||
this->slingshotReactionTimer = 20;
|
this->slingshotReactionTimer = 20;
|
||||||
}
|
}
|
||||||
|
|
|
@ -292,7 +292,7 @@ void EnWallmas_SetupStun(EnWallmas* this) {
|
||||||
Animation_Change(&this->skelAnime, &gWallmasterJumpAnim, 1.5f, 0, 20.0f, ANIMMODE_ONCE, -3.0f);
|
Animation_Change(&this->skelAnime, &gWallmasterJumpAnim, 1.5f, 0, 20.0f, ANIMMODE_ONCE, -3.0f);
|
||||||
|
|
||||||
this->actor.speed = 0.0f;
|
this->actor.speed = 0.0f;
|
||||||
if (this->actor.colChkInfo.damageEffect == 4) {
|
if (this->actor.colChkInfo.damageReaction == 4) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_GRAY, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_GRAY, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
} else {
|
} else {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
|
@ -522,7 +522,7 @@ void EnWallmas_ColUpdate(EnWallmas* this, PlayState* play) {
|
||||||
if (this->collider.base.acFlags & AC_HIT) {
|
if (this->collider.base.acFlags & AC_HIT) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (Actor_ApplyDamage(&this->actor) == 0) {
|
if (Actor_ApplyDamage(&this->actor) == 0) {
|
||||||
Enemy_StartFinishingBlow(play, &this->actor);
|
Enemy_StartFinishingBlow(play, &this->actor);
|
||||||
Actor_PlaySfx(&this->actor, NA_SE_EN_FALL_DEAD);
|
Actor_PlaySfx(&this->actor, NA_SE_EN_FALL_DEAD);
|
||||||
|
@ -533,13 +533,13 @@ void EnWallmas_ColUpdate(EnWallmas* this, PlayState* play) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect == DAMAGE_EFFECT_STUN_WHITE) ||
|
if ((this->actor.colChkInfo.damageReaction == DAMAGE_EFFECT_STUN_WHITE) ||
|
||||||
(this->actor.colChkInfo.damageEffect == DAMAGE_EFFECT_STUN_BLUE)) {
|
(this->actor.colChkInfo.damageReaction == DAMAGE_EFFECT_STUN_BLUE)) {
|
||||||
if (this->actionFunc != EnWallmas_Stun) {
|
if (this->actionFunc != EnWallmas_Stun) {
|
||||||
EnWallmas_SetupStun(this);
|
EnWallmas_SetupStun(this);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this->actor.colChkInfo.damageEffect == DAMAGE_EFFECT_BURN) {
|
if (this->actor.colChkInfo.damageReaction == DAMAGE_EFFECT_BURN) {
|
||||||
EffectSsFCircle_Spawn(play, &this->actor, &this->actor.world.pos, 40, 40);
|
EffectSsFCircle_Spawn(play, &this->actor, &this->actor.world.pos, 40, 40);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -575,8 +575,8 @@ void func_80B3368C(EnWeiyer* this, PlayState* play) {
|
||||||
this->collider.base.acFlags &= ~AC_HIT;
|
this->collider.base.acFlags &= ~AC_HIT;
|
||||||
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->collider.elem, true);
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect != 0) || (this->actor.colChkInfo.damage != 0)) {
|
if ((this->actor.colChkInfo.damageReaction != 0) || (this->actor.colChkInfo.damage != 0)) {
|
||||||
if (this->actor.colChkInfo.damageEffect == 1) {
|
if (this->actor.colChkInfo.damageReaction == 1) {
|
||||||
if (this->actionFunc != func_80B333B8) {
|
if (this->actionFunc != func_80B333B8) {
|
||||||
func_80B32660(this);
|
func_80B32660(this);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1283,15 +1283,15 @@ void EnWf_UpdateDamage(EnWf* this, PlayState* play) {
|
||||||
this->bodyColliderCylinder.base.acFlags &= ~AC_HIT;
|
this->bodyColliderCylinder.base.acFlags &= ~AC_HIT;
|
||||||
this->tailColliderCylinder.base.acFlags &= ~AC_HIT;
|
this->tailColliderCylinder.base.acFlags &= ~AC_HIT;
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect != ENWF_DMGEFF_ICE_MAGIC) {
|
if (this->actor.colChkInfo.damageReaction != ENWF_DMGEFF_ICE_MAGIC) {
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
Actor_SetDropFlag(&this->actor, &this->bodyColliderCylinder.elem, true);
|
Actor_SetDropFlag(&this->actor, &this->bodyColliderCylinder.elem, true);
|
||||||
#if OOT_VERSION >= PAL_1_0
|
#if OOT_VERSION >= PAL_1_0
|
||||||
this->slashStatus = 0;
|
this->slashStatus = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect == ENWF_DMGEFF_STUN) ||
|
if ((this->actor.colChkInfo.damageReaction == ENWF_DMGEFF_STUN) ||
|
||||||
(this->actor.colChkInfo.damageEffect == ENWF_DMGEFF_UNDEF)) {
|
(this->actor.colChkInfo.damageReaction == ENWF_DMGEFF_UNDEF)) {
|
||||||
if (this->action != WOLFOS_ACTION_STUNNED) {
|
if (this->action != WOLFOS_ACTION_STUNNED) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA,
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA,
|
||||||
80);
|
80);
|
||||||
|
@ -1323,7 +1323,7 @@ void EnWf_Update(Actor* thisx, PlayState* play) {
|
||||||
|
|
||||||
EnWf_UpdateDamage(this, play);
|
EnWf_UpdateDamage(this, play);
|
||||||
|
|
||||||
if (this->actor.colChkInfo.damageEffect != ENWF_DMGEFF_ICE_MAGIC) {
|
if (this->actor.colChkInfo.damageReaction != ENWF_DMGEFF_ICE_MAGIC) {
|
||||||
Actor_MoveXZGravity(&this->actor);
|
Actor_MoveXZGravity(&this->actor);
|
||||||
Actor_UpdateBgCheckInfo(play, &this->actor, 32.0f, 30.0f, 60.0f,
|
Actor_UpdateBgCheckInfo(play, &this->actor, 32.0f, 30.0f, 60.0f,
|
||||||
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
|
UPDBGCHECKINFO_FLAG_0 | UPDBGCHECKINFO_FLAG_2 | UPDBGCHECKINFO_FLAG_3 |
|
||||||
|
|
|
@ -2028,12 +2028,12 @@ void EnZf_UpdateDamage(EnZf* this, PlayState* play) {
|
||||||
|
|
||||||
if (((this->actor.params < ENZF_TYPE_LIZALFOS_MINIBOSS_A) /* not miniboss */ ||
|
if (((this->actor.params < ENZF_TYPE_LIZALFOS_MINIBOSS_A) /* not miniboss */ ||
|
||||||
(D_80B4A1B4 != this->actor.params)) &&
|
(D_80B4A1B4 != this->actor.params)) &&
|
||||||
(this->actor.colChkInfo.damageEffect != ENZF_DMGEFF_IMMUNE)) {
|
(this->actor.colChkInfo.damageReaction != ENZF_DMGEFF_IMMUNE)) {
|
||||||
this->damageEffect = this->actor.colChkInfo.damageEffect;
|
this->damageEffect = this->actor.colChkInfo.damageReaction;
|
||||||
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false);
|
Actor_SetDropFlag(&this->actor, &this->bodyCollider.elem, false);
|
||||||
|
|
||||||
if ((this->actor.colChkInfo.damageEffect == ENZF_DMGEFF_STUN) ||
|
if ((this->actor.colChkInfo.damageReaction == ENZF_DMGEFF_STUN) ||
|
||||||
(this->actor.colChkInfo.damageEffect == ENZF_DMGEFF_ICE)) {
|
(this->actor.colChkInfo.damageReaction == ENZF_DMGEFF_ICE)) {
|
||||||
if (this->action != ENZF_ACTION_STUNNED) {
|
if (this->action != ENZF_ACTION_STUNNED) {
|
||||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 80);
|
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_BLUE, 120, COLORFILTER_BUFFLAG_OPA, 80);
|
||||||
Actor_ApplyDamage(&this->actor);
|
Actor_ApplyDamage(&this->actor);
|
||||||
|
@ -2072,7 +2072,7 @@ void EnZf_Update(Actor* thisx, PlayState* play) {
|
||||||
s32 pad2;
|
s32 pad2;
|
||||||
|
|
||||||
EnZf_UpdateDamage(this, play);
|
EnZf_UpdateDamage(this, play);
|
||||||
if (this->actor.colChkInfo.damageEffect != ENZF_DMGEFF_IMMUNE) {
|
if (this->actor.colChkInfo.damageReaction != ENZF_DMGEFF_IMMUNE) {
|
||||||
this->unk_3F8 = false;
|
this->unk_3F8 = false;
|
||||||
if ((this->hopAnimIndex != 1) && (this->action != ENZF_ACTION_HOP_AWAY)) {
|
if ((this->hopAnimIndex != 1) && (this->action != ENZF_ACTION_HOP_AWAY)) {
|
||||||
if (this->actor.speed != 0.0f) {
|
if (this->actor.speed != 0.0f) {
|
||||||
|
|
Loading…
Reference in New Issue