Skip to content

Commit ae7ceeb

Browse files
committed
Do not allow bombs to be used as trigger objects.
1 parent 5e4e6b8 commit ae7ceeb

File tree

3 files changed

+7
-1
lines changed

3 files changed

+7
-1
lines changed

src/bomb.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class Bomb : public PhysicsObject
1313

1414
virtual void setProperty(sp::string name, sp::string value) override;
1515

16+
virtual bool isTriggerSource() override { return false; }
1617
private:
1718
double velocity_average = 0.0;
1819
enum class State

src/physicsObject.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ class PhysicsObject : public LevelObject
1313
virtual void setProperty(sp::string name, sp::string value) override;
1414

1515
bool isGoal() { return is_goal; }
16+
17+
virtual bool isTriggerSource() { return true; }
1618
private:
1719
bool is_goal = false;
1820
};

src/trigger.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,11 @@ void Trigger::onFixedUpdate()
2828
else if (source == "OBJECT")
2929
{
3030
for(auto obj : getParent()->getChildren())
31-
if (sp::P<PhysicsObject>(sp::P<sp::Node>(obj)))
31+
{
32+
sp::P<PhysicsObject> po = sp::P<sp::Node>(obj);
33+
if (po && po->isTriggerSource())
3234
source_objects.add(obj);
35+
}
3336
}
3437
else
3538
{

0 commit comments

Comments
 (0)