AT FLAGS & sfxs

This commit is contained in:
Alejandro Javier Asenjo Nitti
2023-11-02 15:53:48 -03:00
parent 80a388d051
commit 4bd47ea1bb
+19 -17
View File
@@ -709,18 +709,19 @@ void func_80A7A2EC(EnJso2* this, PlayState* play) {
void func_80A7A360(EnJso2* this, PlayState* play) {
s32 var_a3 = false;
if ((this->unk284 != 0xB) && (this->unk284 != 0xC) && (this->unk284 != 0xD) && (this->unk284 != 0xE) && this->unkEF4.base.acFlags & 2) {
this->unkEF4.base.acFlags &= 0xFFFD;
if ((this->unk284 != 0xB) && (this->unk284 != 0xC) && (this->unk284 != 0xD) && (this->unk284 != 0xE) &&
this->unkEF4.base.acFlags & AT_HIT) {
this->unkEF4.base.acFlags &= ~(AT_HIT);
if ((this->actor.colChkInfo.damageEffect == 1) || (this->actor.colChkInfo.damageEffect == 5)) {
this->actor.world.rot.x = this->actor.shape.rot.x = 0;
if (((this->unk2A2 != 0xB) && (this->unk2A2 != 0xA)) || (this->unk2A0 == 0)) {
Actor_PlaySfx(&this->actor, 0x389E);
Actor_PlaySfx(&this->actor, NA_SE_EN_COMMON_FREEZE);
if (this->actor.colChkInfo.damageEffect == 5) {
this->unk2A0 = 0x28;
this->unk2A2 = 0x20;
this->unk2A0 = 40;
this->unk2A2 = 32;
}
Actor_SetColorFilter(&this->actor, 0, 0xFF, 0, 0x28);
Actor_SetColorFilter(&this->actor, 0, 255, 0, 40);
func_80A79524(this);
}
} else {
@@ -735,24 +736,25 @@ void func_80A7A360(EnJso2* this, PlayState* play) {
case 9:
case 10:
switch (this->actor.colChkInfo.damageEffect) {
case 15:
case 15:
var_a3 = true;
break;
case 2:
this->unk2A0 = 0x28;
this->unk2A0 = 40;
this->unk2A2 = 0;
var_a3 = true;
break;
case 4:
if (((this->unk2A2 != 0xB) && (this->unk2A2 != 0xA)) || (this->unk2A0 == 0)) {
Actor_Spawn(&play->actorCtx, play, 0xA2, this->actor.focus.pos.x, this->actor.focus.pos.y, this->actor.focus.pos.z, 0, 0, 0, 4);
this->unk2A0 = 0x14;
this->unk2A2 = 0x14;
Actor_Spawn(&play->actorCtx, play, ACTOR_EN_CLEAR_TAG, this->actor.focus.pos.x,
this->actor.focus.pos.y, this->actor.focus.pos.z, 0, 0, 0, 4);
this->unk2A0 = 20;
this->unk2A2 = 20;
var_a3 = true;
}
break;
case 3:
if (((this->unk2A2 != 0xB) && (this->unk2A2 != 0xA)) || (this->unk2A0 == 0)) {
Actor_ApplyDamage(&this->actor);
@@ -761,21 +763,21 @@ void func_80A7A360(EnJso2* this, PlayState* play) {
this->unk2A4 = 0.0f;
this->unk2A8 = 1.5f;
}
if (this->actor.colChkInfo.health <= 0) {
func_80A7998C(this, play);
} else {
func_80A79524(this);
}
break;
default:
break;
}
default:
break;
}
if (var_a3) {
Actor_ApplyDamage(&this->actor);
if (this->actor.colChkInfo.health > 0) {