mirror of
https://gitlab.com/2009scape/2009scape.git
synced 2025-12-10 10:20:41 -07:00
Merge branch 'bf-fixes' into 'master'
Prevent furnace temperature from going negative and deduplicate bar handling. See merge request 2009scape/2009scape!379
This commit is contained in:
commit
eca439b99e
3 changed files with 83 additions and 267 deletions
|
|
@ -97,3 +97,4 @@
|
||||||
- Can now pickpocket women in ardy (npc ID 25)
|
- Can now pickpocket women in ardy (npc ID 25)
|
||||||
- Can now travel on free charter boats without having money in inventory
|
- Can now travel on free charter boats without having money in inventory
|
||||||
- Emerald and diamond bracelet enchants no longer produce noted items
|
- Emerald and diamond bracelet enchants no longer produce noted items
|
||||||
|
- Prevent furnace temperature from going negative and deduplicate bar handling.
|
||||||
|
|
|
||||||
|
|
@ -5,6 +5,7 @@ import core.game.container.impl.EquipmentContainer
|
||||||
import core.game.node.entity.player.Player
|
import core.game.node.entity.player.Player
|
||||||
import core.game.node.entity.skill.Skills
|
import core.game.node.entity.skill.Skills
|
||||||
import core.game.node.item.Item
|
import core.game.node.item.Item
|
||||||
|
import core.game.node.entity.skill.smithing.smelting.Bar
|
||||||
import core.game.system.task.Pulse
|
import core.game.system.task.Pulse
|
||||||
import core.game.world.map.Location
|
import core.game.world.map.Location
|
||||||
import core.tools.RandomFunction
|
import core.tools.RandomFunction
|
||||||
|
|
@ -125,8 +126,8 @@ object BlastFurnace {
|
||||||
furnaceTemp += 2
|
furnaceTemp += 2
|
||||||
} else if (stoveTemp > 0 && pumping && furnaceTemp < 100 && (!pumpPipeBroken || !pumpPipeBroken)) {
|
} else if (stoveTemp > 0 && pumping && furnaceTemp < 100 && (!pumpPipeBroken || !pumpPipeBroken)) {
|
||||||
furnaceTemp += 1
|
furnaceTemp += 1
|
||||||
} else if (furnaceTemp > 0 && getWorldTicks() % 2 == 0) {
|
} else if (furnaceTemp > 0) {
|
||||||
furnaceTemp -= 2
|
furnaceTemp -= 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -148,96 +149,50 @@ object BlastFurnace {
|
||||||
}else if (makeBars && playerOre.isNotEmpty() && barsAmountFree > 0 && totalAmount < 56 && player.getAttribute("OreInPot",false) == true) {
|
}else if (makeBars && playerOre.isNotEmpty() && barsAmountFree > 0 && totalAmount < 56 && player.getAttribute("OreInPot",false) == true) {
|
||||||
playerOre.forEach { oreID ->
|
playerOre.forEach { oreID ->
|
||||||
playerCoal = player.blastCoal.getAmount(Items.COAL_453)
|
playerCoal = player.blastCoal.getAmount(Items.COAL_453)
|
||||||
if (oreID.id == Items.RUNITE_ORE_451 && player.blastOre.getAmount(451) * 4 <= playerCoal) {
|
var bars = arrayOf(Bar.forOre(oreID.id)!!)
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
if(oreID.id == Items.IRON_ORE_440) {
|
||||||
barsHot = true
|
bars = arrayOf(Bar.STEEL, Bar.IRON)
|
||||||
player.blastBars.add(Item(Items.RUNITE_BAR_2363, 1))
|
|
||||||
player.blastOre.remove(Item(Items.RUNITE_ORE_451, 1))
|
|
||||||
rewardXP(player, Skills.SMITHING,50.0)
|
|
||||||
player.blastCoal.remove(Item(453, 4))
|
|
||||||
totalAmount = barsAmount + oreAmount
|
|
||||||
giveSmithXp++
|
|
||||||
}
|
}
|
||||||
else if (oreID.id == Items.ADAMANTITE_ORE_449 && player.blastOre.getAmount(449) * 3 <= playerCoal) {
|
inner@ for(bar in bars) {
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
var hasRequirements = true
|
||||||
barsHot = true
|
for(required in bar.ores) {
|
||||||
player.blastBars.add(Item(Items.ADAMANTITE_BAR_2361, 1))
|
if(required.id == Items.COAL_453) {
|
||||||
player.blastOre.remove(Item(Items.ADAMANTITE_ORE_449, 1))
|
if(!player.blastCoal.contains(Items.COAL_453, required.amount / 2)) {
|
||||||
rewardXP(player, Skills.SMITHING,37.5)
|
hasRequirements = false
|
||||||
player.blastCoal.remove(Item(453, 3))
|
}
|
||||||
totalAmount = barsAmount + oreAmount
|
} else if(!player.blastOre.containsItem(required)) {
|
||||||
giveSmithXp++
|
hasRequirements = false
|
||||||
}
|
}
|
||||||
else if (oreID.id == Items.MITHRIL_ORE_447 && player.blastOre.getAmount(447) * 2 <= playerCoal) {
|
}
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
if(hasRequirements) {
|
||||||
barsHot = true
|
var removed = true
|
||||||
player.blastBars.add(Item(Items.MITHRIL_BAR_2359, 1))
|
for(required in bar.ores) {
|
||||||
player.blastOre.remove(Item(Items.MITHRIL_ORE_447, 1))
|
if(required.id == Items.COAL_453) {
|
||||||
rewardXP(player, Skills.SMITHING,30.0)
|
if(!player.blastCoal.remove(Item(Items.COAL_453, required.amount / 2))) {
|
||||||
player.blastCoal.remove(Item(453, 2))
|
removed = false
|
||||||
totalAmount = barsAmount + oreAmount
|
}
|
||||||
giveSmithXp++
|
} else {
|
||||||
}
|
if(!player.blastOre.remove(required)) {
|
||||||
else if (oreID.id == Items.IRON_ORE_440 && player.blastOre.getAmount(447) <= playerCoal) {
|
removed = false
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
}
|
||||||
barsHot = true
|
}
|
||||||
player.blastBars.add(Item(Items.STEEL_BAR_2353, 1))
|
}
|
||||||
player.blastOre.remove(Item(Items.MITHRIL_ORE_447, 1))
|
if(removed) {
|
||||||
rewardXP(player, Skills.SMITHING,17.5)
|
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
||||||
player.blastCoal.remove(Item(453, 1))
|
barsHot = true
|
||||||
totalAmount = barsAmount + oreAmount
|
player.blastBars.add(bar.product)
|
||||||
giveSmithXp++
|
var experience = bar.experience
|
||||||
}
|
if(bar.product.id == Items.GOLD_BAR_2357 &&
|
||||||
else if (oreID.id == Items.IRON_ORE_440) {
|
player.equipment[EquipmentContainer.SLOT_HANDS] != null &&
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
player.equipment[EquipmentContainer.SLOT_HANDS].id == GOLDSMITH_GAUNTLETS_776) {
|
||||||
barsHot = true
|
experience *= 2.5;
|
||||||
player.blastBars.add(Item(Items.IRON_BAR_2351, 1))
|
}
|
||||||
player.blastOre.remove(Item(Items.IRON_ORE_440, 1))
|
rewardXP(player, Skills.SMITHING, experience)
|
||||||
rewardXP(player, Skills.SMITHING,12.5)
|
totalAmount = barsAmount + oreAmount
|
||||||
totalAmount = barsAmount + oreAmount
|
giveSmithXp++
|
||||||
giveSmithXp++
|
break@inner
|
||||||
}
|
}
|
||||||
else if (oreID.id == Items.SILVER_ORE_442) {
|
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
|
||||||
barsHot = true
|
|
||||||
player.blastBars.add(Item(Items.SILVER_BAR_2355, 1))
|
|
||||||
rewardXP(player, Skills.SMITHING,13.6)
|
|
||||||
player.blastOre.remove(Item(Items.SILVER_ORE_442, 1))
|
|
||||||
totalAmount = barsAmount + oreAmount
|
|
||||||
giveSmithXp++
|
|
||||||
}
|
|
||||||
else if (oreID.id == Items.GOLD_ORE_444) {
|
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
|
||||||
barsHot = true
|
|
||||||
player.blastBars.add(Item(Items.GOLD_BAR_2357, 1))
|
|
||||||
if((player.equipment[EquipmentContainer.SLOT_HANDS] != null && player.equipment[EquipmentContainer.SLOT_HANDS].id == GOLDSMITH_GAUNTLETS_776)){
|
|
||||||
rewardXP(player, Skills.SMITHING,56.2)
|
|
||||||
}else{
|
|
||||||
rewardXP(player, Skills.SMITHING,22.5)
|
|
||||||
}
|
}
|
||||||
player.blastOre.remove(Item(Items.GOLD_ORE_444, 1))
|
|
||||||
totalAmount = barsAmount + oreAmount
|
|
||||||
giveSmithXp++
|
|
||||||
}
|
|
||||||
else if (oreID.id == Items.COPPER_ORE_436 && player.blastOre.containsAtLeastOneItem(438)) {
|
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
|
||||||
barsHot = true
|
|
||||||
player.blastOre.remove(Item(Items.TIN_ORE_438, 1))
|
|
||||||
player.blastOre.remove(Item(Items.COPPER_ORE_436, 1))
|
|
||||||
player.blastBars.add(Item(Items.BRONZE_BAR_2349, 1))
|
|
||||||
rewardXP(player, Skills.SMITHING,6.2)
|
|
||||||
totalAmount = barsAmount + oreAmount
|
|
||||||
giveSmithXp++
|
|
||||||
}
|
|
||||||
else if(oreID.id == Items.TIN_ORE_438 && player.blastOre.containsAtLeastOneItem(436)){
|
|
||||||
player.varpManager.get(543).setVarbit(8, 1).send(player)
|
|
||||||
barsHot = true
|
|
||||||
player.blastOre.remove(Item(Items.COPPER_ORE_436, 1))
|
|
||||||
player.blastOre.remove(Item(Items.TIN_ORE_438, 1))
|
|
||||||
player.blastBars.add(Item(Items.BRONZE_BAR_2349, 1))
|
|
||||||
rewardXP(player, Skills.SMITHING,6.2)
|
|
||||||
totalAmount = barsAmount + oreAmount
|
|
||||||
giveSmithXp++
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -402,4 +357,4 @@ object BlastFurnace {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,7 @@ import api.Container
|
||||||
import api.*
|
import api.*
|
||||||
import core.game.node.entity.skill.Skills
|
import core.game.node.entity.skill.Skills
|
||||||
import core.game.node.item.Item
|
import core.game.node.item.Item
|
||||||
|
import core.game.node.entity.skill.smithing.smelting.Bar
|
||||||
import core.game.system.task.Pulse
|
import core.game.system.task.Pulse
|
||||||
import rs09.game.interaction.InteractionListener
|
import rs09.game.interaction.InteractionListener
|
||||||
import core.game.world.map.Location
|
import core.game.world.map.Location
|
||||||
|
|
@ -195,100 +196,27 @@ class BlastFurnaceListeners : InteractionListener() {
|
||||||
oreToActuallyAdd--
|
oreToActuallyAdd--
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
when(oreID){
|
val bar = Bar.forOre(oreID)
|
||||||
Items.COAL_453 -> {
|
if(oreID == Items.COAL_453) {
|
||||||
if (coalToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 30) {
|
if (coalToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 30) {
|
||||||
player.blastCoal.add(Item(Items.COAL_453,coalToActuallyAdd))
|
player.blastCoal.add(Item(Items.COAL_453,coalToActuallyAdd))
|
||||||
removeItem(player, Item(oreID, coalToActuallyAdd), Container.INVENTORY)
|
removeItem(player, Item(oreID, coalToActuallyAdd), Container.INVENTORY)
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],coalToActuallyAdd).init()
|
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],coalToActuallyAdd).init()
|
||||||
}
|
|
||||||
else if(getStatLevel(player, Skills.SMITHING) < 30){
|
|
||||||
sendDialogue(player, "My Smithing level is not high enough to use Coal!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of coal!")
|
|
||||||
}
|
}
|
||||||
Items.RUNITE_ORE_451 -> {
|
else if(getStatLevel(player, Skills.SMITHING) < 30){
|
||||||
if (oreToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 85) {
|
sendDialogue(player, "My Smithing level is not high enough to use Coal!")
|
||||||
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
|
||||||
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
|
||||||
}
|
|
||||||
else if(getStatLevel(player, Skills.SMITHING) < 85){
|
|
||||||
sendDialogue(player, "My Smithing level is not high enough to smelt Runite!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
}
|
||||||
Items.ADAMANTITE_ORE_449 -> {
|
else sendDialogue(player, "It looks like the melting pot is already full of coal!")
|
||||||
if (oreToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 70) {
|
} else if (bar != null) {
|
||||||
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
if (oreToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= bar.level) {
|
||||||
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
||||||
}
|
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
||||||
else if(getStatLevel(player, Skills.SMITHING) < 70){
|
|
||||||
sendDialogue(player, "My Smithing level is not high enough to smelt Adamantite!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
}
|
||||||
Items.MITHRIL_ORE_447 -> {
|
else if(getStatLevel(player, Skills.SMITHING) < bar.level){
|
||||||
if (oreToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 50) {
|
sendDialogue(player, "My Smithing level is not high enough to smelt ${bar.name.toLowerCase()}!")
|
||||||
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
|
||||||
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
|
||||||
}
|
|
||||||
else if(getStatLevel(player, Skills.SMITHING) < 50){
|
|
||||||
sendDialogue(player, "My Smithing level is not high enough to smelt Mithril!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.IRON_ORE_440 -> {
|
|
||||||
if (oreToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 15) {
|
|
||||||
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
|
||||||
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
|
||||||
}
|
|
||||||
else if(getStatLevel(player, Skills.SMITHING) < 15){
|
|
||||||
sendDialogue(player, "My Smithing level is not high enough to smelt Iron!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.SILVER_ORE_442 -> {
|
|
||||||
if (oreToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 20) {
|
|
||||||
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
|
||||||
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
|
||||||
}
|
|
||||||
else if(getStatLevel(player, Skills.SMITHING) < 20){
|
|
||||||
sendDialogue(player, "My Smithing level is not high enough to smelt Silver!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.GOLD_ORE_444 -> {
|
|
||||||
if (oreToActuallyAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 40) {
|
|
||||||
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
|
||||||
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
|
||||||
}
|
|
||||||
else if(getStatLevel(player, Skills.SMITHING) < 40){
|
|
||||||
sendDialogue(player, "My Smithing level is not high enough to smelt Gold!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.COPPER_ORE_436 -> {
|
|
||||||
if (oreToActuallyAdd > 0) {
|
|
||||||
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
|
||||||
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.TIN_ORE_438 -> {
|
|
||||||
if (oreToActuallyAdd > 0) {
|
|
||||||
player.blastOre.add(Item(oreID,oreToActuallyAdd))
|
|
||||||
removeItem(player, Item(oreID, oreToActuallyAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreID)],oreToActuallyAdd).init()
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
}
|
||||||
|
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else if (button == 2 && rocksInInven.isEmpty()){
|
}else if (button == 2 && rocksInInven.isEmpty()){
|
||||||
|
|
@ -329,93 +257,25 @@ class BlastFurnaceListeners : InteractionListener() {
|
||||||
amountToAdd--
|
amountToAdd--
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
when(oreType.id){
|
val bar = Bar.forOre(oreType.id)
|
||||||
Items.TIN_ORE_438 ->{
|
if(oreType.id == Items.COAL_453) {
|
||||||
if (amountToAdd > 0) {
|
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 30) {
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
player.blastCoal.add(Item(oreType.id,amountToAdd))
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
||||||
}
|
}else if(getStatLevel(player,Skills.SMITHING) < 30){
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
sendDialogue(player,"My Smithing level is not high enough to use Coal!")
|
||||||
}
|
}
|
||||||
Items.COPPER_ORE_436 ->{
|
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
||||||
if (amountToAdd > 0) {
|
} else if(bar != null) {
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= bar.level) {
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
player.blastOre.add(Item(oreType.id,amountToAdd))
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
||||||
}
|
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
}else if(getStatLevel(player,Skills.SMITHING) < bar.level){
|
||||||
}
|
sendDialogue(player,"My Smithing level is not high enough to smelt Iron!")
|
||||||
Items.IRON_ORE_440 ->{
|
|
||||||
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 15) {
|
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
|
||||||
}else if(getStatLevel(player,Skills.SMITHING) < 15){
|
|
||||||
sendDialogue(player,"My Smithing level is not high enough to smelt Iron!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.MITHRIL_ORE_447 ->{
|
|
||||||
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 50) {
|
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
|
||||||
}else if(getStatLevel(player,Skills.SMITHING) < 50){
|
|
||||||
sendDialogue(player,"My Smithing level is not high enough to smelt Mithril!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.GOLD_ORE_444 ->{
|
|
||||||
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 40) {
|
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
|
||||||
}else if(getStatLevel(player,Skills.SMITHING) < 40){
|
|
||||||
sendDialogue(player,"My Smithing level is not high enough to smelt Gold!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.SILVER_ORE_442 ->{
|
|
||||||
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 20) {
|
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
|
||||||
}else if(getStatLevel(player,Skills.SMITHING) < 20){
|
|
||||||
sendDialogue(player,"My Smithing level is not high enough to smelt Silver!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.ADAMANTITE_ORE_449 ->{
|
|
||||||
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 70) {
|
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
|
||||||
}else if(getStatLevel(player,Skills.SMITHING) < 70){
|
|
||||||
sendDialogue(player,"My Smithing level is not high enough to smelt Adamantite!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.RUNITE_ORE_451 ->{
|
|
||||||
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 85) {
|
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
|
||||||
}else if(getStatLevel(player,Skills.SMITHING) < 85){
|
|
||||||
sendDialogue(player,"My Smithing level is not high enough to smelt Runite!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
|
||||||
Items.COAL_453 ->{
|
|
||||||
if (amountToAdd > 0 && getStatLevel(player, Skills.SMITHING) >= 30) {
|
|
||||||
player.blastOre.add(Item(oreType.id,amountToAdd))
|
|
||||||
removeItem(player, Item(oreType.id, amountToAdd), Container.INVENTORY)
|
|
||||||
BlastFurnaceOre(player, BFOreVariant.values()[playerOre.indexOf(oreType.id)],amountToAdd).init()
|
|
||||||
}else if(getStatLevel(player,Skills.SMITHING) < 30){
|
|
||||||
sendDialogue(player,"My Smithing level is not high enough to use Coal!")
|
|
||||||
}
|
|
||||||
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
|
||||||
}
|
}
|
||||||
|
else sendDialogue(player, "It looks like the melting pot is already full of ore!")
|
||||||
}
|
}
|
||||||
return@onUseWith true
|
return@onUseWith true
|
||||||
}
|
}
|
||||||
|
|
@ -501,4 +361,4 @@ class BlastFurnaceListeners : InteractionListener() {
|
||||||
return@on true
|
return@on true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue