RuneHive-Game
Loading...
Searching...
No Matches
NpcUtility.java
Go to the documentation of this file.
1package com.runehive.game.world.entity.mob.npc;
2
3import com.runehive.game.world.entity.combat.strategy.CombatStrategy;
4import com.runehive.game.world.entity.combat.strategy.npc.boss.*;
5import com.runehive.game.world.entity.combat.strategy.npc.boss.armadyl.FlightKilisa;
6import com.runehive.game.world.entity.combat.strategy.npc.boss.armadyl.FlockleaderGeerin;
7import com.runehive.game.world.entity.combat.strategy.npc.boss.armadyl.KreeArra;
8import com.runehive.game.world.entity.combat.strategy.npc.boss.armadyl.WingmanSkree;
9import com.runehive.game.world.entity.combat.strategy.npc.boss.dagannoths.DagannothPrime;
10import com.runehive.game.world.entity.combat.strategy.npc.boss.dagannoths.DagannothRex;
11import com.runehive.game.world.entity.combat.strategy.npc.boss.dagannoths.DagannothSupreme;
12import com.runehive.game.world.entity.combat.strategy.npc.boss.dagannoths.Spinolyp;
13import com.runehive.game.world.entity.combat.strategy.npc.boss.kril.Balfrug;
14import com.runehive.game.world.entity.combat.strategy.npc.boss.kril.Tstanon;
15import com.runehive.game.world.entity.combat.strategy.npc.boss.kril.Zakln;
16import com.runehive.game.world.entity.combat.strategy.npc.boss.magearena.Derwen;
17import com.runehive.game.world.entity.combat.strategy.npc.boss.magearena.Justiciar;
18import com.runehive.game.world.entity.combat.strategy.npc.boss.magearena.Porazdir;
19import com.runehive.game.world.entity.combat.strategy.npc.boss.scorpia.Scorpia;
20import com.runehive.game.world.entity.combat.strategy.npc.boss.scorpia.ScorpiaGuardian;
21import com.runehive.game.world.entity.combat.strategy.npc.boss.scorpia.ScorpiaOffspring;
22import com.runehive.game.world.entity.combat.strategy.npc.boss.skotizo.Skotizo;
23import org.jire.runehiveps.kalphitequeen.KalphiteQueen;
24
25import java.util.HashMap;
26import java.util.Map;
27import java.util.function.Supplier;
28
29/**
30 * Utility class for npcs
31 *
32 * @author Daniel
33 */
34public class NpcUtility {
35
36 static final int[] BOSSES = {
37 239, /* King Black Dragon */
38 6618, /* Crazy Archeologist */
39 319, /* Corporeal Beast */
40 6619, /* Chaos Fanatic */
41 2042, /* Zulrah */
42 2043, /* Zulrah */
43 2044, /* Zulrah */
44 3127, /* Tz-tok Jad */
45 6503, /* Callisto */
46 2267, /* Dagannoth Rex */
47 2266, /* Dagannoth Prime */
48 2265, /* Dagganoth Supreme */
49 6615, /* Scorpia */
50 6611, /* Vet'ion */
51 7286, /* Skotizo */
52 6504, /* Venenatis */
53 7700, /* JalTokJad */
54 3162, /* Kree'arra */
55 5862, /* Cerberus */
56 2205, /* Commander Zilyana */
57 8060, /* Vorkath */
58 KalphiteQueen.PHASE2_ID // only phase 2, since "killing" phase 1 doesn't count
59 };
60
61 static final int[] DRAGONS = {
62 /* Bronze */ 270, 271,
63 /* Iron */ 272, 273,
64 /* Steel */ 139, 274, 275,
65 /* Mithril */ 2919,
66 /* Green */ 260, 261, 262, 263, 264,
67 /* Red */ 247, 248, 249, 250, 251, 7274,
68 /* Blue */ 265, 4385, 5878, 5879, 5880, 5881, 5882, 7273,
69 /* Black */ 239, 252, 253, 254, 255, 256, 257, 258, 259, 2642, 6500, 6501, 6502, 6636, 6652, 7275
70 };
71
72 static final int[] BANDOS = {2242, 2243, 2244, 2245, 2235, 2240};
73
74 static final int[] SARADOMIN = {2209, 2210, 2211, 2212};
75
76 static final int[] ARMADYL = {3166, 3167, 3168, 3172, 3183, 3176};
77
78 static final int[] ZAMORAK = {3159, 3160, 3161, 3134, 3139, 3140, 3138, 3135, 3133,};
79
80 public static final Map<Integer, Supplier<CombatStrategy<Npc>>> STRATEGIES = new HashMap<>() {{
81 put(239, KingBlackDragonStrategy::new);
82 put(6618, CrazyArchaeologist::new);
83 put(319, CorporealBeast::new);
84 put(6619, ChaosFanatic::new);
85 put(2042, Zulrah::new);
86 put(3127, TzTokJad::new);
87 put(6503, Callisto::new);
88 put(7147, DemonicGorillas::new);
89 put(7148, DemonicGorillas::new);
90 put(7149, DemonicGorillas::new);
91 put(8610, Wyrm::new);
92 put(8611, Wyrm::new);
93 put(2267, DagannothRex::new);
94 put(2266, DagannothPrime::new);
95 put(2265, DagannothSupreme::new);
96 put(5947, Spinolyp::new);
97 put(6615, Scorpia::new);
98 put(6616, ScorpiaOffspring::new);
99 put(6617, ScorpiaGuardian::new);
100 put(6611, Vetion::new);
101 put(7286, Skotizo::new);
102 put(6504, Venenatis::new);
103 put(3130, Tstanon::new);
104 put(3131, Zakln::new);
105 put(3132, Balfrug::new);
106 put(3162, KreeArra::new);
107 put(3163, WingmanSkree::new);
108 put(3164, FlockleaderGeerin::new);
109 put(3165, FlightKilisa::new);
110 put(6766, LizardShaman::new);
111 put(6767, LizardShaman::new);
112 put(5862, Cerberus::new);
113 put(8060, Vorkath::new);
114 put(8064, StoneGuardian::new);
115 put(8065, StoneGuardian::new);
116 put(8066, StoneGuardian::new);
117 put(7859, Derwen::new);
118 put(7858, Justiciar::new);
119 put(7860, Porazdir::new);
120 put(8609, Hydra::new);
121 put(KalphiteQueen.PHASE1_ID, KalphiteQueen::new);
122 put(KalphiteQueen.PHASE2_ID, KalphiteQueen::new);
123 }};
124}
static final Map< Integer, Supplier< CombatStrategy< Npc > > > STRATEGIES