Show / Hide Table of Contents

Class DiseaseEffect

Disease effect base. Does all the heavy lifting for time management, reducing stats, curing, serialization, etc. Child class can just use a custom DiseaseData matrix or override virtuals to do completely their own thing.

Inheritance
Object
BaseEntityEffect
IncumbentEffect
DiseaseEffect
BloodRot
BrainFever
CalironsCurse
Cholera
Chrondiasis
Consumption
Dementia
Leprosy
LycanthropyInfection
Plague
RedDeath
StomachRot
SwampRot
TyphoidFever
VampirismInfection
WitchesPox
WizardFever
WoundRot
YellowFever
Implements
IEntityEffect
IMacroContextProvider
Inherited Members
IncumbentEffect.Resume(EntityEffectManager.EffectSaveData_v1, EntityEffectManager, DaggerfallEntityBehaviour)
IncumbentEffect.IsIncumbent
IncumbentEffect.ResignAsIncumbent()
IncumbentEffect.BecomeIncumbent()
BaseEntityEffect.properties
BaseEntityEffect.settings
BaseEntityEffect.potionProperties
BaseEntityEffect.caster
BaseEntityEffect.manager
BaseEntityEffect.variantCount
BaseEntityEffect.currentVariant
BaseEntityEffect.bypassSavingThrows
BaseEntityEffect.Properties
BaseEntityEffect.Settings
BaseEntityEffect.EnchantmentParam
BaseEntityEffect.PotionProperties
BaseEntityEffect.Caster
BaseEntityEffect.ChanceSuccess
BaseEntityEffect.StatMods
BaseEntityEffect.StatMaxMods
BaseEntityEffect.SkillMods
BaseEntityEffect.ResistanceMods
BaseEntityEffect.Key
BaseEntityEffect.GroupName
BaseEntityEffect.SubGroupName
BaseEntityEffect.DisplayName
BaseEntityEffect.SpellMakerDescription
BaseEntityEffect.SpellBookDescription
BaseEntityEffect.ParentBundle
BaseEntityEffect.HasEnded
BaseEntityEffect.VariantCount
BaseEntityEffect.CurrentVariant
BaseEntityEffect.BypassSavingThrows
BaseEntityEffect.SetProperties()
BaseEntityEffect.SetPotionProperties()
BaseEntityEffect.GetEnchantmentSettings()
BaseEntityEffect.GetEnchantmentSettings(EnchantmentParam)
BaseEntityEffect.HasItemMakerFlags(ItemMakerFlags)
BaseEntityEffect.HasEnchantmentPayloadFlags(EnchantmentPayloadFlags)
BaseEntityEffect.EnchantmentPayloadCallback(EnchantmentPayloadFlags, Nullable<EnchantmentParam>, DaggerfallEntityBehaviour, DaggerfallEntityBehaviour, DaggerfallUnityItem, Int32)
BaseEntityEffect.IsEnchantmentExclusiveTo(EnchantmentSettings[], Nullable<EnchantmentParam>)
BaseEntityEffect.GetForcedEnchantments(Nullable<EnchantmentParam>)
BaseEntityEffect.End()
BaseEntityEffect.ConstantEffect()
BaseEntityEffect.GetAttributeMod(DFCareer.Stats)
BaseEntityEffect.GetAttributeMaximumMod(DFCareer.Stats)
BaseEntityEffect.GetSkillMod(DFCareer.Skills)
BaseEntityEffect.HealAttributeDamage(DFCareer.Stats, Int32)
BaseEntityEffect.CureAttributeDamage()
BaseEntityEffect.HealSkillDamage(DFCareer.Skills, Int32)
BaseEntityEffect.CureSkillDamage()
BaseEntityEffect.AllAttributesHealed()
BaseEntityEffect.AllSkillsHealed()
BaseEntityEffect.ChanceValue()
BaseEntityEffect.RollChance()
BaseEntityEffect.CompareSettings(IEntityEffect)
BaseEntityEffect.GetPeeredEntityBehaviour(EntityEffectManager)
BaseEntityEffect.GetMagnitude(DaggerfallEntityBehaviour)
BaseEntityEffect.PlayerAggro()
BaseEntityEffect.SetStatMod(DFCareer.Stats, Int32)
BaseEntityEffect.SetStatMaxMod(DFCareer.Stats, Int32)
BaseEntityEffect.ChangeStatMod(DFCareer.Stats, Int32)
BaseEntityEffect.ChangeStatMaxMod(DFCareer.Stats, Int32)
BaseEntityEffect.SetSkillMod(DFCareer.Skills, Int32)
BaseEntityEffect.ChangeSkillMod(DFCareer.Skills, Int32)
BaseEntityEffect.SetResistanceMod(DFCareer.Elements, Int32)
BaseEntityEffect.ChanceResistanceMod(DFCareer.Elements, Int32)
BaseEntityEffect.AssignPotionRecipes(PotionRecipe[])
BaseEntityEffect.DefaultEffectSettings()
BaseEntityEffect.SetEffectDuration(EffectSettings, Int32, Int32, Int32)
BaseEntityEffect.SetEffectChance(EffectSettings, Int32, Int32, Int32)
BaseEntityEffect.SetEffectMagnitude(EffectSettings, Int32, Int32, Int32, Int32, Int32)
BaseEntityEffect.MakeClassicKey(Byte, Byte, BaseEntityEffect.ClassicEffectFamily)
BaseEntityEffect.ReverseClasicKey(Int32, Byte, Byte, BaseEntityEffect.ClassicEffectFamily)
BaseEntityEffect.MakeEffectCosts(Single, Single, Single)
BaseEntityEffect.GetMacroDataSource()
Namespace: DaggerfallWorkshop.Game.MagicAndEffects.MagicEffects
Assembly: Assembly-CSharp.dll
Syntax
public abstract class DiseaseEffect : IncumbentEffect, IEntityEffect, IMacroContextProvider

Fields

| Improve this Doc View Source

classicDiseaseType

Declaration
protected Diseases classicDiseaseType
Field Value
Type Description
Diseases
| Improve this Doc View Source

completedDiseaseValue

Declaration
protected const int completedDiseaseValue = 254
Field Value
Type Description
Int32
| Improve this Doc View Source

daysOfSymptomsLeft

Declaration
protected int daysOfSymptomsLeft
Field Value
Type Description
Int32
| Improve this Doc View Source

diseaseData

Declaration
protected DiseaseData diseaseData
Field Value
Type Description
DiseaseData
| Improve this Doc View Source

forcedRoundsRemaining

Declaration
protected int forcedRoundsRemaining
Field Value
Type Description
Int32
| Improve this Doc View Source

incubationOver

Declaration
protected bool incubationOver
Field Value
Type Description
Boolean
| Improve this Doc View Source

lastDay

Declaration
protected uint lastDay
Field Value
Type Description
UInt32
| Improve this Doc View Source

permanentDiseaseValue

Declaration
protected const int permanentDiseaseValue = 255
Field Value
Type Description
Int32

Properties

| Improve this Doc View Source

ClassicDiseaseType

Declaration
public Diseases ClassicDiseaseType { get; }
Property Value
Type Description
Diseases
| Improve this Doc View Source

ContractedMessageTokens

Declaration
public abstract TextFile.Token[] ContractedMessageTokens { get; }
Property Value
Type Description
TextFile.Token[]
| Improve this Doc View Source

DaysOfSymptomsLeft

Declaration
public int DaysOfSymptomsLeft { get; set; }
Property Value
Type Description
Int32
| Improve this Doc View Source

IncubationOver

Declaration
public bool IncubationOver { get; set; }
Property Value
Type Description
Boolean
| Improve this Doc View Source

RoundsRemaining

Declaration
public override int RoundsRemaining { get; }
Property Value
Type Description
Int32
Overrides
BaseEntityEffect.RoundsRemaining

Methods

| Improve this Doc View Source

AddState(IncumbentEffect)

Declaration
protected override void AddState(IncumbentEffect incumbent)
Parameters
Type Name Description
IncumbentEffect incumbent
Overrides
IncumbentEffect.AddState(IncumbentEffect)
| Improve this Doc View Source

CureDisease()

Declaration
public virtual void CureDisease()
| Improve this Doc View Source

EndDisease()

Declaration
protected virtual void EndDisease()
| Improve this Doc View Source

GetClassicContractedMessageTokens(Diseases)

Declaration
protected TextFile.Token[] GetClassicContractedMessageTokens(Diseases diseaseType)
Parameters
Type Name Description
Diseases diseaseType
Returns
Type Description
TextFile.Token[]
| Improve this Doc View Source

GetClassicDiseaseData(Diseases)

Declaration
protected DiseaseData GetClassicDiseaseData(Diseases diseaseType)
Parameters
Type Name Description
Diseases diseaseType
Returns
Type Description
DiseaseData
| Improve this Doc View Source

GetClassicDiseaseEffectKey(Diseases)

Declaration
public static string GetClassicDiseaseEffectKey(Diseases diseaseType)
Parameters
Type Name Description
Diseases diseaseType
Returns
Type Description
String
| Improve this Doc View Source

GetCustomDiseaseSaveData()

Declaration
protected virtual object GetCustomDiseaseSaveData()
Returns
Type Description
Object
| Improve this Doc View Source

GetSaveData()

Declaration
public override object GetSaveData()
Returns
Type Description
Object
Overrides
BaseEntityEffect.GetSaveData()
| Improve this Doc View Source

IncrementDailyDiseaseEffects()

Apply DiseaseData effects for each day passed - custom diseases can override this to do whatever they want for effect payload They don't even need to call this base to apply basic DiseaseData effects if they don't want to

Declaration
protected virtual void IncrementDailyDiseaseEffects()
| Improve this Doc View Source

IsDiseaseCompleted()

Declaration
public bool IsDiseaseCompleted()
Returns
Type Description
Boolean
| Improve this Doc View Source

IsDiseasePermanent()

Declaration
public bool IsDiseasePermanent()
Returns
Type Description
Boolean
| Improve this Doc View Source

IsLikeKind(IncumbentEffect)

Declaration
protected override bool IsLikeKind(IncumbentEffect other)
Parameters
Type Name Description
IncumbentEffect other
Returns
Type Description
Boolean
Overrides
IncumbentEffect.IsLikeKind(IncumbentEffect)
| Improve this Doc View Source

MagicRound()

Declaration
public override void MagicRound()
Overrides
BaseEntityEffect.MagicRound()
| Improve this Doc View Source

RemoveRound()

Declaration
protected override int RemoveRound()
Returns
Type Description
Int32
Overrides
BaseEntityEffect.RemoveRound()
| Improve this Doc View Source

RestoreCustomDiseaseSaveData(Object)

Declaration
protected virtual void RestoreCustomDiseaseSaveData(object dataIn)
Parameters
Type Name Description
Object dataIn
| Improve this Doc View Source

RestoreSaveData(Object)

Declaration
public override void RestoreSaveData(object dataIn)
Parameters
Type Name Description
Object dataIn
Overrides
BaseEntityEffect.RestoreSaveData(Object)
| Improve this Doc View Source

Start(EntityEffectManager, DaggerfallEntityBehaviour)

Declaration
public override void Start(EntityEffectManager manager, DaggerfallEntityBehaviour caster = null)
Parameters
Type Name Description
EntityEffectManager manager
DaggerfallEntityBehaviour caster
Overrides
IncumbentEffect.Start(EntityEffectManager, DaggerfallEntityBehaviour)
| Improve this Doc View Source

UpdateDisease()

Executes default work on disease based on data. This runs once every magic tick so will implement own timer to run on a daily tick. A custom disease can override to perform their own logic.

Declaration
protected virtual void UpdateDisease()

Implements

IEntityEffect
IMacroContextProvider
  • Improve this Doc
  • View Source
In This Article
  • Fields
    • classicDiseaseType
    • completedDiseaseValue
    • daysOfSymptomsLeft
    • diseaseData
    • forcedRoundsRemaining
    • incubationOver
    • lastDay
    • permanentDiseaseValue
  • Properties
    • ClassicDiseaseType
    • ContractedMessageTokens
    • DaysOfSymptomsLeft
    • IncubationOver
    • RoundsRemaining
  • Methods
    • AddState(IncumbentEffect)
    • CureDisease()
    • EndDisease()
    • GetClassicContractedMessageTokens(Diseases)
    • GetClassicDiseaseData(Diseases)
    • GetClassicDiseaseEffectKey(Diseases)
    • GetCustomDiseaseSaveData()
    • GetSaveData()
    • IncrementDailyDiseaseEffects()
    • IsDiseaseCompleted()
    • IsDiseasePermanent()
    • IsLikeKind(IncumbentEffect)
    • MagicRound()
    • RemoveRound()
    • RestoreCustomDiseaseSaveData(Object)
    • RestoreSaveData(Object)
    • Start(EntityEffectManager, DaggerfallEntityBehaviour)
    • UpdateDisease()
  • Implements
Back to top Generated by DocFX