summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bossBombDrop.cpp8
-rw-r--r--src/bossBridgeBowser.cpp1
2 files changed, 5 insertions, 4 deletions
diff --git a/src/bossBombDrop.cpp b/src/bossBombDrop.cpp
index f617cdf..67564aa 100644
--- a/src/bossBombDrop.cpp
+++ b/src/bossBombDrop.cpp
@@ -153,6 +153,7 @@ int dDroppedBomb::onExecute() {
int ret = this->outOfZone(this->pos, (float*)&rect, this->currentZoneID);
if(ret) {
this->Delete(1);
+ dFlagMgr_c::instance->set(settings & 0xFF, 0, true, false, false);
}
speed.y = speed.y - 0.01875;
@@ -166,6 +167,7 @@ int dDroppedBomb::onExecute() {
if (collMgr.isOnTopOfTile() || (collMgr.outputMaybe & (0x15 << direction))) {
this->kill();
+ dFlagMgr_c::instance->set(settings & 0xFF, 0, true, false, false);
}
return true;
@@ -234,18 +236,16 @@ int dBombDrop::onExecute() {
bool active;
active = dFlagMgr_c::instance->active(eventA);
if (active) {
- create(WM_SMALLCLOUD, 0, &pos , &rot, 0);
+ create(WM_SMALLCLOUD, eventA+1, &pos , &rot, 0);
HackyBombDropVariable = true;
dFlagMgr_c::instance->set(eventA, 0, false, false, false);
- dFlagMgr_c::instance->set(eventA+1, 0, true, false, false);
}
active = dFlagMgr_c::instance->active(eventB);
if (active) {
- create(WM_SMALLCLOUD, 0, &pos, &rot, 0);
+ create(WM_SMALLCLOUD, eventB+1, &pos, &rot, 0);
HackyBombDropVariable = true;
dFlagMgr_c::instance->set(eventB, 0, false, false, false);
- dFlagMgr_c::instance->set(eventB+1, 0, true, false, false);
}
return true;
diff --git a/src/bossBridgeBowser.cpp b/src/bossBridgeBowser.cpp
index 0abcf21..202fbe1 100644
--- a/src/bossBridgeBowser.cpp
+++ b/src/bossBridgeBowser.cpp
@@ -69,6 +69,7 @@ void BowserDoomSpriteCollision(dEn_c *bowser, ActivePhysics *apThis, ActivePhysi
lastBomb = apOther->owner->id;
dEn_c * bomb = (dEn_c*)apOther->owner;
+ dFlagMgr_c::instance->set(bomb->settings & 0xFF, 0, true, false, false);
bomb->kill();
}