forked from 2009Scape/Server
Herb cleaning is now a pulse that cleans all the matching herbs in your inventory
This commit is contained in:
parent
ac14e7a22e
commit
62463576cf
1 changed files with 23 additions and 1 deletions
|
|
@ -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
|
||||
|
|
@ -19,16 +22,35 @@ class HerbCleanListener : InteractionListener {
|
|||
val herb: Herbs = Herbs.forItem(node as Item) ?: return@on true
|
||||
|
||||
if (getDynLevel(player, Skills.HERBLORE) < herb.level) {
|
||||
sendMessage(player, "You cannot clean this herb. You need a Herblore level of " + herb.level + " to attempt this.")
|
||||
sendMessage(player, "You need level " + herb.level + " Herblore to clean the " + herb.product.name.replace("Clean", "Grimy") + ".")
|
||||
return@on true
|
||||
}
|
||||
|
||||
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
|
||||
*/
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue