Class IncumbentEffect
Some effects in Daggerfall add to the state an existing like-kind effect (the incumbent)
rather than become instantiated as a new effect on the host entity.
One example is a drain effect which only adds to the magnitude of incumbent drain for same stat.
Another example is an effect which tops up the duration of same effect in progress.
This class establishes a base for these incumbent effects to coordinate.
NOTES:
Unflagged incumbent effects (IsIncumbent == false) do not persist beyond AddState() call.
They will never receive a single MagicRound() call and are never saved/loaded.
The flagged incumbent (IsIncumbent == true) receives MagicRound() calls and is saved/load as normal.
Inheritance
IncumbentEffect
Assembly: Assembly-CSharp.dll
Syntax
public abstract class IncumbentEffect : BaseEntityEffect, IEntityEffect, IMacroContextProvider
Properties
|
Improve this Doc
View Source
IsIncumbent
Declaration
public bool IsIncumbent { get; }
Property Value
Methods
|
Improve this Doc
View Source
AddState(IncumbentEffect)
Declaration
protected abstract void AddState(IncumbentEffect incumbent)
Parameters
|
Improve this Doc
View Source
BecomeIncumbent()
Declaration
protected virtual void BecomeIncumbent()
|
Improve this Doc
View Source
IsLikeKind(IncumbentEffect)
Declaration
protected abstract bool IsLikeKind(IncumbentEffect other)
Parameters
Returns
|
Improve this Doc
View Source
ResignAsIncumbent()
Resign as incumbent effect.
This allows an incumbent to immediately allow for a new incumbent to take over its post.
Useful for when incumbent does not want to receive any further AddState() calls and cannot wait for magic round tick to expire.
Declaration
protected void ResignAsIncumbent()
|
Improve this Doc
View Source
Resume(EntityEffectManager.EffectSaveData_v1, EntityEffectManager, DaggerfallEntityBehaviour)
Declaration
public override void Resume(EntityEffectManager.EffectSaveData_v1 effectData, EntityEffectManager manager, DaggerfallEntityBehaviour caster = null)
Parameters
Overrides
|
Improve this Doc
View Source
Start(EntityEffectManager, DaggerfallEntityBehaviour)
Declaration
public override void Start(EntityEffectManager manager, DaggerfallEntityBehaviour caster = null)
Parameters
Overrides
Implements