diff --git a/runelite-api/src/main/java/net/runelite/api/Client.java b/runelite-api/src/main/java/net/runelite/api/Client.java index 95c84b78cc..88ff8e8d3d 100644 --- a/runelite-api/src/main/java/net/runelite/api/Client.java +++ b/runelite-api/src/main/java/net/runelite/api/Client.java @@ -323,4 +323,9 @@ public class Client { return client.getWidgetSettings(); } + + public boolean isPrayerActive(Prayer prayer) + { + return getSetting(prayer.getVarbit()) == 1; + } } diff --git a/runelite-api/src/main/java/net/runelite/api/Prayer.java b/runelite-api/src/main/java/net/runelite/api/Prayer.java new file mode 100644 index 0000000000..ebab8ac7b7 --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/Prayer.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2017, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api; + +public enum Prayer +{ + THICK_SKIN(Varbits.PRAYER_THICK_SKIN); + + private final Varbits varbit; + + private Prayer(Varbits varbit) + { + this.varbit = varbit; + } + + public Varbits getVarbit() + { + return varbit; + } +} diff --git a/runelite-api/src/main/java/net/runelite/api/Varbits.java b/runelite-api/src/main/java/net/runelite/api/Varbits.java index 89df90bf69..98e60d124e 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varbits.java +++ b/runelite-api/src/main/java/net/runelite/api/Varbits.java @@ -29,22 +29,41 @@ public enum Varbits /** * Runecraft pouches */ - POUCH_SMALL(486, 0, 2), - POUCH_MEDIUM(486, 3, 8), - POUCH_LARGE(486, 9, 17), - POUCH_GIANT(486, 18, 29); + POUCH_SMALL(603, 486, 0, 2), + POUCH_MEDIUM(604, 486, 3, 8), + POUCH_LARGE(605, 486, 9, 17), + POUCH_GIANT(606, 486, 18, 29), + /** + * Prayers + */ + PRAYER_THICK_SKIN(4104, 83, 0, 0); + + /** + * varbit id + */ + private final int id; + + /** + * index into settings + */ private final int index; private final int leastSignificantBit; private final int mostSignificantBit; - private Varbits(int index, int leastSignificantBit, int mostSignificantBit) + private Varbits(int id, int index, int leastSignificantBit, int mostSignificantBit) { + this.id = id; this.index = index; this.leastSignificantBit = leastSignificantBit; this.mostSignificantBit = mostSignificantBit; } + public int getId() + { + return id; + } + public int getIndex() { return index; @@ -107,7 +126,8 @@ public enum Varbits /** * Get the number of bits of storage in this varbit - * @return + * + * @return */ public int getNumberOfBits() {