nice
This commit is contained in:
45
src/main/java/ee/futur/gotr/data/Altar.java
Normal file
45
src/main/java/ee/futur/gotr/data/Altar.java
Normal file
@@ -0,0 +1,45 @@
|
||||
package ee.futur.gotr.data;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
public enum Altar {
|
||||
AIR(43701, Constants.AIR_SPRITE),
|
||||
MIND(43705, Constants.MIND_SPRITE),
|
||||
WATER(43702, Constants.WATER_SPRITE),
|
||||
EARTH(43703, Constants.EARTH_SPRITE),
|
||||
FIRE(43704, Constants.FIRE_SPRITE),
|
||||
BODY(43709, Constants.BODY_SPRITE),
|
||||
COSMIC(43710, Constants.COSMIC_SPRITE),
|
||||
CHAOS(43706, Constants.CHAOS_SPRITE),
|
||||
NATURE(43711, Constants.NATURE_SPRITE),
|
||||
LAW(43712, Constants.LAW_SPRITE),
|
||||
DEATH(43707, Constants.DEATH_SPRITE),
|
||||
BLOOD(43708, Constants.BLOOD_SPRITE);
|
||||
|
||||
final int id;
|
||||
final int spriteId;
|
||||
|
||||
Altar(int id, int spriteId) {
|
||||
this.id = id;
|
||||
this.spriteId = spriteId;
|
||||
}
|
||||
|
||||
public static Altar getAltarBySpriteId(int spriteId) {
|
||||
for (Altar altar : Altar.values()) {
|
||||
if (altar.getSpriteId() == spriteId) {
|
||||
return altar;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static Altar getAltarByObjectId(int id) {
|
||||
for (Altar altar : Altar.values()) {
|
||||
if (altar.getId() == id) {
|
||||
return altar;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
38
src/main/java/ee/futur/gotr/data/CellMapper.java
Normal file
38
src/main/java/ee/futur/gotr/data/CellMapper.java
Normal file
@@ -0,0 +1,38 @@
|
||||
package ee.futur.gotr.data;
|
||||
|
||||
import net.runelite.api.ItemID;
|
||||
import net.runelite.api.ObjectID;
|
||||
|
||||
public class CellMapper {
|
||||
public static int GetCellTier(int cellID) {
|
||||
switch (cellID) {
|
||||
case ItemID.WEAK_CELL:
|
||||
return 1;
|
||||
case ItemID.MEDIUM_CELL:
|
||||
return 2;
|
||||
case ItemID.STRONG_CELL:
|
||||
return 3;
|
||||
case ItemID.OVERCHARGED_CELL:
|
||||
return 4;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
public static int GetShieldTier(int shieldID) {
|
||||
switch (shieldID) {
|
||||
case ObjectID.INACTIVE_CELL_TILE:
|
||||
return 0;
|
||||
case ObjectID.WEAK_CELL_TILE:
|
||||
return 1;
|
||||
case ObjectID.MEDIUM_CELL_TILE:
|
||||
return 2;
|
||||
case ObjectID.STRONG_CELL_TILE:
|
||||
return 3;
|
||||
case ObjectID.OVERPOWERED_CELL_TILE:
|
||||
return 4;
|
||||
default:
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
74
src/main/java/ee/futur/gotr/data/Constants.java
Normal file
74
src/main/java/ee/futur/gotr/data/Constants.java
Normal file
@@ -0,0 +1,74 @@
|
||||
package ee.futur.gotr.data;
|
||||
|
||||
public class Constants {
|
||||
//Locations
|
||||
public static final int OUTSIDE_BARRIER_Y = 9482;
|
||||
public static final int LARGE_MINE_X = 3637;
|
||||
public static final int HUGE_MINE_X = 3592;
|
||||
|
||||
// Game Object IDs
|
||||
public static final int BARRIER_BUSY_ID = 43849;
|
||||
public static final int BARRIER_READY_ID = 43700;
|
||||
|
||||
public static final int ACTIVE_ALTAR = 9363;
|
||||
|
||||
// Widget IDs
|
||||
public static final int PARENT_WIDGET = 48889857;
|
||||
public static final int WIDGET_POWER_PC = 48889874;
|
||||
public static final int MAIN_TIMER = 48889861;
|
||||
public static final int ELEMENTAL_ENERGY_COUNTER = 48889878;
|
||||
public static final int CATALYTIC_ENERGY_COUNTER = 48889878;
|
||||
public static final int GUARDIANS_ALIVE_COUNTER = 48889881;
|
||||
public static final int PORTAL_TIMER = 48889884;
|
||||
|
||||
public static final int WAITING_CATALYTIC_INDICATOR_SPRITE = 4355;
|
||||
|
||||
|
||||
// Widget Text
|
||||
private static final String OUTSIDE_GUARDED = "It looks like the rift is already being guarded. You must wait until they are done to join.";
|
||||
private static final String GREAT_GUARDIAN_POWER = "Great Guardian power: ";
|
||||
|
||||
|
||||
// Chat text
|
||||
public static final String ENTER_ALTAR = "You step through the rift";
|
||||
public static final String EXIT_ALTAR = "You step through the portal and find yourself back in the temple.";
|
||||
public static final String GAME_STARTED = "Creatures from the Abyss will attack in 120 seconds.";
|
||||
public static final String ATTACK_STARTED = "Creatures from the Abyss begin their attack!";
|
||||
public static final String GAME_OVER = "The Great guardian was defeated";
|
||||
public static final String GAME_WIN = "The Great Guardian successfully closed the rift!";
|
||||
|
||||
|
||||
// Game Objects
|
||||
public static final String BARRIER = "Barrier";
|
||||
public static final String WORKBENCH = "Workbench";
|
||||
public static final String WEAK_CELLS = "Weak cell";
|
||||
public static final String UNCHARGED_CELLS = "Uncharged cell";
|
||||
public static final String DEPOSIT_POOL = "Deposit pool";
|
||||
public static final String GAME_PARTS = "Guardian parts";
|
||||
public static final String LARGE_REMAINS = "Large guardian remains";
|
||||
public static final String HUGE_REMAINS = "Huge guardian remains";
|
||||
public static final String FRAGS = "Guardian fragments";
|
||||
public static final String ESS = "Guardian essence";
|
||||
public static final String PORTAL = "Portal";
|
||||
public static final int PORTAL_SPAWN = 43729;
|
||||
|
||||
public static final String CATALYTIC_ENERGY = "Catalytic guardian stone";
|
||||
public static final String ELEMENTAL_ENERGY = "Elemental guardian stone";
|
||||
public static final String GREAT_GUARDIAN = "The Great Guardian";
|
||||
|
||||
public static final String CRAFT_RUNES = "Craft-rune";
|
||||
|
||||
public static final int AIR_SPRITE = 4353;
|
||||
public static final int MIND_SPRITE = 4354;
|
||||
public static final int WATER_SPRITE = 4355;
|
||||
public static final int EARTH_SPRITE = 4356;
|
||||
public static final int FIRE_SPRITE = 4357;
|
||||
public static final int BODY_SPRITE = 4358;
|
||||
public static final int COSMIC_SPRITE = 4359;
|
||||
public static final int CHAOS_SPRITE = 4360;
|
||||
public static final int NATURE_SPRITE = 4361;
|
||||
public static final int LAW_SPRITE = 4362;
|
||||
public static final int DEATH_SPRITE = 4363;
|
||||
public static final int BLOOD_SPRITE = 4364;
|
||||
|
||||
}
|
||||
24
src/main/java/ee/futur/gotr/data/Pouch.java
Normal file
24
src/main/java/ee/futur/gotr/data/Pouch.java
Normal file
@@ -0,0 +1,24 @@
|
||||
package ee.futur.gotr.data;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
public class Pouch {
|
||||
|
||||
public Pouch(int id, int maxEssence) {
|
||||
this.pouchID = id;
|
||||
this.currentEssence = 0;
|
||||
this.essenceTotal = maxEssence;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
int pouchID;
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
int currentEssence;
|
||||
|
||||
@Getter
|
||||
int essenceTotal;
|
||||
}
|
||||
77
src/main/java/ee/futur/gotr/data/Runes.java
Normal file
77
src/main/java/ee/futur/gotr/data/Runes.java
Normal file
@@ -0,0 +1,77 @@
|
||||
package ee.futur.gotr.data;
|
||||
|
||||
/**
|
||||
* Taken from marcojacobsNL
|
||||
* https://github.com/marcojacobsNL/runelite-plugins/blob/master/src/main/java/com/koffee/KoffeeUtils/Runes.java
|
||||
*/
|
||||
|
||||
import com.google.common.collect.ImmutableMap;
|
||||
import lombok.AccessLevel;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.util.Map;
|
||||
|
||||
import static net.runelite.api.ItemID.*;
|
||||
|
||||
public enum Runes {
|
||||
AIR(1, AIR_RUNE),
|
||||
WATER(2, WATER_RUNE),
|
||||
EARTH(3, EARTH_RUNE),
|
||||
FIRE(4, FIRE_RUNE),
|
||||
MIND(5, MIND_RUNE),
|
||||
CHAOS(6, CHAOS_RUNE),
|
||||
DEATH(7, DEATH_RUNE),
|
||||
BLOOD(8, BLOOD_RUNE),
|
||||
COSMIC(9, COSMIC_RUNE),
|
||||
NATURE(10, NATURE_RUNE),
|
||||
LAW(11, LAW_RUNE),
|
||||
BODY(12, BODY_RUNE),
|
||||
SOUL(13, SOUL_RUNE),
|
||||
ASTRAL(14, ASTRAL_RUNE),
|
||||
MIST(15, MIST_RUNE),
|
||||
MUD(16, MUD_RUNE),
|
||||
DUST(17, DUST_RUNE),
|
||||
LAVA(18, LAVA_RUNE),
|
||||
STEAM(19, STEAM_RUNE),
|
||||
SMOKE(20, SMOKE_RUNE),
|
||||
WRATH(21, WRATH_RUNE);
|
||||
|
||||
private static final Map<Integer, Runes> runes;
|
||||
|
||||
static {
|
||||
ImmutableMap.Builder<Integer, Runes> builder = new ImmutableMap.Builder<>();
|
||||
for (Runes rune : values()) {
|
||||
builder.put(rune.getId(), rune);
|
||||
}
|
||||
runes = builder.build();
|
||||
}
|
||||
|
||||
@Getter(AccessLevel.PACKAGE)
|
||||
private final int id;
|
||||
@Getter(AccessLevel.PUBLIC)
|
||||
private final int itemId;
|
||||
@Getter(AccessLevel.PACKAGE)
|
||||
@Setter(AccessLevel.PACKAGE)
|
||||
private BufferedImage image;
|
||||
|
||||
Runes(final int id, final int itemId) {
|
||||
this.id = id;
|
||||
this.itemId = itemId;
|
||||
}
|
||||
|
||||
public static Runes getRuneVarbit(int runeID) {
|
||||
return runes.get(runeID);
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
String name = this.name();
|
||||
name = name.substring(0, 1) + name.substring(1).toLowerCase();
|
||||
return name;
|
||||
}
|
||||
|
||||
public static Runes getRune(int varbit) {
|
||||
return runes.get(varbit);
|
||||
}
|
||||
}
|
||||
49
src/main/java/ee/futur/gotr/data/Utility.java
Normal file
49
src/main/java/ee/futur/gotr/data/Utility.java
Normal file
@@ -0,0 +1,49 @@
|
||||
package ee.futur.gotr.data;
|
||||
|
||||
import net.runelite.api.QuestState;
|
||||
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
public class Utility {
|
||||
|
||||
public static int getHighestLevelRuneIndex(int level) {
|
||||
if (level < 35) {
|
||||
return 7;
|
||||
} else if (level < 44) {
|
||||
return 8;
|
||||
} else if (level < 54) {
|
||||
return 9;
|
||||
} else if (level < 65) {
|
||||
return 10;
|
||||
} else if (level < 77) {
|
||||
return 11;
|
||||
}
|
||||
|
||||
return 12;
|
||||
}
|
||||
|
||||
public static Set<Integer> getAccessibleAltars(int level, QuestState city, QuestState troll, QuestState mep, QuestState sotf) {
|
||||
Set<Integer> accessibleAltars = new HashSet<>();
|
||||
for (int i = 0; i < getHighestLevelRuneIndex(level); i++) {
|
||||
Altar[] altars = Altar.values();
|
||||
if (altars[i] == Altar.COSMIC && city != QuestState.FINISHED) {
|
||||
continue;
|
||||
}
|
||||
if (altars[i] == Altar.LAW && troll != QuestState.FINISHED) {
|
||||
continue;
|
||||
}
|
||||
if (altars[i] == Altar.DEATH && mep != QuestState.FINISHED) {
|
||||
continue;
|
||||
}
|
||||
if (altars[i] == Altar.BLOOD && sotf != QuestState.FINISHED) {
|
||||
continue;
|
||||
}
|
||||
accessibleAltars.add(altars[i].id);
|
||||
}
|
||||
|
||||
return accessibleAltars;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user