summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bossMegaGoomba.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/bossMegaGoomba.cpp b/src/bossMegaGoomba.cpp
index c2ef1c7..f2f66be 100644
--- a/src/bossMegaGoomba.cpp
+++ b/src/bossMegaGoomba.cpp
@@ -137,7 +137,8 @@ void setNewActivePhysicsRect(daMegaGoomba_c *actor, Vec *scale) {
actor->adjacentSensor.lineB = s32((amtY * 32.0f) * 4096.0f);
actor->adjacentSensor.distanceFromCenter = s32((amtX * 46.0f) * 4096.0f);
- u8 cat1 = 3, cat2 = 0, bitfield1 = 0x6f, bitfield2 = 0xffbafffe;
+ u8 cat1 = 3, cat2 = 0;
+ u32 bitfield1 = 0x6f, bitfield2 = 0xffbafffe;
ActivePhysics::Info info = {
0.0f, amtY*57.0f, amtX*20.0f, amtY*31.0f,
@@ -269,15 +270,18 @@ void daMegaGoomba_c::playerCollision(ActivePhysics *apThis, ActivePhysics *apOth
} else if(ret == 0) {
this->dEn_c::playerCollision(apThis, apOther);
this->_vf220(apOther->owner);
+ this->counter_504[apOther->owner->which_player] = 180;
} else if(ret == 2) {
} else {
}
}
void daMegaGoomba_c::collisionCat7_GroundPound(ActivePhysics *apThis, ActivePhysics *apOther) {
+ if (this->counter_504[apOther->owner->which_player] > 0) { return; }
VEC2 eSpeed = {speed.x, speed.y};
killWithSpecifiedState(apOther->owner, &eSpeed, &dEn_c::StateID_DieOther);
}
void daMegaGoomba_c::collisionCat7_GroundPoundYoshi(ActivePhysics *apThis, ActivePhysics *apOther) {
+ if (this->counter_504[apOther->owner->which_player] > 0) { return; }
VEC2 eSpeed = {speed.x, speed.y};
killWithSpecifiedState(apOther->owner, &eSpeed, &dEn_c::StateID_DieOther);
}