Zepheus.Zone.Game.ZoneCharacter.Attack C# (CSharp) Method

Attack() public method

public Attack ( Zepheus.Zone.Game.MapObject victim ) : void
victim Zepheus.Zone.Game.MapObject
return void
        public override void Attack(MapObject victim)
        {
            if (victim == null)
            {
                victim = SelectedObject;
            }

            if (IsAttacking || victim == null || !victim.IsAttackable) return;
            ushort attackspeed = 1200;
            Equip weapon;
            EquippedItems.TryGetValue(ItemSlot.Weapon, out weapon);
            uint dmgmin = (uint)GetWeaponDamage(true);
            uint dmgmax = (uint)(GetWeaponDamage(true) + (GetWeaponDamage(true) % 3));
            if (weapon != null)
            {
                attackspeed = weapon.Info.AttackSpeed;
                dmgmin += weapon.Info.MinMelee;
                dmgmax += weapon.Info.MaxMelee;
            }

            base.Attack(victim);
            AttackingSequence = new AttackSequence(this, victim, dmgmin, dmgmax, attackspeed);
        }