mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-02-05 06:40:09 +00:00
35 lines
917 B
C++
35 lines
917 B
C++
#include "actionapply.hpp"
|
|
|
|
#include "class.hpp"
|
|
|
|
#include "../mwmechanics/actorutil.hpp"
|
|
|
|
namespace MWWorld
|
|
{
|
|
ActionApply::ActionApply(const Ptr& object, const std::string& id)
|
|
: Action(false, object)
|
|
, mId(id)
|
|
{
|
|
}
|
|
|
|
void ActionApply::executeImp(const Ptr& actor)
|
|
{
|
|
actor.getClass().consume(getTarget(), actor);
|
|
}
|
|
|
|
ActionApplyWithSkill::ActionApplyWithSkill(const Ptr& object, const std::string& id, int skillIndex, int usageType)
|
|
: Action(false, object)
|
|
, mId(id)
|
|
, mSkillIndex(skillIndex)
|
|
, mUsageType(usageType)
|
|
{
|
|
}
|
|
|
|
void ActionApplyWithSkill::executeImp(const Ptr& actor)
|
|
{
|
|
bool consumed = actor.getClass().consume(getTarget(), actor);
|
|
if (consumed && mUsageType != -1 && actor == MWMechanics::getPlayer())
|
|
actor.getClass().skillUsageSucceeded(actor, mSkillIndex, mUsageType);
|
|
}
|
|
}
|