예제 #1
0
        public double GetCastingTotal(ArtPair artPair)
        {
            double techValue = Arts.GetAbility(artPair.Technique).Value;
            double formValue = Arts.GetAbility(artPair.Form).Value;

            return(techValue + formValue + GetAttribute(AttributeType.Stamina).Value);
        }
예제 #2
0
 public SpellBase(TechniqueEffects techniqueEffects, FormEffects formEffects, SpellArts arts, ArtPair artPair, byte level)
 {
     TechniqueEffects = techniqueEffects;
     FormEffects      = formEffects;
     Level            = level;
     Arts             = arts;
     ArtPair          = artPair;
 }
예제 #3
0
        public double GetModifier(ArtPair artPair, Activity activity)
        {
            double totalModifier = Quality;

            if (ArtModifiers.ContainsKey(artPair.Technique))
            {
                totalModifier += ArtModifiers[artPair.Technique];
            }
            if (ArtModifiers.ContainsKey(artPair.Form))
            {
                totalModifier += ArtModifiers[artPair.Form];
            }
            if (ActivityModifiers.ContainsKey(activity))
            {
                totalModifier += ActivityModifiers[activity];
            }
            totalModifier += _aura.Strength;
            return(totalModifier);
        }
예제 #4
0
        public double GetLabTotal(ArtPair artPair, Activity activity)
        {
            double magicTheory = GetAbility(_magicAbility).Value;
            double techValue   = Arts.GetAbility(artPair.Technique).Value;
            double formValue   = Arts.GetAbility(artPair.Form).Value;
            double labTotal    = magicTheory + techValue + formValue + GetAttribute(AttributeType.Intelligence).Value;

            if (Covenant != null)
            {
                labTotal += Covenant.Aura.Strength;

                if (Laboratory != null)
                {
                    labTotal += Laboratory.GetModifier(artPair, activity);
                }
            }

            //TODO: foci
            //TODO: lab assistant
            //TODO: familiar
            return(labTotal);
        }