mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-04 02:41:19 +00:00
remove dynamic_cast to ActionPotion
This commit is contained in:
parent
48765f2ff2
commit
229cb4b386
@ -229,8 +229,7 @@ namespace MWMechanics
|
||||
osg::Vec3f vAimDir = MWBase::Environment::get().getWorld()->aimToTarget(actor, target);
|
||||
float distToTarget = MWBase::Environment::get().getWorld()->getHitDistance(actor, target);
|
||||
|
||||
bool isPotion = (dynamic_cast<ActionPotion*>(currentAction.get()) != NULL);
|
||||
storage.mReadyToAttack = (!isPotion && distToTarget <= rangeAttack);
|
||||
storage.mReadyToAttack = (currentAction->isAttackingOrSpell() && distToTarget <= rangeAttack);
|
||||
|
||||
// can't fight if attacker can't go where target is. E.g. A fish can't attack person on land.
|
||||
if (distToTarget > rangeAttack
|
||||
|
@ -19,6 +19,7 @@ namespace MWMechanics
|
||||
virtual float getCombatRange (bool& isRanged) const = 0;
|
||||
virtual float getActionCooldown() { return 0.f; }
|
||||
virtual const ESM::Weapon* getWeapon() const { return NULL; };
|
||||
virtual bool isAttackingOrSpell() const { return true; }
|
||||
};
|
||||
|
||||
class ActionSpell : public Action
|
||||
@ -53,6 +54,7 @@ namespace MWMechanics
|
||||
/// Drinks the given potion.
|
||||
virtual void prepare(const MWWorld::Ptr& actor);
|
||||
virtual float getCombatRange (bool& isRanged) const;
|
||||
virtual bool isAttackingOrSpell() const { return false; }
|
||||
|
||||
/// Since this action has no animation, apply a small cool down for using it
|
||||
virtual float getActionCooldown() { return 1.f; }
|
||||
|
Loading…
Reference in New Issue
Block a user