diff options
Diffstat (limited to '')
-rw-r--r-- | src/bossMegaGoomba.cpp | 6 |
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); } |