Example #1
0
        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)
            });
        }
Example #2
0
 private float GetShoutExpFactor(IMagicEffect magicEffect)
 {
     return(1.0f);
 }