Fixed numerous interfaces, including Puro puro, Destroy item, Equipment, kept on death, Cooking (single prompts i.e. raw fish -> range), Fletching (make set i.e. fletching arrows, bow)
Rewrote herb cleaning to listener Fixed studded leather crafting level requirement and xp Fixed bow stringing stealing strings ::quest <player> can now be used to look up a player's completed quests
This commit is contained in:
@@ -63,7 +63,7 @@ class FletchingListeners : InteractionListener {
|
||||
|
||||
onUseWith(IntType.ITEM,ARROW_SHAFT,*FEATHERS){ player, shaft, feather ->
|
||||
val handler: SkillDialogueHandler =
|
||||
object : SkillDialogueHandler(player, SkillDialogue.ONE_OPTION, Item(FLETCHED_SHAFT)) {
|
||||
object : SkillDialogueHandler(player, SkillDialogue.MAKE_SET_ONE_OPTION, Item(FLETCHED_SHAFT)) {
|
||||
override fun create(amount: Int, index: Int) {
|
||||
player.pulseManager.run(HeadlessArrowPulse(player, shaft.asItem(), Item(feather.id), amount))
|
||||
}
|
||||
@@ -73,14 +73,13 @@ class FletchingListeners : InteractionListener {
|
||||
}
|
||||
}
|
||||
handler.open()
|
||||
PacketRepository.send(RepositionChild::class.java, ChildPositionContext(player, Components.SKILL_MULTI1_309, 2, 210, 10))
|
||||
return@onUseWith true
|
||||
}
|
||||
|
||||
onUseWith(IntType.ITEM,FLETCHED_SHAFT,*UNFINISHED_ARROWS){ player, shaft, unfinished ->
|
||||
val head = Fletching.arrowHeadMap[unfinished.id] ?: return@onUseWith false
|
||||
val handler: SkillDialogueHandler =
|
||||
object : SkillDialogueHandler(player, SkillDialogue.ONE_OPTION, head.getFinished()) {
|
||||
object : SkillDialogueHandler(player, SkillDialogue.MAKE_SET_ONE_OPTION, head.getFinished()) {
|
||||
override fun create(amount: Int, index: Int) {
|
||||
player.pulseManager.run(ArrowHeadPulse(player, shaft.asItem(), head, amount))
|
||||
}
|
||||
@@ -90,7 +89,6 @@ class FletchingListeners : InteractionListener {
|
||||
}
|
||||
}
|
||||
handler.open()
|
||||
PacketRepository.send(RepositionChild::class.java, ChildPositionContext(player, Components.SKILL_MULTI1_309, 2, 210, 10))
|
||||
return@onUseWith true
|
||||
}
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ public class FletchingPlugin extends UseWithHandler {
|
||||
//handle darts
|
||||
if(Fletching.isDart(event.getUsedItem().getId())){
|
||||
final Fletching.Darts dart = Fletching.dartMap.get(event.getUsedItem().getId());
|
||||
SkillDialogueHandler handler = new SkillDialogueHandler(player, SkillDialogue.ONE_OPTION, dart.getFinished()) {
|
||||
SkillDialogueHandler handler = new SkillDialogueHandler(player, SkillDialogue.MAKE_SET_ONE_OPTION, dart.getFinished()) {
|
||||
@Override
|
||||
public void create(final int amount, int index) {
|
||||
player.getPulseManager().run(new DartPulse(player, event.getUsedItem(), dart, amount));
|
||||
@@ -60,7 +60,6 @@ public class FletchingPlugin extends UseWithHandler {
|
||||
}
|
||||
};
|
||||
handler.open();
|
||||
PacketRepository.send(RepositionChild.class, new ChildPositionContext(player, 309, 2, 230, 10));
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -78,7 +77,7 @@ public class FletchingPlugin extends UseWithHandler {
|
||||
final boolean hasFeather = (featherId == 314 || (featherId >= 10087 && featherId <= 10091));
|
||||
|
||||
if (hasFeather) {
|
||||
SkillDialogueHandler handler = new SkillDialogueHandler(player, SkillDialogue.ONE_OPTION, bolt.getFinished()) {
|
||||
SkillDialogueHandler handler = new SkillDialogueHandler(player, SkillDialogue.MAKE_SET_ONE_OPTION, bolt.getFinished()) {
|
||||
@Override
|
||||
public void create(final int amount, int index) {
|
||||
player.getPulseManager().run(new BoltPulse(player, event.getUsedItem(), bolt, new Item(featherId), amount));
|
||||
@@ -89,7 +88,6 @@ public class FletchingPlugin extends UseWithHandler {
|
||||
}
|
||||
};
|
||||
handler.open();
|
||||
PacketRepository.send(RepositionChild.class, new ChildPositionContext(player, 309, 2, 210, 10));
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
@@ -53,7 +53,7 @@ class GemBoltListener : InteractionListener {
|
||||
|
||||
|
||||
val handler: SkillDialogueHandler =
|
||||
object : SkillDialogueHandler(player, SkillDialogue.ONE_OPTION, Item(bolt.product)) {
|
||||
object : SkillDialogueHandler(player, SkillDialogue.MAKE_SET_ONE_OPTION, Item(bolt.product)) {
|
||||
override fun create(amount: Int, index: Int) {
|
||||
player.pulseManager.run(GemBoltPulse(player, used as? Item, bolt, amount))
|
||||
}
|
||||
@@ -63,7 +63,6 @@ class GemBoltListener : InteractionListener {
|
||||
}
|
||||
}
|
||||
handler.open()
|
||||
PacketRepository.send(RepositionChild::class.java, ChildPositionContext(player, 309, 2, 210, 10))
|
||||
return@onUseWith true
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
package content.global.skill.fletching.items.bow;
|
||||
|
||||
import core.api.Container;
|
||||
import core.api.ContentAPIKt;
|
||||
import core.game.node.entity.player.link.diary.DiaryType;
|
||||
import core.game.world.map.zone.ZoneBorders;
|
||||
import core.game.node.entity.skill.SkillPulse;
|
||||
@@ -46,6 +48,9 @@ public class StringPulse extends SkillPulse<Item> {
|
||||
player.getDialogueInterpreter().sendDialogue("You need a fletching level of " + bow.level + " to string this bow.");
|
||||
return false;
|
||||
}
|
||||
if (!player.getInventory().containsItem(new Item(bow.unfinished))) {
|
||||
return false;
|
||||
}
|
||||
if (!player.getInventory().containsItem(new Item(bow.string))) {
|
||||
player.getDialogueInterpreter().sendDialogue("You seem to have run out of bow strings.");
|
||||
return false;
|
||||
|
||||
Reference in New Issue
Block a user