forked from mirror/openmw-tes3mp
Merge pull request #1649
This commit is contained in:
commit
c610b8acc8
3 changed files with 24 additions and 3 deletions
|
@ -7,6 +7,7 @@
|
||||||
#include <boost/format.hpp>
|
#include <boost/format.hpp>
|
||||||
|
|
||||||
#include <components/misc/rng.hpp>
|
#include <components/misc/rng.hpp>
|
||||||
|
#include <components/settings/settings.hpp>
|
||||||
|
|
||||||
#include "../mwbase/windowmanager.hpp"
|
#include "../mwbase/windowmanager.hpp"
|
||||||
#include "../mwbase/soundmanager.hpp"
|
#include "../mwbase/soundmanager.hpp"
|
||||||
|
@ -569,7 +570,10 @@ namespace MWMechanics
|
||||||
ActiveSpells::ActiveEffect effect_ = effect;
|
ActiveSpells::ActiveEffect effect_ = effect;
|
||||||
effect_.mMagnitude *= -1;
|
effect_.mMagnitude *= -1;
|
||||||
absorbEffects.push_back(effect_);
|
absorbEffects.push_back(effect_);
|
||||||
// Also make sure to set casterActorId = target, so that the effect on the caster gets purged when the target dies
|
if (reflected && Settings::Manager::getBool("classic reflected absorb attribute behavior", "Game"))
|
||||||
|
target.getClass().getCreatureStats(target).getActiveSpells().addSpell("", true,
|
||||||
|
absorbEffects, mSourceName, caster.getClass().getCreatureStats(caster).getActorId());
|
||||||
|
else
|
||||||
caster.getClass().getCreatureStats(caster).getActiveSpells().addSpell("", true,
|
caster.getClass().getCreatureStats(caster).getActiveSpells().addSpell("", true,
|
||||||
absorbEffects, mSourceName, target.getClass().getCreatureStats(target).getActorId());
|
absorbEffects, mSourceName, target.getClass().getCreatureStats(target).getActorId());
|
||||||
}
|
}
|
||||||
|
|
|
@ -96,6 +96,20 @@ and values above 500 will result in the player inflicting no damage.
|
||||||
|
|
||||||
This setting can be controlled in game with the Difficulty slider in the Prefs panel of the Options menu.
|
This setting can be controlled in game with the Difficulty slider in the Prefs panel of the Options menu.
|
||||||
|
|
||||||
|
classic reflect absorb attribute behavior
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
:Type: boolean
|
||||||
|
:Range: True/False
|
||||||
|
:Default: True
|
||||||
|
|
||||||
|
If this setting is true, "Absorb Attribute" spells which were reflected by the target are not "mirrored",
|
||||||
|
and the caster will absorb their own attribute resulting in no effect on both the caster and the target.
|
||||||
|
This makes the gameplay as a mage easier, but these spells become imbalanced.
|
||||||
|
This is how the original Morrowind behaves.
|
||||||
|
|
||||||
|
This setting can only be configured by editing the settings configuration file.
|
||||||
|
|
||||||
show effect duration
|
show effect duration
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
|
|
|
@ -176,6 +176,9 @@ best attack = false
|
||||||
# Difficulty. Expressed as damage dealt and received. (e.g. -100 to 100).
|
# Difficulty. Expressed as damage dealt and received. (e.g. -100 to 100).
|
||||||
difficulty = 0
|
difficulty = 0
|
||||||
|
|
||||||
|
# Replicate how reflected "absorb attribute" spells do not have any effect in Morrowind engine. The caster absorbs the attribute from themselves.
|
||||||
|
classic reflect absorb attribute behavior = true
|
||||||
|
|
||||||
# Show duration of magic effect and lights in the spells window.
|
# Show duration of magic effect and lights in the spells window.
|
||||||
show effect duration = false
|
show effect duration = false
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue