diff options
Diffstat (limited to 'src/bossRamboo.cpp')
-rw-r--r-- | src/bossRamboo.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/bossRamboo.cpp b/src/bossRamboo.cpp index 0e04bfe..3bc19d7 100644 --- a/src/bossRamboo.cpp +++ b/src/bossRamboo.cpp @@ -88,6 +88,11 @@ bool daRamboo_c::collisionCat2_IceBall_15_YoshiIce(ActivePhysics *apThis, Active bool daRamboo_c::collisionCat9_RollingObject(ActivePhysics *apThis, ActivePhysics *apOther) { if (apOther->owner->name == 412) { // Check if it's a glow block + dEn_c *blah = (dEn_c*)apOther->owner; + if (blah->_12C & 3 || strcmp(blah->acState.getCurrentState()->getName(), "daLightBlock_c::StateID_Throw")) { + return true; + } + SpawnEffect("Wm_en_obakedoor_sm", 0, &apOther->owner->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); SpawnEffect("Wm_mr_yoshistep", 0, &apOther->owner->pos, &(S16Vec){0,0,0}, &(Vec){1.0, 1.0, 1.0}); @@ -470,6 +475,7 @@ void daRamboo_c::endState_Flee() { void daRamboo_c::beginState_Outro() { bindAnimChr_and_setUpdateRates("DEATH", anmB, hideModel, 1.0f); + Hiding = true; this->timer = 0; this->rot.x = 0x0; // X is vertical axis @@ -497,11 +503,10 @@ void daRamboo_c::executeState_Outro() { } bool ret; - Vec tempPos = (Vec){this->pos.x + 160.0, this->pos.y - 80.0, 5500.0}; + Vec tempPos = (Vec){this->pos.x + 160.0, this->pos.y + 80.0, 5500.0}; ret = ShrinkBoss(this, &tempPos, 0.0, this->timer); - pos.y -= 2.0; - if (timer > 80) { + if (timer >= 118) { BossExplode(this, &tempPos); this->dying = 1; this->timer = 0; |