添加壁垒逻辑
This commit is contained in:
parent
58b2c78184
commit
8dc0473d4d
@ -89,6 +89,7 @@ class Creature : public MoveableEntity
|
||||
virtual void RemoveOutObjects(Entity* entity) {};
|
||||
virtual bool Attackable(Room* room) override;
|
||||
virtual bool ReceiveExplosionDmg(Explosion* explosion) override;
|
||||
virtual bool IsCreature(Room* room) override { return true;};
|
||||
bool HasBuffEffect(int buff_effect_id);
|
||||
Buff* GetBuffByEffectId(int effect_id);
|
||||
Buff* GetBuffById(int buff_id);
|
||||
|
@ -30,6 +30,7 @@ class Entity
|
||||
virtual float GetHitRadius() { return GetRadius();};
|
||||
virtual void GetCircleBox(CircleCollider& circle_box);
|
||||
virtual bool IsDead(Room* room) { return false;};
|
||||
virtual bool IsCreature(Room* room) { return false;};
|
||||
virtual long long GetDeadFrameNo(Room* room) { return 0;};
|
||||
virtual void OnPreCollision(Room* room) {};
|
||||
virtual void RecalcSelfCollider() {};
|
||||
|
@ -116,7 +116,7 @@ void Explosion::InternalAttack()
|
||||
}
|
||||
);
|
||||
for (auto& target : objects) {
|
||||
if (target->HasBuffEffect(kBET_BulletThrough)) {
|
||||
if (target->IsCreature(room_) && ((Creature*)target)->HasBuffEffect(kBET_BulletThrough)) {
|
||||
continue;
|
||||
}
|
||||
target->OnExplosionHit(this);
|
||||
|
Loading…
x
Reference in New Issue
Block a user