RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
SkotizoUtility.java
1package com.osroyale.game.world.entity.combat.strategy.npc.boss.skotizo;
2
3import com.osroyale.game.world.World;
4import com.osroyale.game.world.entity.mob.Direction;
5import com.osroyale.game.world.entity.mob.Mob;
6import com.osroyale.game.world.entity.mob.npc.Npc;
7import com.osroyale.game.world.entity.mob.player.Player;
8import com.osroyale.game.world.position.Position;
9import com.osroyale.net.discord.DiscordPlugin;
10import com.osroyale.util.Utility;
11
54
55public class SkotizoUtility {
56
57 static Npc skotizo = null;
58 private static SpawnData data;
59
60 static Npc generateSpawn() {
61 data = SpawnData.generate();
62 skotizo = new Npc(7286, data.position, 10, Mob.DEFAULT_INSTANCE, Direction.NORTH);
63 skotizo.register();
64 skotizo.definition.setRespawnTime(-1);
65 skotizo.definition.setAggressive(true);
66 skotizo.speak("Darkness is here to penetrate your souls!");
67 World.sendMessage("<icon=6><col=8714E6> Skotizo has just spawned! He is located at " + data.location + "!");
68 DiscordPlugin.sendSimpleMessage("Skotizo has entered the wilderness! He is located at " + data.location + "!");
69 return skotizo;
70 }
71
72 public static String getInformation() {
73 return (skotizo == null || skotizo.isDead()) ? "Not Active" : data.location;
74 }
75
76 public static void defeated(Npc npc, Player player) {
77 if (skotizo != null && skotizo.isRegistered()) {
78 skotizo.unregister();
79 }
80
81 skotizo = null;
82 }
83
84public enum SpawnData {
85 LEVEL_18("Near boneyard hunter", new Position(3307, 3668, 0)),
86 LEVEL_19("North of chaos altar", new Position(3222, 3658, 0)),
87 LEVEL_28("Near vennenatis", new Position(3308, 3737, 0)),
88 LEVEL_41("Near callisto", new Position(3270, 3843, 0)),
89 LEVEL_52("Near rogue's castle", new Position(3304, 3929, 0)),
90 LEVEL_53("Near scorpia's cave", new Position(3211, 3944, 0));
91
92 public final String location;
93 public final Position position;
94
95 SpawnData(String location, Position position) {
96 this.location = location;
97 this.position = position;
98 }
99
100 public static SpawnData generate() {
101 return Utility.randomElement(values());
102 }
103 }
104}
static void sendMessage(String... messages)
Definition World.java:433
static< T > T randomElement(Collection< T > collection)
Definition Utility.java:285