Exemple #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="T:Core.Domain.Items.Enchantments.Paizo.CoreRulebook.Shadow"/> class.
        /// </summary>
        /// <param name="strength">The strength of the enchantment.</param>
        /// <exception cref="System.ComponentModel.InvalidEnumArgumentException">Thrown when an argument is a nonstandard enum.</exception>
        internal Shadow(ShadowStrength strength)
        {
            switch (strength)
            {
            case ShadowStrength.Regular:
                this.CasterLevel = 5;
                this.Cost        = 3750;
                break;

            case ShadowStrength.Improved:
                this.CasterLevel = 10;
                this.Cost        = 15_000;
                break;

            case ShadowStrength.Greater:
                this.CasterLevel = 15;
                this.Cost        = 33_750;
                break;

            default:
                throw new InvalidEnumArgumentException(nameof(strength), (int)strength, strength.GetType());
            }
            byte skillBonus = Convert.ToByte((int)strength);

            this.ApplicationEffects = (c) => c.Skills?.Stealth?.CompetenceBonuses?.Add(() => skillBonus);
            this.Name = new NameFragment(Shadow.BuildName(strength), Shadow.BuildWebAddress(strength));
        }
Exemple #2
0
        private static string BuildName(ShadowStrength strength)
        {
            string magnitude = (ShadowStrength.Regular != strength)
                             ? $"{ strength }"
                             : String.Empty;

            return($"{ magnitude } Shadow".Trim());
        }
Exemple #3
0
        private static string BuildWebAddress(ShadowStrength strength)
        {
            switch (strength)
            {
            case ShadowStrength.Regular:
                return("http://www.d20pfsrd.com/magic-items/magic-armor/magic-armor-and-shield-special-abilities/shadow/");

            case ShadowStrength.Improved:
                return("http://www.d20pfsrd.com/magic-items/magic-armor/magic-armor-and-shield-special-abilities/shadow-improved/");

            case ShadowStrength.Greater:
                return("http://www.d20pfsrd.com/magic-items/magic-armor/magic-armor-and-shield-special-abilities/shadow-greater/");

            default:
                throw new InvalidEnumArgumentException(nameof(strength), (int)strength, strength.GetType());
            }
        }
Exemple #4
0
 /// <summary>
 /// Enchants this armor with Shadow.
 /// </summary>
 /// <exception cref="System.InvalidOperationException">Thrown when this armor does not already have a magical enhancement bonus, or when this enchantment has already been applied.</exception>
 /// <exception cref="System.ComponentModel.InvalidEnumArgumentException">Thrown when an argument is a nonstandard enum.</exception>
 new public FullPlate EnchantWithShadow(ShadowStrength strength)
 {
     base.EnchantWithShadow(strength);
     return(this);
 }
Exemple #5
0
 private void Awake()
 {
     instance = this;
 }
Exemple #6
0
 /// <summary>
 /// Enchants this armor with Shadow.
 /// </summary>
 /// <exception cref="System.InvalidOperationException">Thrown when this armor does not already have a magical enhancement bonus, or when this enchantment has already been applied.</exception>
 /// <exception cref="System.ComponentModel.InvalidEnumArgumentException">Thrown when an argument is a nonstandard enum.</exception>
 new public ChainShirt EnchantWithShadow(ShadowStrength strength)
 {
     base.EnchantWithShadow(strength);
     return(this);
 }
 /// <summary>
 /// Enchants this armor with Shadow.
 /// </summary>
 /// <exception cref="System.InvalidOperationException">Thrown when this armor does not already have a magical enhancement bonus, or when this enchantment has already been applied.</exception>
 /// <exception cref="System.ComponentModel.InvalidEnumArgumentException">Thrown when an argument is a nonstandard enum.</exception>
 new public BandedMail EnchantWithShadow(ShadowStrength strength)
 {
     base.EnchantWithShadow(strength);
     return(this);
 }
 /// <summary>
 /// Enchants this armor with Shadow.
 /// </summary>
 /// <exception cref="System.InvalidOperationException">Thrown when this armor does not already have a magical enhancement bonus, or when this enchantment has already been applied.</exception>
 /// <exception cref="System.ComponentModel.InvalidEnumArgumentException">Thrown when an argument is a nonstandard enum.</exception>
 new public PaddedArmor EnchantWithShadow(ShadowStrength strength)
 {
     base.EnchantWithShadow(strength);
     return this;
 }
Exemple #9
0
 /// <summary>
 /// Enchants this armor with Shadow.
 /// </summary>
 /// <exception cref="System.InvalidOperationException">Thrown when this armor does not already have a magical enhancement bonus, or when this enchantment has already been applied.</exception>
 /// <exception cref="System.ComponentModel.InvalidEnumArgumentException">Thrown when an argument is a nonstandard enum.</exception>
 new public HideArmor EnchantWithShadow(ShadowStrength strength)
 {
     base.EnchantWithShadow(strength);
     return(this);
 }
Exemple #10
0
 /// <summary>
 /// Enchants this armor with Shadow.
 /// </summary>
 /// <exception cref="System.InvalidOperationException">Thrown when this armor does not already have a magical enhancement bonus, or when this enchantment has already been applied.</exception>
 /// <exception cref="System.ComponentModel.InvalidEnumArgumentException">Thrown when an argument is a nonstandard enum.</exception>
 new public StuddedLeatherArmor EnchantWithShadow(ShadowStrength strength)
 {
     base.EnchantWithShadow(strength);
     return(this);
 }