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); }