private void MarkShout(IMagicEffect m) { if (!m.HasKeyword(MagicShout)) { return; } switch (m.Archetype.Type) { case ValueModifier: case Absorb: case DualValueModifier when m.Flags.HasFlag(Detrimental): m.Keywords !.Add(xMASPEShoutHarmful); break; case SummonCreature: m.Keywords !.Add(xMASPEShoutSummoning); break; default: m.Keywords !.Add(xMASPEShoutNonHarmful); break; } var script = m.GetOrAddScript(SScriptShoutexp); script.Properties.Add(new ScriptObjectProperty() { Name = SScriptShoutexpProperty0, Flags = ScriptProperty.Flag.Edited, Object = xMATHIShoutExpBase }); script.Properties.Add(new ScriptObjectProperty { Name = SScriptShoutexpProperty1, Flags = ScriptProperty.Flag.Edited, Object = PlayerRef }); script.Properties.Add(new ScriptFloatProperty() { Name = SScriptShoutexpProperty2, Flags = ScriptProperty.Flag.Edited, Data = GetShoutExpFactor(m) }); }
private float GetShoutExpFactor(IMagicEffect magicEffect) { return(1.0f); }