Advertisement
Guest User

Untitled

a guest
Aug 21st, 2018
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 35.32 KB | None | 0 0
  1. package ethos.model.minigames.raids;
  2.  
  3. import ethos.Config;
  4. import ethos.Server;
  5. import ethos.clip.doors.Location;
  6. import ethos.model.items.Item;
  7. import ethos.model.items.ItemDefinition;
  8. import ethos.model.npcs.NPC;
  9. import ethos.model.npcs.NPCDef;
  10. import ethos.model.npcs.NPCDefinitions;
  11. import ethos.model.npcs.NPCHandler;
  12. import ethos.model.players.Player;
  13. import ethos.model.players.PlayerHandler;
  14. import ethos.util.Misc;
  15. import ethos.world.objects.GlobalObject;
  16.  
  17. import java.util.ArrayList;
  18. import java.util.HashMap;
  19. import java.util.List;
  20.  
  21. /**
  22. * Author @ Goon_
  23. * www.rune-server.com
  24. */
  25.  
  26. public class Raids {
  27. private long start;
  28.  
  29. /**
  30. * The player
  31. */
  32. Player player;
  33.  
  34. /**
  35. * The raid leader
  36. */
  37. public Player raidLeader;
  38.  
  39.  
  40. /**
  41. * Raid points
  42. */
  43. private HashMap<Player, Integer> raidPoints;
  44.  
  45. /**
  46. * Group points
  47. */
  48. public int groupPoints;
  49.  
  50. /**
  51. * Raid Group
  52. */
  53. ArrayList<Player> raidGroup;
  54.  
  55. /**
  56. * The current path
  57. */
  58. private int path;
  59.  
  60. /**
  61. * The current way
  62. */
  63. private int way;
  64.  
  65. /**
  66. * Current room
  67. */
  68. public int currentRoom;
  69.  
  70.  
  71. /**
  72. * Reached room
  73. */
  74. public int reachedRoom;
  75. /**
  76. * Monster spawns (No Double Spawning)
  77. */
  78. public boolean lizards = false;
  79. public boolean vasa = false;
  80. public boolean vanguard = false;
  81. public boolean ice = false;
  82. public boolean chest = false;
  83. public boolean mystic = false;
  84. public boolean tekton = false;
  85. public boolean mutta = false;
  86. public boolean archers = false;
  87. public boolean olm = false;
  88. public boolean olmDead = false;
  89. public boolean rightHand = false;
  90. public boolean leftHand = false;
  91.  
  92. /**
  93. * The door location of the current paths
  94. */
  95. private ArrayList<Location> roomPaths = new ArrayList<Location>();
  96.  
  97. /**
  98. * The names of the current rooms in path
  99. */
  100. private ArrayList<String> roomNames = new ArrayList<String>();
  101.  
  102. /**
  103. * Current monsters needed to kill
  104. */
  105. private int mobAmount = 0;
  106.  
  107. /**
  108. * Constructs the raids class for the player
  109. *
  110. * @param player The player
  111. */
  112. public Raids(Player player) {
  113. this.player = player;
  114. }
  115.  
  116. /**
  117. * Gets the height for the raid
  118. *
  119. * @return the height
  120. */
  121. public int getHeight(Player player) {
  122. return raidLeader.getIndex() * 4;
  123. }
  124.  
  125. /**
  126. * Get points
  127. */
  128. public HashMap<Player, Integer> getPoints() {
  129. return raidPoints;
  130. }
  131.  
  132. /**
  133. * Add points
  134. */
  135. public void addPoints(Player player, int points) {
  136. raidPoints.replace(player, raidPoints.get(player) + (points * 5));
  137. }
  138.  
  139. /**
  140. * Gets the current path
  141. *
  142. * @return the path
  143. */
  144. public int getPath() {
  145. return path;
  146. }
  147.  
  148. /**
  149. * Gets the current way
  150. *
  151. * @return the way
  152. */
  153. public int getWay() {
  154. return way;
  155. }
  156.  
  157. /**
  158. * Sets the current path
  159. *
  160. * @param path
  161. */
  162. public void setPath(int path) {
  163. this.path = path;
  164. }
  165.  
  166. /**
  167. * Gets the start location for the path
  168. *
  169. * @return path
  170. */
  171. public Location getStartLocation() {
  172. switch (path) {
  173. case 0:
  174. return RaidRooms.STARTING_ROOM_2.doorLocation;
  175. }
  176. return RaidRooms.STARTING_ROOM.doorLocation;
  177. }
  178.  
  179. /**
  180. * Handles raid rooms
  181. *
  182. * @author Goon
  183. */
  184. public enum RaidRooms {
  185. STARTING_ROOM("start_room", 1, 0, new Location(3299, 5189)),
  186. LIZARDMEN_SHAMANS("lizardmen", 1, 0, new Location(3308, 5208)),
  187. SKELETAL_MYSTIC("skeletal", 1, 0, new Location(3312, 5217, 1)),
  188. VASA_NISTIRIO("vasa", 1, 0, new Location(3312, 5279)),
  189. VANGUARDS("vanguard", 1, 0, new Location(3312, 5311)),
  190. ICE_DEMON("ice", 1, 0, new Location(3313, 5346)),
  191. CHEST_ROOM("chest", 1, 0, new Location(3311, 5374)),
  192. //SCAVENGER_ROOM_2("scavenger",1,new Location(3343,5217,1)),
  193. //ARCHERS_AND_MAGERS("archer",1,0,new Location(3309,5340,1)),
  194. MUTTADILE("muttadile", 1, 0, new Location(3311, 5309, 1)),
  195. TEKTON("tekton", 1, 0, new Location(3310, 5277, 1)),
  196. ENERGY_ROOM("energy", 1, 0, new Location(3275, 5159)),
  197. OLM_ROOM_WAIT("olm_wait", 1, 0, new Location(3232, 5721)),
  198. OLM_ROOM("olm", 1, 0, new Location(3232, 5730)),
  199.  
  200. STARTING_ROOM_2("start_room", 1, 1, new Location(3299, 5189)),
  201. MUTTADILE_2("muttadile", 1, 1, new Location(3311, 5309, 1)),
  202. VASA_NISTIRIO_2("vasa", 1, 1, new Location(3312, 5279)),
  203. VANGUARDS_2("vanguard", 1, 1, new Location(3312, 5311)),
  204. ICE_DEMON_2("ice", 1, 1, new Location(3313, 5346)),
  205. //ARCHERS_AND_MAGERS_2("archer",1,1,new Location(3309,5340,1)),
  206. CHEST_ROOM_2("chest", 1, 1, new Location(3311, 5374)),
  207. //SCAVENGER_ROOM_2("scavenger",1,new Location(3343,5217,1)),
  208. SKELETAL_MYSTIC_2("skeletal", 1, 1, new Location(3312, 5217, 1)),
  209. TEKTON_2("tekton", 1, 1, new Location(3310, 5277, 1)),
  210. LIZARDMEN_SHAMANS_2("lizardmen", 1, 1, new Location(3308, 5208)),
  211. ENERGY_ROOM_2("energy", 1, 1, new Location(3275, 5159)),
  212. OLM_ROOM_WAIT_2("olm_wait", 1, 1, new Location(3232, 5721)),
  213. OLM_ROOM_2("olm", 1, 1, new Location(3232, 5730));
  214.  
  215. /**
  216. * STARTING_ROOM_2("start_room",1,new Location(3299,5189)),
  217. * LIZARDMEN_SHAMANS_2("lizardmen",1,new Location(3308,5208)),
  218. * VASA_NISTIRIO_2("vasa",1,new Location(3312,5279)),
  219. * VANGUARDS_2("vanguard",1,new Location(3312,5311)),
  220. * ICE_DEMON_2("ice",1,new Location(3313,5346)),
  221. * CHEST_ROOM_2("chest",1,new Location(3311,5374)),
  222. * //SCAVENGER_ROOM_2("scavenger",1,new Location(3343,5217,1)),
  223. * SKELETAL_MYSTIC("skeletal",1,new Location(3312,5217,1)),
  224. * TEKTON_2("tekton",1,new Location(3310,5277,1)),
  225. * MUTTADILE_2("muttadile",1,new Location(3311,5309,1)),
  226. * ARCHERS_AND_MAGERS_2("archer",1,new Location(3309,5340,1)),
  227. * ENERGY_ROOM_2("energy",1,new Location(3275,5159)),
  228. * OLM_ROOM_WAIT_2("olm_wait",1,new Location(3232,5721)),
  229. * OLM_ROOM_2("olm",1,new Location(3232,5730));
  230. **/
  231.  
  232. private Location doorLocation;
  233. private int path;
  234. private int way;
  235. private String roomName;
  236.  
  237. private RaidRooms(String name, int path1, int way1, Location door) {
  238. doorLocation = door;
  239. roomName = name;
  240. path = path1;
  241. way = way1;
  242.  
  243. }
  244.  
  245. public Location getDoor() {
  246. return doorLocation;
  247. }
  248.  
  249. public int getPath() {
  250. return path;
  251. }
  252.  
  253. public int getWay() {
  254. return way;
  255. }
  256.  
  257. public String getRoomName() {
  258. return roomName;
  259. }
  260.  
  261.  
  262. }
  263.  
  264. public void updateRaidPoints(Player player) {
  265. player.getPA().sendFrame126("Total: @whi@" + groupPoints, 17502);
  266. player.getPA().sendFrame126(player.playerName + ": @whi@" + raidPoints.get(player), 17503);
  267. }
  268.  
  269. /**
  270. * Kill all spawns for the raid leader if left
  271. *
  272. * @param player
  273. */
  274. public void killAllSpawns(Player player) {
  275. NPCHandler.kill(394, player.getRaids().getHeight(player.getRaids().raidLeader)); // banker
  276. NPCHandler.kill(3341, player.getRaids().getHeight(player.getRaids().raidLeader)); //healer
  277. NPCHandler.kill(7563, player.getRaids().getHeight(player.getRaids().raidLeader));
  278. NPCHandler.kill(7566, player.getRaids().getHeight(player.getRaids().raidLeader));
  279. NPCHandler.kill(7585, player.getRaids().getHeight(player.getRaids().raidLeader));
  280. NPCHandler.kill(7544, player.getRaids().getHeight(player.getRaids().raidLeader));
  281. NPCHandler.kill(7573, player.getRaids().getHeight(player.getRaids().raidLeader));
  282. NPCHandler.kill(7573, player.getRaids().getHeight(player.getRaids().raidLeader));
  283. NPCHandler.kill(7573, player.getRaids().getHeight(player.getRaids().raidLeader));
  284. NPCHandler.kill(7604, player.getRaids().getHeight(player.getRaids().raidLeader));
  285. NPCHandler.kill(7606, player.getRaids().getHeight(player.getRaids().raidLeader));
  286. NPCHandler.kill(7605, player.getRaids().getHeight(player.getRaids().raidLeader));
  287. NPCHandler.kill(7605, player.getRaids().getHeight(player.getRaids().raidLeader));
  288. NPCHandler.kill(7559, player.getRaids().getHeight(player.getRaids().raidLeader)); // deathly ranger
  289. NPCHandler.kill(7559, player.getRaids().getHeight(player.getRaids().raidLeader)); // deathly ranger
  290. NPCHandler.kill(7559, player.getRaids().getHeight(player.getRaids().raidLeader)); // deathly ranger
  291. NPCHandler.kill(7560, player.getRaids().getHeight(player.getRaids().raidLeader)); // deathly mager
  292. NPCHandler.kill(7560, player.getRaids().getHeight(player.getRaids().raidLeader)); // deathly mager
  293. NPCHandler.kill(7560, player.getRaids().getHeight(player.getRaids().raidLeader)); // deathly mager
  294. NPCHandler.kill(7527, player.getRaids().getHeight(player.getRaids().raidLeader)); // melee vanguard
  295. NPCHandler.kill(7528, player.getRaids().getHeight(player.getRaids().raidLeader)); // range vanguard
  296. NPCHandler.kill(7529, player.getRaids().getHeight(player.getRaids().raidLeader)); // magic vanguard
  297. NPCHandler.kill(7553, player.getRaids().getHeight(player.getRaids().raidLeader)); // magic vanguard
  298. NPCHandler.kill(7554, player.getRaids().getHeight(player.getRaids().raidLeader)); // magic vanguard
  299. NPCHandler.kill(7555, player.getRaids().getHeight(player.getRaids().raidLeader)); // magic vanguard
  300. }
  301.  
  302. /**
  303. * Leaves the raid.
  304. *
  305. * @param player
  306. */
  307. public void leaveGame(Player player) {
  308. if (System.currentTimeMillis() - player.infernoLeaveTimer < 15000) {
  309. player.sendMessage("You cannot leave yet, wait a couple of seconds and try again.");
  310. return;
  311. }
  312. player.sendMessage("@red@You have left the Chambers of Xeric.");
  313. player.getPA().movePlayer(1245, 3561, 0);
  314. killAllSpawns(player);
  315. player.newRaid();
  316.  
  317. }
  318.  
  319. /**
  320. * Starts the raid.
  321. */
  322. public void startRaid() {
  323. raidGroup = new ArrayList<>();
  324. if (player.clan == null || !player.clan.isFounder(player.playerName)) {
  325. player.sendMessage("You're not in a clan that you own, and can not pass the door.");
  326. return;
  327. }
  328.  
  329. int memberCount = player.clan.activeMembers.size();
  330.  
  331. if (memberCount < 1) {
  332. player.sendMessage("You don't have enough people in your clan to start a raid.");
  333. return;
  334. }
  335.  
  336. if (memberCount > 22) {
  337. player.sendMessage("Your clan exceeds the max limit of 22 players in Raids.");
  338. return;
  339. }
  340. this.currentRoom = 0;
  341. raidLeader = player;
  342. int path1 = 1;
  343. int way1 = Misc.random(1);
  344. path = path1;
  345. way = way1;
  346. groupPoints = 0;
  347. raidPoints = new HashMap<>();
  348. for (String username : player.clan.activeMembers) {
  349. Player p = PlayerHandler.getPlayer(username);
  350. if (p == null || !p.inRaidsMountain()) {
  351. continue;
  352. }
  353. if (p.combatLevel < 75 && p.totalLevel < 750) {
  354. p.sendMessage("You need at least 75 combat or 750 total level to attend raids.");
  355. continue;
  356. }
  357. raidPoints.put(p, 0);
  358. raidGroup.add(p);
  359. p.getRaids().raidLeader = player;
  360. p.getRaids().path = path1;
  361. p.getRaids().way = way1;
  362. p.getRaids().groupPoints = 0;
  363. for (RaidRooms room : RaidRooms.values()) {
  364. if (room.getWay() == way) {
  365. p.getRaids().roomNames.add(room.getRoomName());
  366. p.getRaids().roomPaths.add(room.getDoor());
  367. }
  368. }
  369. p.getRaids().updateRaidPoints(p);
  370. p.getPA().movePlayer(getStartLocation().getX(), getStartLocation().getY(), getHeight(player));
  371. this.start = System.currentTimeMillis();
  372. p.sendMessage("@red@Welcome to the Chambers of Xeric!");
  373. }
  374. }
  375.  
  376. int[] rarerewards = {22296, 20517, 20520, 20595, 20784, 21000, 21006, 21009, 21012, 21015, 21018, 21021, 21024, 21028, 20849};
  377. int[] commonrewards = {560, 565, 566, 892, 11212, 3050, 208, 210, 212, 214, 3052, 216, 2486, 218, 220, 443, 454, 445, 448, 450, 452, 1624, 1622, 1620, 1618, 13391, 7937, 2722}; //{item, maxAmount}
  378.  
  379. /**
  380. * Handles giving the raid reward
  381. */
  382. public void giveReward() {
  383. int rewardChance = Misc.random(300);
  384. if(System.currentTimeMillis() - this.start < 1000000) {
  385. this.groupPoints *= 1.5;
  386. }
  387. if (rewardChance >= 297) {
  388. giveRareReward();
  389. } else {
  390. giveCommonReward();
  391. }
  392. }
  393.  
  394. /**
  395. * Handles giving a rare reward.
  396. */
  397.  
  398. public void giveRareReward() {
  399. //p.gfx0(1368);
  400. int rareitem = 0;
  401. rareitem = Misc.random(rarerewards.length - 1);
  402. if (rareitem < 0) {
  403. rareitem = Misc.random(rarerewards.length);
  404. }
  405. player.raidReward[0][0] = rarerewards[rareitem];
  406. PlayerHandler.executeGlobalMessage("@red@" + player.playerName + " has received a rare item @red@" + ItemDefinition.forId(player.raidReward[0][0]).getName() + " from raids!");
  407. if (player.raidReward[0][0] == 20849) {
  408. player.raidReward[0][1] = 500;
  409. } else {
  410. player.raidReward[0][1] = 1;
  411. }
  412.  
  413. //p.getItems().addItem(player.raidReward[0][0], player.raidReward[0][1]);
  414. }
  415.  
  416. /**
  417. * Handles giving a common reward
  418. */
  419. public void giveCommonReward() {
  420. //p.gfx0(277);
  421. int commonitem = 0;
  422. commonitem = Misc.random(commonrewards.length - 1);
  423. player.raidReward[0][0] = commonrewards[commonitem];
  424.  
  425. switch (player.raidReward[0][0]) {
  426. case 560://death rune
  427. player.raidReward[0][1] = Misc.random(500);
  428. break;
  429. case 565://blood rune
  430. player.raidReward[0][1] = Misc.random(250);
  431. break;
  432. case 566://soul rune
  433. player.raidReward[0][1] = Misc.random(500);
  434. break;
  435. case 892://rune arrow
  436. player.raidReward[0][1] = Misc.random(500);
  437. break;
  438. case 11212://dragon arrow
  439. player.raidReward[0][1] = Misc.random(926);
  440. break;
  441. case 3050://grimy toadflax
  442. player.raidReward[0][1] = Misc.random(354);
  443. break;
  444. case 208://grimy rannar
  445. player.raidReward[0][1] = Misc.random(84);
  446. break;
  447. case 210://grimy irit
  448. player.raidReward[0][1] = Misc.random(268);
  449. break;
  450. case 212://grimy avantoe
  451. player.raidReward[0][1] = Misc.random(154);
  452. break;
  453. case 214://grimy kwuarm
  454. player.raidReward[0][1] = Misc.random(123);
  455. break;
  456. case 3052://grimy snapdragon
  457. player.raidReward[0][1] = Misc.random(61);
  458. break;
  459. case 216://grimy cadatine
  460. player.raidReward[0][1] = Misc.random(119);
  461. break;
  462. case 2486://grimy lantadyme
  463. player.raidReward[0][1] = Misc.random(246);
  464. break;
  465. case 218://grimy dwarf weed
  466. player.raidReward[0][1] = Misc.random(216);
  467. break;
  468. case 220://grimy torsol
  469. player.raidReward[0][1] = Misc.random(153);
  470. break;
  471. case 443://silver ore
  472. player.raidReward[0][1] = Misc.random(500);
  473. break;
  474. case 454://coal
  475. player.raidReward[0][1] = Misc.random(200);
  476. break;
  477. case 445://gold ore
  478. player.raidReward[0][1] = Misc.random(500);
  479. break;
  480. case 448://mithril ore
  481. player.raidReward[0][1] = Misc.random(500);
  482. break;
  483. case 450://adamant ore
  484. player.raidReward[0][1] = Misc.random(229);
  485. break;
  486. case 452://runite ore
  487. player.raidReward[0][1] = Misc.random(47);
  488. break;
  489. case 1624://uncut sapphire
  490. player.raidReward[0][1] = Misc.random(342);
  491. break;
  492. case 1622://uncut emerald
  493. player.raidReward[0][1] = Misc.random(223);
  494. break;
  495. case 1620://uncut ruby
  496. player.raidReward[0][1] = Misc.random(224);
  497. break;
  498. case 1618: //uncut diamond
  499. player.raidReward[0][1] = Misc.random(153);
  500. break;
  501. case 13391: //lizard fang
  502. player.raidReward[0][1] = Misc.random(2898);
  503. break;
  504. case 7937://pure ess
  505. player.raidReward[0][1] = Misc.random(1000);
  506. break;
  507. case 2722://hard casket
  508. player.raidReward[0][1] = 1;
  509. break;
  510. default:
  511. player.raidReward[0][1] = 1;
  512. break;
  513.  
  514. }
  515. }
  516.  
  517. final int OLM = 7554;
  518. final int OLM_RIGHT_HAND = 7553;
  519. final int OLM_LEFT_HAND = 7555;
  520.  
  521. public void handleMobDeath(NPC npc) {
  522. player.getRaids().raidLeader.getRaids().mobAmount -= 1;
  523. switch (npc.npcType) {
  524. case OLM:
  525. Server.getGlobalObjects().add(new GlobalObject(-1, 3232, 5749, player.getHeight(), 10, 3));
  526. Server.getGlobalObjects().add(new GlobalObject(29885, 3220, 5743, player.getHeight(), 10, 3));
  527. Server.getGlobalObjects().add(new GlobalObject(29888, 3220, 5733, player.getHeight(), 10, 3));
  528. Server.getGlobalObjects().add(new GlobalObject(29882, 3220, 5738, player.getHeight(), 10, 3));
  529. Server.getGlobalObjects().add(new GlobalObject(30028, 3233, 5751, player.getHeight(), 10, 4));
  530.  
  531. for (String username : player.getRaids().raidLeader.clan.activeMembers) {
  532. Player p = PlayerHandler.getPlayer(username);
  533. if (!p.inRaids()) {
  534. continue;
  535. }
  536. p.getRaids().giveReward();
  537.  
  538. p.raidCount += 1;
  539. p.sendMessage("@red@Congratulations you have defeated The Great Olm and completed the raid!");
  540. p.sendMessage("@red@You have completed " + p.raidCount + " raids.");
  541. p.getItems().addItemUnderAnyCircumstance(p.raidReward[0][0], p.raidReward[0][1]);
  542. this.leaveGame(p);
  543. p.sendMessage("You have been teleported home after your Raid.");
  544. }
  545.  
  546. return;
  547. case OLM_RIGHT_HAND:
  548. player.getRaids().raidLeader.getRaids().rightHand = true;
  549. if (player.getRaids().raidLeader.getRaids().leftHand == true) {
  550. Server.getGlobalObjects().remove(new GlobalObject(29885, 3220, 5743, player.getHeight(), 10, 3));
  551. player.sendMessage("@red@ You have defeated both of The Great Olm's hands he is now vulnerable.");
  552. } else {
  553. Server.getGlobalObjects().remove(new GlobalObject(29885, 3220, 5743, player.getHeight(), 10, 3));
  554. player.sendMessage("@red@ You have defeated one of The Great Olm's hands destroy the other one quickly!");
  555. }
  556. return;
  557. case OLM_LEFT_HAND:
  558. player.getRaids().raidLeader.getRaids().leftHand = true;
  559. if (player.getRaids().raidLeader.getRaids().rightHand == true) {
  560. Server.getGlobalObjects().remove(new GlobalObject(29888, 3220, 5733, player.getHeight(), 10, 3));
  561. player.sendMessage("@red@ You have defeated both of The Great Olm's hands he is now vulnerable.");
  562. } else {
  563. Server.getGlobalObjects().remove(new GlobalObject(29888, 3220, 5733, player.getHeight(), 10, 3));
  564. player.sendMessage("@red@ You have defeated one of The Great Olm's hands destroy the other one quickly!");
  565. }
  566. return;
  567. }
  568. //Add points to everyone in the raid group.
  569. for (Player player : this.raidGroup) {
  570. if (npc.damagers.containsKey(player)) {
  571. this.raidLeader.getRaids().addPoints(player, npc.getDamagers().get(player));
  572. groupPoints += npc.getDamagers().get(player) * 5;
  573. player.getRaids().updateRaidPoints(player);
  574. player.sendMessage("@red@You receive " + (npc.getDamagers().get(player) * 5) + " points from killing this monster.");
  575. player.sendMessage("@red@You now have " + raidPoints.get(player) + " points and " + groupPoints + " group points.");
  576. npc.getDamagers().remove(player);
  577. } else {
  578. player.sendMessage("@red@You did not participate in killing this boss.");
  579. player.sendMessage("@red@You now have " + raidPoints.get(player) + " points and " + groupPoints + " group points.");
  580. }
  581. }
  582. if (player.getRaids().raidLeader.getRaids().mobAmount == 0) {
  583. player.sendMessage("@red@The room has been cleared and you are free to pass.");
  584. } else {
  585. player.sendMessage("@red@There are " + player.getRaids().raidLeader.getRaids().mobAmount + " enemies remaining.");
  586. }
  587. //player.sendMessage("test");
  588. }
  589.  
  590. /**
  591. * Spawns npc for the current room
  592. *
  593. * @param currentRoom The room
  594. */
  595. public void spawnNpcs(int currentRoom) {
  596.  
  597. int height = player.getRaids().getHeight(player);
  598.  
  599. switch (player.getRaids().roomNames.get(currentRoom)) {
  600. case "lizardmen":
  601. if (lizards) {
  602. return;
  603. }
  604. if (path == 0) {
  605. NPCHandler.spawn(7573, 3274, 5262, height, 1, 350, 25, 300, 300, true);
  606. NPCHandler.spawn(7573, 3282, 5266, height, 1, 350, 25, 300, 300, true);
  607. NPCHandler.spawn(7573, 3275, 5269, height, 1, 350, 25, 300, 300, true);
  608. } else {
  609. NPCHandler.spawn(7573, 3307, 5265, height, 1, 350, 25, 300, 300, true);
  610. NPCHandler.spawn(7573, 3314, 5265, height, 1, 350, 25, 300, 300, true);
  611. NPCHandler.spawn(7573, 3314, 5261, height, 1, 350, 25, 300, 300, true);
  612. }
  613. lizards = true;
  614. mobAmount += 3;
  615. break;
  616. case "vasa":
  617. if (vasa) {
  618. return;
  619. }
  620. if (path == 0) {
  621. NPCHandler.spawn(7566, 3280, 5295, height, -1, 650, 25, 250, 300, true);
  622. mobAmount += 1;
  623. } else {
  624. NPCHandler.spawn(7566, 3311, 5295, height, -1, 650, 25, 250, 300, true);
  625. }
  626. vasa = true;
  627. mobAmount += 1;
  628. break;
  629. case "vanguard":
  630. if (vanguard) {
  631. return;
  632. }
  633. if (path == 0) {
  634. NPCHandler.spawn(7527, 3277, 5326, height, -1, 300, 25, 140, 200, true); // melee vanguard
  635. NPCHandler.spawn(7528, 3277, 5332, height, -1, 300, 25, 140, 200, true); // range vanguard
  636. NPCHandler.spawn(7529, 3285, 5329, height, -1, 300, 25, 140, 200, true); // magic vanguard
  637. } else {
  638. NPCHandler.spawn(7527, 3310, 5324, height, -1, 300, 25, 140, 200, true); // melee vanguard
  639. NPCHandler.spawn(7528, 3310, 5331, height, -1, 300, 25, 140, 200, true); // range vanguard
  640. NPCHandler.spawn(7529, 3316, 5331, height, -1, 300, 25, 140, 200, true);// magic vanguard
  641. }
  642. vanguard = true;
  643. mobAmount += 3;
  644. break;
  645. case "ice":
  646. if (ice) {
  647. return;
  648. }
  649. if (path == 0) {
  650. NPCHandler.spawn(7585, 3273, 5365, height, -1, 750, 45, 350, 300, true);
  651. } else {
  652. NPCHandler.spawn(7585, 3310, 5367, height, -1, 750, 45, 350, 300, true);
  653. }
  654. ice = true;
  655. mobAmount += 1;
  656. break;
  657. case "chest":
  658.  
  659. break;
  660. case "scavenger":
  661.  
  662. break;
  663. case "skeletal":
  664. if (mystic) {
  665. return;
  666. }
  667. if (path == 0) {
  668. NPCHandler.spawn(7604, 3279, 5271, height + 1, -1, 250, 25, 400, 250, true);
  669. NPCHandler.spawn(7605, 3290, 5268, height + 1, -1, 250, 25, 500, 250, true);
  670. NPCHandler.spawn(7606, 3279, 5264, height + 1, -1, 250, 25, 400, 250, true);
  671. } else {
  672. NPCHandler.spawn(7604, 3318, 5262, height + 1, -1, 250, 25, 400, 250, true);
  673. NPCHandler.spawn(7605, 3307, 5258, height + 1, -1, 250, 25, 500, 250, true);
  674. NPCHandler.spawn(7606, 3301, 5262, height + 1, -1, 250, 25, 400, 250, true);
  675. }
  676. mobAmount += 3;
  677. mystic = true;
  678. break;
  679. case "tekton":
  680. if (tekton) {
  681. return;
  682. }
  683. if (path == 0) {
  684. NPCHandler.spawn(7544, 3280, 5295, height + 1, -1, 1200, 45, 450, 300, true);
  685. } else {
  686. NPCHandler.spawn(7544, 3310, 5293, height + 1, -1, 1200, 45, 450, 300, true);
  687. }
  688. mobAmount += 1;
  689. tekton = true;
  690. break;
  691. case "muttadile":
  692. if (mutta) {
  693. return;
  694. }
  695. if (path == 0) {
  696. NPCHandler.spawn(7563, 3276, 5331, height + 1, 1, 750, 25, 400, 400, true);
  697. } else {
  698. NPCHandler.spawn(7563, 3308, 5331, height + 1, 1, 750, 25, 400, 400, true);
  699. }
  700. mobAmount += 1;
  701. mutta = true;
  702. break;
  703. case "archer":
  704. if (archers) {
  705. return;
  706. }
  707. if (path == 0) {
  708. NPCHandler.spawn(7559, 3287, 5364, height + 1, -1, 150, 25, 100, 100, true); // deathly ranger
  709. NPCHandler.spawn(7559, 3287, 5363, height + 1, -1, 150, 25, 100, 100, true); // deathly ranger
  710. NPCHandler.spawn(7559, 3285, 5363, height + 1, -1, 150, 30, 100, 100, true); // deathly ranger
  711. NPCHandler.spawn(7559, 3285, 5364, height + 1, -1, 150, 30, 100, 100, true); // deathly ranger
  712.  
  713. NPCHandler.spawn(7560, 3286, 5369, height + 1, -1, 150, 25, 100, 100, true); // deathly mager
  714. NPCHandler.spawn(7560, 3284, 5369, height + 1, -1, 150, 25, 100, 100, true); // deathly mager
  715. NPCHandler.spawn(7560, 3286, 5370, height + 1, -1, 150, 30, 100, 100, true); // deathly mager
  716. NPCHandler.spawn(7560, 3284, 5370, height + 1, -1, 150, 30, 100, 100, true); // deathly mager
  717. } else {
  718. NPCHandler.spawn(7559, 3319, 5363, height + 1, -1, 150, 25, 100, 100, true); // deathly ranger
  719. NPCHandler.spawn(7559, 3317, 5363, height + 1, -1, 150, 25, 100, 100, true); // deathly ranger
  720. NPCHandler.spawn(7559, 3317, 5364, height + 1, -1, 150, 30, 100, 100, true); // deathly ranger
  721. NPCHandler.spawn(7559, 3319, 5364, height + 1, -1, 150, 30, 100, 100, true); // deathly ranger
  722.  
  723. NPCHandler.spawn(7560, 3318, 5370, height + 1, -1, 150, 25, 100, 100, true); // deathly mager
  724. NPCHandler.spawn(7560, 3318, 5369, height + 1, -1, 150, 25, 100, 100, true); // deathly mager
  725. NPCHandler.spawn(7560, 3316, 5369, height + 1, -1, 150, 30, 100, 100, true); // deathly mager
  726. NPCHandler.spawn(7560, 3316, 5370, height + 1, -1, 150, 30, 100, 100, true); // deathly mager
  727. }
  728. archers = true;
  729. mobAmount += 8;
  730. break;
  731. case "olm":
  732. if (olm) {
  733. return;
  734. }
  735. NPCHandler.spawn(7553, 3223, 5733, height, -1, 500, 33, 272, 272, false); // left claw
  736. NPCHandler.spawn(7554, 3223, 5737, height, -1, 1600, 33, 272, 272, true); // olm head
  737. NPCHandler.spawn(7555, 3223, 5742, height, -1, 500, 33, 272, 272, false); // right claw
  738.  
  739. Server.getGlobalObjects().add(new GlobalObject(29884, 3220, 5743, getHeight(player), 3, 10));
  740. Server.getGlobalObjects().add(new GlobalObject(29887, 3220, 5733, getHeight(player), 3, 10));
  741. Server.getGlobalObjects().add(new GlobalObject(29881, 3220, 5737, getHeight(player), 3, 10));
  742.  
  743. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5732, getHeight(player), 3, 10));
  744. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5733, getHeight(player), 3, 10));
  745. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5734, getHeight(player), 3, 10));
  746. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5735, getHeight(player), 3, 10));
  747. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5736, getHeight(player), 3, 10));
  748. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5737, getHeight(player), 3, 10));
  749. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5738, getHeight(player), 3, 10));
  750. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5739, getHeight(player), 3, 10));
  751. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5740, getHeight(player), 3, 10));
  752. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5741, getHeight(player), 3, 10));
  753. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5742, getHeight(player), 3, 10));
  754. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5743, getHeight(player), 3, 10));
  755. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5744, getHeight(player), 3, 10));
  756. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5745, getHeight(player), 3, 10));
  757. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5746, getHeight(player), 3, 10));
  758. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5747, getHeight(player), 3, 10));
  759. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5748, getHeight(player), 3, 10));
  760. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5749, getHeight(player), 3, 10));
  761. Server.getGlobalObjects().add(new GlobalObject(2376, 3227, 5750, getHeight(player), 3, 10));
  762. olm = true;
  763. mobAmount += 3;
  764. break;
  765. }
  766. reachedRoom += 1;
  767. }
  768.  
  769. /**
  770. * Handles object clicking for raid objects
  771. *
  772. * @param player The player
  773. * @param objectId The object id
  774. * @return
  775. */
  776. public boolean handleObjectClick(Player player, int objectId) {
  777. switch (objectId) {
  778. case 29789:
  779. case 29734:
  780. player.getRaids().nextRoom(player);
  781. return true;
  782. case 29879:
  783. if(player.inRaids()) {
  784. player.getRaids().nextRoom(player);
  785. player.getPA().movePlayer(3232, 5732, 0);
  786. return true;
  787. }
  788. return false;
  789. case 29777:
  790. player.getRaids().startRaid();
  791. return true;
  792. case 30066:
  793. return true;
  794. case 29778:
  795. player.getRaids().leaveGame(player);
  796. return true;
  797. case 30028:
  798. player.getPA().showInterface(57000);
  799. return true;
  800. }
  801. return false;
  802. }
  803.  
  804. /**
  805. * Goes to the next room, Handles spawning etc.
  806. */
  807. public void nextRoom(Player player) {
  808. //player.sendMessage("nextroom1");
  809. if(!player.getName().equalsIgnoreCase(raidLeader.getName())) {
  810. if(this.currentRoom + 1 > this.reachedRoom && currentRoom != 0) {
  811. if(this.mobAmount > 0) {
  812.  
  813. }
  814. }
  815. }
  816. if (player.getRaids().raidLeader.playerName != player.playerName) {
  817. if (player.getRaids().currentRoom + 1 > player.getRaids().raidLeader.getRaids().reachedRoom && currentRoom != 0) {
  818. if (player.getRaids().raidLeader.getRaids().mobAmount > 0 && player.getRaids().currentRoom == player.getRaids().raidLeader.getRaids().currentRoom) {
  819. player.sendMessage("@red@Please defeat all the monsters before going to the next room.");
  820. return;
  821. }
  822. }
  823.  
  824. } else {
  825. if (player.getRaids().currentRoom == player.getRaids().raidLeader.getRaids().reachedRoom) {
  826. if (player.getRaids().raidLeader.getRaids().mobAmount > 0) {
  827. player.sendMessage("@red@Please defeat all the monsters before going to the next room.");
  828. return;
  829. }
  830. }
  831. }
  832.  
  833. //player.sendMessage("nextroom2");
  834. /**
  835. if(player.getRaids().raidLeader.playerName != player.playerName) {
  836. if(player.getRaids().currentRoom + 1 < player.getRaids().raidLeader.getRaids().reachedRoom){
  837. return;
  838. }
  839. }
  840.  
  841. if(player.getRaids().raidLeader.getRaids().mobAmount > 0 && currentRoom != 0 && player.getRaids().currentRoom < player.getRaids().raidLeader.getRaids().reachedRoom) {
  842. player.sendMessage("@red@Please defeat all the monsters before going to the next room.");
  843. return;
  844. }
  845. **/
  846.  
  847.  
  848. //player.sendMessage("nextroom3");
  849. player.getPA().movePlayer(roomPaths.get(currentRoom + 1).getX(), roomPaths.get(currentRoom + 1).getY(), roomPaths.get(currentRoom + 1).getZ() == 1 ? getHeight(player) + 1 : getHeight(player));
  850.  
  851. player.getRaids().updateRaidPoints(player);
  852. currentRoom += 1;
  853.  
  854. if (player.getRaids().raidLeader.playerName != player.playerName) {
  855. return;
  856. }
  857. spawnNpcs(currentRoom);
  858. }
  859. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement