/// <summary> /// Public static method that, based on the Weapon Type /// provided, returns the appropriate Attack Dice. /// </summary> /// <param name="itemType">The Weapon Type to inspect.</param> /// <returns>The dice that can be rolled based on the Weapon Type specified.</returns> public static List <Die> GetDiceBasedOnOffensiveItemType(HeroOffensiveItemType itemType) { List <Die> offensiveDice = new List <Die>(); switch (itemType) { default: case HeroOffensiveItemType.Fists: case HeroOffensiveItemType.RustyDagger: case HeroOffensiveItemType.RustyMace: case HeroOffensiveItemType.RustyShortSword: { offensiveDice.Add(new GreenDie()); } break; case HeroOffensiveItemType.RustyBastardSword: { offensiveDice.AddRange(new Die[] { new GreenDie(), new GreenDie() }); } break; case HeroOffensiveItemType.SilverHexDagger: case HeroOffensiveItemType.MagicMissile: { offensiveDice.AddRange(new Die[] { new GreenDie(), new BlueDie() }); } break; case HeroOffensiveItemType.FlameTorch: case HeroOffensiveItemType.Freeze: case HeroOffensiveItemType.FineBarbedWireMace: case HeroOffensiveItemType.JaggedSword: { offensiveDice.AddRange(new Die[] { new GreenDie(), new GreenDie(), new BlueDie() }); } break; case HeroOffensiveItemType.Disolve: case HeroOffensiveItemType.LegendaryBastardSword: { offensiveDice.AddRange(new Die[] { new BlueDie(), new RedDie() }); } break; } return(offensiveDice); }
/// <summary> /// Constructor for the Weapon Class /// that just sets the Weapon Type currently. /// </summary> /// <param name="itemType">The Weapon Type for this particular Weapon (default = Fists).</param> public Weapon(HeroOffensiveItemType itemType = HeroOffensiveItemType.Fists) { OffensiveItemType = itemType; }