You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
#ifndef OPENMW_MECHANICS_COMBAT_H
|
|
|
|
#define OPENMW_MECHANICS_COMBAT_H
|
|
|
|
|
|
|
|
#include "../mwworld/ptr.hpp"
|
|
|
|
#include <OgreVector3.h>
|
|
|
|
|
|
|
|
namespace MWMechanics
|
|
|
|
{
|
|
|
|
|
|
|
|
/// @return can we block the attack?
|
|
|
|
bool blockMeleeAttack (const MWWorld::Ptr& attacker, const MWWorld::Ptr& blocker, const MWWorld::Ptr& weapon, float damage);
|
|
|
|
|
|
|
|
void resistNormalWeapon (const MWWorld::Ptr& actor, const MWWorld::Ptr& attacker, const MWWorld::Ptr& weapon, float& damage);
|
|
|
|
|
|
|
|
/// @note for a thrown weapon, \a weapon == \a projectile, for bows/crossbows, \a projectile is the arrow/bolt
|
|
|
|
void projectileHit (const MWWorld::Ptr& attacker, const MWWorld::Ptr& victim, MWWorld::Ptr weapon, const MWWorld::Ptr& projectile,
|
|
|
|
const Ogre::Vector3& hitPosition);
|
|
|
|
|
|
|
|
/// Get the chance (in percent) for \a attacker to successfully hit \a victim with a given weapon skill value
|
|
|
|
float getHitChance (const MWWorld::Ptr& attacker, const MWWorld::Ptr& victim, int skillValue);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
#endif
|