Esempio n. 1
0
 public GenericArmour(EquipmentSubtype t)
 {
     onEquippedEffects       = new List <CharacterEquipmentEffect> ();
     onUnequippedEffects     = new List <CharacterEquipmentEffect> ();
     AnimationControllerName = EquipmentAnimationControllerName.NOT_SET;
     SetArmourProperties(this, t);
 }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        /// <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;
 }
Esempio n. 5
0
        /// <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;
 }