Example #1
0
        public bool CanAttack(L2Character target = null, bool moveIfTooFar = true)
        {
            if (target == null)
            {
                target = _target;
            }

            if (target == null || target.Dead) // TODO: add check for immune/abnormal/GM
            {
                return(false);
            }

            if (_character is L2Player)
            {
                L2Player player = (L2Player)_character;

                if (player.Movement.IsSitting)
                {
                    return(false);
                }
            }

            // TODO: Move to config
            _character.SendMessageAsync($"[attack]distance to target is {(int)_character.Movement.DistanceTo(target)}");
            if (_character.Movement.DistanceToSquared(target) > 50 * 50 + 10) // TODO : use Weapon range
            {
                if (moveIfTooFar)
                {
                    _character.SendMessageAsync("[attack]targer is too far, moving for it");
                    _character.Movement.MoveToAndHit(target, 50);
                }

                return(false);
            }

            return(true);
        }
Example #2
0
        private void affect(L2Character target)
        {
            target.SendMessageAsync("u can feel defence.");
            //Random rn = new Random();
            //if (Zone._skills != null)
            //{
            //    foreach (L2Skill sk in Zone._skills)
            //    {
            //        if (rn.Next(0, 100) > Zone._skill_prob)
            //            continue;

            //        target.addAbnormal(sk, null, true, false);
            //    }
            //}

            //if (Zone._skill != null)
            //{
            //    if (rn.Next(0, 100) > Zone._skill_prob)
            //        return;

            //    target.addAbnormal(Zone._skill, null, true, false);
            //}
        }
Example #3
0
 public async Task CastBuffForQuestRewardAsync(L2Character cha, int skillId)
 {
     await cha.SendMessageAsync($"L2Npc.CastBuffForQuestReward {skillId}");
 }