Advertisement
Guest User

DungeonManager

a guest
Dec 8th, 2016
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.57 KB | None | 0 0
  1. package com.rs.game.player.controlers;
  2.  
  3. import com.rs.game.Animation;
  4. import com.rs.game.WorldObject;
  5. import com.rs.game.WorldTile;
  6. import com.rs.game.player.content.Magic;
  7. import com.rs.game.player.content.dungeoneering.DungeonManager;
  8. import com.rs.game.player.content.dungeoneering.DungeonPartyPlayer;
  9. import com.rs.game.player.content.dungeoneering.DungeonUtils;
  10. import com.rs.game.player.content.dungeoneering.RoomReference;
  11. import com.rs.game.tasks.WorldTask;
  12. import com.rs.game.tasks.WorldTasksManager;
  13.  
  14. public class DungeonControler extends Controler {
  15.  
  16. private DungeonManager dungeon;
  17.  
  18. @Override
  19. public void start() {
  20. dungeon = (DungeonManager) getArguments()[0];
  21. setArguments(null); //because arguments save on char and we dont want to save dungmanager
  22. showDeaths();
  23. }
  24.  
  25.  
  26. public void showDeaths() {
  27. player.getInterfaceManager().sendTab(player.getInterfaceManager().hasRezizableScreen() ? 10 : 8, 945);
  28. }
  29.  
  30. @Override
  31. public void sendInterfaces() {
  32. showDeaths();
  33. }
  34.  
  35. @Override
  36. public boolean sendDeath() {
  37. player.addStopDelay(7);
  38. player.stopAll();
  39. WorldTasksManager.schedule(new WorldTask() {
  40. int loop;
  41. @Override
  42. public void run() {
  43. if(loop == 0) {
  44. player.setNextAnimation(new Animation(836));
  45. }else if(loop == 1) {
  46. player.getPackets().sendGameMessage("Oh dear, you have died.");
  47. }else if(loop == 3) {
  48. player.reset();
  49. player.setNextWorldTile(dungeon.getHomeTile());
  50. player.setNextAnimation(new Animation(-1));
  51. stop();
  52. DungeonPartyPlayer dp = dungeon.getDPlayer(player);
  53. if(dp != null)
  54. dp.increaseDeaths();
  55. }
  56. loop++;
  57. }
  58. }, 0, 1);
  59. return false;
  60. }
  61.  
  62. public boolean processMagicTeleport(WorldTile toTile) {
  63. if(dungeon == null || !player.getCombatDefinitions().isDungeonneringSpellBook() || !dungeon.hasStarted())
  64. return false;
  65. return true;
  66. }
  67.  
  68. public boolean processItemTeleport(WorldTile toTile) {
  69. return false;
  70. }
  71.  
  72. @Override
  73. public boolean processObjectClick1(final WorldObject object) {
  74. if(dungeon == null || !dungeon.hasStarted())
  75. return false;
  76. if(DungeonUtils.isDoor(object.getId())) {
  77. openDoor(object);
  78. return false;
  79. }else if (DungeonUtils.isExit(object.getId())) {
  80. player.getDialogueManager().startDialogue("DungeonExit", this);
  81. return false;
  82. }
  83. return true;
  84. }
  85.  
  86.  
  87. public void openDoor(WorldObject object) {
  88. RoomReference roomReference = dungeon.getCurrentRoomReference(player);
  89. if(object.getRotation() == 3)
  90. dungeon.enterRoom(player, roomReference.getX(), roomReference.getY()-1);
  91. else if(object.getRotation() == 1)
  92. dungeon.enterRoom(player, roomReference.getX(), roomReference.getY()+1);
  93. else if(object.getRotation() == 2)
  94. dungeon.enterRoom(player, roomReference.getX()+1, roomReference.getY());
  95. else
  96. dungeon.enterRoom(player, roomReference.getX()-1, roomReference.getY());
  97. }
  98.  
  99. @Override
  100. public boolean processObjectClick2(final WorldObject object) {
  101. if(dungeon == null || !dungeon.hasStarted())
  102. return false;
  103. return true;
  104. }
  105.  
  106. /*
  107. * return process normaly
  108. */
  109. @Override
  110. public boolean processButtonClick(int interfaceId, int componentId, int slotId, int packetId) {
  111. if(dungeon == null || !dungeon.hasStarted())
  112. return false;
  113. if(interfaceId == 950 && componentId == 24) {
  114. Magic.sendNormalTeleportSpell(player, 0, 0, dungeon.getHomeTile());
  115. return false;
  116. }
  117. return true;
  118. }
  119.  
  120. @Override
  121. public void forceClose() {
  122. //fix later
  123. }
  124.  
  125. @Override
  126. public boolean logout() {
  127. //fix later
  128. return true;
  129. }
  130.  
  131.  
  132.  
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement