internal LegendaryArmorEffects(bool isBasic, bool isNormal, bool isAbyssal, Random random = null) : base(isAbyssal, random)
 {
     IsBasic  = isBasic;
     IsNormal = isNormal;
     if (IsAbyssal)
     {
         string abyssalEffect = AbyssalEffectPoints.ElementAt(Rand.Next(AbyssalEffectPoints.Count)).Key;
         AbyssalEffectPoints[abyssalEffect] += 1;
     }
     if (IsBasic)
     {
         for (int i = 0; i < BasicPoints; i++)
         {
             AddBasicEffectPoint();
         }
     }
     if (IsNormal)
     {
         int points = IsAbyssal ? AbyssalPoints : LegendPoints;
         for (int i = 0; i < points; i++)
         {
             AddEffectPoint();
         }
     }
 }
 public double GetStaminaMultiplier()
 {
     if (!EffectPoints.ContainsKey("Light") || !AbyssalEffectPoints.ContainsKey("Heavy"))
     {
         throw new KeyNotFoundException("No 'Heavy' and/or 'Light' effect in legendary effects.");
     }
     if (AbyssalEffectPoints["Heavy"] > 0)
     {
         return(2.0);
     }
     if (EffectPoints["Light"] > 0)
     {
         return(0.5);
     }
     return(1.0);
 }