Implemented interaction for magic secateurs on trees
This commit is contained in:
@@ -17,8 +17,6 @@ import org.rs09.consts.Items
|
|||||||
|
|
||||||
val livesBased = arrayOf(PatchType.HERB, PatchType.CACTUS, PatchType.BELLADONNA, PatchType.HOPS, PatchType.ALLOTMENT,PatchType.EVIL_TURNIP)
|
val livesBased = arrayOf(PatchType.HERB, PatchType.CACTUS, PatchType.BELLADONNA, PatchType.HOPS, PatchType.ALLOTMENT,PatchType.EVIL_TURNIP)
|
||||||
|
|
||||||
val spadeAnim = Animation(830)
|
|
||||||
|
|
||||||
@Initializable
|
@Initializable
|
||||||
class CropHarvester : OptionHandler() {
|
class CropHarvester : OptionHandler() {
|
||||||
|
|
||||||
@@ -41,7 +39,7 @@ class CropHarvester : OptionHandler() {
|
|||||||
|
|
||||||
return object : Pulse(0) {
|
return object : Pulse(0) {
|
||||||
override fun pulse(): Boolean {
|
override fun pulse(): Boolean {
|
||||||
var reward = Item(crop, 1)
|
var reward = Item(crop)
|
||||||
|
|
||||||
val familiar = player.familiarManager.familiar
|
val familiar = player.familiarManager.familiar
|
||||||
if(familiar != null && familiar is GiantEntNPC) {
|
if(familiar != null && familiar is GiantEntNPC) {
|
||||||
@@ -56,14 +54,14 @@ class CropHarvester : OptionHandler() {
|
|||||||
else -> Items.SPADE_952
|
else -> Items.SPADE_952
|
||||||
}
|
}
|
||||||
if(requiredItem == Items.SECATEURS_5329){
|
if(requiredItem == Items.SECATEURS_5329){
|
||||||
if(player.inventory.contains(Items.MAGIC_SECATEURS_7409,1)){
|
if(player.inventory.containsAtLeastOneItem(Items.MAGIC_SECATEURS_7409)){
|
||||||
requiredItem = Items.MAGIC_SECATEURS_7409
|
requiredItem = Items.MAGIC_SECATEURS_7409
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val anim = when(requiredItem){
|
val anim = when(requiredItem){
|
||||||
Items.SPADE_952 -> Animation(830)
|
Items.SPADE_952 -> Animation(830)
|
||||||
Items.SECATEURS_5329 -> Animation(7227)
|
Items.SECATEURS_5329 -> if (fPatch.type == PatchType.TREE) Animation(2277) else Animation(7227)
|
||||||
Items.MAGIC_SECATEURS_7409 -> Animation(7228)
|
Items.MAGIC_SECATEURS_7409 -> if (fPatch.type == PatchType.TREE) Animation(3340) else Animation(7228)
|
||||||
else -> Animation(0)
|
else -> Animation(0)
|
||||||
}
|
}
|
||||||
val sound = when(requiredItem){
|
val sound = when(requiredItem){
|
||||||
|
|||||||
@@ -15,11 +15,13 @@ class UseWithPatchHandler : InteractionListener {
|
|||||||
val SEED_DIBBER = Items.SEED_DIBBER_5343
|
val SEED_DIBBER = Items.SEED_DIBBER_5343
|
||||||
val SPADE = Items.SPADE_952
|
val SPADE = Items.SPADE_952
|
||||||
val SECATEURS = Items.SECATEURS_5329
|
val SECATEURS = Items.SECATEURS_5329
|
||||||
|
val MAGIC_SECATEURS = Items.MAGIC_SECATEURS_7409
|
||||||
val TROWEL = Items.GARDENING_TROWEL_5325
|
val TROWEL = Items.GARDENING_TROWEL_5325
|
||||||
val pourBucketAnim = Animation(2283)
|
val pourBucketAnim = Animation(2283)
|
||||||
val wateringCanAnim = Animation(2293)
|
val wateringCanAnim = Animation(2293)
|
||||||
val plantCureAnim = Animation(2288)
|
val plantCureAnim = Animation(2288)
|
||||||
val secateursAnim = Animation(7227)
|
val secateursTreeAnim = Animation(2277)
|
||||||
|
val magicSecateursTreeAnim = Animation(3340)
|
||||||
|
|
||||||
@JvmField
|
@JvmField
|
||||||
val allowedNodes = ArrayList<Int>()
|
val allowedNodes = ArrayList<Int>()
|
||||||
@@ -36,13 +38,13 @@ class UseWithPatchHandler : InteractionListener {
|
|||||||
RAKE -> PatchRaker.rake(player,patch)
|
RAKE -> PatchRaker.rake(player,patch)
|
||||||
SEED_DIBBER -> player.sendMessage("I should plant a seed, not the seed dibber.")
|
SEED_DIBBER -> player.sendMessage("I should plant a seed, not the seed dibber.")
|
||||||
SPADE -> player.dialogueInterpreter.open(67984003,patch.getPatchFor(player)) //DigUpPatchDialogue.kt
|
SPADE -> player.dialogueInterpreter.open(67984003,patch.getPatchFor(player)) //DigUpPatchDialogue.kt
|
||||||
SECATEURS -> {
|
SECATEURS, MAGIC_SECATEURS -> {
|
||||||
val p = patch.getPatchFor(player)
|
val p = patch.getPatchFor(player)
|
||||||
if(patch.type == PatchType.TREE) {
|
if(patch.type == PatchType.TREE) {
|
||||||
if(p.isDiseased && !p.isDead) {
|
if(p.isDiseased && !p.isDead) {
|
||||||
player.pulseManager.run(object: Pulse(){
|
player.pulseManager.run(object: Pulse(){
|
||||||
override fun pulse(): Boolean {
|
override fun pulse(): Boolean {
|
||||||
player.animator.animate(secateursAnim)
|
if (usedItem.id == SECATEURS ) player.animator.animate(secateursTreeAnim) else player.animator.animate(magicSecateursTreeAnim)
|
||||||
p.cureDisease()
|
p.cureDisease()
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
@@ -246,7 +248,7 @@ class UseWithPatchHandler : InteractionListener {
|
|||||||
for(p in Plantable.values()){
|
for(p in Plantable.values()){
|
||||||
allowedNodes.add(p.itemID)
|
allowedNodes.add(p.itemID)
|
||||||
}
|
}
|
||||||
allowedNodes.addAll(arrayListOf(RAKE,SEED_DIBBER,SPADE,SECATEURS,TROWEL,Items.SUPERCOMPOST_6034,Items.COMPOST_6032,Items.PLANT_CURE_6036,Items.WATERING_CAN1_5333,Items.WATERING_CAN2_5334,Items.WATERING_CAN3_5335,Items.WATERING_CAN4_5336,Items.WATERING_CAN5_5337,Items.WATERING_CAN6_5338,Items.WATERING_CAN7_5339,Items.WATERING_CAN8_5340, Items.PLANT_POT_5350))
|
allowedNodes.addAll(arrayListOf(RAKE,SEED_DIBBER,SPADE,SECATEURS,MAGIC_SECATEURS,TROWEL,Items.SUPERCOMPOST_6034,Items.COMPOST_6032,Items.PLANT_CURE_6036,Items.WATERING_CAN1_5333,Items.WATERING_CAN2_5334,Items.WATERING_CAN3_5335,Items.WATERING_CAN4_5336,Items.WATERING_CAN5_5337,Items.WATERING_CAN6_5338,Items.WATERING_CAN7_5339,Items.WATERING_CAN8_5340, Items.PLANT_POT_5350))
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun Int.getNext(): Int {
|
private fun Int.getNext(): Int {
|
||||||
|
|||||||
Reference in New Issue
Block a user