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 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){
|
||||
|
||||
@@ -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<Int>()
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user