From 1e88a4458d99f14f1b37c093df72963bb724d3ec Mon Sep 17 00:00:00 2001 From: "Luis C.M" Date: Wed, 13 Apr 2022 04:25:44 -0500 Subject: [PATCH] Fixed bug with NPC dialog scripts. --- src/main/java/noppes/npcs/EventHooks.java | 10 ++++++++-- .../noppes/npcs/scripted/event/ScriptEventDialog.java | 6 +++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/noppes/npcs/EventHooks.java b/src/main/java/noppes/npcs/EventHooks.java index 899ed8380..abf0a84a8 100644 --- a/src/main/java/noppes/npcs/EventHooks.java +++ b/src/main/java/noppes/npcs/EventHooks.java @@ -76,7 +76,10 @@ public class EventHooks { NpcEvent.DialogEvent event = new NpcEvent.DialogEvent(npc.wrappedNPC, player, dialogId, optionId, dialog); ScriptController.Instance.npcScripts.callScript(EnumScriptType.DIALOG, event); - npc.script.callScript(EnumScriptType.DIALOG, "event", new ScriptEventDialog(player,dialogId,optionId,dialog)); + + ScriptEventDialog npcEvent = new ScriptEventDialog(player,dialogId,optionId,dialog); + npc.script.callScript(EnumScriptType.DIALOG, "event", npcEvent, "player", npcEvent.getPlayer(), "dialog", npcEvent.getDialogId(), "option", npcEvent.getOptionId(), "dialogObj", npcEvent.getDialog()); + WrapperNpcAPI.EVENT_BUS.post(event); } @@ -86,7 +89,10 @@ public class EventHooks { NpcEvent.DialogClosedEvent event = new NpcEvent.DialogClosedEvent(npc.wrappedNPC, player, dialogId, optionId, dialog); ScriptController.Instance.npcScripts.callScript(EnumScriptType.DIALOG_CLOSE, event); - npc.script.callScript(EnumScriptType.DIALOG_CLOSE, "event", new ScriptEventDialog(player,dialogId,optionId,dialog)); + + ScriptEventDialog npcEvent = new ScriptEventDialog(player,dialogId,optionId,dialog); + npc.script.callScript(EnumScriptType.DIALOG_CLOSE, "event", npcEvent, "player", npcEvent.getPlayer(), "dialog", npcEvent.getDialogId(), "option", npcEvent.getOptionId(), "dialogObj", npcEvent.getDialog()); + WrapperNpcAPI.EVENT_BUS.post(event); } diff --git a/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java b/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java index 8e13699de..3e8d3bc2f 100644 --- a/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java +++ b/src/main/java/noppes/npcs/scripted/event/ScriptEventDialog.java @@ -6,19 +6,19 @@ import noppes.npcs.scripted.NpcAPI; import noppes.npcs.scripted.interfaces.IPlayer; public class ScriptEventDialog extends ScriptEvent{ - public EntityPlayer player; + public IPlayer player; public int dialog; public int option; public Dialog dialogObj; public ScriptEventDialog(EntityPlayer player, int dialog, int option, Dialog dialogObj){ - this.player = player; + this.player = (IPlayer)NpcAPI.Instance().getIEntity(player); this.dialog = dialog; this.option = option; this.dialogObj = dialogObj; } - public EntityPlayer getPlayer() { + public IPlayer getPlayer() { return player; }