/// <summary> /// suctl packet /// </summary> /// <param name="suctlPacket"></param> public void Attack(SuctlPacket suctlPacket) { PenaltyLogDTO penalty = Session.Account.PenaltyLogs.OrderByDescending(s => s.DateEnd).FirstOrDefault(); if (Session.Character.IsMuted() && penalty != null) { if (Session.Character.Gender == GenderType.Female) { Session.CurrentMapInstance?.Broadcast(Session.Character.GenerateSay(Language.Instance.GetMessageFromKey("MUTED_FEMALE"), 1)); Session.SendPacket(Session.Character.GenerateSay(string.Format(Language.Instance.GetMessageFromKey("MUTE_TIME"), (penalty.DateEnd - DateTime.Now).ToString("hh\\:mm\\:ss")), 11)); } else { Session.CurrentMapInstance?.Broadcast(Session.Character.GenerateSay(Language.Instance.GetMessageFromKey("MUTED_MALE"), 1)); Session.SendPacket(Session.Character.GenerateSay(string.Format(Language.Instance.GetMessageFromKey("MUTE_TIME"), (penalty.DateEnd - DateTime.Now).ToString("hh\\:mm\\:ss")), 11)); } return; } Mate attacker = Session.Character.Mates.FirstOrDefault(x => x.MateTransportId == suctlPacket.MateTransportId); if (attacker == null) { return; } if (attacker.IsSitting) { return; } IEnumerable <NpcMonsterSkill> mateSkills = attacker.IsUsingSp ? attacker.SpSkills.ToList() : attacker.Monster.Skills; if (mateSkills != null) { NpcMonsterSkill ski = mateSkills.FirstOrDefault(s => s?.Skill?.CastId == suctlPacket.CastId); switch (suctlPacket.TargetType) { case UserType.Monster: if (attacker.Hp > 0) { MapMonster target = Session?.CurrentMapInstance?.GetMonster(suctlPacket.TargetId); AttackMonster(attacker, ski, target); } return; } } }
/// <summary> /// suctl packet /// </summary> /// <param name="suctlPacket"></param> public void Attack(SuctlPacket suctlPacket) { PenaltyLogDTO penalty = Session.Account.PenaltyLogs.OrderByDescending(s => s.DateEnd).FirstOrDefault(); if (Session.Character.IsMuted() && penalty != null) { if (Session.Character.Gender == GenderType.Female) { Session.CurrentMapInstance?.Broadcast(Session.Character.GenerateSay(Language.Instance.GetMessageFromKey("MUTED_FEMALE"), 1)); Session.SendPacket(Session.Character.GenerateSay(string.Format(Language.Instance.GetMessageFromKey("MUTE_TIME"), (penalty.DateEnd - DateTime.Now).ToString("hh\\:mm\\:ss")), 11)); } else { Session.CurrentMapInstance?.Broadcast(Session.Character.GenerateSay(Language.Instance.GetMessageFromKey("MUTED_MALE"), 1)); Session.SendPacket(Session.Character.GenerateSay(string.Format(Language.Instance.GetMessageFromKey("MUTE_TIME"), (penalty.DateEnd - DateTime.Now).ToString("hh\\:mm\\:ss")), 11)); } return; } Mate attacker = Session.Character.Mates.First(x => x.MateTransportId == suctlPacket.MateTransportId); switch (suctlPacket.TargetType) { case UserType.Monster: /*if (attacker.Hp > 0) * { * MapMonster target = Session?.CurrentMapInstance?.GetMonster(suctlPacket.TargetId); * NpcMonsterSkill skill = attacker.Monster.Skills.FirstOrDefault(x => x.NpcMonsterSkillId == suctlPacket.CastId); * AttackMonster(attacker, skill, target); * }*/ return; case UserType.Npc: return; case UserType.Player: return; case UserType.Object: return; default: return; } }