Exemplo n.º 1
0
 public override string ToString()
 {
     return(WeaponKey.ToString());
 }
    public static Weapon FromKey(WeaponKey key)
    {
        Weapon ret = new Weapon();

        switch (key)
        {
        case WeaponKey.ShortSword:
            ret = new Weapon()
            {
                type = WeaponSlotType.OneHanded,

                alterAttackChance           = 0.15f,
                alterAttackRange            = 1,
                alterDamageReduction        = 0,
                alterDamageBase             = 3,
                alterDamageRollSides        = 5,
                alterEvade                  = 0,
                alterMovementPerActionPoint = 0
            };
            break;

        case WeaponKey.Shield:
            ret = new Weapon()
            {
                type = WeaponSlotType.OneHanded,

                alterAttackChance           = -0.15f,
                alterAttackRange            = 0,
                alterDamageReduction        = 2,
                alterDamageBase             = 0,
                alterDamageRollSides        = 0,
                alterEvade                  = 0,
                alterMovementPerActionPoint = 0
            };
            break;

        case WeaponKey.LongSword:
            ret = new Weapon()
            {
                type = WeaponSlotType.TwoHanded,

                alterAttackChance           = 0.15f,
                alterAttackRange            = 1,
                alterDamageReduction        = 0,
                alterDamageBase             = 6,
                alterDamageRollSides        = 7,
                alterEvade                  = -0.05f,
                alterMovementPerActionPoint = 0
            };
            break;

        case WeaponKey.WarHammer:
            ret = new Weapon()
            {
                type = WeaponSlotType.TwoHanded,

                alterAttackChance           = 0.0f,
                alterAttackRange            = 1,
                alterDamageReduction        = 0,
                alterDamageBase             = 3,
                alterDamageRollSides        = 15,
                alterEvade                  = -0.15f,
                alterMovementPerActionPoint = -1
            };
            break;

        case WeaponKey.ShortBow:
            ret = new Weapon()
            {
                type = WeaponSlotType.TwoHanded,

                alterAttackChance           = 0.15f,
                alterAttackRange            = 5,
                alterDamageReduction        = 0,
                alterDamageBase             = 3,
                alterDamageRollSides        = 4,
                alterEvade                  = -0.0f,
                alterMovementPerActionPoint = 0
            };
            break;

        case WeaponKey.LongBow:
            ret = new Weapon()
            {
                type = WeaponSlotType.TwoHanded,

                alterAttackChance           = 0.2f,
                alterAttackRange            = 10,
                alterDamageReduction        = 0,
                alterDamageBase             = 6,
                alterDamageRollSides        = 7,
                alterEvade                  = -0.0f,
                alterMovementPerActionPoint = 0
            };
            break;
        }
        return(ret);
    }
Exemplo n.º 3
0
 public static Weapon GetFromKey(WeaponKey key)
 {
     Weapon ret = new Weapon ();
     switch (key) {
     case WeaponKey.ShortSword:
         ret = new Weapon() {
             type = WeaponSlotType.OneHanded,
             alterMovementPerActionPoint = 0,
             alterAttackRange = 1,
             alterDamageReduction = 0,
             alterAttackChance = 0.5f,
             alterEvade = 0.0f,
             alterDamageBase = 3.0f,
             alterDamageRollSides = 0.0f
         };
         break;
     case WeaponKey.Sheild:
         ret = new Weapon() {
             type = WeaponSlotType.OneHanded,
             alterMovementPerActionPoint = 0,
             alterAttackRange = 1,
             alterDamageReduction = 2,
             alterAttackChance = -0.5f,
             alterEvade = 0.0f,
             alterDamageBase = 0.0f,
             alterDamageRollSides = 0.0f
         };
         break;
     case WeaponKey.LongSword:
         ret = new Weapon() {
             type = WeaponSlotType.TwoHanded,
             alterMovementPerActionPoint = 0,
             alterAttackRange = 1,
             alterDamageReduction = 0,
             alterAttackChance = -0.15f,
             alterEvade = -0.05f,
             alterDamageBase = 6.0f,
             alterDamageRollSides = 7.0f
         };
         break;
     case WeaponKey.WarHammer:
         ret = new Weapon() {
             type = WeaponSlotType.TwoHanded,
             alterMovementPerActionPoint = 0,
             alterAttackRange = 1,
             alterDamageReduction = 0,
             alterAttackChance = -0.15f,
             alterEvade = -0.15f,
             alterDamageBase = 3.0f,
             alterDamageRollSides = 15.0f
         };
         break;
     case WeaponKey.ShortBow:
         ret = new Weapon() {
             type = WeaponSlotType.TwoHanded,
             alterMovementPerActionPoint = 0,
             alterAttackRange = 5,
             alterDamageReduction = 0,
             alterAttackChance = 0.15f,
             alterEvade = 0.00f,
             alterDamageBase = 3.0f,
             alterDamageRollSides = 4.0f
         };
         break;
     case WeaponKey.LongBow:
         ret = new Weapon() {
             type = WeaponSlotType.TwoHanded,
             alterMovementPerActionPoint = 0,
             alterAttackRange = 10,
             alterDamageReduction = 0,
             alterAttackChance = 0.2f,
             alterEvade = 0.00f,
             alterDamageBase = 6.0f,
             alterDamageRollSides = 7.0f
         };
         break;
     }
     return ret;
 }