mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-26 09:35:28 +00:00
Move getSummonedCreature() to summoning
This commit is contained in:
parent
4f75211e25
commit
5535a7fb44
@ -1312,40 +1312,6 @@ namespace MWMechanics
|
||||
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,
|
||||
const std::string& /*sourceName*/, const std::string& /*sourceId*/, int /*casterActorId*/,
|
||||
float /*magnitude*/, float /*remainingTime*/, float /*totalTime*/)
|
||||
|
@ -75,8 +75,6 @@ namespace MWMechanics
|
||||
/// @return Was the effect a tickable effect with a magnitude?
|
||||
bool effectTick(CreatureStats& creatureStats, const MWWorld::Ptr& actor, const MWMechanics::EffectKey& effectKey, float magnitude);
|
||||
|
||||
std::string getSummonedCreature(int effectId);
|
||||
|
||||
class CastSpell
|
||||
{
|
||||
private:
|
||||
|
@ -20,13 +20,42 @@
|
||||
namespace MWMechanics
|
||||
{
|
||||
|
||||
UpdateSummonedCreatures::UpdateSummonedCreatures(const MWWorld::Ptr &actor)
|
||||
: mActor(actor)
|
||||
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();
|
||||
}
|
||||
|
||||
UpdateSummonedCreatures::~UpdateSummonedCreatures()
|
||||
UpdateSummonedCreatures::UpdateSummonedCreatures(const MWWorld::Ptr &actor)
|
||||
: mActor(actor)
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -9,13 +9,14 @@
|
||||
|
||||
namespace MWMechanics
|
||||
{
|
||||
|
||||
class CreatureStats;
|
||||
|
||||
std::string getSummonedCreature(int effectId);
|
||||
|
||||
struct UpdateSummonedCreatures : public EffectSourceVisitor
|
||||
{
|
||||
UpdateSummonedCreatures(const MWWorld::Ptr& actor);
|
||||
virtual ~UpdateSummonedCreatures();
|
||||
virtual ~UpdateSummonedCreatures() = default;
|
||||
|
||||
virtual void visit (MWMechanics::EffectKey key,
|
||||
const std::string& sourceName, const std::string& sourceId, int casterActorId,
|
||||
|
@ -41,6 +41,7 @@
|
||||
#include "../mwmechanics/levelledlist.hpp"
|
||||
#include "../mwmechanics/combat.hpp"
|
||||
#include "../mwmechanics/aiavoiddoor.hpp" //Used to tell actors to avoid doors
|
||||
#include "../mwmechanics/summoning.hpp"
|
||||
|
||||
#include "../mwrender/animation.hpp"
|
||||
#include "../mwrender/npcanimation.hpp"
|
||||
|
Loading…
x
Reference in New Issue
Block a user