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