public void sendTo3x3AreaLeave(Character character, Area area) { if (!this.areaExists(area)) { return; } for (int i = 0; i < 3; i++) { for (int u = 0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0] - 1 + i, area.getAreaPosition()[1] - 1 + u }); if (nearCentral == null) { continue; } foreach (Character characterAround in nearCentral.getCharacters()) { if (characterAround == character) { continue; } try { Console.WriteLine("AreaLeave> vanPacket from: {0} for {1}", character.getName(), characterAround.getName()); characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.vanCharPacket(character)); } catch (Exception e) { Console.WriteLine(e); } } } } character.getArea().removeCharacter(character); character.removeInnitedAreas(); WMap.Instance.removeFromSynchronizedAreas(area); }
public void sendTo3x3Area(Character character, Area area, byte[] packet) { if (!this.areaExists(area)) { return; } for (int i = 0; i < 3; i++) { for (int u = 0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0] - 1 + i, area.getAreaPosition()[1] - 1 + u }); if (nearCentral == null) { continue; } foreach (Character characterAround in nearCentral.getCharacters()) { if (characterAround == character) { continue; } try { Console.WriteLine("Area> Packet sent for {0} from {1}", characterAround.getName(), character.getName()); characterAround.getAccount().mClient.WriteRawPacket(packet); } catch (Exception e) { Console.WriteLine(e); } } } } }
public Fightable getFightableNear(Area area, int uID) { for (int i = 0; i < 3; i++) { for (int u = 0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0] - 1 + i, area.getAreaPosition()[1] - 1 + u }); if (nearCentral == null) { continue; } foreach (Fightable f in nearCentral.getMobs()) { if (f.getuID() == uID) { return(f); } } foreach (Fightable f in nearCentral.getCharacters()) { if (f.getuID() == uID) { return(f); } } } } return(null); }
public void sendTo3x3AreaRemoveItem(Area area, int uID) { for (int i = 0; i < 3; i++) { for (int u = 0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0] - 1 + i, area.getAreaPosition()[1] - 1 + u }); if (nearCentral == null) { continue; } foreach (Character characterAround in nearCentral.getCharacters()) { try { characterAround.getAccount().mClient.WriteRawPacket(ItemPackets.removeDroppedItemForCharacter(characterAround, uID)); } catch (Exception e) { Console.WriteLine(e); } } } } }
public void sendTo3x3AreaMovement(Character character, Area area, byte[] packet) { if (!this.areaExists(area)) { return; } List <int> relistInnitedAreas = new List <int>(); for (int i = 0; i < 3; i++) { for (int u = 0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0] - 1 + i, area.getAreaPosition()[1] - 1 + u }); if (nearCentral == null) { continue; } foreach (Character characterAround in nearCentral.getCharacters()) { if (characterAround == character) { continue; } if (!character.getInnitedAreas().Contains(nearCentral.getaID())) { characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.extCharPacket(character)); } try { Console.WriteLine("AreaMove> Packet sent for {0} from {1}", characterAround.getName(), character.getName()); characterAround.getAccount().mClient.WriteRawPacket(packet); } catch (Exception e) { Console.WriteLine(e); } } if (character.getInnitedAreas().Contains(nearCentral.getaID())) { relistInnitedAreas.Add(nearCentral.getaID()); continue; } nearCentral.sendAreaInit(character); relistInnitedAreas.Add(nearCentral.getaID()); } } character.removeInnitedAreas(); character.setInnitedAreas(relistInnitedAreas); }
public void sendTo3x3AreaSpawn(Character character, Area area, Boolean just_a_refresh_for_the_world = false) { if (!this.areaExists(area)) { return; } character.removeInnitedAreas(); for (int i = 0; i < 3; i++) { for (int u = 0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0] - 1 + i, area.getAreaPosition()[1] - 1 + u }); if (nearCentral == null) { continue; } if (!just_a_refresh_for_the_world) { nearCentral.sendAreaInit(character); } foreach (Character characterAround in nearCentral.getCharacters()) { if (characterAround == character) { continue; } try { Console.WriteLine("AreaSpawn> extCharPacket from: {0} for {1}", character.getName(), characterAround.getName()); characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.extCharPacket(character)); } catch (Exception e) { Console.WriteLine(e); } } character.addInnitedArea(nearCentral.getaID()); WMap.Instance.addToSynchronizedAreas(area); } } }
public Fightable getFightableNear(Area area, int uID) { for(int i = 0;i < 3;i++) { for(int u = 0;u < 3;u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0] - 1 + i, area.getAreaPosition()[1] - 1 + u }); if(nearCentral == null) continue; foreach(Fightable f in nearCentral.getMobs()) { if(f.getuID() == uID) return f; } foreach(Fightable f in nearCentral.getCharacters()) { if(f.getuID() == uID) return f; } } } return null; }
public void sendTo3x3AreaSpawn(Character character, Area area, Boolean just_a_refresh_for_the_world = false) { if(!this.areaExists(area)) return; character.removeInnitedAreas(); for (int i =0; i < 3; i++) { for (int u =0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0]-1+i, area.getAreaPosition()[1]-1+u }); if(nearCentral == null) continue; if(!just_a_refresh_for_the_world) nearCentral.sendAreaInit(character); foreach(Character characterAround in nearCentral.getCharacters()) { if(characterAround == character) continue; try { Console.WriteLine("AreaSpawn> extCharPacket from: {0} for {1}", character.getName(), characterAround.getName()); characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.extCharPacket(character)); } catch(Exception e) { Console.WriteLine(e); } } character.addInnitedArea(nearCentral.getaID()); WMap.Instance.addToSynchronizedAreas(area); } } }
public void sendTo3x3AreaRemoveItem(Area area, int uID) { for(int i = 0;i < 3;i++) { for(int u = 0;u < 3;u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0] - 1 + i, area.getAreaPosition()[1] - 1 + u }); if(nearCentral == null) continue; foreach(Character characterAround in nearCentral.getCharacters()) { try { characterAround.getAccount().mClient.WriteRawPacket(ItemPackets.removeDroppedItemForCharacter(characterAround, uID)); } catch(Exception e) { Console.WriteLine(e); } } } } }
public void sendTo3x3AreaMovement(Character character, Area area, byte[] packet) { if(!this.areaExists(area)) return; List<int> relistInnitedAreas = new List<int>(); for (int i =0; i < 3; i++) { for (int u =0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0]-1+i, area.getAreaPosition()[1]-1+u }); if(nearCentral == null) continue; foreach(Character characterAround in nearCentral.getCharacters()) { if(characterAround == character) continue; if(!character.getInnitedAreas().Contains(nearCentral.getaID())) { characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.extCharPacket(character)); } try { Console.WriteLine("AreaMove> Packet sent for {0} from {1}", characterAround.getName(), character.getName()); characterAround.getAccount().mClient.WriteRawPacket(packet); } catch(Exception e) { Console.WriteLine(e); } } if(character.getInnitedAreas().Contains(nearCentral.getaID())) { relistInnitedAreas.Add(nearCentral.getaID()); continue; } nearCentral.sendAreaInit(character); relistInnitedAreas.Add(nearCentral.getaID()); } } character.removeInnitedAreas(); character.setInnitedAreas(relistInnitedAreas); }
public void sendTo3x3AreaLeave(Character character, Area area) { if(!this.areaExists(area)) return; for (int i =0; i < 3; i++) { for (int u =0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0]-1+i, area.getAreaPosition()[1]-1+u }); if(nearCentral == null) continue; foreach(Character characterAround in nearCentral.getCharacters()) { if(characterAround == character) continue; try { Console.WriteLine("AreaLeave> vanPacket from: {0} for {1}", character.getName(), characterAround.getName()); characterAround.getAccount().mClient.WriteRawPacket(CharacterPackets.vanCharPacket(character)); } catch (Exception e) { Console.WriteLine(e); } } } } character.getArea().removeCharacter(character); character.removeInnitedAreas(); WMap.Instance.removeFromSynchronizedAreas(area); }
public void sendTo3x3Area(Character character, Area area, byte[] packet) { if(!this.areaExists(area)) return; for (int i =0; i < 3; i++) { for (int u =0; u < 3; u++) { Area nearCentral = getArea(new int[] { area.getAreaPosition()[0]-1+i, area.getAreaPosition()[1]-1+u }); if(nearCentral == null) continue; foreach(Character characterAround in nearCentral.getCharacters()) { if(characterAround == character) continue; try { Console.WriteLine("Area> Packet sent for {0} from {1}", characterAround.getName(), character.getName()); characterAround.getAccount().mClient.WriteRawPacket(packet); } catch (Exception e) { Console.WriteLine(e); } } } } }