mirror of
https://github.com/OpenMW/openmw.git
synced 2025-02-05 18:45:34 +00:00
Move getSummonedCreature() to summoning
This commit is contained in:
parent
4f75211e25
commit
5535a7fb44
5 changed files with 36 additions and 41 deletions
|
@ -1312,40 +1312,6 @@ namespace MWMechanics
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string getSummonedCreature(int effectId)
|
|
||||||
{
|
|
||||||
static const std::map<int, std::string> summonMap
|
|
||||||
{
|
|
||||||
{ESM::MagicEffect::SummonAncestralGhost, "sMagicAncestralGhostID"},
|
|
||||||
{ESM::MagicEffect::SummonBonelord, "sMagicBonelordID"},
|
|
||||||
{ESM::MagicEffect::SummonBonewalker, "sMagicLeastBonewalkerID"},
|
|
||||||
{ESM::MagicEffect::SummonCenturionSphere, "sMagicCenturionSphereID"},
|
|
||||||
{ESM::MagicEffect::SummonClannfear, "sMagicClannfearID"},
|
|
||||||
{ESM::MagicEffect::SummonDaedroth, "sMagicDaedrothID"},
|
|
||||||
{ESM::MagicEffect::SummonDremora, "sMagicDremoraID"},
|
|
||||||
{ESM::MagicEffect::SummonFabricant, "sMagicFabricantID"},
|
|
||||||
{ESM::MagicEffect::SummonFlameAtronach, "sMagicFlameAtronachID"},
|
|
||||||
{ESM::MagicEffect::SummonFrostAtronach, "sMagicFrostAtronachID"},
|
|
||||||
{ESM::MagicEffect::SummonGoldenSaint, "sMagicGoldenSaintID"},
|
|
||||||
{ESM::MagicEffect::SummonGreaterBonewalker, "sMagicGreaterBonewalkerID"},
|
|
||||||
{ESM::MagicEffect::SummonHunger, "sMagicHungerID"},
|
|
||||||
{ESM::MagicEffect::SummonScamp, "sMagicScampID"},
|
|
||||||
{ESM::MagicEffect::SummonSkeletalMinion, "sMagicSkeletalMinionID"},
|
|
||||||
{ESM::MagicEffect::SummonStormAtronach, "sMagicStormAtronachID"},
|
|
||||||
{ESM::MagicEffect::SummonWingedTwilight, "sMagicWingedTwilightID"},
|
|
||||||
{ESM::MagicEffect::SummonWolf, "sMagicCreature01ID"},
|
|
||||||
{ESM::MagicEffect::SummonBear, "sMagicCreature02ID"},
|
|
||||||
{ESM::MagicEffect::SummonBonewolf, "sMagicCreature03ID"},
|
|
||||||
{ESM::MagicEffect::SummonCreature04, "sMagicCreature04ID"},
|
|
||||||
{ESM::MagicEffect::SummonCreature05, "sMagicCreature05ID"}
|
|
||||||
};
|
|
||||||
|
|
||||||
auto it = summonMap.find(effectId);
|
|
||||||
if (it != summonMap.end())
|
|
||||||
return MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find(it->second)->mValue.getString();
|
|
||||||
return std::string();
|
|
||||||
}
|
|
||||||
|
|
||||||
void ApplyLoopingParticlesVisitor::visit (MWMechanics::EffectKey key,
|
void ApplyLoopingParticlesVisitor::visit (MWMechanics::EffectKey key,
|
||||||
const std::string& /*sourceName*/, const std::string& /*sourceId*/, int /*casterActorId*/,
|
const std::string& /*sourceName*/, const std::string& /*sourceId*/, int /*casterActorId*/,
|
||||||
float /*magnitude*/, float /*remainingTime*/, float /*totalTime*/)
|
float /*magnitude*/, float /*remainingTime*/, float /*totalTime*/)
|
||||||
|
|
|
@ -75,8 +75,6 @@ namespace MWMechanics
|
||||||
/// @return Was the effect a tickable effect with a magnitude?
|
/// @return Was the effect a tickable effect with a magnitude?
|
||||||
bool effectTick(CreatureStats& creatureStats, const MWWorld::Ptr& actor, const MWMechanics::EffectKey& effectKey, float magnitude);
|
bool effectTick(CreatureStats& creatureStats, const MWWorld::Ptr& actor, const MWMechanics::EffectKey& effectKey, float magnitude);
|
||||||
|
|
||||||
std::string getSummonedCreature(int effectId);
|
|
||||||
|
|
||||||
class CastSpell
|
class CastSpell
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -20,13 +20,42 @@
|
||||||
namespace MWMechanics
|
namespace MWMechanics
|
||||||
{
|
{
|
||||||
|
|
||||||
UpdateSummonedCreatures::UpdateSummonedCreatures(const MWWorld::Ptr &actor)
|
std::string getSummonedCreature(int effectId)
|
||||||
: mActor(actor)
|
|
||||||
{
|
{
|
||||||
|
static const std::map<int, std::string> summonMap
|
||||||
|
{
|
||||||
|
{ESM::MagicEffect::SummonAncestralGhost, "sMagicAncestralGhostID"},
|
||||||
|
{ESM::MagicEffect::SummonBonelord, "sMagicBonelordID"},
|
||||||
|
{ESM::MagicEffect::SummonBonewalker, "sMagicLeastBonewalkerID"},
|
||||||
|
{ESM::MagicEffect::SummonCenturionSphere, "sMagicCenturionSphereID"},
|
||||||
|
{ESM::MagicEffect::SummonClannfear, "sMagicClannfearID"},
|
||||||
|
{ESM::MagicEffect::SummonDaedroth, "sMagicDaedrothID"},
|
||||||
|
{ESM::MagicEffect::SummonDremora, "sMagicDremoraID"},
|
||||||
|
{ESM::MagicEffect::SummonFabricant, "sMagicFabricantID"},
|
||||||
|
{ESM::MagicEffect::SummonFlameAtronach, "sMagicFlameAtronachID"},
|
||||||
|
{ESM::MagicEffect::SummonFrostAtronach, "sMagicFrostAtronachID"},
|
||||||
|
{ESM::MagicEffect::SummonGoldenSaint, "sMagicGoldenSaintID"},
|
||||||
|
{ESM::MagicEffect::SummonGreaterBonewalker, "sMagicGreaterBonewalkerID"},
|
||||||
|
{ESM::MagicEffect::SummonHunger, "sMagicHungerID"},
|
||||||
|
{ESM::MagicEffect::SummonScamp, "sMagicScampID"},
|
||||||
|
{ESM::MagicEffect::SummonSkeletalMinion, "sMagicSkeletalMinionID"},
|
||||||
|
{ESM::MagicEffect::SummonStormAtronach, "sMagicStormAtronachID"},
|
||||||
|
{ESM::MagicEffect::SummonWingedTwilight, "sMagicWingedTwilightID"},
|
||||||
|
{ESM::MagicEffect::SummonWolf, "sMagicCreature01ID"},
|
||||||
|
{ESM::MagicEffect::SummonBear, "sMagicCreature02ID"},
|
||||||
|
{ESM::MagicEffect::SummonBonewolf, "sMagicCreature03ID"},
|
||||||
|
{ESM::MagicEffect::SummonCreature04, "sMagicCreature04ID"},
|
||||||
|
{ESM::MagicEffect::SummonCreature05, "sMagicCreature05ID"}
|
||||||
|
};
|
||||||
|
|
||||||
|
auto it = summonMap.find(effectId);
|
||||||
|
if (it != summonMap.end())
|
||||||
|
return MWBase::Environment::get().getWorld()->getStore().get<ESM::GameSetting>().find(it->second)->mValue.getString();
|
||||||
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
UpdateSummonedCreatures::~UpdateSummonedCreatures()
|
UpdateSummonedCreatures::UpdateSummonedCreatures(const MWWorld::Ptr &actor)
|
||||||
|
: mActor(actor)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -9,13 +9,14 @@
|
||||||
|
|
||||||
namespace MWMechanics
|
namespace MWMechanics
|
||||||
{
|
{
|
||||||
|
|
||||||
class CreatureStats;
|
class CreatureStats;
|
||||||
|
|
||||||
|
std::string getSummonedCreature(int effectId);
|
||||||
|
|
||||||
struct UpdateSummonedCreatures : public EffectSourceVisitor
|
struct UpdateSummonedCreatures : public EffectSourceVisitor
|
||||||
{
|
{
|
||||||
UpdateSummonedCreatures(const MWWorld::Ptr& actor);
|
UpdateSummonedCreatures(const MWWorld::Ptr& actor);
|
||||||
virtual ~UpdateSummonedCreatures();
|
virtual ~UpdateSummonedCreatures() = default;
|
||||||
|
|
||||||
virtual void visit (MWMechanics::EffectKey key,
|
virtual void visit (MWMechanics::EffectKey key,
|
||||||
const std::string& sourceName, const std::string& sourceId, int casterActorId,
|
const std::string& sourceName, const std::string& sourceId, int casterActorId,
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
#include "../mwmechanics/levelledlist.hpp"
|
#include "../mwmechanics/levelledlist.hpp"
|
||||||
#include "../mwmechanics/combat.hpp"
|
#include "../mwmechanics/combat.hpp"
|
||||||
#include "../mwmechanics/aiavoiddoor.hpp" //Used to tell actors to avoid doors
|
#include "../mwmechanics/aiavoiddoor.hpp" //Used to tell actors to avoid doors
|
||||||
|
#include "../mwmechanics/summoning.hpp"
|
||||||
|
|
||||||
#include "../mwrender/animation.hpp"
|
#include "../mwrender/animation.hpp"
|
||||||
#include "../mwrender/npcanimation.hpp"
|
#include "../mwrender/npcanimation.hpp"
|
||||||
|
|
Loading…
Reference in a new issue