From dcdeefe85ef84ed099e371420227acb622b8dc0a Mon Sep 17 00:00:00 2001 From: RiL <13897849-RiL0@users.noreply.gitlab.com> Date: Sun, 2 Apr 2023 08:28:27 +0000 Subject: [PATCH] Implemented interaction for magic secateurs on trees --- .../main/content/global/skill/farming/CropHarvester.kt | 10 ++++------ .../global/skill/farming/UseWithPatchHandler.kt | 10 ++++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Server/src/main/content/global/skill/farming/CropHarvester.kt b/Server/src/main/content/global/skill/farming/CropHarvester.kt index 77fe08409..ae266f966 100644 --- a/Server/src/main/content/global/skill/farming/CropHarvester.kt +++ b/Server/src/main/content/global/skill/farming/CropHarvester.kt @@ -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 spadeAnim = Animation(830) - @Initializable class CropHarvester : OptionHandler() { @@ -41,7 +39,7 @@ class CropHarvester : OptionHandler() { return object : Pulse(0) { override fun pulse(): Boolean { - var reward = Item(crop, 1) + var reward = Item(crop) val familiar = player.familiarManager.familiar if(familiar != null && familiar is GiantEntNPC) { @@ -56,14 +54,14 @@ class CropHarvester : OptionHandler() { else -> Items.SPADE_952 } 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 } } val anim = when(requiredItem){ Items.SPADE_952 -> Animation(830) - Items.SECATEURS_5329 -> Animation(7227) - Items.MAGIC_SECATEURS_7409 -> Animation(7228) + Items.SECATEURS_5329 -> if (fPatch.type == PatchType.TREE) Animation(2277) else Animation(7227) + Items.MAGIC_SECATEURS_7409 -> if (fPatch.type == PatchType.TREE) Animation(3340) else Animation(7228) else -> Animation(0) } val sound = when(requiredItem){ diff --git a/Server/src/main/content/global/skill/farming/UseWithPatchHandler.kt b/Server/src/main/content/global/skill/farming/UseWithPatchHandler.kt index bb2352078..a18ac96c2 100644 --- a/Server/src/main/content/global/skill/farming/UseWithPatchHandler.kt +++ b/Server/src/main/content/global/skill/farming/UseWithPatchHandler.kt @@ -15,11 +15,13 @@ class UseWithPatchHandler : InteractionListener { val SEED_DIBBER = Items.SEED_DIBBER_5343 val SPADE = Items.SPADE_952 val SECATEURS = Items.SECATEURS_5329 + val MAGIC_SECATEURS = Items.MAGIC_SECATEURS_7409 val TROWEL = Items.GARDENING_TROWEL_5325 val pourBucketAnim = Animation(2283) val wateringCanAnim = Animation(2293) val plantCureAnim = Animation(2288) - val secateursAnim = Animation(7227) + val secateursTreeAnim = Animation(2277) + val magicSecateursTreeAnim = Animation(3340) @JvmField val allowedNodes = ArrayList() @@ -36,13 +38,13 @@ class UseWithPatchHandler : InteractionListener { RAKE -> PatchRaker.rake(player,patch) SEED_DIBBER -> player.sendMessage("I should plant a seed, not the seed dibber.") SPADE -> player.dialogueInterpreter.open(67984003,patch.getPatchFor(player)) //DigUpPatchDialogue.kt - SECATEURS -> { + SECATEURS, MAGIC_SECATEURS -> { val p = patch.getPatchFor(player) if(patch.type == PatchType.TREE) { if(p.isDiseased && !p.isDead) { player.pulseManager.run(object: Pulse(){ override fun pulse(): Boolean { - player.animator.animate(secateursAnim) + if (usedItem.id == SECATEURS ) player.animator.animate(secateursTreeAnim) else player.animator.animate(magicSecateursTreeAnim) p.cureDisease() return true } @@ -246,7 +248,7 @@ class UseWithPatchHandler : InteractionListener { for(p in Plantable.values()){ 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 {