Esempio n. 1
0
 public MeleeWeapon(int id, string name, string description, ItemType type, ItemTechnology technology, int value, int maxStark, string sprite, int meleeWeaponID, int meleeDamage, int throwDamage, float attackInterval, MeleeWeaponType mwType)
     : base(id, name, description, type, technology, value, maxStark, sprite)
 {
     this.MeleeWeaponID  = meleeWeaponID;
     this.MeleeDamage    = meleeDamage;
     this.ThrowDamage    = throwDamage;
     this.AttackInterval = attackInterval;
     this.MWType         = mwType;
 }
 public void PlayMeleeHitSound(MeleeWeaponType weaponType)
 {
     if (weaponType == MeleeWeaponType.Blade)
     {
         PlayRandomSound(swordSlashOpponentSounds);
     }
     else if (weaponType == MeleeWeaponType.Blunt)
     {
         PlayRandomSound(bluntHitOpponentSounds);
     }
     else if (weaponType == MeleeWeaponType.Piercing)
     {
         PlayRandomSound(swordStabOpponentSounds);
     }
 }
Esempio n. 3
0
        public MeleeWeapon(MeleeWeaponType meleeWeaponType, int x = 0, int y = 0) : base(x, y)
        {
            if (meleeWeaponType == MeleeWeaponType.DAGGER)
            {
                durability = 10;
                damage     = 3;
                cost       = 3;
                name       = "Dagger";
            }

            else if (meleeWeaponType == MeleeWeaponType.LONGSWORD)
            {
                durability = 6;
                damage     = 4;
                cost       = 5;
                name       = "LongSword";
            }
            range = 1;
        }
Esempio n. 4
0
 /// <summary>
 /// Creates a new <code>MeleeWeapon</code> given a range for damage hit points.
 /// </summary>
 /// <param name="name">The <code>MeleeWeapon</code>'s name.</param>
 /// <param name="minDamage">The <code>MeleeWeapon</code>'s minimum damage.</param>
 /// <param name="maxDamage">The <code>MeleeWeapon</code>'s maximum damage.</param>
 /// <param name="type">The <code>MeleeWeapon</code>'s <code>MeleeWeaponType</code></param>
 /// <param name="length">The length of the <code>MeleeWeapon</code></param>
 public MeleeWeapon(string name, int minDamage, int maxDamage, MeleeWeaponType type, float length)
     : base(name, minDamage, maxDamage)
 {
     Type = type;
     Length = length;
 }
Esempio n. 5
0
 /// <summary>
 /// Creates a new <code>MeleeWeapon</code> with the specified damage. The damage of the <code>MeleeWeapon</code> will be static.
 /// </summary>
 /// <param name="name">The <code>MeleeWeapon</code>'s name.</param>
 /// <param name="damage">The <code>MeleeWeapon</code>'s damage.</param>
 /// <param name="type">The <code>MeleeWeapon</code>'s <code>MeleeWeaponType</code>.</param>
 /// <param name="length">The length of the <code>MeleeWeapon</code></param>
 public MeleeWeapon(string name, int damage, MeleeWeaponType type, float length)
     : this(name, damage, damage, type, length)
 {
 }
Esempio n. 6
0
 public GameObject GetMelee(MeleeWeaponType wpType)
 {
     return(MeleePfs.FirstOrDefault(x => x.GetComponent <MeleeWeaponBase>().WeaponType == wpType));
 }
Esempio n. 7
0
        private Tile Create(TileType type)
        {
            int x = random.Next(0, width);
            int y = random.Next(0, height);


            while (map[x, y].Type != TileType.EMPTY)
            {
                x = random.Next(0, width);
                y = random.Next(0, height);
            }

            if (type == TileType.HERO)
            {
                map[x, y] = new Hero(x, y, 10);
                return(map[x, y]);
            }
            else if (type == TileType.ENEMY)
            {
                int i = random.Next(0, 3);
                if (i == 1)
                {
                    map[x, y] = new Goblin(x, y);
                    return(map[x, y]);
                }
                else if (i == 2)
                {
                    map[x, y] = new Mage(x, y);
                    return(map[x, y]);
                }
                else
                {
                    Leader leader = new Leader(x, y);
                    leader.Target = hero;
                    map[x, y]     = leader;
                    return(map[x, y]);
                }
            }
            else if (type == TileType.GOLD)
            {
                map[x, y] = new Gold(x, y);
                return(map[x, y]);
            }

            else if (type == TileType.WEAPON)
            {
                int weaponType    = random.Next(0, 2);
                int weaponVariant = random.Next(0, 2);

                if (weaponType == 0)
                {
                    RangedWeaponType rangedType = (RangedWeaponType)weaponVariant;
                    map[x, y] = new RangedWeapon(rangedType, x, y);
                }
                else
                {
                    MeleeWeaponType meleeType = (MeleeWeaponType)weaponVariant;
                    map[x, y] = new MeleeWeapon(meleeType, x, y);
                }

                return(map[x, y]);
            }

            return(new EmptyTile(x, y));
        }