public static void ContinueAtackRequest(IRealmClient client, RealmPacketIn packet) { Unit target = client.ActiveCharacter.Target; if (target == null || !client.ActiveCharacter.CanHarm((WorldObject)target)) { Asda2CombatHandler.StartAtackResponse(client.ActiveCharacter, target, (byte)0); } client.ActiveCharacter.IsFighting = true; }
public static void AtackCharacterRequest(IRealmClient client, RealmPacketIn packet) { Character characterBySessionId = World.GetCharacterBySessionId(packet.ReadUInt16()); if (characterBySessionId == null || characterBySessionId == client.ActiveCharacter || !client.ActiveCharacter.CanHarm((WorldObject)characterBySessionId)) { Asda2CombatHandler.StartAtackResponse(client.ActiveCharacter, (Unit)characterBySessionId, (byte)0); } else { client.ActiveCharacter.IsFighting = true; Asda2SpellHandler.SendSetAtackStateGuiResponse(client.ActiveCharacter); } }
public static void StartAtackRequest(IRealmClient client, RealmPacketIn packet) { Character activeCharacter = client.ActiveCharacter; ushort id = packet.ReadUInt16(); NPC npcByUniqMapId = client.ActiveCharacter.Map.GetNpcByUniqMapId(id); byte status = 3; if (npcByUniqMapId == null) { status = (byte)2; } if (npcByUniqMapId != null && activeCharacter.CanHarm((WorldObject)npcByUniqMapId) && activeCharacter.CanSee((WorldObject)npcByUniqMapId)) { status = (byte)1; } activeCharacter.Target = (Unit)npcByUniqMapId; activeCharacter.IsWaitingForAtackAnimation = true; Asda2CombatHandler.StartAtackResponse(activeCharacter, activeCharacter.Target, status); }