public GenericArmour(EquipmentSubtype t) { onEquippedEffects = new List <CharacterEquipmentEffect> (); onUnequippedEffects = new List <CharacterEquipmentEffect> (); AnimationControllerName = EquipmentAnimationControllerName.NOT_SET; SetArmourProperties(this, t); }
public GenericWeapon(EquipmentSubtype subtype) { Properties = new List <WeaponProperty> (); NormRng = -1; MaxRng = -1; onEquippedEffects = new List <CharacterEquipmentEffect> (); onUnequippedEffects = new List <CharacterEquipmentEffect> (); AnimationControllerName = EquipmentAnimationControllerName.NOT_SET; MissileAnimationName = MissileScript.MissileAnimationName.NOT_SET; SetWeaponProperties(this, subtype); }
/// <summary> /// Armour property table. Sets the basic properties for the armour subtypes. /// To see how enchantments are stored and set, see the Set equipment enchantment types. /// </summary> /// <param name="weapon">Weapon.</param> /// <param name="t">T.</param> public static void SetArmourProperties(GenericArmour armour, EquipmentSubtype t) { armour.Subtype = t; switch (t) { case EquipmentSubtype.ARMOUR_PADDED: armour.Type = EquipmentType.ARMOUR_LIGHT; armour.BaseAc = 11; armour.MaxDexterityACModifier = 30; //no max armour.onEquippedEffects.Add(ApplyStealthDisArmourEquipped); armour.onUnequippedEffects.Add(ApplyStealthDisArmourUnequipped); armour.FittingSlotTypes = new List <EquipmentSlotType> () { EquipmentSlotType.BODY }; break; case EquipmentSubtype.ARMOUR_LEATHER: armour.Type = EquipmentType.ARMOUR_LIGHT; armour.BaseAc = 12; armour.MaxDexterityACModifier = 30; //no max armour.IconType = IconName.LEATHER_ARMOUR; armour.AnimationControllerName = EquipmentAnimationControllerName.BODY_LEATHERARMOUR; armour.FittingSlotTypes = new List <EquipmentSlotType> () { EquipmentSlotType.BODY }; break; case EquipmentSubtype.ARMOUR_CHAINMAIL: armour.Type = EquipmentType.ARMOUR_MEDIUM; armour.BaseAc = 13; armour.MaxDexterityACModifier = 2; //medium max armour.AnimationControllerName = EquipmentAnimationControllerName.BODY_CHAINARMOUR; armour.StrengthRecommendation = 13; armour.IconType = IconName.CHAIN_MAIL; armour.FittingSlotTypes = new List <EquipmentSlotType> () { EquipmentSlotType.BODY }; break; case EquipmentSubtype.ARMOUR_METAL_SHIELD: armour.Type = EquipmentType.ARMOUR_SHIELD; armour.onEquippedEffects.Add(ShieldEquipped); armour.onUnequippedEffects.Add(ShieldUnequipped); armour.AnimationControllerName = EquipmentAnimationControllerName.METAL_SHIELD; armour.IconType = IconName.SHIELD_METAL; armour.FittingSlotTypes = new List <EquipmentSlotType> () { EquipmentSlotType.OFF_HAND }; break; case EquipmentSubtype.ARMOUR_HORNED_HELM: armour.Type = EquipmentType.ARMOUR_LIGHT; //horned helm is not really light armour.... in fact it's not really armour armour.AnimationControllerName = EquipmentAnimationControllerName.HEAD_HORNEDHELMET; armour.IconType = IconName.HORNED_HELM; armour.FittingSlotTypes = new List <EquipmentSlotType> () { EquipmentSlotType.HEAD }; break; default: Debug.LogError("issue. type was not valid: " + t); break; } }
public WeaponProficiency(ProficiencyLevel lvl, EquipmentSubtype name) : base(lvl) { this.type = name; }
/// <summary> /// Weapon property table. Sets the basic properties for the equipment subtype. /// To see how enchantments are stored and set, see the Set Weapon enchantment types. /// </summary> /// <param name="weapon">Weapon.</param> /// <param name="t">T.</param> public static void SetWeaponProperties(GenericWeapon weapon, EquipmentSubtype t) { weapon.FittingSlotTypes = new List <EquipmentSlotType> () { EquipmentSlotType.MAIN_HAND }; weapon.OffhandAnimationControllerName = EquipmentAnimationControllerName.NOT_SET; weapon.SwingSoundFX = AT.WeaponSwingFXType.NONE; switch (t) { case EquipmentSubtype.SIMPLE_CLUB: weapon.Subtype = EquipmentSubtype.SIMPLE_CLUB; weapon.Type = EquipmentType.WEAPON_SIMPLE; weapon.Dice = new int[] { 6 }; weapon.DamageType = DamageType.BLUDGEONING; weapon.Worth = 5; weapon.Properties.Add(WeaponProperty.LIGHT); weapon.FittingSlotTypes.Add(EquipmentSlotType.OFF_HAND); weapon.SwingSoundFX = AT.WeaponSwingFXType.LIGHT; break; case EquipmentSubtype.SIMPLE_DAGGER: weapon.Type = EquipmentType.WEAPON_SIMPLE; weapon.Subtype = EquipmentSubtype.SIMPLE_DAGGER; weapon.Dice = new int[] { 4 }; weapon.DamageType = DamageType.PIERCING; weapon.NormRng = 4; weapon.MaxRng = 12; weapon.Properties.Add(WeaponProperty.THROWN); weapon.Properties.Add(WeaponProperty.LIGHT); weapon.Properties.Add(WeaponProperty.FINESSE); weapon.AnimationControllerName = EquipmentAnimationControllerName.MAINHAND_DAGGER; weapon.OffhandAnimationControllerName = EquipmentAnimationControllerName.OFFHAND_DAGGER; weapon.IconType = IconName.DAGGER; weapon.MissileAnimationName = MissileScript.MissileAnimationName.DAGGER; weapon.FittingSlotTypes.Add(EquipmentSlotType.OFF_HAND); weapon.SwingSoundFX = AT.WeaponSwingFXType.LIGHT; break; case EquipmentSubtype.SIMPLE_HANDAXE: weapon.Type = EquipmentType.WEAPON_SIMPLE; weapon.Subtype = EquipmentSubtype.SIMPLE_HANDAXE; weapon.Dice = new int[] { 6 }; weapon.DamageType = DamageType.SLASHING; weapon.NormRng = 4; weapon.MaxRng = 12; weapon.AnimationControllerName = EquipmentAnimationControllerName.MAINHAND_HANDAXE; weapon.OffhandAnimationControllerName = EquipmentAnimationControllerName.OFFHAND_HANDAXE; weapon.MissileAnimationName = MissileScript.MissileAnimationName.HANDAXE; weapon.Properties.Add(WeaponProperty.THROWN); weapon.Properties.Add(WeaponProperty.LIGHT); weapon.IconType = IconName.HANDAXE; weapon.FittingSlotTypes.Add(EquipmentSlotType.OFF_HAND); weapon.SwingSoundFX = AT.WeaponSwingFXType.LIGHT; break; case EquipmentSubtype.MARTIAL_LONGSWORD: weapon.Subtype = EquipmentSubtype.MARTIAL_LONGSWORD; weapon.Type = EquipmentType.WEAPON_MARTIAL; weapon.Dice = new int[] { 8 }; weapon.DamageType = DamageType.SLASHING; weapon.Properties.Add(WeaponProperty.VERSATILE); weapon.AnimationControllerName = EquipmentAnimationControllerName.MAINHAND_LONGSWORD; weapon.IconType = IconName.SWORD_BLACK; weapon.SwingSoundFX = AT.WeaponSwingFXType.MEDIUM; break; case EquipmentSubtype.SIMPLE_FIST: weapon.Subtype = EquipmentSubtype.SIMPLE_FIST; weapon.Type = EquipmentType.WEAPON_UNARMED; weapon.Dice = new int[] { 1 }; weapon.DamageType = DamageType.BLUDGEONING; weapon.SwingSoundFX = AT.WeaponSwingFXType.LIGHT; break; default: Debug.LogError("issue. type was not valid: " + t); break; } }
public WeaponProficiencyFeature(WeaponProficiencyFeatureWrapper wrap) { this.weaponType = wrap.weaponType; this.lvl = wrap.lvl; }
public WeaponProficiencyFeature(EquipmentSubtype weaponType, ProficiencyLevel lvl, FeatureBundle parent = null) : base(parent) { this.weaponType = weaponType; this.lvl = lvl; }