aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/hannibal2/skyhanni/data
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/IslandGraphs.kt8
-rw-r--r--src/main/java/at/hannibal2/skyhanni/data/model/GraphNodeTag.kt32
2 files changed, 31 insertions, 9 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/IslandGraphs.kt b/src/main/java/at/hannibal2/skyhanni/data/IslandGraphs.kt
index 02a065abe..0b173db46 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/IslandGraphs.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/IslandGraphs.kt
@@ -40,6 +40,7 @@ import kotlin.math.abs
* jump pads between servers
* ring of love/romeo juliet quest
* death location
+ * % of island discvovered (every node was most closest node at least once)
* hub:
* 12 starter NPC's
* diana
@@ -49,6 +50,8 @@ import kotlin.math.abs
* enigma souls
* eyes
* big quests
+ * montezuma souls
+ * blood effigies
* spider:
* relicts + throw spot
* dwarven mines:
@@ -56,7 +59,7 @@ import kotlin.math.abs
* commssion areas
* events: raffle, goblin slayer, donpieresso
* deep
- * path to the bottom
+ * path to the bottom (Rhys NPC)
* end
* golem spawn
* dragon death spot
@@ -65,12 +68,15 @@ import kotlin.math.abs
* area mini bosses
* daily quests
* intro tutorials with elle
+ * fishing spots
*
* graph todo:
* fix rename not using tick but input event we have (+ create the input event in the first place)
* toggle distance to node by node path lengh, instead of eye of sight lenght
* press test button again to enable "true test mode", with graph math and hiding other stuff
* option to compare two graphs, and store multiple graphs in the edit mode in paralell
+ *
+ * mineshaft + corpse + ladder spot
*/
@SkyHanniModule
diff --git a/src/main/java/at/hannibal2/skyhanni/data/model/GraphNodeTag.kt b/src/main/java/at/hannibal2/skyhanni/data/model/GraphNodeTag.kt
index a73498013..e1fa3317a 100644
--- a/src/main/java/at/hannibal2/skyhanni/data/model/GraphNodeTag.kt
+++ b/src/main/java/at/hannibal2/skyhanni/data/model/GraphNodeTag.kt
@@ -1,8 +1,15 @@
package at.hannibal2.skyhanni.data.model
+import at.hannibal2.skyhanni.data.IslandType
import at.hannibal2.skyhanni.utils.LorenzColor
-enum class GraphNodeTag(val internalName: String?, val color: LorenzColor, val cleanName: String, val description: String) {
+enum class GraphNodeTag(
+ val internalName: String,
+ val color: LorenzColor,
+ val cleanName: String,
+ val description: String,
+ val onlyIsland: IslandType? = null,
+) {
DEV("dev", LorenzColor.WHITE, "Dev", "Intentionally marked as dev."), // E.g. Spawn points, todos, etc
// Everywhere
@@ -16,31 +23,40 @@ enum class GraphNodeTag(val internalName: String?, val color: LorenzColor, val c
ROMEO("romeo", LorenzColor.WHITE, "Romeo & Juliette Quest", "Blocks related to the Romeo and Juliette/Ring of Love quest line."),
RACE("race", LorenzColor.WHITE, "Race Start/Stop", "A race start or stop point."),
SLAYER("slayer", LorenzColor.WHITE, "Slayer", "A Slayer area"),
+ HOPPITY("hoppity", LorenzColor.AQUA, "Hoppity Egg", "An egg location in Hoppity's Hunt."),
// hoppity
// Hub
- HUB_12_STARTER("starter_npc", LorenzColor.WHITE, "Starter NPC", "One of the 12 starter NPC's you need to talk to."),
+ HUB_12_STARTER(
+ "starter_npc", LorenzColor.WHITE, "Starter NPC", "One of the 12 starter NPC's you need to talk to.",
+ onlyIsland = IslandType.HUB,
+ ),
// diana
// Farming Islands: Pelts
- FARMING_CROP("farming_crop", LorenzColor.WHITE, "Farming Crop", "A spot where you can break crops on farming islands."),
+// FARMING_CROP("farming_crop", LorenzColor.WHITE, "Farming Crop", "A spot where you can break crops on farming islands."),
// Rift
- RIFT_ENIGMA("rift_enigma", LorenzColor.DARK_PURPLE, "Enigma Soul", "Enigma Souls in the rift."),
- RIFT_EYE("rift_eye", LorenzColor.DARK_RED, "Eye", "An Eye in the rift to teleport to."),
+ RIFT_ENIGMA("rift_enigma", LorenzColor.DARK_PURPLE, "Enigma Soul", "Enigma Souls in the rift.", onlyIsland = IslandType.THE_RIFT),
+ RIFT_EYE("rift_eye", LorenzColor.DARK_RED, "Rift Eye", "An Eye in the rift to teleport to.", onlyIsland = IslandType.THE_RIFT),
+ RIFT_MONTEZUMA("rift_montezuma", LorenzColor.GRAY, "Montezuma Soul Piece", "A piece of the Montezuma Soul.", onlyIsland = IslandType.THE_RIFT),
+ RIFT_EFFIGY("rift_effigy", LorenzColor.RED, "Blood Effigies", "Locations of the Blood Effigies.", onlyIsland = IslandType.THE_RIFT),
// Spider's Den
- SPIDER_RELIC("SPIDER_RELIC", LorenzColor.DARK_PURPLE, "Relic", "An relic in the Spider's Den."),
+ SPIDER_RELIC("SPIDER_RELIC", LorenzColor.DARK_PURPLE, "Spider's Relic", "An relic in the Spider's Den.", onlyIsland = IslandType.SPIDER_DEN),
// Dwarven Mines
- MINES_EMISSARY("mines_emissary", LorenzColor.GOLD, "Emissary", "A Emissary from the king."),
+ MINES_EMISSARY("mines_emissary", LorenzColor.GOLD, "Mines Emissary", "A Emissary from the king.", onlyIsland = IslandType.DWARVEN_MINES),
// commission areas
+ // Crimson Isles
+ CRIMSON_MINIBOSS("crimson_miniboss", LorenzColor.RED, "Crimson Miniboss", "Mini bosses in Crimson Isle.", onlyIsland = IslandType.CRIMSON_ISLE),
+
;
val displayName: String = color.getChatColor() + cleanName
companion object {
- fun byId(internalName: String?): GraphNodeTag? = values().firstOrNull { it.internalName == internalName }
+ fun byId(internalName: String?): GraphNodeTag? = entries.firstOrNull { it.internalName == internalName }
}
}