Guest User

Untitled

a guest
Mar 23rd, 2017
240
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. package net.sf.l2j.gameserver.network.serverpackets;
  2.  
  3. import net.sf.l2j.gameserver.instancemanager.CastleManager;
  4. import net.sf.l2j.gameserver.model.L2Clan;
  5. import net.sf.l2j.gameserver.model.actor.Attackable;
  6. import net.sf.l2j.gameserver.model.actor.Character;
  7. import net.sf.l2j.gameserver.model.actor.instance.Player;
  8. import net.sf.l2j.gameserver.model.entity.Siege;
  9. import net.sf.l2j.gameserver.model.entity.Siege.SiegeSide;
  10. import net.sf.l2j.gameserver.model.zone.ZoneId;
  11. import net.sf.l2j.gameserver.model.zone.type.L2MultiFunctionZone;
  12.  
  13.  
  14.  
  15. public class Die extends L2GameServerPacket
  16. {
  17. private final Character _activeChar;
  18. private boolean _funEvent;
  19. private final int _charObjId;
  20. private final boolean _fake;
  21. // RnP (Del multi zonos)
  22. private boolean _canTeleport;
  23. private boolean _sweepable;
  24. private boolean _allowFixedRes;
  25. private L2Clan _clan;
  26.  
  27. public Die(Character cha)
  28. {
  29. _activeChar = cha;
  30. _charObjId = cha.getObjectId();
  31. _fake = !cha.isDead();
  32.  
  33. if (cha instanceof Player)
  34. {
  35. Player player = (Player) cha;
  36. _allowFixedRes = player.getAccessLevel().allowFixedRes();
  37. _clan = player.getClan();
  38. _funEvent = !player.isInFunEvent();
  39.  
  40. }
  41. else if (cha instanceof Attackable)
  42. _sweepable = ((Attackable) cha).isSpoiled();
  43. // RnP (del multi zonos)
  44. _canTeleport = !(cha.isInsideZone(ZoneId.MULTI_FUNCTION) && L2MultiFunctionZone.revive);
  45.  
  46. }
  47.  
  48. @Override
  49. protected final void writeImpl()
  50. {
  51. if (_fake)
  52. return;
  53.  
  54. writeC(0x06);
  55. writeD(_charObjId);
  56. writeD(_funEvent ? 0x01 : 0); // to nearest village
  57. // RnP (cia dar keiciau :D
  58. writeD(_canTeleport ? 0x01 : 0);
  59.  
  60. if (_funEvent && _clan != null)
  61. {
  62. SiegeSide side = null;
  63.  
  64. final Siege siege = CastleManager.getInstance().getSiege(_activeChar);
  65. if (siege != null)
  66. side = siege.getSide(_clan);
  67.  
  68. writeD((_clan.hasHideout()) ? 0x01 : 0x00); // to clanhall
  69. writeD((_clan.hasCastle() || side == SiegeSide.OWNER || side == SiegeSide.DEFENDER) ? 0x01 : 0x00); // to castle
  70. writeD((side == SiegeSide.ATTACKER && _clan.getFlag() != null) ? 0x01 : 0x00); // to siege HQ
  71. }
  72. else
  73. {
  74. writeD(0x00); // to clanhall
  75. writeD(0x00); // to castle
  76. writeD(0x00); // to siege HQ
  77. }
  78.  
  79. writeD((_sweepable) ? 0x01 : 0x00); // sweepable (blue glow)
  80. writeD((_allowFixedRes) ? 0x01 : 0x00); // FIXED
  81. }
  82. }
Advertisement
Add Comment
Please, Sign In to add comment