diff --git a/runelite-api/src/main/java/net/runelite/api/ProjectileID.java b/runelite-api/src/main/java/net/runelite/api/ProjectileID.java index 986d02591e..efe93c1243 100644 --- a/runelite-api/src/main/java/net/runelite/api/ProjectileID.java +++ b/runelite-api/src/main/java/net/runelite/api/ProjectileID.java @@ -33,4 +33,36 @@ public class ProjectileID public static final int VASA_AWAKEN_AOE = 1327; public static final int VASA_RANGED_AOE = 1329; public static final int TEKTON_METEOR_AOE = 660; + + public static final int OLM_FALLING_CRYSTAL_AOE = -1; //please help + public static final int OLM_BURNING_AOE = -1; + + public static final int VORKATH_BOMB_AOE = 1481; + public static final int VORKATH_POISON_POOL_AOE = 1483; + public static final int VORKATH_TICK_FIRE_AOE = 1482; + public static final int VORKATH_SPAWN_AOE = 1484; + + public static final int GALVEK_MINE = 1495; + public static final int GALVEK_BOMB = 1491; + + public static final int VETION_LIGHTNING = 280; + + public static final int CHAOS_FANATIC_AOE = 551; //for lack of a better word + + public static final int CORPOREAL_BEAST_AOE = 315; + public static final int CORPOREAL_BEAST_DARK_CORE_AOE = 319; + + /** + * missing: marble gargoyle, superior dark beast + */ + + /** + * non AOE, regular projectiles + */ + public static final int VORKATH_DRAGONBREATH = 393; + public static final int VORKATH_RANGED = 1477; + public static final int VORKATH_MAGIC = 1479; + public static final int VORKATH_PRAYER_DISABLE = 1471; + public static final int VORKATH_VENOM = 1470; + public static final int VORKATH_ICE = 350; } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeProjectileInfo.java b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeProjectileInfo.java index 80996c92b3..880bd862bf 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeProjectileInfo.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeProjectileInfo.java @@ -41,7 +41,46 @@ public enum AoeProjectileInfo */ VASA_AWAKEN_AOE(ProjectileID.VASA_AWAKEN_AOE, 4500, 3), VASA_RANGED_AOE(ProjectileID.VASA_RANGED_AOE, 3000, 3), - TEKTON_METEOR_AOE(ProjectileID.TEKTON_METEOR_AOE, 4000, 3); + TEKTON_METEOR_AOE(ProjectileID.TEKTON_METEOR_AOE, 4000, 3), + + /** + * The AOEs of Vorkath + */ + VORKATH_BOMB(ProjectileID.VORKATH_BOMB_AOE, 2400, 3), + VORKATH_POISON_POOL(ProjectileID.VORKATH_POISON_POOL_AOE, 1800, 1), + VORKATH_SPAWN(ProjectileID.VORKATH_SPAWN_AOE, 3000, 1), //extra tick because hard to see otherwise + VORKATH_TICK_FIRE(ProjectileID.VORKATH_TICK_FIRE_AOE, 600, 1), + + /** + * the AOEs of Galvek + */ + GALVEK_MINE(ProjectileID.GALVEK_MINE, 3600, 3), + GALVEK_BOMB(ProjectileID.GALVEK_BOMB, 2400, 3), + + /** + * the AOE of Vet'ion + */ + VETION_LIGHTNING(ProjectileID.VETION_LIGHTNING, 3000, 1), + + /** + * the AOE of Chaos Fanatic + */ + CHAOS_FANATIC(ProjectileID.CHAOS_FANATIC_AOE, 3000, 1), + + /** + * the AOE of the Corporeal Beast + */ + + CORPOREAL_BEAST(ProjectileID.CORPOREAL_BEAST_AOE, 3000, 1), + CORPOREAL_BEAST_DARK_CORE(ProjectileID.CORPOREAL_BEAST_DARK_CORE_AOE, 3000, 3), + + /** + * the AOEs of The Great Olm + * missing ids and length, please help + */ + OLM_FALLING_CRYSTAL(ProjectileID.OLM_FALLING_CRYSTAL_AOE, 2400, 3), + OLM_BURNING(ProjectileID.OLM_BURNING_AOE, 2400, 3); + /** * The id of the projectile to trigger this AoE warning diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningConfig.java index a5ed6004a7..d646a1b382 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningConfig.java @@ -95,6 +95,66 @@ public interface AoeWarningConfig extends Config return true; } + @ConfigItem( + keyName = "vorkath", + name = "Vorkath", + description = "Configures whether or not AoE Projectile Warnings for Vorkath are displayed" + ) + default boolean isVorkathEnabled() + { + return true; + } + + @ConfigItem( + keyName = "galvek", + name = "Galvek", + description = "Configures whether or not AoE Projectile Warnings for Galvek are displayed" + ) + default boolean isGalvekEnabled() + { + return true; + } + + @ConfigItem( + keyName = "vetion", + name = "Vet'ion", + description = "Configures whether or not AoE Projectile Warnings for Vet'ion are displayed" + ) + default boolean isVetionEnabled() + { + return true; + } + + @ConfigItem( + keyName = "chaosfanatic", + name = "Chaos Fanatic", + description = "Configures whether or not AoE Projectile Warnings for Chaos Fanatic are displayed" + ) + default boolean isChaosFanaticEnabled() + { + return true; + } + + @ConfigItem( + keyName = "olm", + name = "Great Olm", + description = "Configures whether or not AoE Projectile Warnings for The Great Olm are displayed" + ) + default boolean isOlmEnabled() + { + return true; + } + + @ConfigItem( + keyName = "corp", + name = "Corporeal Beast", + description = "Configures whether or not AoE Projectile Warnings for the Corporeal Beast are displayed" + ) + default boolean isCorpEnabled() + { + return true; + } + @ConfigItem( keyName = "outline", name = "Display Outline", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java index 6c868e86ab..2d7935b521 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/aoewarnings/AoeWarningPlugin.java @@ -125,6 +125,24 @@ public class AoeWarningPlugin extends Plugin return config.isVasaEnabled(); case TEKTON_METEOR_AOE: return config.isTektonEnabled(); + case VORKATH_BOMB: + case VORKATH_POISON_POOL: + case VORKATH_SPAWN: + case VORKATH_TICK_FIRE: + return config.isVorkathEnabled(); + case VETION_LIGHTNING: + return config.isVetionEnabled(); + case CHAOS_FANATIC: + return config.isChaosFanaticEnabled(); + case GALVEK_BOMB: + case GALVEK_MINE: + return config.isGalvekEnabled(); + case OLM_FALLING_CRYSTAL: + case OLM_BURNING: + return config.isOlmEnabled(); + case CORPOREAL_BEAST: + case CORPOREAL_BEAST_DARK_CORE: + return config.isCorpEnabled(); } return false;