armark1ng

Untitled

Jun 25th, 2016
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.22 KB | None | 0 0
  1. package com.rs.game.player.dialogues.impl;
  2.  
  3. import com.rs.game.TemporaryAtributtes.Key;
  4. import com.rs.game.item.Item;
  5. import com.rs.game.map.bossInstance.BossInstance;
  6. import com.rs.game.map.bossInstance.BossInstanceHandler;
  7. import com.rs.game.map.bossInstance.BossInstanceHandler.Boss;
  8. import com.rs.game.map.bossInstance.InstanceSettings;
  9. import com.rs.game.player.dialogues.Dialogue;
  10. import com.rs.utils.Utils;
  11.  
  12. public class BossInstanceD extends Dialogue {
  13.  
  14. private Boss boss;
  15.  
  16. @Override
  17. public void start() {
  18. boss = (Boss) parameters[0];
  19. if (boss.hasPublicVersion())
  20. sendOptionsDialogue(DEFAULT_OPTIONS_TITLE, "Enter an encounter", "Start/Join custom encounter");
  21. else {
  22. sendCustomEncounter();
  23. }
  24.  
  25. }
  26.  
  27. private void sendCustomEncounter() {
  28. stage = 0;
  29. sendOptionsDialogue(DEFAULT_OPTIONS_TITLE, "Start", "Join", "Rejoin");
  30. }
  31.  
  32. @Override
  33. public void run(int interfaceId, int componentId) {
  34. switch (stage) {
  35. case -1:
  36. switch (componentId) {
  37. case OPTION_1:
  38. BossInstanceHandler.joinInstance(player, boss, "", false);
  39. end();
  40. break;
  41. default:
  42. sendCustomEncounter();
  43. break;
  44. }
  45. break;
  46. case 0:
  47. switch (componentId) {
  48. case OPTION_1:
  49. stage = 1;
  50. player.setLastBossInstanceSettings(new InstanceSettings(boss)); // the
  51. // settings
  52. sendOptionsDialogue("Enable practise mode?", "Yes.", "No.");
  53. break;
  54. case OPTION_2:
  55. end();
  56. player.getTemporaryAttributtes().put(Key.JOIN_BOSS_INSTANCE, boss);
  57. player.getPackets().sendInputNameScript("Enter the name of a player in a battle you wish to join.");
  58. break;
  59. default:
  60. String key = player.getLastBossInstanceKey();
  61. if (key == null) {
  62. stage = -2;
  63. sendDialogue("You do not have a battle to rejoin.");
  64. return;
  65. }
  66. if (BossInstanceHandler.findInstance(boss, key) == null) {
  67.  
  68. if (key.equals(player.getUsername()) && player.getLastBossInstanceSettings() != null
  69. && player.getLastBossInstanceSettings().getBoss() == boss
  70. && player.getLastBossInstanceSettings().hasTimeRemaining()) {
  71. end();
  72. // if the instance is null, and its my own player, use
  73. // the settings to recreate it
  74. BossInstanceHandler.createInstance(player, player.getLastBossInstanceSettings());
  75. return;
  76. }
  77.  
  78. stage = -2;
  79. sendDialogue("You do not have a battle to rejoin.");
  80. return;
  81. }
  82. end();
  83. BossInstanceHandler.joinInstance(player, boss, key, false);
  84. // You do not have a battle to rejoin.
  85. break;
  86. }
  87. break;
  88. case 1:
  89. if (player.getLastBossInstanceSettings() == null) {
  90. end();
  91. return;
  92. }
  93. player.getLastBossInstanceSettings().setPractiseMode(componentId == OPTION_1);
  94. if (boss.isHasHM()) {
  95. stage = 2;
  96. sendOptionsDialogue("Enable hard mode?", "Yes.", "No.");
  97. } else
  98. sendSelectMaxPlayers();
  99. break;
  100. case 2:
  101. if (player.getLastBossInstanceSettings() == null) {
  102. end();
  103. return;
  104. }
  105. player.getLastBossInstanceSettings().setHardMode(componentId == OPTION_1);
  106. sendSelectMaxPlayers();
  107. break;
  108. default:
  109. end();
  110. break;
  111. }
  112.  
  113. }
  114.  
  115. public void sendSelectMaxPlayers() {
  116. end();
  117. InstanceSettings settings = player.getLastBossInstanceSettings();
  118. if (settings == null)
  119. return;
  120. settings.setMaxPlayers(settings.getBoss().getMaxPlayers());
  121. settings.setMinCombat(1);
  122. settings.setSpawnSpeed(BossInstance.FASTEST);
  123. settings.setProtection(BossInstance.FFA);
  124. startInstance();
  125.  
  126. // player.getTemporaryAttributtes().put(Key.JOIN_BOSS_INSTANCE, boss);
  127. // player.getPackets().sendInputNameScript("Enter the minimum combat level.");
  128.  
  129. }
  130.  
  131. public void startInstance() {
  132. InstanceSettings settings = player.getLastBossInstanceSettings();
  133. if (settings == null)
  134. return;
  135. int initialCost = settings.getBoss().getInitialCost();
  136. if (player.getInventory().getCoinsAmount() < initialCost) {
  137. player.getPackets().sendGameMessage("You don't have enough coins to start this battle.");
  138. player.setLastBossInstanceSettings(null);
  139. return;
  140. }
  141. if (initialCost > 0)
  142. player.getInventory().removeItemMoneyPouch(new Item(995, initialCost));
  143. settings.setCreationTime(Utils.currentTimeMillis());
  144. BossInstanceHandler.createInstance(player, settings);
  145. }
  146.  
  147. @Override
  148. public void finish() {
  149. // TODO Auto-generated method stub
  150.  
  151. }
  152.  
  153. }
Advertisement
Add Comment
Please, Sign In to add comment