summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bossRamboo.cpp11
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;