diff --git a/Server/data/ObjectParser.xml b/Server/data/ObjectParser.xml
index b10a0d445..547e2eaf1 100644
--- a/Server/data/ObjectParser.xml
+++ b/Server/data/ObjectParser.xml
@@ -25,4 +25,6 @@
+
+
diff --git a/Server/data/configs/drop_tables.json b/Server/data/configs/drop_tables.json
index 8aff52d67..23b4ce721 100644
--- a/Server/data/configs/drop_tables.json
+++ b/Server/data/configs/drop_tables.json
@@ -29532,6 +29532,18 @@
"id": "1438",
"maxAmount": "1"
},
+ {
+ "minAmount": "1",
+ "weight": "25.0",
+ "id": "1456",
+ "maxAmount": "1"
+ },
+ {
+ "minAmount": "1",
+ "weight": "25.0",
+ "id": "1450",
+ "maxAmount": "1"
+ },
{
"minAmount": "1",
"weight": "25.0",
@@ -29704,6 +29716,18 @@
"id": "1438",
"maxAmount": "1"
},
+ {
+ "minAmount": "1",
+ "weight": "25.0",
+ "id": "1456",
+ "maxAmount": "1"
+ },
+ {
+ "minAmount": "1",
+ "weight": "25.0",
+ "id": "1450",
+ "maxAmount": "1"
+ },
{
"minAmount": "1",
"weight": "25.0",
@@ -29876,6 +29900,18 @@
"id": "1438",
"maxAmount": "1"
},
+ {
+ "minAmount": "1",
+ "weight": "25.0",
+ "id": "1456",
+ "maxAmount": "1"
+ },
+ {
+ "minAmount": "1",
+ "weight": "25.0",
+ "id": "1450",
+ "maxAmount": "1"
+ },
{
"minAmount": "1",
"weight": "25.0",
diff --git a/Server/data/configs/item_configs.json b/Server/data/configs/item_configs.json
index 852a6fc39..08580edac 100644
--- a/Server/data/configs/item_configs.json
+++ b/Server/data/configs/item_configs.json
@@ -38817,7 +38817,7 @@
"name": "Crystal bow 9/10",
"archery_ticket_price": "0",
"id": "4215",
- "bonuses": "0,0,0,0,96,0,0,0,0,0,0,0,0,0,68"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{4,70}-{16,50}",
@@ -38838,7 +38838,7 @@
"name": "Crystal bow 8/10",
"archery_ticket_price": "0",
"id": "4216",
- "bonuses": "0,0,0,0,92,0,0,0,0,0,0,0,0,0,66"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{4,70}-{16,50}",
@@ -38859,7 +38859,7 @@
"name": "Crystal bow 7/10",
"archery_ticket_price": "0",
"id": "4217",
- "bonuses": "0,0,0,0,88,0,0,0,0,0,0,0,0,0,64"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{4,70}-{16,50}",
@@ -38880,7 +38880,7 @@
"name": "Crystal bow 6/10",
"archery_ticket_price": "0",
"id": "4218",
- "bonuses": "0,0,0,0,84,0,0,0,0,0,0,0,0,0,62"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{4,70}-{16,50}",
@@ -38901,7 +38901,7 @@
"name": "Crystal bow 5/10",
"archery_ticket_price": "0",
"id": "4219",
- "bonuses": "0,0,0,0,80,0,0,0,0,0,0,0,0,0,60"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{4,70}-{16,50}",
@@ -38922,7 +38922,7 @@
"name": "Crystal bow 4/10",
"archery_ticket_price": "0",
"id": "4220",
- "bonuses": "0,0,0,0,76,0,0,0,0,0,0,0,0,0,58"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{4,70}-{16,50}",
@@ -38943,7 +38943,7 @@
"name": "Crystal bow 3/10",
"archery_ticket_price": "0",
"id": "4221",
- "bonuses": "0,0,0,0,72,0,0,0,0,0,0,0,0,0,56"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{4,70}-{16,50}",
@@ -38964,7 +38964,7 @@
"name": "Crystal bow 2/10",
"archery_ticket_price": "0",
"id": "4222",
- "bonuses": "0,0,0,0,68,0,0,0,0,0,0,0,0,0,54"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{4,70}-{16,50}",
@@ -38985,7 +38985,7 @@
"name": "Crystal bow 1/10",
"archery_ticket_price": "0",
"id": "4223",
- "bonuses": "0,0,0,0,64,0,0,0,0,0,0,0,0,0,52"
+ "bonuses": "0,0,0,0,100,0,0,0,0,0,0,0,0,0,70"
},
{
"requirements": "{1,70}-{16,50}",
@@ -39028,7 +39028,7 @@
"archery_ticket_price": "0",
"id": "4226",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,49,52,51,0,78,68,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
@@ -39042,7 +39042,7 @@
"archery_ticket_price": "0",
"id": "4227",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,47,50,49,0,76,66,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
@@ -39056,7 +39056,7 @@
"archery_ticket_price": "0",
"id": "4228",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,45,48,47,0,74,65,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
@@ -39070,7 +39070,7 @@
"archery_ticket_price": "0",
"id": "4229",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,43,46,45,0,72,63,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
@@ -39084,7 +39084,7 @@
"archery_ticket_price": "0",
"id": "4230",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,41,44,43,0,70,61,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
@@ -39098,7 +39098,7 @@
"archery_ticket_price": "0",
"id": "4231",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,39,42,41,0,68,59,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
@@ -39112,7 +39112,7 @@
"archery_ticket_price": "0",
"id": "4232",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,37,40,39,0,66,58,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
@@ -39126,7 +39126,7 @@
"archery_ticket_price": "0",
"id": "4233",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,35,38,37,0,64,56,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
@@ -39140,7 +39140,7 @@
"archery_ticket_price": "0",
"id": "4234",
"absorb": "6,0,12",
- "bonuses": "0,0,0,-10,-10,33,36,35,0,62,54,0,0,0,0",
+ "bonuses": "0,0,0,-10,-10,51,54,53,0,80,70,0,0,0,0",
"equipment_slot": "5"
},
{
diff --git a/Server/data/configs/shops.json b/Server/data/configs/shops.json
index 714e32a73..2f6a5ff1f 100644
--- a/Server/data/configs/shops.json
+++ b/Server/data/configs/shops.json
@@ -213,7 +213,7 @@
"general_store": "true",
"id": "25",
"title": "Lumbridge General Store",
- "stock": "{1931,30,100}-{1935,30,100}-{1735,10,100}-{1925,10,100}-{1923,10,100}-{1887,10,100}-{590,10,100}-{1755,10,100}-{2347,10,100}-{550,10,100}-{9003,10,100}"
+ "stock": "{1931,30,100}-{1935,30,100}-{1735,10,100}-{1925,10,100}-{1923,10,100}-{1887,10,100}-{590,10,100}-{1755,10,100}-{2347,10,100}-{550,10,100}-{9003,10,100}-{1939,1000,1}"
},
{
"npcs": "4716",
@@ -1599,7 +1599,7 @@
"general_store": "false",
"id": "181",
"title": "MoonClan Fine Clothes",
- "stock": "{9068,10,100}-{9069,10,100}-{9070,10,100}-{9071,10,100}-{9072,10,100}-{9073,10,100}-{9074,10,100}-{1733,50,100}-{1734,500,100}"
+ "stock": "{9068,10,100}-{9069,10,100}-{9070,10,100}-{9071,10,100}-{9072,10,100}-{9073,10,100}-{9074,10,100}-{1733,50,100}-{1734,500,100}-{9084,10,100}-{9096,10,100}-{9097,10,100}-{9098,10,100}-{9099,10,100}-{9100,10,100}-{9101,10,100}-{9102,10,100}-{9104,10,100}"
},
{
"npcs": "",
diff --git a/Server/src/main/content/global/handlers/iface/SmeltingInterface.java b/Server/src/main/content/global/handlers/iface/SmeltingInterface.java
index 4032ff524..b7fadd28c 100644
--- a/Server/src/main/content/global/handlers/iface/SmeltingInterface.java
+++ b/Server/src/main/content/global/handlers/iface/SmeltingInterface.java
@@ -49,7 +49,7 @@ public class SmeltingInterface extends ComponentPlugin {
* @author 'Vexia
*/
public enum BarButton {
- BRONZE_1(16, Bar.BRONZE, 1), BRONZE_5(15, Bar.BRONZE, 5), BRONZE_10(14, Bar.BRONZE, 10), BRONZE_X(13, Bar.BRONZE, -1), BLURITE_1(20, Bar.BLURITE, 1), BLURITE_5(19, Bar.BLURITE, 5), BLURITE_10(18, Bar.BLURITE, 10), BLURITE_X(17, Bar.BLURITE, -1), IRON_1(24, Bar.IRON, 1), IRON_5(23, Bar.IRON, 5), IRON_10(22, Bar.IRON, 10), IRON_X(21, Bar.IRON, -1), SILVER_1(28, Bar.SILVER, 1), SILVER_5(27, Bar.SILVER, 5), SILVER_10(26, Bar.SILVER, 10), SILVER_X(25, Bar.SILVER, -1), STEEL_1(32, Bar.STEEL, 1), STEEL_5(31, Bar.STEEL, 5), STEEL_10(30, Bar.STEEL, 10), STEEL_X(29, Bar.STEEL, -1), GOLD_1(36, Bar.GOLD, 1), GOLD_5(35, Bar.GOLD, 5), GOLD_10(34, Bar.GOLD, 10), GOLD_X(33, Bar.GOLD, -1), MITHRIL_1(40, Bar.MITHRIL, 1), MITHRIL_5(39, Bar.MITHRIL, 5), MITHRIL_10(38, Bar.MITHRIL, 10), MITHRIL_X(37, Bar.MITHRIL, -1), ADAMANT_1(44, Bar.ADAMANT, 1), ADAMANT_5(43, Bar.ADAMANT, 5), ADAMANT_10(42, Bar.ADAMANT, 10), ADAMANT_X(41, Bar.ADAMANT, -1), RUNE_1(48, Bar.RUNITE, 1), RUNE_5(47, Bar.RUNITE, 5), RUNE_10(46, Bar.RUNITE, 10), RUNE_X(45, Bar.RUNITE, -1);
+ BRONZE_1(16, Bar.BRONZE, 1), BRONZE_5(15, Bar.BRONZE, 5), BRONZE_10(14, Bar.BRONZE, 30), BRONZE_X(13, Bar.BRONZE, -1), BLURITE_1(20, Bar.BLURITE, 1), BLURITE_5(19, Bar.BLURITE, 5), BLURITE_10(18, Bar.BLURITE, 30), BLURITE_X(17, Bar.BLURITE, -1), IRON_1(24, Bar.IRON, 1), IRON_5(23, Bar.IRON, 5), IRON_10(22, Bar.IRON, 30), IRON_X(21, Bar.IRON, -1), SILVER_1(28, Bar.SILVER, 1), SILVER_5(27, Bar.SILVER, 5), SILVER_10(26, Bar.SILVER, 30), SILVER_X(25, Bar.SILVER, -1), STEEL_1(32, Bar.STEEL, 1), STEEL_5(31, Bar.STEEL, 5), STEEL_10(30, Bar.STEEL, 30), STEEL_X(29, Bar.STEEL, -1), GOLD_1(36, Bar.GOLD, 1), GOLD_5(35, Bar.GOLD, 5), GOLD_10(34, Bar.GOLD, 30), GOLD_X(33, Bar.GOLD, -1), MITHRIL_1(40, Bar.MITHRIL, 1), MITHRIL_5(39, Bar.MITHRIL, 5), MITHRIL_10(38, Bar.MITHRIL, 30), MITHRIL_X(37, Bar.MITHRIL, -1), ADAMANT_1(44, Bar.ADAMANT, 1), ADAMANT_5(43, Bar.ADAMANT, 5), ADAMANT_10(42, Bar.ADAMANT, 30), ADAMANT_X(41, Bar.ADAMANT, -1), RUNE_1(48, Bar.RUNITE, 1), RUNE_5(47, Bar.RUNITE, 5), RUNE_10(46, Bar.RUNITE, 30), RUNE_X(45, Bar.RUNITE, -1);
/**
* Constructs a new {@code BarButton} {@code Object}.
diff --git a/Server/src/main/content/global/handlers/item/TeleTabsListener.kt b/Server/src/main/content/global/handlers/item/TeleTabsListener.kt
index 21a291360..45925a4e9 100644
--- a/Server/src/main/content/global/handlers/item/TeleTabsListener.kt
+++ b/Server/src/main/content/global/handlers/item/TeleTabsListener.kt
@@ -11,6 +11,8 @@ import core.game.node.item.Item
import core.game.world.map.Location
import core.api.hasRequirement;
+import core.cache.def.impl.ItemDefinition;
+
class TeleTabsListener : InteractionListener {
enum class TeleTabs(val item: Int, val location: Location, val exp: Double, val requirementCheck: (Player) -> Boolean = { true }) {
@@ -18,22 +20,37 @@ class TeleTabsListener : InteractionListener {
player -> hasRequirement(player, "Plague City");
}),
AIR_ALTAR_TELEPORT(13599, Location.create(2978, 3296, 0), 0.0),
- ASTRAL_ALTAR_TELEPORT(13611, Location.create(2156, 3862, 0), 0.0),
- BLOOD_ALTAR_TELEPORT(13610, Location.create(3559, 9778, 0), 0.0),
+ ASTRAL_ALTAR_TELEPORT(13611, Location.create(2156, 3862, 0), 0.0, {
+ player -> hasRequirement(player, "Lunar Diplomacy");
+ }),
+ BLOOD_ALTAR_TELEPORT(13610, Location.create(3559, 9778, 0), 0.0, {
+ player -> hasRequirement(player, "Legacy of Seergaze");
+ }),
BODY_ALTAR_TELEPORT(13604, Location.create(3055, 3443, 0), 0.0),
CAMELOT_TELEPORT(8010, Location.create(2757, 3477, 0), 55.5),
CHAOS_ALTAR_TELEPORT(13606, Location.create(3058, 3593, 0), 0.0),
- COSMIC_ALTAR_TELEPORT(13605, Location.create(2411, 4380, 0), 0.0),
- DEATH_ALTAR_TELEPORT(13609, Location.create(1863, 4639, 0), 0.0),
+ COSMIC_ALTAR_TELEPORT(13605, Location.create(2411, 4380, 0), 0.0, {
+ player -> hasRequirement(player, "Lost City");
+ }),
+ DEATH_ALTAR_TELEPORT(13609, Location.create(1863, 4639, 0), 0.0, {
+ player -> hasRequirement(player, "Mourning's End Part II");
+ }),
EARTH_ALTAR_TELEPORT(13602, Location.create(3304, 3472, 0), 0.0),
FALADOR_TELEPORT(8009, Location.create(2966, 3380, 0), 47.0),
FIRE_ALTAR_TELEPORT(13603, Location.create(3311, 3252, 0), 0.0),
- LAW_ALTAR_TELEPORT(13608, Location.create(2857, 3378, 0), 0.0),
+ LAW_ALTAR_TELEPORT(13608, Location.create(2857, 3378, 0), 0.0, {
+ player -> if (!ItemDefinition.canEnterEntrana(player)) (player.sendMessage("The power of Saradomin prevents you from taking armour or weaponry to Entrana.") !is Unit) else true; // ugly way of doing this, but the sendMessage function returns a Unit type, so by using !is Unit it becomes false.
+ }),
LUMBRIDGE_TELEPORT(8008, Location.create(3222, 3218, 0), 41.0),
MIND_ALTAR_TELEPORT(13600, Location.create(2979, 3510, 0), 0.0),
NATURE_ALTAR_TELEPORT(13607, Location.create(2868, 3013, 0), 0.0),
+ TELEKINETIC_GRAB(8022, Location.create(2836, 3285, 0), 0.0, {
+ player -> hasRequirement(player, "Dragon Slayer");
+ }),
VARROCK_TELEPORT(8007, Location.create(3212, 3423, 0), 35.00),
- WATCH_TOWER_TELEPORT(8012, Location.create(2548, 3114, 0), 68.00),
+ WATCH_TOWER_TELEPORT(8012, Location.create(2548, 3114, 0), 68.00, {
+ player -> hasRequirement(player, "Watchtower");
+ }),
WATER_ALTAR_TELEPORT(13601, Location.create(3182, 3162, 0), 0.0);
companion object {
diff --git a/Server/src/main/content/global/handlers/item/equipment/CrystalEquipmentRegister.kt b/Server/src/main/content/global/handlers/item/equipment/CrystalEquipmentRegister.kt
index 2bb7bb48d..4504e9dfd 100644
--- a/Server/src/main/content/global/handlers/item/equipment/CrystalEquipmentRegister.kt
+++ b/Server/src/main/content/global/handlers/item/equipment/CrystalEquipmentRegister.kt
@@ -7,7 +7,7 @@ class CrystalEquipmentRegister : StartupListener {
val shield: Array = arrayOf(Items.NEW_CRYSTAL_SHIELD_4224, Items.CRYSTAL_SHIELD_FULL_4225, Items.CRYSTAL_SHIELD_9_10_4226, Items.CRYSTAL_SHIELD_8_10_4227, Items.CRYSTAL_SHIELD_7_10_4228, Items.CRYSTAL_SHIELD_6_10_4229, Items.CRYSTAL_SHIELD_5_10_4230, Items.CRYSTAL_SHIELD_4_10_4231, Items.CRYSTAL_SHIELD_3_10_4232, Items.CRYSTAL_SHIELD_2_10_4233, Items.CRYSTAL_SHIELD_1_10_4234, Items.CRYSTAL_SEED_4207)
val bow: Array = arrayOf(Items.NEW_CRYSTAL_BOW_4212, Items.CRYSTAL_BOW_FULL_4214, Items.CRYSTAL_BOW_9_10_4215, Items.CRYSTAL_BOW_8_10_4216, Items.CRYSTAL_BOW_7_10_4217, Items.CRYSTAL_BOW_6_10_4218, Items.CRYSTAL_BOW_5_10_4219, Items.CRYSTAL_BOW_4_10_4220, Items.CRYSTAL_BOW_3_10_4221, Items.CRYSTAL_BOW_2_10_4222, Items.CRYSTAL_BOW_1_10_4223, Items.CRYSTAL_SEED_4207)
override fun startup() {
- EquipmentDegrader.registerSet(250, shield)
- EquipmentDegrader.registerSet(250, bow)
+ EquipmentDegrader.registerSet(1200, shield)
+ EquipmentDegrader.registerSet(1200, bow)
}
}
\ No newline at end of file
diff --git a/Server/src/main/content/global/skill/farming/Patch.kt b/Server/src/main/content/global/skill/farming/Patch.kt
index c9f90b4a9..3ec029a89 100644
--- a/Server/src/main/content/global/skill/farming/Patch.kt
+++ b/Server/src/main/content/global/skill/farming/Patch.kt
@@ -350,6 +350,19 @@ class Patch(val player: Player, val patch: FarmingPatch, var plantable: Plantabl
}
fun clear(){
+ if (isGrown()) {
+ var seedAmount = 1
+ var seedMessage = "a seed"
+ if (patch.type == PatchType.ALLOTMENT || plantable!! == Plantable.JUTE_SEED) {
+ seedAmount = 3
+ seedMessage = "some seeds"
+ } else if (patch.type == PatchType.HOPS_PATCH) {
+ seedAmount = 4
+ seedMessage = "some seeds"
+ }
+ addItemOrDrop(player, plantable!!.itemID, seedAmount)
+ sendMessage(player, "You find $seedMessage in the patch as you clear it.")
+ }
isCheckHealth = false
isDiseased = false
isDead = false
diff --git a/Server/src/main/content/global/skill/firemaking/FireMakingPulse.java b/Server/src/main/content/global/skill/firemaking/FireMakingPulse.java
index 50b969efd..a2612543d 100644
--- a/Server/src/main/content/global/skill/firemaking/FireMakingPulse.java
+++ b/Server/src/main/content/global/skill/firemaking/FireMakingPulse.java
@@ -19,6 +19,8 @@ import org.rs09.consts.Items;
import static core.api.ContentAPIKt.inInventory;
import static core.api.ContentAPIKt.replaceSlot;
+import static core.api.ContentAPIKt.removeItem;
+
/**
* Represents the pulse used to light a log.
* @author 'Vexia
@@ -102,10 +104,12 @@ public final class FireMakingPulse extends SkillPulse- {
@Override
public boolean reward() {
+ /* Snowscape: this section allows making a new fire without an animation if you're fast enough, but since we auto-repeat we don't need that
if (getLastFire() >= GameWorld.getTicks()) {
createFire();
return true;
}
+ */
if (ticks == 0) {
player.animate(ANIMATION);
}
@@ -119,7 +123,13 @@ public final class FireMakingPulse extends SkillPulse
- {
return false;
}
createFire();
- return true;
+ // Snowscape: attempt to remove another log. If successful, the pulse continues and the player makes another fire
+ if (removeItem(player, new Item(node.getId(), 1), Container.INVENTORY)) {
+ return false;
+ } else {
+ return true;
+ }
+
}
/**
diff --git a/Server/src/main/content/global/skill/fletching/Fletching.java b/Server/src/main/content/global/skill/fletching/Fletching.java
index de5a99e65..bc2b49f79 100644
--- a/Server/src/main/content/global/skill/fletching/Fletching.java
+++ b/Server/src/main/content/global/skill/fletching/Fletching.java
@@ -265,13 +265,13 @@ public class Fletching {
}
}
private enum Items{
- STANDARD(1511,FletchingItems.ARROW_SHAFT, FletchingItems.SHORT_BOW, FletchingItems.LONG_BOW, FletchingItems.WOODEN_STOCK),
+ STANDARD(1511, FletchingItems.ARROW_SHAFT, FletchingItems.SHORT_BOW, FletchingItems.LONG_BOW, FletchingItems.WOODEN_STOCK),
ACHEY(2862, FletchingItems.OGRE_ARROW_SHAFT),
- OAK(1521, FletchingItems.OAK_SHORTBOW, FletchingItems.OAK_LONGBOW, FletchingItems.OAK_STOCK),
- WILLOW(1519, FletchingItems.WILLOW_SHORTBOW, FletchingItems.WILLOW_LONGBOW, FletchingItems.WILLOW_STOCK),
- MAPLE(1517, FletchingItems.MAPLE_SHORTOW, FletchingItems.MAPLE_LONGBOW, FletchingItems.MAPLE_STOCK),
- YEW(1515, FletchingItems.YEW_SHORTBOW, FletchingItems.YEW_LONGBOW, FletchingItems.YEW_STOCK),
- MAGIC(1513, FletchingItems.MAGIC_SHORTBOW, FletchingItems.MAGIC_LONGBOW),
+ OAK(1521, FletchingItems.OAK_ARROW_SHAFT, FletchingItems.OAK_SHORTBOW, FletchingItems.OAK_LONGBOW, FletchingItems.OAK_STOCK),
+ WILLOW(1519, FletchingItems.WILLOW_ARROW_SHAFT, FletchingItems.WILLOW_SHORTBOW, FletchingItems.WILLOW_LONGBOW, FletchingItems.WILLOW_STOCK),
+ MAPLE(1517, FletchingItems.MAPLE_ARROW_SHAFT, FletchingItems.MAPLE_SHORTOW, FletchingItems.MAPLE_LONGBOW, FletchingItems.MAPLE_STOCK),
+ YEW(1515, FletchingItems.YEW_ARROW_SHAFT, FletchingItems.YEW_SHORTBOW, FletchingItems.YEW_LONGBOW, FletchingItems.YEW_STOCK),
+ MAGIC(1513, FletchingItems.MAGIC_ARROW_SHAFT, FletchingItems.MAGIC_SHORTBOW, FletchingItems.MAGIC_LONGBOW),
TEAK(6333, FletchingItems.TEAK_STOCK),
MAHOGANY(6332, FletchingItems.MAHOGANY_STOCK);
@@ -306,26 +306,31 @@ public class Fletching {
OGRE_ARROW_SHAFT(2864, 6.4, 5, 4),
//Oak logs
+ OAK_ARROW_SHAFT(52, 10, 15, 30),
OAK_SHORTBOW(54, 16.5, 20, 1),
OAK_LONGBOW(56,25,25,1),
OAK_STOCK(9442, 16, 24, 1),
//Willow logs
+ WILLOW_ARROW_SHAFT(52, 15, 30, 45),
WILLOW_SHORTBOW(60, 33.3, 35, 1),
WILLOW_LONGBOW(58, 41.5, 40, 1),
WILLOW_STOCK(9444, 22, 39, 1),
//Maple logs
+ MAPLE_ARROW_SHAFT(52, 20, 45, 60),
MAPLE_SHORTOW(64, 50, 50, 1),
MAPLE_LONGBOW(62, 58.3, 55, 1),
MAPLE_STOCK(9448, 32, 54, 1),
//Yew logs
+ YEW_ARROW_SHAFT(52, 25, 60, 75),
YEW_SHORTBOW(68, 67.5, 65, 1),
YEW_LONGBOW(66, 75, 70, 1),
YEW_STOCK(9452, 50, 69, 1),
//Magic logs
+ MAGIC_ARROW_SHAFT(52, 30, 75, 90),
MAGIC_SHORTBOW(72, 83.3, 80,1),
MAGIC_LONGBOW(70, 91.5, 85, 1),
diff --git a/Server/src/main/content/global/skill/fletching/FletchingPulse.java b/Server/src/main/content/global/skill/fletching/FletchingPulse.java
index 9c7d0d638..dbc18af9f 100644
--- a/Server/src/main/content/global/skill/fletching/FletchingPulse.java
+++ b/Server/src/main/content/global/skill/fletching/FletchingPulse.java
@@ -110,6 +110,16 @@ public final class FletchingPulse extends SkillPulse
- {
switch (fletch) {
case ARROW_SHAFT:
return "You carefully cut the wood into 15 arrow shafts.";
+ case OAK_ARROW_SHAFT:
+ return "You carefully cut the wood into 30 arrow shafts.";
+ case WILLOW_ARROW_SHAFT:
+ return "You carefully cut the wood into 45 arrow shafts.";
+ case MAPLE_ARROW_SHAFT:
+ return "You carefully cut the wood into 60 arrow shafts.";
+ case YEW_ARROW_SHAFT:
+ return "You carefully cut the wood into 75 arrow shafts.";
+ case MAGIC_ARROW_SHAFT:
+ return "You carefully cut the wood into 90 arrow shafts.";
default:
return "You carefully cut the wood into " + (StringUtils.isPlusN(fletch.getItem().getName()) ? "an" : "a") + " " + fletch.getItem().getName().replace("(u)", "").trim() + ".";
}
diff --git a/Server/src/main/content/global/skill/gather/mining/MiningListener.kt b/Server/src/main/content/global/skill/gather/mining/MiningListener.kt
index d744b0a8f..9233b836f 100644
--- a/Server/src/main/content/global/skill/gather/mining/MiningListener.kt
+++ b/Server/src/main/content/global/skill/gather/mining/MiningListener.kt
@@ -136,7 +136,7 @@ class MiningListener : InteractionListener {
}
// Transform ore to depleted version
- if (!isEssence && resource!!.respawnRate != 0) {
+ if (!isEssence && resource!!.respawnRate != 0 && RandomFunction.roll(getDynLevel(player, Skills.MINING)*5/resource!!.respawnDuration + 1)) {
SceneryBuilder.replace(node as Scenery, Scenery(resource!!.emptyId, node.getLocation(), node.type, node.rotation), resource!!.respawnDuration)
node.setActive(false)
return true
diff --git a/Server/src/main/content/global/skill/gather/mining/MiningNode.java b/Server/src/main/content/global/skill/gather/mining/MiningNode.java
index 5f7f00cf3..11a564cf8 100644
--- a/Server/src/main/content/global/skill/gather/mining/MiningNode.java
+++ b/Server/src/main/content/global/skill/gather/mining/MiningNode.java
@@ -522,21 +522,21 @@ public enum MiningNode{
experience = 80.0;
rate = 0.70;
reward = 447;
- level = 55;
+ level = 50;
break;
case 11:
respawnRate = 400 | 800 << 16;
experience = 95.0;
rate = 0.85;
reward = 449;
- level = 70;
+ level = 60;
break;
case 12:
respawnRate = 1250 | 2500 << 16;
experience = 125.0;
rate = 0.95;
reward = 451;
- level = 85;
+ level = 70;
break;
case 13:
respawnRate = 166 | 175 << 16;
diff --git a/Server/src/main/content/global/skill/gather/woodcutting/WoodcuttingListener.kt b/Server/src/main/content/global/skill/gather/woodcutting/WoodcuttingListener.kt
index c73b135b6..4ca385088 100644
--- a/Server/src/main/content/global/skill/gather/woodcutting/WoodcuttingListener.kt
+++ b/Server/src/main/content/global/skill/gather/woodcutting/WoodcuttingListener.kt
@@ -156,7 +156,7 @@ class WoodcuttingListener : InteractionListener {
//OSRS: https://oldschool.runescape.wiki/w/Woodcutting scroll down to the mechanics section
//RS3 : https://runescape.wiki/w/Woodcutting scroll down to the mechanics section, and expand the tree felling chances table
if (resource.getRespawnRate() > 0) {
- if (RandomFunction.roll(8) || listOf(1, 2, 3, 4, 6).contains(resource.identifier.toInt())){
+ if (RandomFunction.roll(8) || listOf(2, 3, 4, 6).contains(resource.identifier.toInt())){
if (resource.isFarming()) {
val fPatch = forObject(node.asScenery())
if (fPatch != null) {
diff --git a/Server/src/main/content/global/skill/herblore/HerbCleanListener.kt b/Server/src/main/content/global/skill/herblore/HerbCleanListener.kt
index 7ba8cfe5a..a2cd826d1 100644
--- a/Server/src/main/content/global/skill/herblore/HerbCleanListener.kt
+++ b/Server/src/main/content/global/skill/herblore/HerbCleanListener.kt
@@ -7,6 +7,9 @@ import core.game.node.entity.skill.Skills
import core.game.node.item.Item
import java.util.*
+import core.game.system.task.Pulse
+
+
/**
* Dirty herb cleaning listener
* @author Woah
@@ -24,11 +27,30 @@ class HerbCleanListener : InteractionListener {
}
val exp = herb.experience
+
+ player.pulseManager.run(object : Pulse() {
+ var counter = 0
+ override fun pulse(): Boolean {
+ if (amountInInventory(player, node.asItem().id) == 0 )
+ return true
+ if(removeItem(player, node.asItem().id)) {
+ addItem(player, herb.product.id)
+ rewardXP(player, Skills.HERBLORE, exp)
+ playAudio(player, 5153)
+ //sendMessage(player, "You clean the dirt from the " + herb.product.name.lowercase(Locale.getDefault()).replace("clean", "").trim { it <= ' ' } + " leaf.")
+ }
+ return false
+ }
+ })
+ return@on true
+
+ /* Vanilla actions, replaced by pulse above
replaceSlot(player, node.asItem().slot, herb.product, node.asItem())
rewardXP(player, Skills.HERBLORE, exp)
playAudio(player, 5153)
sendMessage(player, "You clean the dirt from the " + herb.product.name.lowercase(Locale.getDefault()).replace("clean", "").trim { it <= ' ' } + " leaf.")
return@on true
+ */
}
}
}
\ No newline at end of file
diff --git a/Server/src/main/content/global/skill/herblore/HerbTarPulse.java b/Server/src/main/content/global/skill/herblore/HerbTarPulse.java
index 45793be82..a63c5f4f5 100644
--- a/Server/src/main/content/global/skill/herblore/HerbTarPulse.java
+++ b/Server/src/main/content/global/skill/herblore/HerbTarPulse.java
@@ -25,7 +25,7 @@ public final class HerbTarPulse extends SkillPulse
- {
/**
* Represents the swamp tar item.
*/
- private static final Item SWAMP_TAR = new Item(1939, 15);
+ private static final Item SWAMP_TAR = new Item(1939, 45);
/**
* Represents the tar to make.
@@ -65,7 +65,7 @@ public final class HerbTarPulse extends SkillPulse
- {
return false;
}
if (!player.getInventory().containsItem(SWAMP_TAR)) {
- player.getPacketDispatch().sendMessage("You need at least 15 swamp tar in order to do this.");
+ player.getPacketDispatch().sendMessage("You need at least 45 swamp tar in order to do this.");
return false;
}
return true;
@@ -83,7 +83,7 @@ public final class HerbTarPulse extends SkillPulse
- {
return false;
}
if (player.getInventory().containsItem(SWAMP_TAR) && player.getInventory().containsItem(tar.getIngredient()) && player.getInventory().remove(SWAMP_TAR) && player.getInventory().remove(tar.getIngredient())) {
- final Item item = new Item(tar.getTar().getId(), 15);
+ final Item item = new Item(tar.getTar().getId(), 45);
player.getInventory().add(item);
player.getSkills().addExperience(Skills.HERBLORE, tar.getExperience(), true);
player.getPacketDispatch().sendMessage("You add the " + tar.getIngredient().getName().toLowerCase().replace("clean", "").trim() + " to the swamp tar.");
diff --git a/Server/src/main/content/global/skill/hunter/ImpBoxPlugin.java b/Server/src/main/content/global/skill/hunter/ImpBoxPlugin.java
index 800e342eb..a1cf25062 100644
--- a/Server/src/main/content/global/skill/hunter/ImpBoxPlugin.java
+++ b/Server/src/main/content/global/skill/hunter/ImpBoxPlugin.java
@@ -46,10 +46,16 @@ public class ImpBoxPlugin extends OptionHandler {
public boolean handle(Player player, Node node, String option) {
switch (option) {
case "bank":
+ int boxSlot = node.asItem().getSlot();
+ player.getInventory().replace(new Item(10025), boxSlot);
+ player.sendMessage("You free the imp in exchange for it taking some items to your bank.");
+ player.getBank().openDepositBox();
+ /* Snowscape Custom: the normal imp interface is broken, so we fixed/buffed it by making it act as a one-time-use deposit box instead.
Component component = new Component(478);
component.setPlugin(new ImpInterfaceHandler((Item) node));
player.getInterfaceManager().open(component);
PacketRepository.send(ContainerPacket.class, new ContainerContext(player, 478, 61, 91, player.getInventory(), true));
+ */
break;
case "talk-to":
player.getDialogueInterpreter().open("imp-box");
diff --git a/Server/src/main/content/global/skill/hunter/TrapWrapper.java b/Server/src/main/content/global/skill/hunter/TrapWrapper.java
index 4cbe32987..b596d864c 100644
--- a/Server/src/main/content/global/skill/hunter/TrapWrapper.java
+++ b/Server/src/main/content/global/skill/hunter/TrapWrapper.java
@@ -102,7 +102,7 @@ public final class TrapWrapper {
this.type = type;
this.object = object;
this.originalId = object.getId();
- this.ticks = GameWorld.getTicks() + (100);
+ this.ticks = GameWorld.getTicks() + (1000);
this.instance = HunterManager.getInstance(player);
this.object.getAttributes().setAttribute("trap-uid", instance.getUid());
}
diff --git a/Server/src/main/content/global/skill/hunter/Traps.java b/Server/src/main/content/global/skill/hunter/Traps.java
index f2151d660..e5e30ca34 100644
--- a/Server/src/main/content/global/skill/hunter/Traps.java
+++ b/Server/src/main/content/global/skill/hunter/Traps.java
@@ -21,12 +21,12 @@ import static core.api.ContentAPIKt.log;
*/
public enum Traps {
BIRD_SNARE(new TrapSetting(10006, new int[] { 19175 }, new int[] {}, "lay", 19174, Animation.create(5208), Animation.create(5207), 1),
- new TrapNode(new int[] { 5073 }, 1, 34, new int[] { 19179, 19180 }, new Item[] { new Item(10088, 8), new Item(9978), new Item(526) }),
- new TrapNode(new int[] { 5075 }, 5, 48, new int[] { 19183, 19184 }, new Item[] { new Item(10090, 8), new Item(9978), new Item(526) }),
- new TrapNode(new int[] { 5076 }, 9, 61, new int[] { 19185, 19186 }, new Item[] { new Item(10091, 8), new Item(9978), new Item(526) }),
- new TrapNode(new int[] { 5074 }, 11, 64.7, new int[] { 19181, 19182 }, new Item[] { new Item(10089, 8), new Item(9978), new Item(526) }),
- new TrapNode(new int[] { 5072 }, 19, 95.2, new int[] { 19177, 19178 }, new Item[] { new Item(10087, 8), new Item(9978), new Item(526) }),
- new TrapNode(new int[] { 7031 }, 39, 167, new int[] { 28931, 28930 }, new Item[] { new Item(11525, 8), new Item(9978), new Item(526) }) {
+ new TrapNode(new int[] { 5073 }, 1, 34, new int[] { 19179, 19180 }, new Item[] { new Item(10088, 60), new Item(9978), new Item(526) }),
+ new TrapNode(new int[] { 5075 }, 5, 48, new int[] { 19183, 19184 }, new Item[] { new Item(10090, 60), new Item(9978), new Item(526) }),
+ new TrapNode(new int[] { 5076 }, 9, 61, new int[] { 19185, 19186 }, new Item[] { new Item(10091, 60), new Item(9978), new Item(526) }),
+ new TrapNode(new int[] { 5074 }, 11, 64.7, new int[] { 19181, 19182 }, new Item[] { new Item(10089, 60), new Item(9978), new Item(526) }),
+ new TrapNode(new int[] { 5072 }, 19, 95.2, new int[] { 19177, 19178 }, new Item[] { new Item(10087, 60), new Item(9978), new Item(526) }),
+ new TrapNode(new int[] { 7031 }, 39, 167, new int[] { 28931, 28930 }, new Item[] { new Item(11525, 60), new Item(9978), new Item(526) }) {
@Override
public boolean canCatch(TrapWrapper wrapper, final NPC npc) {
return false;
diff --git a/Server/src/main/content/global/skill/magic/ancient/AncientTeleportPlugin.java b/Server/src/main/content/global/skill/magic/ancient/AncientTeleportPlugin.java
index 3944c3c7e..ec6c8999c 100644
--- a/Server/src/main/content/global/skill/magic/ancient/AncientTeleportPlugin.java
+++ b/Server/src/main/content/global/skill/magic/ancient/AncientTeleportPlugin.java
@@ -51,10 +51,12 @@ public final class AncientTeleportPlugin extends MagicSpell {
@Override
public boolean cast(Entity entity, Node target) {
+ /* Snowscape Custom to allow teleporting in wilderness. The teleport limitations are still checked later by the send() function, so this is not
if (entity.isTeleBlocked() || !super.meetsRequirements(entity, true, false)) {
entity.asPlayer().sendMessage("A magical force has stopped you from teleporting.");
return false;
}
+ */
if (entity.getTeleporter().send(location.transform(0, RandomFunction.random(3), 0), getSpellId() == 28 ? TeleportType.HOME : TeleportType.ANCIENT)) {
if (!super.meetsRequirements(entity, true, true)) {
entity.getTeleporter().getCurrentTeleport().stop();
diff --git a/Server/src/main/content/global/skill/magic/lunar/LunarListeners.kt b/Server/src/main/content/global/skill/magic/lunar/LunarListeners.kt
index 1a89b9f85..a55a32bac 100644
--- a/Server/src/main/content/global/skill/magic/lunar/LunarListeners.kt
+++ b/Server/src/main/content/global/skill/magic/lunar/LunarListeners.kt
@@ -374,16 +374,26 @@ class LunarListeners : SpellListener("lunar"), Commands {
setDelay(player, false)
openSingleTab(player, Components.DREAM_MONSTER_STAT_522)
- setInterfaceText(player, "Monster name : ${npc.definition.name}", Components.DREAM_MONSTER_STAT_522, 0)
- setInterfaceText(player, "Combat Level : ${npc.definition.combatLevel}", Components.DREAM_MONSTER_STAT_522, 1)
- setInterfaceText(player, "Hitpoints : ${npc.definition.handlers[NPCConfigParser.LIFEPOINTS] ?: 0}", Components.DREAM_MONSTER_STAT_522, 2)
- setInterfaceText(player, "Max hit : ${npc.getSwingHandler(false).calculateHit(npc, player, 1.0)}", Components.DREAM_MONSTER_STAT_522, 3)
+ var bonuses = npc.properties.bonuses
+ setInterfaceText(player, "Monster name: ${npc.definition.name} (${npc.definition.combatLevel})", Components.DREAM_MONSTER_STAT_522, 0)
+ setInterfaceText(player, """
+Att:${npc.definition.handlers[NPCConfigParser.ATTACK_LEVEL] ?: 0}
+Str:${npc.definition.handlers[NPCConfigParser.STRENGTH_LEVEL] ?: 0}
+Ranged:${npc.definition.handlers[NPCConfigParser.RANGE_LEVEL] ?: 0}
+Magic:${npc.definition.handlers[NPCConfigParser.MAGIC_LEVEL] ?: 0}""", Components.DREAM_MONSTER_STAT_522, 1)
+ setInterfaceText(player, """
+Defence:${npc.definition.handlers[NPCConfigParser.DEFENCE_LEVEL] ?: 0}
+HP:${npc.definition.handlers[NPCConfigParser.LIFEPOINTS] ?: 0}
+Max-hit:${npc.getSwingHandler(false).calculateHit(npc, player, 1.0)}""", Components.DREAM_MONSTER_STAT_522, 2)
+ setInterfaceText(player, "${bonuses[0]},${bonuses[1]},${bonuses[2]},${bonuses[3]},${bonuses[4]}, ${bonuses[5]},${bonuses[6]},${bonuses[7]},${bonuses[8]},${bonuses[9]}", Components.DREAM_MONSTER_STAT_522, 3)
val poisonStatus = if(npc.definition.handlers.getOrDefault(NPCConfigParser.POISON_IMMUNE,false) == true){
- "This creature is immune to poison."
- } else "This creature is not immune to poison."
-
- setInterfaceText(player, poisonStatus, Components.DREAM_MONSTER_STAT_522, 4)
+ "Immune to poison. "
+ } else ""
+ val poisonStatus2 = if(npc.definition.handlers.getOrDefault(NPCConfigParser.POISONOUS,false) == true){
+ "Poisonous."
+ } else ""
+ setInterfaceText(player, poisonStatus + poisonStatus2, Components.DREAM_MONSTER_STAT_522, 4)
}
// Level 67
@@ -698,6 +708,24 @@ class LunarListeners : SpellListener("lunar"), Commands {
sendMessage(player, "You need to use this spell on logs.")
return
}
+ player.pulseManager.run(object : Pulse() {
+ var counter = 0
+ override fun pulse(): Boolean {
+ removeAttribute(player, "spell:runes")
+ if (amountInInventory(player, item.id) == 0 )
+ return true
+ requires(player, 86, arrayOf(Item(Items.ASTRAL_RUNE_9075, 2), Item(Items.NATURE_RUNE_561, 1), Item(Items.EARTH_RUNE_557, 15)))
+ if(removeItem(player, item.id) && addItem(player, plankType.plank.id)) {
+ removeRunes(player, false)
+ if (counter % 6 == 0)
+ visualizeSpell(player, Animations.LUNAR_SPELLBOOK_PLANK_MAKE_6298, Graphics.LUNAR_SPELLBOOK_PLANK_MAKE_1063, 120, Sounds.LUNAR_MAKE_PLANK_3617)
+ addXP(player, 90.0)
+ }
+ counter++
+ return false
+ }
+ })
+ /* Vanilla Spell
if (amountInInventory(player, Items.COINS_995) < plankType.price || !removeItem(player, Item(Items.COINS_995, plankType.price))) {
sendMessage(player, "You need ${plankType.price} coins to convert that log into a plank.")
return
@@ -709,6 +737,7 @@ class LunarListeners : SpellListener("lunar"), Commands {
replaceSlot(player, item.slot, plankType.plank)
addXP(player, 90.0)
showMagicTab(player)
+ */
}
// Level 91
diff --git a/Server/src/main/content/global/skill/magic/modern/ModernListeners.kt b/Server/src/main/content/global/skill/magic/modern/ModernListeners.kt
index 262824d2c..d56b8230b 100644
--- a/Server/src/main/content/global/skill/magic/modern/ModernListeners.kt
+++ b/Server/src/main/content/global/skill/magic/modern/ModernListeners.kt
@@ -30,6 +30,8 @@ import org.rs09.consts.Items
import org.rs09.consts.Scenery
import org.rs09.consts.Sounds
+import core.game.system.task.Pulse
+
class ModernListeners : SpellListener("modern"){
override fun defineListeners() {
onCast(Modern.HOME_TELEPORT, NONE){ player, _ ->
@@ -228,29 +230,66 @@ class ModernListeners : SpellListener("modern"){
return false
}
+ var loop = true
+
+ val ringOfWealth = intArrayOf(14646,14644,14642,14640,14638)
+ if(high && ringOfWealth.contains(item.id)){
+ if (getAttribute(player, "ringofwealth:unlocked", false)) {
+ player.sendMessage("You have already unlocked the permanent Wealth effect and can no longer ")
+ player.sendMessage("alchemize this ring.")
+ return false
+ } else {
+ player.setAttribute("/save:ringofwealth:unlocked", true)
+ player.sendMessage("Combining the Alchemy spell with the Wealth enchantment causes a strange ")
+ player.sendMessage("interaction. You are now permanently enchanted with the Wealth effect and ")
+ player.sendMessage("no longer need to wear the ring to get the benefit of increased rare drops.")
+ loop = false
+ }
+ }
+
if (player.pulseManager.current !is MovementPulse) {
player.pulseManager.clear()
}
- if (explorersRing) {
- visualize(player, LOW_ALCH_ANIM, EXPLORERS_RING_GFX)
- } else {
- val weapon = getItemFromEquipment(player, EquipmentSlot.WEAPON)
- if (weapon != null && weapon.id in MagicStaff.FIRE_RUNE.staves) {
- visualize(player, if (high) HIGH_ALCH_STAFF_ANIM else LOW_ALCH_STAFF_ANIM, if (high) HIGH_ALCH_STAFF_GFX else LOW_ALCH_STAFF_GFX)
- } else {
- visualize(player, if (high) HIGH_ALCH_ANIM else LOW_ALCH_ANIM, if (high) HIGH_ALCH_GFX else LOW_ALCH_GFX)
+ player.pulseManager.run(object : Pulse(){
+ var counter = 0
+ override fun pulse(): Boolean {
+ if (amountInInventory(player, item.id) == 0 || counter >= 150)
+ return true
+ removeAttribute(player, "spell:runes")
+ if (counter % 5 == 0) {
+ if (explorersRing) {
+ visualize(player, LOW_ALCH_ANIM, EXPLORERS_RING_GFX)
+ } else {
+ val weapon = getItemFromEquipment(player, EquipmentSlot.WEAPON)
+ if (weapon != null && weapon.id in MagicStaff.FIRE_RUNE.staves) {
+ visualize(player, if (high) HIGH_ALCH_STAFF_ANIM else LOW_ALCH_STAFF_ANIM, if (high) HIGH_ALCH_STAFF_GFX else LOW_ALCH_STAFF_GFX)
+ } else {
+ visualize(player, if (high) HIGH_ALCH_ANIM else LOW_ALCH_ANIM, if (high) HIGH_ALCH_GFX else LOW_ALCH_GFX)
+ }
+ }
+ playAudio(player, if (high) Sounds.HIGH_ALCHEMY_97 else Sounds.LOW_ALCHEMY_98)
+ player.dispatch(ItemAlchemizationEvent(item.id, high))
+ if (high)
+ requires(player,55, arrayOf(Item(Items.FIRE_RUNE_554,5),Item(Items.NATURE_RUNE_561,1)))
+ else
+ requires(player,21, arrayOf(Item(Items.FIRE_RUNE_554,3),Item(Items.NATURE_RUNE_561)))
+ removeRunes(player, false)
+ addXP(player, if (high) 65.0 else 31.0)
+ if (player.inventory.remove(Item(item.id, 1)) && coins.amount > 0) {
+ player.inventory.add(coins)
+ }
+ //showMagicTab(player)
+ setDelay(player, 5)
+ }
+ if (loop) {
+ counter++
+ return false
+ } else {
+ return true
+ }
}
- }
- playAudio(player, if (high) Sounds.HIGH_ALCHEMY_97 else Sounds.LOW_ALCHEMY_98)
- player.dispatch(ItemAlchemizationEvent(item.id, high))
- if (player.inventory.remove(Item(item.id, 1)) && coins.amount > 0) {
- player.inventory.add(coins)
- }
- removeRunes(player)
- addXP(player, if (high) 65.0 else 31.0)
- showMagicTab(player)
- setDelay(player, 5)
+ })
return true
}
diff --git a/Server/src/main/content/global/skill/runecrafting/Altar.java b/Server/src/main/content/global/skill/runecrafting/Altar.java
index 8be433efc..53f4773b0 100644
--- a/Server/src/main/content/global/skill/runecrafting/Altar.java
+++ b/Server/src/main/content/global/skill/runecrafting/Altar.java
@@ -6,6 +6,8 @@ import core.game.node.scenery.Scenery;
import static core.api.ContentAPIKt.hasRequirement;
+import core.game.world.map.Location;
+
/**
* Represents an altar an it's relative information(corresponding ruin, etc)
* @author 'Vexia
@@ -82,6 +84,14 @@ public enum Altar {
if (this == BLOOD) {
if (!hasRequirement(player, "Legacy of Seergaze"))
return;
+ }
+ if (this == SOUL) {
+ if (player.getQuestRepository().isComplete("Dragon Slayer")) {
+ player.getProperties().setTeleportLocation(Location.create(2836, 3285, 0));
+ } else {
+ player.sendMessage("You need to have completed the Dragon Slayer quest in order to do that.");
+ return;
+ }
}
if (this == LAW) {
if (!ItemDefinition.canEnterEntrana(player)) {
diff --git a/Server/src/main/content/global/skill/runecrafting/RuneCraftPulse.java b/Server/src/main/content/global/skill/runecrafting/RuneCraftPulse.java
index d32bea579..5006b52be 100644
--- a/Server/src/main/content/global/skill/runecrafting/RuneCraftPulse.java
+++ b/Server/src/main/content/global/skill/runecrafting/RuneCraftPulse.java
@@ -40,6 +40,7 @@ public final class RuneCraftPulse extends SkillPulse
- {
* Represents the pure essence item.
*/
private static final Item PURE_ESSENCE = new Item(7936);
+ private static final Item SOFT_CLAY = new Item(1761);
/**
* Represents the binding necklace item.
@@ -119,12 +120,12 @@ public final class RuneCraftPulse extends SkillPulse
- {
player.getPacketDispatch().sendMessage("You need pure essence to craft this rune.");
return false;
}
- if (!altar.isOurania() && !rune.isNormal() && !player.getInventory().containsItem(PURE_ESSENCE)) {
- player.getPacketDispatch().sendMessage("You need pure essence to craft this rune.");
+ if (!altar.isOurania() && !rune.isNormal() && !player.getInventory().containsItem(PURE_ESSENCE) && !player.getInventory().containsItem(SOFT_CLAY)) {
+ player.getPacketDispatch().sendMessage("You need pure essence to craft this rune, or soft clay to craft teleport tablets.");
return false;
}
- if (!altar.isOurania() && rune.isNormal() && !player.getInventory().containsItem(PURE_ESSENCE) && !player.getInventory().containsItem(RUNE_ESSENCE)) {
- player.getPacketDispatch().sendMessage("You need rune essence or pure essence in order to craft this rune.");
+ if (!altar.isOurania() && rune.isNormal() && !player.getInventory().containsItem(PURE_ESSENCE) && !player.getInventory().containsItem(RUNE_ESSENCE) && !player.getInventory().containsItem(SOFT_CLAY)) {
+ player.getPacketDispatch().sendMessage("You need rune essence or pure essence in order to craft this rune, or soft clay to craft teleport tablets.");
return false;
}
if (altar.isOurania() && !player.getInventory().containsItem(PURE_ESSENCE)) {
@@ -160,6 +161,7 @@ public final class RuneCraftPulse extends SkillPulse
- {
@Override
public boolean reward() {
if (!combination) {
+ craftTablet();
craft();
} else {
combine();
@@ -177,7 +179,7 @@ public final class RuneCraftPulse extends SkillPulse
- {
int total = 0;
for(int j = 0; j < amount; j++) {
// since getMultiplier is stochastic, roll `amount` independent copies
- total += getMultiplier();
+ total += getMultiplier(rune);
}
Item i = new Item(rune.getRune().getId(), total);
@@ -215,7 +217,9 @@ public final class RuneCraftPulse extends SkillPulse
- {
player.getPacketDispatch().sendMessage("You bind the temple's power into runes.");
player.incrementAttribute("/save:" + STATS_BASE + ":" + STATS_RC, amount);
for (int i = 0; i < amount; i++) {
- Rune rune = null;
+ Rune rune = getOuraniaRune(player.getSkills().getLevel(Skills.RUNECRAFTING));
+ /* Snowscape: removed this placeholder formula and implemented the real ourania probabilities. The multiplier on Orania runes is also a custom feature.
+ Rune rune = null;
while (rune == null) {
final Rune temp = Rune.values()[RandomFunction.random(Rune.values().length)];
if (player.getSkills().getLevel(Skills.RUNECRAFTING) >= temp.getLevel()) {
@@ -226,17 +230,48 @@ public final class RuneCraftPulse extends SkillPulse
- {
}
}
}
+ */
player.getSkills().addExperience(Skills.RUNECRAFTING, rune.getExperience() * 2, true);
- Item runeItem = rune.getRune();
+ Item runeItem = new Item(rune.getRune().getId(),getMultiplier(rune));
player.getInventory().add(runeItem);
}
}
}
}
- /**
- * Method used to combine runes.
- */
+ /**
+ * Method used to combine runes. Snowscape custom: you get multiple combination runes per essence (the opposite rune cost scales to match the multiplier)
+ */
+ private final void combine() {
+ final Item remove = node.getName().contains("talisman") ? node : talisman != null ? talisman.getTalisman() : Talisman.forName(Rune.forItem(node).name()).getTalisman();
+ boolean imbued = hasSpellImbue();
+ if (!imbued ? player.getInventory().remove(remove) : imbued) {
+ int essenceAmt = player.getInventory().getAmount(PURE_ESSENCE);
+ int multiplier = getMultiplier(altar.getRune());
+ final Item rune = node.getName().contains("rune") ? Rune.forItem(node).getRune() : Rune.forName(Talisman.forItem(node).name()).getRune();
+ for (int i = 0; i < essenceAmt; i++) {
+ int runeAmt = player.getInventory().getAmount(rune);
+ if (runeAmt > 0 && player.getInventory().remove(new Item(PURE_ESSENCE.getId(),1))) {
+ if (runeAmt < multiplier) {
+ multiplier = runeAmt;
+ }
+ player.getInventory().remove(new Item(rune.getId(), multiplier));
+ if (RandomFunction.random(2) == 1 || hasBindingNecklace()) {
+ player.getInventory().add(new Item(combo.getRune().getId(), multiplier));
+ player.getSkills().addExperience(Skills.RUNECRAFTING, combo.getExperience(), true);
+ }
+ }
+ }
+ if (hasBindingNecklace()) {
+ player.getEquipment().get(EquipmentContainer.SLOT_AMULET).setCharge(player.getEquipment().get(EquipmentContainer.SLOT_AMULET).getCharge() - 1);
+ if (1000 - player.getEquipment().get(EquipmentContainer.SLOT_AMULET).getCharge() > 14) {
+ player.getEquipment().remove(BINDING_NECKLACE, true);
+ player.getPacketDispatch().sendMessage("Your binding necklace crumbles into dust.");
+ }
+ }
+ }
+ }
+ /* Original function, replaced by snowscape custom above
private final void combine() {
final Item remove = node.getName().contains("talisman") ? node : talisman != null ? talisman.getTalisman() : Talisman.forName(Rune.forItem(node).name()).getTalisman();
boolean imbued = hasSpellImbue();
@@ -267,6 +302,33 @@ public final class RuneCraftPulse extends SkillPulse
- {
}
}
}
+*/
+ /**
+ * Method used to craft tablets. Custom for Snowscape
+ */
+ private final void craftTablet() {
+ int amount = player.getInventory().getAmount(new Item(1761));
+ Item clay = new Item(1761, amount);
+ Item tablet = null;
+ if (altar == Altar.AIR) { tablet = new Item(13599, amount); }
+ if (altar == Altar.MIND) { tablet = new Item(13600, amount); }
+ if (altar == Altar.WATER) { tablet = new Item(13601, amount); }
+ if (altar == Altar.EARTH) { tablet = new Item(13602, amount); }
+ if (altar == Altar.FIRE) { tablet = new Item(13603, amount); }
+ if (altar == Altar.BODY) { tablet = new Item(13604, amount); }
+ if (altar == Altar.COSMIC) { tablet = new Item(13605, amount); }
+ if (altar == Altar.CHAOS) { tablet = new Item(13606, amount); }
+ if (altar == Altar.ASTRAL) { tablet = new Item(13611, amount); }
+ if (altar == Altar.NATURE) { tablet = new Item(13607, amount); }
+ if (altar == Altar.LAW) { tablet = new Item(13608, amount); }
+ if (altar == Altar.DEATH) { tablet = new Item(13609, amount); }
+ if (altar == Altar.BLOOD) { tablet = new Item(13610, amount); }
+ if (altar == Altar.SOUL) { tablet = new Item(8022, amount); }
+ if (tablet != null && player.getInventory().remove(clay)) {
+ player.getInventory().add(tablet);
+ player.getPacketDispatch().sendMessage("You bind the temple's power into teleport tablets.");
+ }
+ }
/**
* Checks if the player has the spell imbue.
@@ -318,10 +380,12 @@ public final class RuneCraftPulse extends SkillPulse
- {
*
* @return the amount.
*/
- public int getMultiplier() {
+ public int getMultiplier(Rune rune) {
+ /*
if (altar.isOurania()) {
return 1;
}
+ */
int rcLevel = player.getSkills().getLevel(Skills.RUNECRAFTING);
int runecraftingFormulaRevision = ServerConstants.RUNECRAFTING_FORMULA_REVISION;
boolean lumbridgeDiary = player.getAchievementDiaryManager().getDiary(DiaryType.LUMBRIDGE).isComplete(1);
@@ -365,6 +429,38 @@ public final class RuneCraftPulse extends SkillPulse
- {
public boolean hasBindingNecklace() {
return player.getEquipment().containsItem(BINDING_NECKLACE);
}
+
+ /**
+ * Method used to get a random rune for the Ourania altar based on runecrafting level.
+ * Todo: This should probably use a weighted table but I couldn't figure them out.
+ * @return the randomly selected rune.
+ */
+ public static Rune getOuraniaRune(int rcLevel) {
+ int random = RandomFunction.random(10000);
+ if (rcLevel >= 99) {
+ if (random > 9100) { return Rune.SOUL; } else if (random > 7800) { return Rune.BLOOD; } else if (random > 6250) { return Rune.DEATH; } else if (random > 4800) { return Rune.LAW; } else if (random > 3450) { return Rune.NATURE; } else if (random > 2500) { return Rune.ASTRAL; } else if (random > 1900) { return Rune.CHAOS; } else if (random > 1400) { return Rune.COSMIC; } else if (random > 1000) { return Rune.BODY; } else if (random > 700) { return Rune.FIRE; } else if (random > 400) { return Rune.EARTH; } else if (random > 200) { return Rune.WATER; } else if (random > 100) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 90) {
+ if (random > 9350) { return Rune.SOUL; } else if (random > 8350) { return Rune.BLOOD; } else if (random > 6700) { return Rune.DEATH; } else if (random > 5250) { return Rune.LAW; } else if (random > 3900) { return Rune.NATURE; } else if (random > 2900) { return Rune.ASTRAL; } else if (random > 2200) { return Rune.CHAOS; } else if (random > 1600) { return Rune.COSMIC; } else if (random > 1100) { return Rune.BODY; } else if (random > 700) { return Rune.FIRE; } else if (random > 400) { return Rune.EARTH; } else if (random > 200) { return Rune.WATER; } else if (random > 100) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 80) {
+ if (random > 9600) { return Rune.SOUL; } else if (random > 9000) { return Rune.BLOOD; } else if (random > 7550) { return Rune.DEATH; } else if (random > 6100) { return Rune.LAW; } else if (random > 4750) { return Rune.NATURE; } else if (random > 3700) { return Rune.ASTRAL; } else if (random > 2900) { return Rune.CHAOS; } else if (random > 2200) { return Rune.COSMIC; } else if (random > 1600) { return Rune.BODY; } else if (random > 700) { return Rune.FIRE; } else if (random > 400) { return Rune.EARTH; } else if (random > 200) { return Rune.WATER; } else if (random > 100) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 70) {
+ if (random > 9800) { return Rune.SOUL; } else if (random > 9300) { return Rune.BLOOD; } else if (random > 8300) { return Rune.DEATH; } else if (random > 6500) { return Rune.LAW; } else if (random > 5000) { return Rune.NATURE; } else if (random > 3800) { return Rune.ASTRAL; } else if (random > 2900) { return Rune.CHAOS; } else if (random > 2200) { return Rune.COSMIC; } else if (random > 1700) { return Rune.BODY; } else if (random > 1300) { return Rune.FIRE; } else if (random > 900) { return Rune.EARTH; } else if (random > 600) { return Rune.WATER; } else if (random > 300) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 60) {
+ if (random > 9900) { return Rune.SOUL; } else if (random > 9700) { return Rune.BLOOD; } else if (random > 9300) { return Rune.DEATH; } else if (random > 8500) { return Rune.LAW; } else if (random > 6950) { return Rune.NATURE; } else if (random > 5550) { return Rune.ASTRAL; } else if (random > 4500) { return Rune.CHAOS; } else if (random > 3550) { return Rune.COSMIC; } else if (random > 2800) { return Rune.BODY; } else if (random > 2100) { return Rune.FIRE; } else if (random > 1500) { return Rune.EARTH; } else if (random > 950) { return Rune.WATER; } else if (random > 450) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 50) {
+ if (random > 9920) { return Rune.SOUL; } else if (random > 9750) { return Rune.BLOOD; } else if (random > 9400) { return Rune.DEATH; } else if (random > 8700) { return Rune.LAW; } else if (random > 7350) { return Rune.NATURE; } else if (random > 5850) { return Rune.ASTRAL; } else if (random > 4750) { return Rune.CHAOS; } else if (random > 3750) { return Rune.COSMIC; } else if (random > 3000) { return Rune.BODY; } else if (random > 2300) { return Rune.FIRE; } else if (random > 1650) { return Rune.EARTH; } else if (random > 1050) { return Rune.WATER; } else if (random > 500) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 40) {
+ if (random > 9960) { return Rune.SOUL; } else if (random > 9880) { return Rune.BLOOD; } else if (random > 9760) { return Rune.DEATH; } else if (random > 9500) { return Rune.LAW; } else if (random > 9000) { return Rune.NATURE; } else if (random > 8000) { return Rune.ASTRAL; } else if (random > 6000) { return Rune.CHAOS; } else if (random > 4500) { return Rune.COSMIC; } else if (random > 3500) { return Rune.BODY; } else if (random > 2700) { return Rune.FIRE; } else if (random > 1950) { return Rune.EARTH; } else if (random > 1250) { return Rune.WATER; } else if (random > 600) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 30) {
+ if (random > 9980) { return Rune.SOUL; } else if (random > 9940) { return Rune.BLOOD; } else if (random > 9880) { return Rune.DEATH; } else if (random > 9750) { return Rune.LAW; } else if (random > 9500) { return Rune.NATURE; } else if (random > 9000) { return Rune.ASTRAL; } else if (random > 8000) { return Rune.CHAOS; } else if (random > 6000) { return Rune.COSMIC; } else if (random > 4700) { return Rune.BODY; } else if (random > 3500) { return Rune.FIRE; } else if (random > 2400) { return Rune.EARTH; } else if (random > 1500) { return Rune.WATER; } else if (random > 700) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 20) {
+ if (random > 9992) { return Rune.SOUL; } else if (random > 9977) { return Rune.BLOOD; } else if (random > 9945) { return Rune.DEATH; } else if (random > 9890) { return Rune.LAW; } else if (random > 9780) { return Rune.NATURE; } else if (random > 9570) { return Rune.ASTRAL; } else if (random > 9150) { return Rune.CHAOS; } else if (random > 8350) { return Rune.COSMIC; } else if (random > 6750) { return Rune.BODY; } else if (random > 5250) { return Rune.FIRE; } else if (random > 3850) { return Rune.EARTH; } else if (random > 2500) { return Rune.WATER; } else if (random > 1200) { return Rune.MIND; } else { return Rune.AIR; }
+ } else if (rcLevel >= 10) {
+ if (random > 9997) { return Rune.SOUL; } else if (random > 9991) { return Rune.BLOOD; } else if (random > 9979) { return Rune.DEATH; } else if (random > 9955) { return Rune.LAW; } else if (random > 9915) { return Rune.NATURE; } else if (random > 9855) { return Rune.ASTRAL; } else if (random > 9775) { return Rune.CHAOS; } else if (random > 9600) { return Rune.COSMIC; } else if (random > 9000) { return Rune.BODY; } else if (random > 7800) { return Rune.FIRE; } else if (random > 5400) { return Rune.EARTH; } else if (random > 3300) { return Rune.WATER; } else if (random > 1500) { return Rune.MIND; } else { return Rune.AIR; }
+ } else {
+ if (random > 9998) { return Rune.SOUL; } else if (random > 9993) { return Rune.BLOOD; } else if (random > 9985) { return Rune.DEATH; } else if (random > 9970) { return Rune.LAW; } else if (random > 9940) { return Rune.NATURE; } else if (random > 9895) { return Rune.ASTRAL; } else if (random > 9835) { return Rune.CHAOS; } else if (random > 9750) { return Rune.COSMIC; } else if (random > 9600) { return Rune.BODY; } else if (random > 9300) { return Rune.FIRE; } else if (random > 8700) { return Rune.EARTH; } else if (random > 7500) { return Rune.WATER; } else if (random > 5000) { return Rune.MIND; } else { return Rune.AIR; }
+ }
+ }
/**
* Gets the altar.
diff --git a/Server/src/main/content/global/skill/slayer/SlayerManager.kt b/Server/src/main/content/global/skill/slayer/SlayerManager.kt
index 5542a7777..f0ff71ed5 100644
--- a/Server/src/main/content/global/skill/slayer/SlayerManager.kt
+++ b/Server/src/main/content/global/skill/slayer/SlayerManager.kt
@@ -13,6 +13,8 @@ import org.json.simple.JSONObject
import java.util.*
import org.rs09.consts.Items
+import content.global.skill.hunter.HunterNPC
+
/**
* Manages the players slayer data.
* @author Ceikry
@@ -101,9 +103,13 @@ class SlayerManager(val player: Player? = null) : LoginListener, PersistPlayer,
val player = entity as? Player ?: return
val slayer = getInstance(player)
val flags = slayer.flags
+ var xp = npc.skills.maximumLifepoints.toDouble()
+ //Snowscape custom: grant a third of the normal slayer exp on all kills (this stacks with the exp from on-task kills)
+ if (npc !is HunterNPC)
+ rewardXP(player, Skills.SLAYER, xp/3)
if (slayer.hasTask() && npc.id in slayer.task!!.npcs) {
- var xp = npc.skills.maximumLifepoints.toDouble()
+
if (slayer.task!!.dragon && inEquipment(player, Items.DRAGON_SLAYER_GLOVES_12862)) {
xp *= 1.15
FOGGlovesManager.updateCharges(player)
diff --git a/Server/src/main/content/global/skill/smithing/Bars.java b/Server/src/main/content/global/skill/smithing/Bars.java
index 7514693fe..0c8c36181 100644
--- a/Server/src/main/content/global/skill/smithing/Bars.java
+++ b/Server/src/main/content/global/skill/smithing/Bars.java
@@ -26,122 +26,122 @@ public enum Bars {
/**
* Bronze Mace
*/
- BRONZE_MACE(BarType.BRONZE, SmithingType.TYPE_MACE, 1422, 2),
+ BRONZE_MACE(BarType.BRONZE, SmithingType.TYPE_MACE, 1422, 1),
/**
* Bronze Medium helm
*/
- BRONZE_MED_HELM(BarType.BRONZE, SmithingType.TYPE_MEDIUM_HELM, 1139, 3),
+ BRONZE_MED_HELM(BarType.BRONZE, SmithingType.TYPE_MEDIUM_HELM, 1139, 1),
/**
* Bronze Crossbow Bolt
*/
- BRONZE_CROSSBOW_BOLT(BarType.BRONZE, SmithingType.TYPE_CROSSBOW_BOLT, 9375, 3),
+ BRONZE_CROSSBOW_BOLT(BarType.BRONZE, SmithingType.TYPE_CROSSBOW_BOLT, 9375, 1),
/**
* Bronze Sword
*/
- BRONZE_SWORD(BarType.BRONZE, SmithingType.TYPE_SWORD, 1277, 4),
+ BRONZE_SWORD(BarType.BRONZE, SmithingType.TYPE_SWORD, 1277, 1),
/**
* Bronze Dart Tips
*/
- BRONZE_DART_TIPS(BarType.BRONZE, SmithingType.TYPE_DART_TIP, 819, 4),
+ BRONZE_DART_TIPS(BarType.BRONZE, SmithingType.TYPE_DART_TIP, 819, 1),
/**
* Bronze Nails
*/
- BRONZE_NAILS(BarType.BRONZE, SmithingType.TYPE_NAIL, 4819, 4),
+ BRONZE_NAILS(BarType.BRONZE, SmithingType.TYPE_NAIL, 4819, 1),
/**
* Bronze Wire
*/
- BRONZE_WIRE(BarType.BRONZE, SmithingType.TYPE_WIRE, 1794, 4),
+ BRONZE_WIRE(BarType.BRONZE, SmithingType.TYPE_WIRE, 1794, 1),
/**
* Bronze Arrow Tips
*/
- BRONZE_ARROW_TIPS(BarType.BRONZE, SmithingType.TYPE_ARROW_TIP, 39, 5),
+ BRONZE_ARROW_TIPS(BarType.BRONZE, SmithingType.TYPE_ARROW_TIP, 39, 1),
/**
* Bronze Scimitar
*/
- BRONZE_SCIMITAR(BarType.BRONZE, SmithingType.TYPE_SCIMITAR, 1321, 5),
+ BRONZE_SCIMITAR(BarType.BRONZE, SmithingType.TYPE_SCIMITAR, 1321, 1),
/**
* Bronze Crossbow Limbs
*/
- BRONZE_CROSSBOW_LIMBS(BarType.BRONZE, SmithingType.TYPE_CROSSBOW_LIMB, 9420, 6),
+ BRONZE_CROSSBOW_LIMBS(BarType.BRONZE, SmithingType.TYPE_CROSSBOW_LIMB, 9420, 1),
/**
* Bronze longsword
*/
- BRONZE_LONGSWORD(BarType.BRONZE, SmithingType.TYPE_LONGSWORD, 1291, 6),
+ BRONZE_LONGSWORD(BarType.BRONZE, SmithingType.TYPE_LONGSWORD, 1291, 1),
/**
* Bronze ThrowingKnife
*/
- BRONZE_THROWINGKNFIE(BarType.BRONZE, SmithingType.TYPE_THROWING_KNIFE, 864, 7),
+ BRONZE_THROWINGKNFIE(BarType.BRONZE, SmithingType.TYPE_THROWING_KNIFE, 864, 1),
/**
* Bronze Full helmet
*/
- BRONZE_FULL_HELM(BarType.BRONZE, SmithingType.TYPE_FULL_HELM, 1155, 7),
+ BRONZE_FULL_HELM(BarType.BRONZE, SmithingType.TYPE_FULL_HELM, 1155, 1),
/**
* Bronze Square Shield
*/
- BRONZE_SQUARE_SHIELD(BarType.BRONZE, SmithingType.TYPE_SQUARE_SHIELD, 1173, 8),
+ BRONZE_SQUARE_SHIELD(BarType.BRONZE, SmithingType.TYPE_SQUARE_SHIELD, 1173, 1),
/**
* Bronze Warhammer
*/
- BRONZE_WAR_HAMMER(BarType.BRONZE, SmithingType.TYPE_WARHAMMER, 1337, 9),
+ BRONZE_WAR_HAMMER(BarType.BRONZE, SmithingType.TYPE_WARHAMMER, 1337, 1),
/**
* Bronze BattleAxe
*/
- BRONZE_BATTLEAXE(BarType.BRONZE, SmithingType.TYPE_BATTLE_AXE, 1375, 10),
+ BRONZE_BATTLEAXE(BarType.BRONZE, SmithingType.TYPE_BATTLE_AXE, 1375, 1),
/**
* Bronze ChainBody
*/
- BRONZE_CHAINBODY(BarType.BRONZE, SmithingType.TYPE_CHAINBODY, 1103, 11),
+ BRONZE_CHAINBODY(BarType.BRONZE, SmithingType.TYPE_CHAINBODY, 1103, 1),
/**
* Bronze KitShield
*/
- BRONZE_KITESHIELD(BarType.BRONZE, SmithingType.TYPE_KITE_SHIELD, 1189, 12),
+ BRONZE_KITESHIELD(BarType.BRONZE, SmithingType.TYPE_KITE_SHIELD, 1189, 1),
/**
* Bronze Claws
*/
- BRONZE_CLAWS(BarType.BRONZE, SmithingType.TYPE_CLAWS, 3095, 13),
+ BRONZE_CLAWS(BarType.BRONZE, SmithingType.TYPE_CLAWS, 3095, 1),
/**
* Bronze 2h
*/
- BRONZE_TWO_HANDED(BarType.BRONZE, SmithingType.TYPE_TWO_HAND_SWORD, 1307, 14),
+ BRONZE_TWO_HANDED(BarType.BRONZE, SmithingType.TYPE_TWO_HAND_SWORD, 1307, 1),
/**
* Bronze PlateSkirt
*/
- BRONZE_PLATE_SKIRT(BarType.BRONZE, SmithingType.TYPE_PLATE_SKIRT, 1087, 16),
+ BRONZE_PLATE_SKIRT(BarType.BRONZE, SmithingType.TYPE_PLATE_SKIRT, 1087, 1),
/**
* Bronze PlateLegs
*/
- BRONZE_PLATELEGS(BarType.BRONZE, SmithingType.TYPE_PLATELEG, 1075, 16),
+ BRONZE_PLATELEGS(BarType.BRONZE, SmithingType.TYPE_PLATELEG, 1075, 1),
/**
* Bronze PlateBody
*/
- BRONZE_PLATEBODY(BarType.BRONZE, SmithingType.TYPE_PLATEBODY, 1117, 18),
+ BRONZE_PLATEBODY(BarType.BRONZE, SmithingType.TYPE_PLATEBODY, 1117, 1),
/**
* Bronze Pickaxe
*/
- BRONZE_PICKAXE(BarType.BRONZE, SmithingType.TYPE_PICKAXE, 1265, 5),
+ BRONZE_PICKAXE(BarType.BRONZE, SmithingType.TYPE_PICKAXE, 1265, 1),
/**
* Iron Dagger
@@ -151,131 +151,131 @@ public enum Bars {
/**
* Iron Hatchet
*/
- IRON_AXE(BarType.IRON, SmithingType.TYPE_AXE, 1349, 16),
+ IRON_AXE(BarType.IRON, SmithingType.TYPE_AXE, 1349, 15),
/**
* Iron Mace
*/
- IRON_MACE(BarType.IRON, SmithingType.TYPE_MACE, 1420, 17),
+ IRON_MACE(BarType.IRON, SmithingType.TYPE_MACE, 1420, 15),
/**
* Iron Med Helm
*/
- IRON_MED_HELM(BarType.IRON, SmithingType.TYPE_MEDIUM_HELM, 1137, 18),
+ IRON_MED_HELM(BarType.IRON, SmithingType.TYPE_MEDIUM_HELM, 1137, 15),
/**
* Iron Bolt
*/
- IRON_BOLT(BarType.IRON, SmithingType.TYPE_CROSSBOW_BOLT, 9377, 18),
+ IRON_BOLT(BarType.IRON, SmithingType.TYPE_CROSSBOW_BOLT, 9377, 15),
/**
* Iron Sword
*/
- IRON_SWORD(BarType.IRON, SmithingType.TYPE_SWORD, 1279, 19),
+ IRON_SWORD(BarType.IRON, SmithingType.TYPE_SWORD, 1279, 15),
/**
* Iron Dart Tips
*/
- IRON_DART_TIPS(BarType.IRON, SmithingType.TYPE_DART_TIP, 820, 19),
+ IRON_DART_TIPS(BarType.IRON, SmithingType.TYPE_DART_TIP, 820, 15),
/**
* Iron Nails
*/
- IRON_NAILS(BarType.IRON, SmithingType.TYPE_NAIL, 4820, 19),
+ IRON_NAILS(BarType.IRON, SmithingType.TYPE_NAIL, 4820, 15),
/**
* Iron Split
*/
- IRON_SPIT(BarType.IRON, SmithingType.TYPE_SPIT_IRON, 7225, 16),
+ IRON_SPIT(BarType.IRON, SmithingType.TYPE_SPIT_IRON, 7225, 15),
/**
* Iron Arrow Tips
*/
- IRON_ARROW_TIPS(BarType.IRON, SmithingType.TYPE_ARROW_TIP, 40, 20),
+ IRON_ARROW_TIPS(BarType.IRON, SmithingType.TYPE_ARROW_TIP, 40, 15),
/**
* Iron Scimitar
*/
- IRON_SCIMITAR(BarType.IRON, SmithingType.TYPE_SCIMITAR, 1323, 20),
+ IRON_SCIMITAR(BarType.IRON, SmithingType.TYPE_SCIMITAR, 1323, 15),
/**
* Iron Crossbow Limbs
*/
- IRON_CROSSBOW_LimbS(BarType.IRON, SmithingType.TYPE_CROSSBOW_LIMB, 9423, 23),
+ IRON_CROSSBOW_LimbS(BarType.IRON, SmithingType.TYPE_CROSSBOW_LIMB, 9423, 15),
/**
* Iron LongSword
*/
- IRON_LONGSWORD(BarType.IRON, SmithingType.TYPE_LONGSWORD, 1293, 21),
+ IRON_LONGSWORD(BarType.IRON, SmithingType.TYPE_LONGSWORD, 1293, 15),
/**
* Iron Knife
*/
- IRON_KNIFE(BarType.IRON, SmithingType.TYPE_THROWING_KNIFE, 863, 22),
+ IRON_KNIFE(BarType.IRON, SmithingType.TYPE_THROWING_KNIFE, 863, 15),
/**
* Iron Full Helm
*/
- IRON_FULL_HELM(BarType.IRON, SmithingType.TYPE_FULL_HELM, 1153, 22),
+ IRON_FULL_HELM(BarType.IRON, SmithingType.TYPE_FULL_HELM, 1153, 15),
/**
* Iron Square Shield
*/
- IRON_SQUARE_SHIELD(BarType.IRON, SmithingType.TYPE_SQUARE_SHIELD, 1175, 23),
+ IRON_SQUARE_SHIELD(BarType.IRON, SmithingType.TYPE_SQUARE_SHIELD, 1175, 15),
/**
* Oil Lantern Frame
*/
- OIL_LANTERN_FRAME(BarType.IRON, SmithingType.TYPE_OIL_LANTERN, 4540, 26),
+ OIL_LANTERN_FRAME(BarType.IRON, SmithingType.TYPE_OIL_LANTERN, 4540, 15),
/**
* Iron WarHammer
*/
- IRON_WARHAMMER(BarType.IRON, SmithingType.TYPE_WARHAMMER, 1335, 24),
+ IRON_WARHAMMER(BarType.IRON, SmithingType.TYPE_WARHAMMER, 1335, 15),
/**
* Iron Battleaxe
*/
- IRON_BATTLEAXE(BarType.IRON, SmithingType.TYPE_BATTLE_AXE, 1363, 25),
+ IRON_BATTLEAXE(BarType.IRON, SmithingType.TYPE_BATTLE_AXE, 1363, 15),
/**
* Iron ChainBody
*/
- IRON_CHAINBODY(BarType.IRON, SmithingType.TYPE_CHAINBODY, 1101, 26),
+ IRON_CHAINBODY(BarType.IRON, SmithingType.TYPE_CHAINBODY, 1101, 15),
/**
* Iron Kite Shield
*/
- IRON_KITE_SHIELD(BarType.IRON, SmithingType.TYPE_KITE_SHIELD, 1191, 27),
+ IRON_KITE_SHIELD(BarType.IRON, SmithingType.TYPE_KITE_SHIELD, 1191, 15),
/**
* Iron Claws
*/
- IRON_CLAWS(BarType.IRON, SmithingType.TYPE_CLAWS, 3096, 28),
+ IRON_CLAWS(BarType.IRON, SmithingType.TYPE_CLAWS, 3096, 15),
/**
* Iron 2H
*/
- IRON_TWO_HANDED_SWORD(BarType.IRON, SmithingType.TYPE_TWO_HAND_SWORD, 1309, 29),
+ IRON_TWO_HANDED_SWORD(BarType.IRON, SmithingType.TYPE_TWO_HAND_SWORD, 1309, 15),
/**
* Iron PlateSkirt
*/
- IRON_PLATESKIRT(BarType.IRON, SmithingType.TYPE_PLATE_SKIRT, 1081, 31),
+ IRON_PLATESKIRT(BarType.IRON, SmithingType.TYPE_PLATE_SKIRT, 1081, 15),
/**
* Iron PlateLegs
*/
- IRON_PLATELEGS(BarType.IRON, SmithingType.TYPE_PLATELEG, 1067, 31),
+ IRON_PLATELEGS(BarType.IRON, SmithingType.TYPE_PLATELEG, 1067, 15),
/**
* Iron PlateBody
*/
- IRON_PLATEBODY(BarType.IRON, SmithingType.TYPE_PLATEBODY, 1115, 33),
+ IRON_PLATEBODY(BarType.IRON, SmithingType.TYPE_PLATEBODY, 1115, 15),
/**
* Iron PickAxe
*/
- IRON_PICKAXE(BarType.IRON, SmithingType.TYPE_PICKAXE, 1267, 20),
+ IRON_PICKAXE(BarType.IRON, SmithingType.TYPE_PICKAXE, 1267, 15),
/**
* Steel Dagger
@@ -285,132 +285,132 @@ public enum Bars {
/**
* Steel Axe
*/
- STEEL_AXE(BarType.STEEL, SmithingType.TYPE_AXE, 1353, 31),
+ STEEL_AXE(BarType.STEEL, SmithingType.TYPE_AXE, 1353, 30),
/**
* Steel Mace
*/
- STEEL_MACE(BarType.STEEL, SmithingType.TYPE_MACE, 1424, 32),
+ STEEL_MACE(BarType.STEEL, SmithingType.TYPE_MACE, 1424, 30),
/**
* Steel Medium Helm
*/
- STEEL_MED_HELM(BarType.STEEL, SmithingType.TYPE_MEDIUM_HELM, 1141, 33),
+ STEEL_MED_HELM(BarType.STEEL, SmithingType.TYPE_MEDIUM_HELM, 1141, 30),
/**
* Steel CrossBow bolts
*/
- STEEL_CROSSBOW_BOLT(BarType.STEEL, SmithingType.TYPE_CROSSBOW_BOLT, 9378, 33),
+ STEEL_CROSSBOW_BOLT(BarType.STEEL, SmithingType.TYPE_CROSSBOW_BOLT, 9378, 30),
/**
* Steel Sword
*/
- STEEL_SWORD(BarType.STEEL, SmithingType.TYPE_SWORD, 1281, 34),
+ STEEL_SWORD(BarType.STEEL, SmithingType.TYPE_SWORD, 1281, 30),
/**
* Steel Dart Tips
*/
- STEEL_DART_TIPS(BarType.STEEL, SmithingType.TYPE_DART_TIP, 821, 34),
+ STEEL_DART_TIPS(BarType.STEEL, SmithingType.TYPE_DART_TIP, 821, 30),
/**
* Steel Nails
*/
- STEEL_NAILS(BarType.STEEL, SmithingType.TYPE_NAIL, 1539, 34),
+ STEEL_NAILS(BarType.STEEL, SmithingType.TYPE_NAIL, 1539, 30),
/**
* Steel ArrowTips
*/
- STEEL_ARROW_TIPS(BarType.STEEL, SmithingType.TYPE_ARROW_TIP, 41, 35),
+ STEEL_ARROW_TIPS(BarType.STEEL, SmithingType.TYPE_ARROW_TIP, 41, 30),
/**
* Steel Scimitar
*/
- STEEL_SCIMITAR(BarType.STEEL, SmithingType.TYPE_SCIMITAR, 1325, 35),
+ STEEL_SCIMITAR(BarType.STEEL, SmithingType.TYPE_SCIMITAR, 1325, 30),
/**
* Steel Crossbow Limbs
*/
- STEEL_CROSSBOW_LIMBS(BarType.STEEL, SmithingType.TYPE_CROSSBOW_LIMB, 9425, 36),
+ STEEL_CROSSBOW_LIMBS(BarType.STEEL, SmithingType.TYPE_CROSSBOW_LIMB, 9425, 30),
/**
* Steel LongSword
*/
- STEEL_LONGSWORD(BarType.STEEL, SmithingType.TYPE_LONGSWORD, 1295, 36),
+ STEEL_LONGSWORD(BarType.STEEL, SmithingType.TYPE_LONGSWORD, 1295, 30),
/**
* Steel Knife
*/
- STEEL_THROWING_KNIFE(BarType.STEEL, SmithingType.TYPE_THROWING_KNIFE, 865, 37),
+ STEEL_THROWING_KNIFE(BarType.STEEL, SmithingType.TYPE_THROWING_KNIFE, 865, 30),
/**
* Steel Full Helm
*/
- STEEL_FULL_HELM(BarType.STEEL, SmithingType.TYPE_FULL_HELM, 1157, 37),
+ STEEL_FULL_HELM(BarType.STEEL, SmithingType.TYPE_FULL_HELM, 1157, 30),
/**
* Steel Studs
*/
- STEEL_STUDS(BarType.STEEL, SmithingType.TYPE_STUDS, 2370, 36),
+ STEEL_STUDS(BarType.STEEL, SmithingType.TYPE_STUDS, 2370, 30),
/**
* Steel Square Shield
*/
- STEEL_SQUARE_SHIELD(BarType.STEEL, SmithingType.TYPE_SQUARE_SHIELD, 1177, 38),
+ STEEL_SQUARE_SHIELD(BarType.STEEL, SmithingType.TYPE_SQUARE_SHIELD, 1177, 30),
/**
* Steel Lantern
*/
- STEEL_BULLSEYE(BarType.STEEL, SmithingType.TYPE_BULLSEYE, 4544, 49),
+ STEEL_BULLSEYE(BarType.STEEL, SmithingType.TYPE_BULLSEYE, 4544, 30),
/**
* Steel WarHammer
*/
- STEEL_WARHAMMER(BarType.STEEL, SmithingType.TYPE_WARHAMMER, 1339, 39),
+ STEEL_WARHAMMER(BarType.STEEL, SmithingType.TYPE_WARHAMMER, 1339, 30),
/**
* Steel battle axe
*/
- STEEL_BATTLE_AXE(BarType.STEEL, SmithingType.TYPE_BATTLE_AXE, 1365, 40),
+ STEEL_BATTLE_AXE(BarType.STEEL, SmithingType.TYPE_BATTLE_AXE, 1365, 30),
/**
* Steel ChainBody
*/
- STEEL_CHAINBODY(BarType.STEEL, SmithingType.TYPE_CHAINBODY, 1105, 41),
+ STEEL_CHAINBODY(BarType.STEEL, SmithingType.TYPE_CHAINBODY, 1105, 30),
/**
* Steel Kite Shield
*/
- STEEL_KITE_SHIELD(BarType.STEEL, SmithingType.TYPE_KITE_SHIELD, 1193, 42),
+ STEEL_KITE_SHIELD(BarType.STEEL, SmithingType.TYPE_KITE_SHIELD, 1193, 30),
/**
* Steel Claws
*/
- STEEL_CLAWS(BarType.STEEL, SmithingType.TYPE_CLAWS, 3097, 43),
+ STEEL_CLAWS(BarType.STEEL, SmithingType.TYPE_CLAWS, 3097, 30),
/**
* Steel 2h
*/
- STEEL_TWO_HANDED_SWORD(BarType.STEEL, SmithingType.TYPE_TWO_HAND_SWORD, 1311, 44),
+ STEEL_TWO_HANDED_SWORD(BarType.STEEL, SmithingType.TYPE_TWO_HAND_SWORD, 1311, 30),
/**
* Steel plate skirt
*/
- STEEL_PLATE_SKIRT(BarType.STEEL, SmithingType.TYPE_PLATE_SKIRT, 1083, 46),
+ STEEL_PLATE_SKIRT(BarType.STEEL, SmithingType.TYPE_PLATE_SKIRT, 1083, 30),
/**
* Steel platelegs
*/
- STEEL_PLATELEGS(BarType.STEEL, SmithingType.TYPE_PLATELEG, 1069, 46),
+ STEEL_PLATELEGS(BarType.STEEL, SmithingType.TYPE_PLATELEG, 1069, 30),
/**
* Steel platebody
*/
- STEEL_PLATEBODY(BarType.STEEL, SmithingType.TYPE_PLATEBODY, 1119, 48),
+ STEEL_PLATEBODY(BarType.STEEL, SmithingType.TYPE_PLATEBODY, 1119, 30),
/**
* Steel pickaxe
*/
- STEEL_PICKAXE(BarType.STEEL, SmithingType.TYPE_PICKAXE, 1269, 35),
+ STEEL_PICKAXE(BarType.STEEL, SmithingType.TYPE_PICKAXE, 1269, 30),
/**
* Mithril Dagger
@@ -420,377 +420,377 @@ public enum Bars {
/**
* Mithril Hatchet
*/
- MITHRIL_HATCHET(BarType.MITHRIL, SmithingType.TYPE_AXE, 1355, 51),
+ MITHRIL_HATCHET(BarType.MITHRIL, SmithingType.TYPE_AXE, 1355, 50),
/**
* Mithril Mace
*/
- MITHRIL_MACE(BarType.MITHRIL, SmithingType.TYPE_MACE, 1428, 52),
+ MITHRIL_MACE(BarType.MITHRIL, SmithingType.TYPE_MACE, 1428, 50),
/**
* Mithril Med Helm
*/
- MITHRIL_MED_HELM(BarType.MITHRIL, SmithingType.TYPE_MEDIUM_HELM, 1143, 53),
+ MITHRIL_MED_HELM(BarType.MITHRIL, SmithingType.TYPE_MEDIUM_HELM, 1143, 50),
/**
* Mithril Crossbow Bolt
*/
- MITHRIL_CROSSBOW_BOLT(BarType.MITHRIL, SmithingType.TYPE_CROSSBOW_BOLT, 9379, 53),
+ MITHRIL_CROSSBOW_BOLT(BarType.MITHRIL, SmithingType.TYPE_CROSSBOW_BOLT, 9379, 50),
/**
* Mithril Sword
*/
- MITHRIL_SWORD(BarType.MITHRIL, SmithingType.TYPE_SWORD, 1285, 54),
+ MITHRIL_SWORD(BarType.MITHRIL, SmithingType.TYPE_SWORD, 1285, 50),
/**
* Mithril Dart Tips
*/
- MITHRIL_DART_TIPS(BarType.MITHRIL, SmithingType.TYPE_DART_TIP, 822, 54),
+ MITHRIL_DART_TIPS(BarType.MITHRIL, SmithingType.TYPE_DART_TIP, 822, 50),
/**
* Mithril Nails
*/
- MITHRIL_NAILS(BarType.MITHRIL, SmithingType.TYPE_NAIL, 4822, 54),
+ MITHRIL_NAILS(BarType.MITHRIL, SmithingType.TYPE_NAIL, 4822, 50),
/**
* Mithril Arrow Tips
*/
- MITHRIL_ARROW_TIPS(BarType.MITHRIL, SmithingType.TYPE_ARROW_TIP, 42, 55),
+ MITHRIL_ARROW_TIPS(BarType.MITHRIL, SmithingType.TYPE_ARROW_TIP, 42, 50),
/**
* Mithril Scimitar
*/
- MITHRIL_SCIMITAR(BarType.MITHRIL, SmithingType.TYPE_SCIMITAR, 1329, 55),
+ MITHRIL_SCIMITAR(BarType.MITHRIL, SmithingType.TYPE_SCIMITAR, 1329, 50),
/**
* Mithril Crossbow Limbs
*/
- MITHRIL_CROSSBOW_LIMBS(BarType.MITHRIL, SmithingType.TYPE_CROSSBOW_LIMB, 9427, 56),
+ MITHRIL_CROSSBOW_LIMBS(BarType.MITHRIL, SmithingType.TYPE_CROSSBOW_LIMB, 9427, 50),
/**
* Mithril LongSword
*/
- MITHRIL_LONGSWORD(BarType.MITHRIL, SmithingType.TYPE_LONGSWORD, 1299, 56),
+ MITHRIL_LONGSWORD(BarType.MITHRIL, SmithingType.TYPE_LONGSWORD, 1299, 50),
/**
* Mithril Knife
*/
- MITHRIL_KNIFE(BarType.MITHRIL, SmithingType.TYPE_THROWING_KNIFE, 866, 57),
+ MITHRIL_KNIFE(BarType.MITHRIL, SmithingType.TYPE_THROWING_KNIFE, 866, 50),
/**
* Mithril Full Helm
*/
- MITHRIL_FULL_HELM(BarType.MITHRIL, SmithingType.TYPE_FULL_HELM, 1159, 57),
+ MITHRIL_FULL_HELM(BarType.MITHRIL, SmithingType.TYPE_FULL_HELM, 1159, 50),
/**
* Mithril SquareShield
*/
- MITHRIL_SQUARE_SHIELD(BarType.MITHRIL, SmithingType.TYPE_SQUARE_SHIELD, 1181, 58),
+ MITHRIL_SQUARE_SHIELD(BarType.MITHRIL, SmithingType.TYPE_SQUARE_SHIELD, 1181, 50),
/**
* Mithril Grapple Tips
*/
- MITHRIL_GRAPPLE_TIPS(BarType.MITHRIL, SmithingType.TYPE_GRAPPLE_TIP, 9416, 59),
+ MITHRIL_GRAPPLE_TIPS(BarType.MITHRIL, SmithingType.TYPE_GRAPPLE_TIP, 9416, 50),
/**
* Mithril Warhammer
*/
- MITHRIL_WARHAMMER(BarType.MITHRIL, SmithingType.TYPE_WARHAMMER, 1343, 59),
+ MITHRIL_WARHAMMER(BarType.MITHRIL, SmithingType.TYPE_WARHAMMER, 1343, 50),
/**
* Mithril BattleAxe
*/
- MITHRIL_BATTLEAXE(BarType.MITHRIL, SmithingType.TYPE_BATTLE_AXE, 1369, 60),
+ MITHRIL_BATTLEAXE(BarType.MITHRIL, SmithingType.TYPE_BATTLE_AXE, 1369, 50),
/**
* Mithril ChainBody
*/
- MITHRIL_CHAINBODY(BarType.MITHRIL, SmithingType.TYPE_CHAINBODY, 1109, 61),
+ MITHRIL_CHAINBODY(BarType.MITHRIL, SmithingType.TYPE_CHAINBODY, 1109, 50),
/**
* Mithril KiteShield
*/
- MITHRIL_KITE_SHIELD(BarType.MITHRIL, SmithingType.TYPE_KITE_SHIELD, 1197, 62),
+ MITHRIL_KITE_SHIELD(BarType.MITHRIL, SmithingType.TYPE_KITE_SHIELD, 1197, 50),
/**
* Mithril Claws
*/
- MITHRIL_CLAWS(BarType.MITHRIL, SmithingType.TYPE_CLAWS, 3099, 63),
+ MITHRIL_CLAWS(BarType.MITHRIL, SmithingType.TYPE_CLAWS, 3099, 50),
/**
* Mithril 2H
*/
- MITHRIL_TWO_HANDED_SWORD(BarType.MITHRIL, SmithingType.TYPE_TWO_HAND_SWORD, 1315, 64),
+ MITHRIL_TWO_HANDED_SWORD(BarType.MITHRIL, SmithingType.TYPE_TWO_HAND_SWORD, 1315, 50),
/**
* Mithril PlateSkirt
*/
- MITHRIL_PLATESKIRT(BarType.MITHRIL, SmithingType.TYPE_PLATE_SKIRT, 1085, 66),
+ MITHRIL_PLATESKIRT(BarType.MITHRIL, SmithingType.TYPE_PLATE_SKIRT, 1085, 50),
/**
* Mithril PlateLegs
*/
- MITHRIL_PLATELEGS(BarType.MITHRIL, SmithingType.TYPE_PLATELEG, 1071, 66),
+ MITHRIL_PLATELEGS(BarType.MITHRIL, SmithingType.TYPE_PLATELEG, 1071, 50),
/**
* Mithril PlateBody
*/
- MITHRIL_PLATEBODY(BarType.MITHRIL, SmithingType.TYPE_PLATEBODY, 1121, 68),
+ MITHRIL_PLATEBODY(BarType.MITHRIL, SmithingType.TYPE_PLATEBODY, 1121, 50),
/**
* Mithril PickAxe
*/
- MITHRIL_PICKAXE(BarType.MITHRIL, SmithingType.TYPE_PICKAXE, 1273, 55),
+ MITHRIL_PICKAXE(BarType.MITHRIL, SmithingType.TYPE_PICKAXE, 1273, 50),
/**
* Adamant Dagger
*/
- ADAMANT_DAGGER(BarType.ADAMANT, SmithingType.TYPE_DAGGER, 1211, 70),
+ ADAMANT_DAGGER(BarType.ADAMANT, SmithingType.TYPE_DAGGER, 1211, 60),
/**
* Adamant Hatchet
*/
- ADAMANT_AXE(BarType.ADAMANT, SmithingType.TYPE_AXE, 1357, 71),
+ ADAMANT_AXE(BarType.ADAMANT, SmithingType.TYPE_AXE, 1357, 60),
/**
* Adamant Mace
*/
- ADAMANT_MACE(BarType.ADAMANT, SmithingType.TYPE_MACE, 1430, 72),
+ ADAMANT_MACE(BarType.ADAMANT, SmithingType.TYPE_MACE, 1430, 60),
/**
* Adamant Med Helm
*/
- ADAMANT_MEDIUM_HELM(BarType.ADAMANT, SmithingType.TYPE_MEDIUM_HELM, 1145, 73),
+ ADAMANT_MEDIUM_HELM(BarType.ADAMANT, SmithingType.TYPE_MEDIUM_HELM, 1145, 60),
/**
* Adamant Crossbow Bolt
*/
- ADAMANT_BOLT(BarType.ADAMANT, SmithingType.TYPE_CROSSBOW_BOLT, 9380, 73),
+ ADAMANT_BOLT(BarType.ADAMANT, SmithingType.TYPE_CROSSBOW_BOLT, 9380, 60),
/**
* Adamant Sword
*/
- ADAMANT_SWORD(BarType.ADAMANT, SmithingType.TYPE_SWORD, 1287, 74),
+ ADAMANT_SWORD(BarType.ADAMANT, SmithingType.TYPE_SWORD, 1287, 60),
/**
* Adamant Dart Tips
*/
- ADAMANT_DART_TIPS(BarType.ADAMANT, SmithingType.TYPE_DART_TIP, 823, 74),
+ ADAMANT_DART_TIPS(BarType.ADAMANT, SmithingType.TYPE_DART_TIP, 823, 60),
/**
* Adamant Nails
*/
- ADAMANT_NAILS(BarType.ADAMANT, SmithingType.TYPE_NAIL, 4823, 74),
+ ADAMANT_NAILS(BarType.ADAMANT, SmithingType.TYPE_NAIL, 4823, 60),
/**
* Adamant Arrow Tips
*/
- ADAMANT_ARROW_TIPS(BarType.ADAMANT, SmithingType.TYPE_ARROW_TIP, 43, 75),
+ ADAMANT_ARROW_TIPS(BarType.ADAMANT, SmithingType.TYPE_ARROW_TIP, 43, 60),
/**
* Adamant Scmitar
*/
- ADAMANT_SCIMITAR(BarType.ADAMANT, SmithingType.TYPE_SCIMITAR, 1331, 75),
+ ADAMANT_SCIMITAR(BarType.ADAMANT, SmithingType.TYPE_SCIMITAR, 1331, 60),
/**
* Adamant Crossbow Limbs
*/
- ADAMANT_LIMBS(BarType.ADAMANT, SmithingType.TYPE_CROSSBOW_LIMB, 9429, 76),
+ ADAMANT_LIMBS(BarType.ADAMANT, SmithingType.TYPE_CROSSBOW_LIMB, 9429, 60),
/**
* Adamant LongSword
*/
- ADAMANT_LONGSWORD(BarType.ADAMANT, SmithingType.TYPE_LONGSWORD, 1301, 76),
+ ADAMANT_LONGSWORD(BarType.ADAMANT, SmithingType.TYPE_LONGSWORD, 1301, 60),
/**
* Adamant Knife
*/
- ADAMANT_KNIFE(BarType.ADAMANT, SmithingType.TYPE_THROWING_KNIFE, 867, 77),
+ ADAMANT_KNIFE(BarType.ADAMANT, SmithingType.TYPE_THROWING_KNIFE, 867, 60),
/**
* Adamant Full Helm
*/
- ADAMANT_FULL_HELM(BarType.ADAMANT, SmithingType.TYPE_FULL_HELM, 1161, 77),
+ ADAMANT_FULL_HELM(BarType.ADAMANT, SmithingType.TYPE_FULL_HELM, 1161, 60),
/**
* Adamant Square Shield
*/
- ADAMANT_SQUARE_SHIELD(BarType.ADAMANT, SmithingType.TYPE_SQUARE_SHIELD, 1183, 78),
+ ADAMANT_SQUARE_SHIELD(BarType.ADAMANT, SmithingType.TYPE_SQUARE_SHIELD, 1183, 60),
/**
* Adamant Warhammer
*/
- ADAMANT_WARHAMMER(BarType.ADAMANT, SmithingType.TYPE_WARHAMMER, 1345, 79),
+ ADAMANT_WARHAMMER(BarType.ADAMANT, SmithingType.TYPE_WARHAMMER, 1345, 60),
/**
* Adamant BattleAxe
*/
- ADAMANT_BATTLEAXE(BarType.ADAMANT, SmithingType.TYPE_BATTLE_AXE, 1371, 80),
+ ADAMANT_BATTLEAXE(BarType.ADAMANT, SmithingType.TYPE_BATTLE_AXE, 1371, 60),
/**
* Adamant ChainBody
*/
- ADAMANT_CHAINBODY(BarType.ADAMANT, SmithingType.TYPE_CHAINBODY, 1111, 81),
+ ADAMANT_CHAINBODY(BarType.ADAMANT, SmithingType.TYPE_CHAINBODY, 1111, 60),
/**
* Adamant KiteShield
*/
- ADAMANT_KITESHIELD(BarType.ADAMANT, SmithingType.TYPE_KITE_SHIELD, 1199, 82),
+ ADAMANT_KITESHIELD(BarType.ADAMANT, SmithingType.TYPE_KITE_SHIELD, 1199, 60),
/**
* Adamant Claws
*/
- ADAMANT_CLAWS(BarType.ADAMANT, SmithingType.TYPE_CLAWS, 3100, 83),
+ ADAMANT_CLAWS(BarType.ADAMANT, SmithingType.TYPE_CLAWS, 3100, 60),
/**
* Adamant 2H
*/
- ADAMANT_TWO_HANDED_SWORD(BarType.ADAMANT, SmithingType.TYPE_TWO_HAND_SWORD, 1317, 84),
+ ADAMANT_TWO_HANDED_SWORD(BarType.ADAMANT, SmithingType.TYPE_TWO_HAND_SWORD, 1317, 60),
/**
* Adamant PlateSkirt
*/
- ADAMANT_PLATE_SKIRT(BarType.ADAMANT, SmithingType.TYPE_PLATE_SKIRT, 1091, 86),
+ ADAMANT_PLATE_SKIRT(BarType.ADAMANT, SmithingType.TYPE_PLATE_SKIRT, 1091, 60),
/**
* Adamant PlateLegs
*/
- ADAMANT_PLATE_LEGS(BarType.ADAMANT, SmithingType.TYPE_PLATELEG, 1073, 86),
+ ADAMANT_PLATE_LEGS(BarType.ADAMANT, SmithingType.TYPE_PLATELEG, 1073, 60),
/**
* Adamant PlateBody
*/
- ADAMANT_PLATE_BODY(BarType.ADAMANT, SmithingType.TYPE_PLATEBODY, 1123, 88),
+ ADAMANT_PLATE_BODY(BarType.ADAMANT, SmithingType.TYPE_PLATEBODY, 1123, 60),
/**
* Adamant PickAxe
*/
- ADAMANT_PICKAXE(BarType.ADAMANT, SmithingType.TYPE_PICKAXE, 1271, 75),
+ ADAMANT_PICKAXE(BarType.ADAMANT, SmithingType.TYPE_PICKAXE, 1271, 60),
/**
* Rune Dagger
*/
- RUNE_DAGGER(BarType.RUNITE, SmithingType.TYPE_DAGGER, 1213, 85),
+ RUNE_DAGGER(BarType.RUNITE, SmithingType.TYPE_DAGGER, 1213, 70),
/**
* Rune Hatchet
*/
- RUNITE_AXE(BarType.RUNITE, SmithingType.TYPE_AXE, 1359, 86),
+ RUNITE_AXE(BarType.RUNITE, SmithingType.TYPE_AXE, 1359, 70),
/**
* Rune Mace
*/
- RUNITE_MACE(BarType.RUNITE, SmithingType.TYPE_MACE, 1432, 87),
+ RUNITE_MACE(BarType.RUNITE, SmithingType.TYPE_MACE, 1432, 70),
/**
* Rune Med Helm
*/
- RUNITE_MEDIUM_HELM(BarType.RUNITE, SmithingType.TYPE_MEDIUM_HELM, 1147, 88),
+ RUNITE_MEDIUM_HELM(BarType.RUNITE, SmithingType.TYPE_MEDIUM_HELM, 1147, 70),
/**
* Rune Crossbow Bolt
*/
- RUNITE_BOLT(BarType.RUNITE, SmithingType.TYPE_CROSSBOW_BOLT, 9381, 88),
+ RUNITE_BOLT(BarType.RUNITE, SmithingType.TYPE_CROSSBOW_BOLT, 9381, 70),
/**
* Rune Sword
*/
- RUNITE_SWORD(BarType.RUNITE, SmithingType.TYPE_SWORD, 1289, 89),
+ RUNITE_SWORD(BarType.RUNITE, SmithingType.TYPE_SWORD, 1289, 70),
/**
* Rune Dart Tips
*/
- RUNITE_DART_TIPS(BarType.RUNITE, SmithingType.TYPE_DART_TIP, 824, 89),
+ RUNITE_DART_TIPS(BarType.RUNITE, SmithingType.TYPE_DART_TIP, 824, 70),
/**
* Rune Nails
*/
- RUNITE_NAILS(BarType.RUNITE, SmithingType.TYPE_NAIL, 4824, 89),
+ RUNITE_NAILS(BarType.RUNITE, SmithingType.TYPE_NAIL, 4824, 70),
/**
* Rune Arrow Tips
*/
- RUNITE_ARROW_TIPS(BarType.RUNITE, SmithingType.TYPE_ARROW_TIP, 44, 90),
+ RUNITE_ARROW_TIPS(BarType.RUNITE, SmithingType.TYPE_ARROW_TIP, 44, 70),
/**
* Rune Scmitar
*/
- RUNITE_SCIMITAR(BarType.RUNITE, SmithingType.TYPE_SCIMITAR, 1333, 90),
+ RUNITE_SCIMITAR(BarType.RUNITE, SmithingType.TYPE_SCIMITAR, 1333, 70),
/**
* Rune Crossbow Limbs
*/
- RUNITE_LIMBS(BarType.RUNITE, SmithingType.TYPE_CROSSBOW_LIMB, 9431, 91),
+ RUNITE_LIMBS(BarType.RUNITE, SmithingType.TYPE_CROSSBOW_LIMB, 9431, 70),
/**
* Rune LongSword
*/
- RUNITE_LONGSWORD(BarType.RUNITE, SmithingType.TYPE_LONGSWORD, 1303, 91),
+ RUNITE_LONGSWORD(BarType.RUNITE, SmithingType.TYPE_LONGSWORD, 1303, 70),
/**
* Rune Knife
*/
- RUNITE_KNIFE(BarType.RUNITE, SmithingType.TYPE_THROWING_KNIFE, 868, 92),
+ RUNITE_KNIFE(BarType.RUNITE, SmithingType.TYPE_THROWING_KNIFE, 868, 70),
/**
* Rune Full Helm
*/
- RUNITE_FULL_HELM(BarType.RUNITE, SmithingType.TYPE_FULL_HELM, 1163, 92),
+ RUNITE_FULL_HELM(BarType.RUNITE, SmithingType.TYPE_FULL_HELM, 1163, 70),
/**
* Rune Square Shield
*/
- RUNITE_SQUARE_SHIELD(BarType.RUNITE, SmithingType.TYPE_SQUARE_SHIELD, 1185, 93),
+ RUNITE_SQUARE_SHIELD(BarType.RUNITE, SmithingType.TYPE_SQUARE_SHIELD, 1185, 70),
/**
* Rune Warhammer
*/
- RUNITE_WARHAMMER(BarType.RUNITE, SmithingType.TYPE_WARHAMMER, 1347, 94),
+ RUNITE_WARHAMMER(BarType.RUNITE, SmithingType.TYPE_WARHAMMER, 1347, 70),
/**
* Rune BattleAxe
*/
- RUNITE_BATTLEAXE(BarType.RUNITE, SmithingType.TYPE_BATTLE_AXE, 1373, 95),
+ RUNITE_BATTLEAXE(BarType.RUNITE, SmithingType.TYPE_BATTLE_AXE, 1373, 70),
/**
* Rune ChainBody
*/
- RUNITE_CHAINBODY(BarType.RUNITE, SmithingType.TYPE_CHAINBODY, 1113, 96),
+ RUNITE_CHAINBODY(BarType.RUNITE, SmithingType.TYPE_CHAINBODY, 1113, 70),
/**
* Rune KiteShield
*/
- RUNITE_KITESHIELD(BarType.RUNITE, SmithingType.TYPE_KITE_SHIELD, 1201, 97),
+ RUNITE_KITESHIELD(BarType.RUNITE, SmithingType.TYPE_KITE_SHIELD, 1201, 70),
/**
* Rune Claws
*/
- RUNITE_CLAWS(BarType.RUNITE, SmithingType.TYPE_CLAWS, 3101, 98),
+ RUNITE_CLAWS(BarType.RUNITE, SmithingType.TYPE_CLAWS, 3101, 70),
/**
* Rune 2H
*/
- RUNITE_TWO_HANDED_SWORD(BarType.RUNITE, SmithingType.TYPE_TWO_HAND_SWORD, 1319, 99),
+ RUNITE_TWO_HANDED_SWORD(BarType.RUNITE, SmithingType.TYPE_TWO_HAND_SWORD, 1319, 70),
/**
* Rune PlateSkirt
*/
- RUNITE_PLATE_SKIRT(BarType.RUNITE, SmithingType.TYPE_PLATE_SKIRT, 1093, 99),
+ RUNITE_PLATE_SKIRT(BarType.RUNITE, SmithingType.TYPE_PLATE_SKIRT, 1093, 70),
/**
* Rune PlateLegs
*/
- RUNITE_PLATE_LEGS(BarType.RUNITE, SmithingType.TYPE_PLATELEG, 1079, 99),
+ RUNITE_PLATE_LEGS(BarType.RUNITE, SmithingType.TYPE_PLATELEG, 1079, 70),
/**
* Rune PlateBody
*/
- RUNITE_PLATE_BODY(BarType.RUNITE, SmithingType.TYPE_PLATEBODY, 1127, 99),
+ RUNITE_PLATE_BODY(BarType.RUNITE, SmithingType.TYPE_PLATEBODY, 1127, 70),
/**
* Rune PickAxe
*/
- RUNITE_PICKAXE(BarType.RUNITE, SmithingType.TYPE_PICKAXE, 1275, 90),
+ RUNITE_PICKAXE(BarType.RUNITE, SmithingType.TYPE_PICKAXE, 1275, 70),
/**
* Blurite CrossBow bolts
@@ -800,7 +800,7 @@ public enum Bars {
/**
* Blurite Crossbow Limbs
*/
- BLURITE_CROSSBOW_LIMBS(BarType.BLURITE, SmithingType.TYPE_CROSSBOW_LIMB, 9422, 13);
+ BLURITE_CROSSBOW_LIMBS(BarType.BLURITE, SmithingType.TYPE_CROSSBOW_LIMB, 9422, 8);
/**
* A map of object ids to primary ingredients.
diff --git a/Server/src/main/content/global/skill/smithing/SmithingType.java b/Server/src/main/content/global/skill/smithing/SmithingType.java
index fd38a6209..e4a05e640 100644
--- a/Server/src/main/content/global/skill/smithing/SmithingType.java
+++ b/Server/src/main/content/global/skill/smithing/SmithingType.java
@@ -32,7 +32,7 @@ public enum SmithingType {
/**
* Crossbow bolt
*/
- TYPE_CROSSBOW_BOLT(1, 50, 51, new int[] { 56, 55, 54, 53 }, 10),
+ TYPE_CROSSBOW_BOLT(1, 50, 51, new int[] { 56, 55, 54, 53 }, 30),
/**
* Sword
@@ -42,7 +42,7 @@ public enum SmithingType {
/**
* Dart tips
*/
- TYPE_DART_TIP(1, 66, 67, new int[] { 72, 71, 70, 69 }, 10),
+ TYPE_DART_TIP(1, 66, 67, new int[] { 72, 71, 70, 69 }, 30),
/**
* Nails
@@ -66,7 +66,7 @@ public enum SmithingType {
/**
* Arrow Tips
*/
- TYPE_ARROW_TIP(1, 106, 107, new int[] { 112, 111, 110, 109 }, 15),
+ TYPE_ARROW_TIP(1, 106, 107, new int[] { 112, 111, 110, 109 }, 45),
/**
* Scimitar
@@ -86,7 +86,7 @@ public enum SmithingType {
/**
* Throwing Knife
*/
- TYPE_THROWING_KNIFE(1, 138, 139, new int[] { 144, 143, 142, 141 }, 5),
+ TYPE_THROWING_KNIFE(1, 138, 139, new int[] { 144, 143, 142, 141 }, 15),
/**
* Full helm
diff --git a/Server/src/main/content/global/skill/smithing/smelting/Bar.java b/Server/src/main/content/global/skill/smithing/smelting/Bar.java
index 04177c11a..88b4eea74 100644
--- a/Server/src/main/content/global/skill/smithing/smelting/Bar.java
+++ b/Server/src/main/content/global/skill/smithing/smelting/Bar.java
@@ -15,8 +15,8 @@ public enum Bar {
STEEL(30, 17.5, new Item(2353, 1), new Item(453, 2), new Item(440, 1)),
GOLD(40, 22.5, new Item(2357, 1), new Item(444, 1)),
MITHRIL(50, 30, new Item(2359, 1), new Item(447, 1), new Item(453, 4)),
- ADAMANT(70, 37.5, new Item(2361, 1), new Item(449, 1), new Item(453, 6)),
- RUNITE(85, 50, new Item(2363, 1), new Item(451, 1), new Item(453, 8));
+ ADAMANT(60, 37.5, new Item(2361, 1), new Item(449, 1), new Item(453, 6)),
+ RUNITE(70, 50, new Item(2363, 1), new Item(451, 1), new Item(453, 8));
/**
* The ore required.
diff --git a/Server/src/main/content/global/skill/summoning/SummoningPouch.java b/Server/src/main/content/global/skill/summoning/SummoningPouch.java
index b91634318..90a502e6d 100644
--- a/Server/src/main/content/global/skill/summoning/SummoningPouch.java
+++ b/Server/src/main/content/global/skill/summoning/SummoningPouch.java
@@ -14,27 +14,27 @@ public enum SummoningPouch {
/**
* Represents a spirit wolf pouch.
*/
- SPIRIT_WOLF_POUCH(0, 12047, 1, 4.8, 6829, 0.1, 1, false, new Item(12158), new Item(12155), new Item(2859), new Item(12183, 7)),
+ SPIRIT_WOLF_POUCH(0, 12047, 1, 4.8, 6829, 0.1, 1, false, new Item(12158), new Item(12155), new Item(2859), new Item(12183, 1)),
/**
* Represents a dreadfowl pouch.
*/
- DREADFOWL_POUCH(1, 12043, 4, 9.3, 6825, 0.1, 1, false, new Item(12158), new Item(12155), new Item(2138), new Item(12183, 8)),
+ DREADFOWL_POUCH(1, 12043, 4, 9.3, 6825, 0.1, 1, false, new Item(12158), new Item(12155), new Item(2138), new Item(12183, 1)),
/**
* Represents a spirit spider pouch.
*/
- SPIRIT_SPIDER_POUCH(2, 12059, 10, 12.6, 6841, 0.2, 2, false, new Item(12158), new Item(12155), new Item(6291), new Item(12183, 8)),
+ SPIRIT_SPIDER_POUCH(2, 12059, 10, 12.6, 6841, 0.2, 2, false, new Item(12158), new Item(12155), new Item(6291), new Item(12183, 1)),
/**
* Represents a thorny snail pouch.
*/
- THORNY_SNAIL_POUCH(3, 12019, 13, 12.6, 6806, 0.2, 2, false, new Item(12158), new Item(12155), new Item(3363), new Item(12183, 9)),
+ THORNY_SNAIL_POUCH(3, 12019, 13, 12.6, 6806, 0.2, 2, false, new Item(12158), new Item(12155), new Item(3363), new Item(12183, 1)),
/**
* Represents a granite crab pouch.
*/
- GRANITE_CRAB_POUCH(4, 12009, 16, 21.6, 6796, 0.2, 2, false, new Item(12158), new Item(12155), new Item(440), new Item(12183, 7)),
+ GRANITE_CRAB_POUCH(4, 12009, 16, 21.6, 6796, 0.2, 2, false, new Item(12158), new Item(12155), new Item(440), new Item(12183, 1)),
/**
* Represents a spirit mosquito pouch.
@@ -44,97 +44,97 @@ public enum SummoningPouch {
/**
* Represents a desrrt wyrm pouch.
*/
- DESERT_WYRM_POUCH(6, 12049, 18, 31.2, 6831, 0.4, 1, false, new Item(12159), new Item(12155), new Item(1783), new Item(12183, 45)),
+ DESERT_WYRM_POUCH(6, 12049, 18, 31.2, 6831, 0.4, 1, false, new Item(12159), new Item(12155), new Item(1783), new Item(12183, 1)),
/**
* Represents a spirit scorpion pouch.
*/
- SPIRIT_SCORPION_POUCH(7, 12055, 19, 83.2, 6837, 0.9, 2, false, new Item(12160), new Item(12155), new Item(3095), new Item(12183, 57)),
+ SPIRIT_SCORPION_POUCH(7, 12055, 19, 83.2, 6837, 0.9, 2, false, new Item(12160), new Item(12155), new Item(3095), new Item(12183, 1)),
/**
* Represents a spirit tz-kih pouch.
*/
- SPIRIT_TZ_KIH_POUCH(8, 12808, 22, 96.8, 7361, 1.1, 3, false, new Item(12160), new Item(12168), new Item(12155), new Item(12183, 64)),
+ SPIRIT_TZ_KIH_POUCH(8, 12808, 22, 96.8, 7361, 1.1, 3, false, new Item(12160), new Item(12168), new Item(12155), new Item(12183, 1)),
/**
* Represents an albino rat pouch.
*/
- ALBINO_RAT_POUCH(9, 12067, 23, 202.4, 6847, 2.3, 1, false, new Item(12163), new Item(12155), new Item(2134), new Item(12183, 75)),
+ ALBINO_RAT_POUCH(9, 12067, 23, 202.4, 6847, 2.3, 1, false, new Item(12163), new Item(12155), new Item(2134), new Item(12183, 1)),
/**
* Represents a spirit kalphite pouch.
*/
- SPIRIT_KALPHITE_POUCH(10, 12063, 25, 220, 6994, 2.5, 3,false, new Item(12163), new Item(12155), new Item(3138), new Item(12183, 51)),
+ SPIRIT_KALPHITE_POUCH(10, 12063, 25, 220, 6994, 2.5, 3,false, new Item(12163), new Item(12155), new Item(3138), new Item(12183, 1)),
/**
* Represents a compost mound pouch.
*/
- COMPOST_MOUND_POUCH(11, 12091, 28, 49.8, 6871, 0.6, 6, false, new Item(12159), new Item(12155), new Item(6032), new Item(12183, 47)),
+ COMPOST_MOUND_POUCH(11, 12091, 28, 49.8, 6871, 0.6, 6, false, new Item(12159), new Item(12155), new Item(6032), new Item(12183, 1)),
/**
* Represents a giant chinchompa pouch.
*/
- GIANT_CHINCHOMPA_POUCH(12, 12800, 29, 255.2, 7353, 2.9, 1, false, new Item(12163), new Item(12155), new Item(10033), new Item(12183, 84)),
+ GIANT_CHINCHOMPA_POUCH(12, 12800, 29, 255.2, 7353, 2.9, 1, false, new Item(12163), new Item(12155), new Item(10033), new Item(12183, 1)),
/**
* Represents a vampire bat pouch.
*/
- VAMPIRE_BAT_POUCH(13, 12053, 31, 136, 6835, 1.5, 4, false, new Item(12160), new Item(12155), new Item(3325), new Item(12183, 81)),
+ VAMPIRE_BAT_POUCH(13, 12053, 31, 136, 6835, 1.5, 4, false, new Item(12160), new Item(12155), new Item(3325), new Item(12183, 1)),
/**
* Represents a honey badger pouch.
*/
- HONEY_BADGER_POUCH(14, 12065, 32, 140.8, 6845, 1.6, 4, false, new Item(12160), new Item(12155), new Item(12156), new Item(12183, 84)),
+ HONEY_BADGER_POUCH(14, 12065, 32, 140.8, 6845, 1.6, 4, false, new Item(12160), new Item(12155), new Item(12156), new Item(12183, 1)),
/**
* Represents a beaver pouch.
*/
- BEAVER_POUCH(15, 12021, 33, 57.6, 6808, 0.7, 4, true, new Item(12159), new Item(12155), new Item(1519), new Item(12183, 72)),
+ BEAVER_POUCH(15, 12021, 33, 57.6, 6808, 0.7, 4, true, new Item(12159), new Item(12155), new Item(1519), new Item(12183, 1)),
/**
* Represents a void ravager pouch.
*/
- VOID_RAVAGER_POUCH(16, 12818, 34, 59.6, 7370, 0.7, 4, false, new Item(12159), new Item(12164), new Item(12155), new Item(12183, 74)),
+ VOID_RAVAGER_POUCH(16, 12818, 34, 59.6, 7370, 0.7, 4, false, new Item(12159), new Item(12164), new Item(12155), new Item(12183, 1)),
/**
* Represents a void spinner pouch.
*/
- VOID_SPINNER_POUCH(17, 12780, 34, 59.6, 7333, 0.7, 4, true, new Item(12163), new Item(12166), new Item(12155), new Item(12183, 74)),
+ VOID_SPINNER_POUCH(17, 12780, 34, 59.6, 7333, 0.7, 4, true, new Item(12163), new Item(12166), new Item(12155), new Item(12183, 1)),
/**
* Represents a void torcher pouch.
*/
- VOID_TORCHER_POUCH(18, 12798, 34, 59.6, 7351, 0.7, 4, false, new Item(12163), new Item(12167), new Item(12155), new Item(12183, 74)),
+ VOID_TORCHER_POUCH(18, 12798, 34, 59.6, 7351, 0.7, 4, false, new Item(12163), new Item(12167), new Item(12155), new Item(12183, 1)),
/**
* Represents a void shifter pouch.
*/
- VOID_SHIFTER_POUCH(19, 12814, 34, 59.6, 7367, 0.7, 4, false, new Item(12163), new Item(12165), new Item(12155), new Item(12183, 74)),
+ VOID_SHIFTER_POUCH(19, 12814, 34, 59.6, 7367, 0.7, 4, false, new Item(12163), new Item(12165), new Item(12155), new Item(12183, 1)),
/**
* Represents a bronze minotaur pouch.
*/
- BRONZE_MINOTAUR_POUCH(64, 12073, 36, 316.8, 6853, 3.6, 3, false, new Item(12163), new Item(12155), new Item(2349), new Item(12183, 102)),
+ BRONZE_MINOTAUR_POUCH(64, 12073, 36, 316.8, 6853, 3.6, 3, false, new Item(12163), new Item(12155), new Item(2349), new Item(12183, 1)),
/**
* Represents an iron minotaur pouch.
*/
- IRON_MINOTAUR_POUCH(65, 12075, 46, 404.8, 6855, 4.6, 9, false, new Item(12163), new Item(12155), new Item(2351), new Item(12183, 125)),
+ IRON_MINOTAUR_POUCH(65, 12075, 46, 404.8, 6855, 4.6, 9, false, new Item(12163), new Item(12155), new Item(2351), new Item(12183, 1)),
/**
* Represents a steel minotaur pouch.
*/
- STEEL_MINOTAUR_POUCH(66, 12077, 56, 492.8, 6857, 5.6, 9, false, new Item(12163), new Item(12155), new Item(2353), new Item(12183, 141)),
+ STEEL_MINOTAUR_POUCH(66, 12077, 56, 492.8, 6857, 5.6, 9, false, new Item(12163), new Item(12155), new Item(2353), new Item(12183, 1)),
/**
* Represents a mithril minotaur pouch.
*/
- MITHRIL_MINOTAUR_POUCH(67, 12079, 66, 580.8, 6859, 6.6, 9,false, new Item(12163), new Item(12155), new Item(2359), new Item(12183, 152)),
+ MITHRIL_MINOTAUR_POUCH(67, 12079, 66, 580.8, 6859, 6.6, 9,false, new Item(12163), new Item(12155), new Item(2359), new Item(12183, 1)),
/**
* Represents an adamant minotaur pouch.
*/
- ADAMANT_MINOTAUR_POUCH(68, 12081, 76, 668.8, 6861, 7.6, 9, false, new Item(12163), new Item(12155), new Item(2361), new Item(12183, 144)),
+ ADAMANT_MINOTAUR_POUCH(68, 12081, 76, 668.8, 6861, 7.6, 9, false, new Item(12163), new Item(12155), new Item(2361), new Item(12183, 1)),
/**
* Represents a rune minotaur pouch.
@@ -144,132 +144,132 @@ public enum SummoningPouch {
/**
* Represents a bull ant pouch.
*/
- BULL_ANT_POUCH(20, 12087, 40, 52.8, 6867, 0.6, 5, false, new Item(12158), new Item(12155), new Item(6010), new Item(12183, 11)),
+ BULL_ANT_POUCH(20, 12087, 40, 52.8, 6867, 0.6, 5, false, new Item(12158), new Item(12155), new Item(6010), new Item(12183, 1)),
/**
* Represents a macaw pouch.
*/
- MACAW_POUCH(21, 12071, 41, 72.4, 6851, 0.8, 5, true, new Item(12159), new Item(12155), new Item(249), new Item(12183, 78)),
+ MACAW_POUCH(21, 12071, 41, 72.4, 6851, 0.8, 5, true, new Item(12159), new Item(12155), new Item(249), new Item(12183, 1)),
/**
* Represents an evil turnip pouch.
*/
- EVIL_TURNIP_POUCH(22, 12051, 42, 184.8, 6833, 2.1, 5, false, new Item(12160), new Item(12155), new Item(12153), new Item(12183, 104)),
+ EVIL_TURNIP_POUCH(22, 12051, 42, 184.8, 6833, 2.1, 5, false, new Item(12160), new Item(12155), new Item(12153), new Item(12183, 1)),
/**
* Represents a spirit cockatrice pouch.
*/
- SPIRIT_COCKATRICE_POUCH(23, 12095, 43, 75.2, 6875, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12109), new Item(12183, 88)),
+ SPIRIT_COCKATRICE_POUCH(23, 12095, 43, 75.2, 6875, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12109), new Item(12183, 1)),
/**
* Represents a spirit guthatrice pouch.
*/
- SPIRIT_GUTHATRICE_POUCH(24, 12097, 43, 75.2, 6877, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12111), new Item(12183, 88)),
+ SPIRIT_GUTHATRICE_POUCH(24, 12097, 43, 75.2, 6877, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12111), new Item(12183, 1)),
/**
* Represents a spirit saratrice pouch.
*/
- SPIRIT_SARATRICE_POUCH(25, 12099, 43, 75.2, 6879, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12113), new Item(12183, 88)),
+ SPIRIT_SARATRICE_POUCH(25, 12099, 43, 75.2, 6879, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12113), new Item(12183, 1)),
/**
* Represents a spirit zamatrice pouch.
*/
- SPIRIT_ZAMATRICE_POUCH(26, 12101, 43, 75.2, 6881, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12115), new Item(12183, 88)),
+ SPIRIT_ZAMATRICE_POUCH(26, 12101, 43, 75.2, 6881, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12115), new Item(12183, 1)),
/**
* Represents a spirit pengatrice pouch.
*/
- SPIRIT_PENGATRICE_POUCH(27, 12103, 43, 75.2, 6883, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12117), new Item(12183, 88)),
+ SPIRIT_PENGATRICE_POUCH(27, 12103, 43, 75.2, 6883, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12117), new Item(12183, 1)),
/**
* Represents a coraxatrice pouch.
*/
- SPIRIT_CORAXATRICE_POUCH(28, 12105, 43, 75.2, 6885, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12119), new Item(12183, 88)),
+ SPIRIT_CORAXATRICE_POUCH(28, 12105, 43, 75.2, 6885, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12119), new Item(12183, 1)),
/**
* Represents a vulatrice pouch.
*/
- SPIRIT_VULATRICE(29, 12107, 43, 75.2, 6887, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12121), new Item(12183, 88)),
+ SPIRIT_VULATRICE(29, 12107, 43, 75.2, 6887, 0.9, 5, false, new Item(12159), new Item(12155), new Item(12121), new Item(12183, 1)),
/**
* Represents a pyrelord pouch.
*/
- PYRELORD_POUCH(30, 12816, 46, 202.4, 7377, 2.3, 5, false, new Item(12160), new Item(12155), new Item(590), new Item(12183, 111)),
+ PYRELORD_POUCH(30, 12816, 46, 202.4, 7377, 2.3, 5, false, new Item(12160), new Item(12155), new Item(590), new Item(12183, 1)),
/**
* Represents a magpie pouch.
*/
- MAGPIE_POUCH(31, 12041, 47, 83.2, 6824, 0.9, 5, true, new Item(12159), new Item(12155), new Item(1635), new Item(12183, 88)),
+ MAGPIE_POUCH(31, 12041, 47, 83.2, 6824, 0.9, 5, true, new Item(12159), new Item(12155), new Item(1635), new Item(12183, 1)),
/**
* Represents a bloated leech pouch.
*/
- BLOATED_LEECH_POUCH(32, 12061, 49, 215.2, 6843, 2.4, 5, false, new Item(12160), new Item(12155), new Item(2132), new Item(12183, 117)),
+ BLOATED_LEECH_POUCH(32, 12061, 49, 215.2, 6843, 2.4, 5, false, new Item(12160), new Item(12155), new Item(2132), new Item(12183, 1)),
/**
* Represents a spirit terrorbird pouch.
*/
- SPIRIT_TERRORBIRD_POUCH(33, 12007, 52, 68.4, 6794, 0.8, 6, true, new Item(12158), new Item(12155), new Item(9978), new Item(12183, 12)),
+ SPIRIT_TERRORBIRD_POUCH(33, 12007, 52, 68.4, 6794, 0.8, 6, true, new Item(12158), new Item(12155), new Item(9978), new Item(12183, 1)),
/**
* Represents an abyssal parasite pouch.
*/
- ABYSSAL_PARASITE_POUCH(34, true,12035, 54, 94.8, 6818, 1.1, 6, false, new Item(12159), new Item(12155), new Item(12161), new Item(12183, 106)),
+ ABYSSAL_PARASITE_POUCH(34, true,12035, 54, 94.8, 6818, 1.1, 6, false, new Item(12159), new Item(12155), new Item(12161), new Item(12183, 1)),
/**
* Represents a spirit jelly pouch.
*/
- SPIRIT_JELLY_POUCH(35, 12027, 55, 484, 6992, 5.5, 6, false, new Item(12163), new Item(12155), new Item(1937), new Item(12183, 151)),
+ SPIRIT_JELLY_POUCH(35, 12027, 55, 484, 6992, 5.5, 6, false, new Item(12163), new Item(12155), new Item(1937), new Item(12183, 1)),
/**
* Represents an ibis pouch.
*/
- IBIS_POUCH(36, 12531, 56, 98.8, 6991, 1.1, 6, true, new Item(12159), new Item(12155), new Item(311), new Item(12183, 109)),
+ IBIS_POUCH(36, 12531, 56, 98.8, 6991, 1.1, 6, true, new Item(12159), new Item(12155), new Item(311), new Item(12183, 1)),
/**
* Represents a spirit kyatt pouch.
*/
- SPIRIT_KYATT_POUCH(37, 12812, 57, 501.6, 7365, 5.7, 6, false, new Item(12163), new Item(12155), new Item(10103), new Item(12183, 153)),
+ SPIRIT_KYATT_POUCH(37, 12812, 57, 501.6, 7365, 5.7, 6, false, new Item(12163), new Item(12155), new Item(10103), new Item(12183, 1)),
/**
* Represents a spirit larupia pouch.
*/
- SPIRIT_LARUPIA_POUCH(38, 12784, 57, 501.6, 7337, 5.7, 6, false, new Item(12163), new Item(12155), new Item(10095), new Item(12183, 155)),
+ SPIRIT_LARUPIA_POUCH(38, 12784, 57, 501.6, 7337, 5.7, 6, false, new Item(12163), new Item(12155), new Item(10095), new Item(12183, 1)),
/**
* Represents a spirit graahk pouch.
*/
- SPIRIT_GRAAHK_POUCH(39, 12810, 57, 501.6, 7363, 5.7, 6, false, new Item(12163), new Item(12155), new Item(10099), new Item(12183, 154)),
+ SPIRIT_GRAAHK_POUCH(39, 12810, 57, 501.6, 7363, 5.7, 6, false, new Item(12163), new Item(12155), new Item(10099), new Item(12183, 1)),
/**
* Represents a karamthulhu overlord pouch.
*/
- KARAMTHULHU_POUCH(40, 12023, 58, 510.4, 6809, 5.8, 6, false, new Item(12163), new Item(12155), new Item(6667), new Item(12183, 144)),
+ KARAMTHULHU_POUCH(40, 12023, 58, 510.4, 6809, 5.8, 6, false, new Item(12163), new Item(12155), new Item(6667), new Item(12183, 1)),
/**
* Represents a smoke devil pouch.
*/
- SMOKE_DEVIL_POUCH(41, 12085, 61, 268, 6865, 3, 7, false, new Item(12160), new Item(12155), new Item(9736), new Item(12183, 141)),
+ SMOKE_DEVIL_POUCH(41, 12085, 61, 268, 6865, 3, 7, false, new Item(12160), new Item(12155), new Item(9736), new Item(12183, 1)),
/**
* Represents an abyssal lurker pouch.
*/
- ABYSSAL_LUKRER(42, true,12037, 62, 109.6, 6820, 1.9, 9, false, new Item(12159), new Item(12155), new Item(12161), new Item(12183, 119)),
+ ABYSSAL_LUKRER(42, true,12037, 62, 109.6, 6820, 1.9, 9, false, new Item(12159), new Item(12155), new Item(12161), new Item(12183, 1)),
/**
* Represents a spirit cobra pouch.
*/
- SPIRIT_COBRA_POUCH(43, 12015, 63, 276.8, 6802, 3.1, 6, false, new Item(12160), new Item(12155), new Item(6287), new Item(12183, 116)),
+ SPIRIT_COBRA_POUCH(43, 12015, 63, 276.8, 6802, 3.1, 6, false, new Item(12160), new Item(12155), new Item(6287), new Item(12183, 1)),
/**
* Represents a stranger plant pouch.
*/
- STRANGER_PLANT_POUCH(44, 12045, 64, 281.6, 6827, 3.2, 6, false, new Item(12160), new Item(12155), new Item(8431), new Item(12183, 128)),
+ STRANGER_PLANT_POUCH(44, 12045, 64, 281.6, 6827, 3.2, 6, false, new Item(12160), new Item(12155), new Item(8431), new Item(12183, 1)),
/**
* Represents a barker toad pouch.
*/
- BARKER_TOAD_POUCH(45, 12123, 66, 87, 6889, 1, 7, false, new Item(12158), new Item(12155), new Item(2150), new Item(12183, 11)),
+ BARKER_TOAD_POUCH(45, 12123, 66, 87, 6889, 1, 7, false, new Item(12158), new Item(12155), new Item(2150), new Item(12183, 1)),
/**
* Represents a war tortoise pouch.
@@ -279,62 +279,62 @@ public enum SummoningPouch {
/**
* Represents a bunyip pouch.
*/
- BUNYIP_POUCH(47, 12029, 68, 119.2, 6813, 1.4, 7, true, new Item(12159), new Item(12155), new Item(383), new Item(12183, 110)),
+ BUNYIP_POUCH(47, 12029, 68, 119.2, 6813, 1.4, 7, true, new Item(12159), new Item(12155), new Item(383), new Item(12183, 1)),
/**
* Represents a fruit bat pouch.
*/
- FRUIT_BAT_POUCH(48, 12033, 69, 121.2, 6817, 1.4, 8, true, new Item(12159), new Item(12155), new Item(1963), new Item(12183, 130)),
+ FRUIT_BAT_POUCH(48, 12033, 69, 121.2, 6817, 1.4, 8, true, new Item(12159), new Item(12155), new Item(1963), new Item(12183, 1)),
/**
* Represents a ravenous locust pouch.
*/
- RAVENOUS_LOCUST_POUCH(49, 12820, 70, 132, 7372, 1.5, 4, false, new Item(12160), new Item(12155), new Item(1933), new Item(12183, 79)),
+ RAVENOUS_LOCUST_POUCH(49, 12820, 70, 132, 7372, 1.5, 4, false, new Item(12160), new Item(12155), new Item(1933), new Item(12183, 1)),
/**
* Represents an arctic bear pouch.
*/
- ARCTIC_BEAR_POUCH(50, 12057, 71, 93.2, 6839, 1.1, 8, false, new Item(12158), new Item(12155), new Item(10117), new Item(12183, 14)),
+ ARCTIC_BEAR_POUCH(50, 12057, 71, 93.2, 6839, 1.1, 8, false, new Item(12158), new Item(12155), new Item(10117), new Item(12183, 1)),
/**
* Represents a Phoenix
*/
- PHOENIX_POUCH(50, 14623, 72, 93.2, 8575, 1.1, 8, false, new Item(12160, 1), new Item(12183, 165), new Item(12155, 1), new Item(14616, 1)),
+ PHOENIX_POUCH(50, 14623, 72, 93.2, 8575, 1.1, 8, false, new Item(12160, 1), new Item(12183, 1), new Item(12155, 1), new Item(14616, 1)),
/**
* Represents an obsidian golem pouch.
*/
- OBSIDIAN_GOLEM_POUCH(51, 12792, 73, 642.4, 7345, 7.3, 8, false, new Item(12163), new Item(12155), new Item(12168), new Item(12183, 195)),
+ OBSIDIAN_GOLEM_POUCH(51, 12792, 73, 642.4, 7345, 7.3, 8, false, new Item(12163), new Item(12155), new Item(12168), new Item(12183, 1)),
/**
* Represents a granite lobster pouch.
*/
- GRANITE_LOBSTER_POUCH(52, 12069, 74, 325.6, 6849, 3.7, 8, false, new Item(12160), new Item(12155), new Item(6979), new Item(12183, 166)),
+ GRANITE_LOBSTER_POUCH(52, 12069, 74, 325.6, 6849, 3.7, 8, false, new Item(12160), new Item(12155), new Item(6979), new Item(12183, 1)),
/**
* Represents a praying mantis pouch.
*/
- PRAYING_MANTIS_POUCH(53, 12011, 75, 329.6, 6798, 3.6, 8, false, new Item(12160), new Item(12155), new Item(2460), new Item(12183, 168)),
+ PRAYING_MANTIS_POUCH(53, 12011, 75, 329.6, 6798, 3.6, 8, false, new Item(12160), new Item(12155), new Item(2460), new Item(12183, 1)),
/**
* Represents a forge regent pouch.
*/
- FORGE_REGENT_BEAST(54, 12782, 76, 134, 7335, 1.5, 9, false, new Item(12159), new Item(12155), new Item(10020), new Item(12183, 141)),
+ FORGE_REGENT_BEAST(54, 12782, 76, 134, 7335, 1.5, 9, false, new Item(12159), new Item(12155), new Item(10020), new Item(12183, 1)),
/**
* Represents a talon beast pouch.
*/
- TALON_BEAST_POUCH(55, 12794, 77, 1015.2, 7347, 3.8, 9, false, new Item(12160), new Item(12155), new Item(12162), new Item(12183, 174)),
+ TALON_BEAST_POUCH(55, 12794, 77, 1015.2, 7347, 3.8, 9, false, new Item(12160), new Item(12155), new Item(12162), new Item(12183, 1)),
/**
* Represents a giant ent pouch.
*/
- GIANT_ENT_POUCH(56, 12013, 78, 136.8, 6800, 1.6, 8, false, new Item(12159), new Item(5933), new Item(12155), new Item(12183, 124)),
+ GIANT_ENT_POUCH(56, 12013, 78, 136.8, 6800, 1.6, 8, false, new Item(12159), new Item(5933), new Item(12155), new Item(12183, 1)),
/**
* Represents a hydra pouch.
*/
- HYDRA_POUCH(60, 12025, 80, 140.8, 6811, 1.6, 9, false, new Item(12159), new Item(571), new Item(12155), new Item(12183, 128)),
+ HYDRA_POUCH(60, 12025, 80, 140.8, 6811, 1.6, 9, false, new Item(12159), new Item(571), new Item(12155), new Item(12183, 1)),
/**
* Represents a spirit dagannoth pouch.
@@ -344,62 +344,62 @@ public enum SummoningPouch {
/**
* Represents a unicorn stallion pouch.
*/
- UNICORN_STALLION_POUCH(70, 12039, 88, 154.4, 6822, 1.8, 9, true, new Item(12159), new Item(237), new Item(12155), new Item(12183, 140)),
+ UNICORN_STALLION_POUCH(70, 12039, 88, 154.4, 6822, 1.8, 9, true, new Item(12159), new Item(237), new Item(12155), new Item(12183, 1)),
/**
* Represents a wolpertinger pouch.
*/
- WOLPERTINGER_POUCH(72, 12089, 92, 404.8, 6869, 4.5, 10, false, new Item(12160), new Item(2859), new Item(3226), new Item(12155), new Item(12183, 203)),
+ WOLPERTINGER_POUCH(72, 12089, 92, 404.8, 6869, 4.5, 10, false, new Item(12160), new Item(2859), new Item(3226), new Item(12155), new Item(12183, 1)),
/**
* Represents a pack yak pouch.
*/
- PACK_YAK_POUCH(75, 12093, 96, 422.4, 6873, 4.8, 10, true, new Item(12160), new Item(10818), new Item(12155), new Item(12183, 211)),
+ PACK_YAK_POUCH(75, 12093, 96, 422.4, 6873, 4.8, 10, true, new Item(12160), new Item(10818), new Item(12155), new Item(12183, 1)),
/**
* Represents a fire titan pouch.
*/
- FIRE_TITAN_POUCH(57, 12802, 79, 695.2, 7355, 7.9, 9, false, new Item(12163), new Item(1442), new Item(12155), new Item(12183, 198)),
+ FIRE_TITAN_POUCH(57, 12802, 79, 695.2, 7355, 7.9, 9, false, new Item(12163), new Item(1442), new Item(12155), new Item(12183, 1)),
/**
* Represents a moss titan pouch.
*/
- MOSS_TITAN_POUCH(58, 12804, 79, 695.2, 7357, 7.9, 9, false, new Item(12163), new Item(1440), new Item(12155), new Item(12183, 198)),
+ MOSS_TITAN_POUCH(58, 12804, 79, 695.2, 7357, 7.9, 9, false, new Item(12163), new Item(1440), new Item(12155), new Item(12183, 1)),
/**
* Represents an ice titan pouch.
*/
- ICE_TITAN_POUCH(59, 12806, 79, 695.2, 7359, 7.9, 9, false, new Item(12163), new Item(1438), new Item(1444), new Item(12155), new Item(12183, 198)),
+ ICE_TITAN_POUCH(59, 12806, 79, 695.2, 7359, 7.9, 9, false, new Item(12163), new Item(1438), new Item(1444), new Item(12155), new Item(12183, 1)),
/**
* Represents a lava titan pouch.
*/
- LAVA_TITAN_POUCH(62, 12788, 83, 730.4, 7341, 8.3, 9, false, new Item(12163), new Item(12168), new Item(12155), new Item(12183, 219)),
+ LAVA_TITAN_POUCH(62, 12788, 83, 730.4, 7341, 8.3, 9, false, new Item(12163), new Item(12168), new Item(12155), new Item(12183, 1)),
/**
* Represents a swamp titan pouch.
*/
- SWAMP_TITAN_POUCH(63, 12776, 85, 373.6, 7329, 4.2, 9, false, new Item(12160), new Item(10149), new Item(12155), new Item(12183, 150)),
+ SWAMP_TITAN_POUCH(63, 12776, 85, 373.6, 7329, 4.2, 9, false, new Item(12160), new Item(10149), new Item(12155), new Item(12183, 1)),
/**
* Represents a geyser titan pouch.
*/
- GEYSER_TITAN_POUCH(71, 12786, 89, 783.2, 7339, 8.9, 9, false, new Item(12163), new Item(1444), new Item(12155), new Item(12183, 222)),
+ GEYSER_TITAN_POUCH(71, 12786, 89, 783.2, 7339, 8.9, 9, false, new Item(12163), new Item(1444), new Item(12155), new Item(12183, 1)),
/**
* Represents an abyssal titan pouch.
*/
- ABYSSAL_TITAN_POUCH(73, true,12796, 93, 163.2, 7349, 1.9, 10, false, new Item(12159), new Item(12161), new Item(12155), new Item(12183, 113)),
+ ABYSSAL_TITAN_POUCH(73, true,12796, 93, 163.2, 7349, 1.9, 10, false, new Item(12159), new Item(12161), new Item(12155), new Item(12183, 1)),
/**
* Represents an iron titan pouch.
*/
- IRON_TITAN_POUCH(74, 12822, 95, 417.6, 7375, 4.7, 10, false, new Item(12160), new Item(1115), new Item(12155), new Item(12183, 198)),
+ IRON_TITAN_POUCH(74, 12822, 95, 417.6, 7375, 4.7, 10, false, new Item(12160), new Item(1115), new Item(12155), new Item(12183, 1)),
/**
* Represents a steel titan pouch.
*/
- STEEL_TITAN_POUCH(76, 12790, 99, 435.2, 7343, 4.9, 10, false, new Item(12160), new Item(1119), new Item(12155), new Item(12183, 178)),
+ STEEL_TITAN_POUCH(76, 12790, 99, 435.2, 7343, 4.9, 10, false, new Item(12160), new Item(1119), new Item(12155), new Item(12183, 1)),
SACRED_CLAY_POUCH_1(-1, 14422, 1, 0, 8240, 0, 1, false, new Item(14182)),
SACRED_CLAY_POUCH_2(-1, 14424, 20, 0, 8242, 0, 3, false, new Item(14184)),
diff --git a/Server/src/main/content/global/skill/summoning/familiar/AbyssalLurkerNPC.java b/Server/src/main/content/global/skill/summoning/familiar/AbyssalLurkerNPC.java
index 9fb1effdc..b6184c4a8 100644
--- a/Server/src/main/content/global/skill/summoning/familiar/AbyssalLurkerNPC.java
+++ b/Server/src/main/content/global/skill/summoning/familiar/AbyssalLurkerNPC.java
@@ -28,7 +28,7 @@ public class AbyssalLurkerNPC extends BurdenBeast {
* @param id The id.
*/
public AbyssalLurkerNPC(Player owner, int id) {
- super(owner, id, 4100, 12037, 3, 7, WeaponInterface.STYLE_CAST);
+ super(owner, id, 4100, 12037, 3, 24, WeaponInterface.STYLE_CAST);
}
@Override
diff --git a/Server/src/main/content/global/skill/summoning/familiar/AbyssalParasiteNPC.java b/Server/src/main/content/global/skill/summoning/familiar/AbyssalParasiteNPC.java
index 795484722..551e2db9a 100644
--- a/Server/src/main/content/global/skill/summoning/familiar/AbyssalParasiteNPC.java
+++ b/Server/src/main/content/global/skill/summoning/familiar/AbyssalParasiteNPC.java
@@ -36,7 +36,7 @@ public class AbyssalParasiteNPC extends BurdenBeast {
* @param id The id.
*/
public AbyssalParasiteNPC(Player owner, int id) {
- super(owner, id, 3000, 12035, 1, 7);
+ super(owner, id, 3000, 12035, 1, 18);
}
@Override
diff --git a/Server/src/main/content/global/skill/summoning/familiar/AbyssalTitanNPC.kt b/Server/src/main/content/global/skill/summoning/familiar/AbyssalTitanNPC.kt
index a7ed47a6d..eaeb73b45 100644
--- a/Server/src/main/content/global/skill/summoning/familiar/AbyssalTitanNPC.kt
+++ b/Server/src/main/content/global/skill/summoning/familiar/AbyssalTitanNPC.kt
@@ -21,7 +21,7 @@ import org.rs09.consts.NPCs
@Initializable
class AbyssalTitanNPC
constructor(owner: Player? = null, id: Int = NPCs.ABYSSAL_TITAN_7349) :
- BurdenBeast(owner, id, 3200, Items.ABYSSAL_TITAN_POUCH_12796, 6, 7, WeaponInterface.STYLE_ACCURATE) {
+ BurdenBeast(owner, id, 3200, Items.ABYSSAL_TITAN_POUCH_12796, 6, 30, WeaponInterface.STYLE_ACCURATE) {
override fun construct(owner: Player, id: Int): Familiar {
return AbyssalTitanNPC(owner, id)
}
diff --git a/Server/src/main/content/global/skill/summoning/familiar/BurdenBeast.java b/Server/src/main/content/global/skill/summoning/familiar/BurdenBeast.java
index d6a3100d0..628ff5077 100644
--- a/Server/src/main/content/global/skill/summoning/familiar/BurdenBeast.java
+++ b/Server/src/main/content/global/skill/summoning/familiar/BurdenBeast.java
@@ -83,6 +83,7 @@ public abstract class BurdenBeast extends Familiar {
* @return {@code True} if so.
*/
public boolean isAllowed(Player owner, Item item) {
+ /*
if (item.getValue() > 50000) {
owner.getPacketDispatch().sendMessage("This item is too valuable to trust to this familiar.");
return false;
@@ -95,6 +96,7 @@ public abstract class BurdenBeast extends Familiar {
owner.getPacketDispatch().sendMessage("You can't store " + item.getName().toLowerCase() + " in this familiar.");
return false;
}
+ */
if(SummoningPouch.get(this.getPouchId()).abyssal){
if(!item.getName().toLowerCase().contains("essence")) {
owner.getPacketDispatch().sendMessage("You can only give unnoted essence to this familiar.");
diff --git a/Server/src/main/content/global/skill/summoning/familiar/Familiar.java b/Server/src/main/content/global/skill/summoning/familiar/Familiar.java
index b85c1ec16..4177e1d5c 100644
--- a/Server/src/main/content/global/skill/summoning/familiar/Familiar.java
+++ b/Server/src/main/content/global/skill/summoning/familiar/Familiar.java
@@ -177,7 +177,9 @@ public abstract class Familiar extends NPC implements Plugin