Added the PGL200 quest The House Always Wins. Fixed quest instances not being set on spawn. Fixed PrivateAreaPast. Added You have left the instance messages when leaving a PrivateArea. Fixed EmoteEvents. DefaultTalk has been disabled temporarily to speed up warps.

This commit is contained in:
Filip Maj 2022-03-03 01:59:13 -05:00
parent f491c63b98
commit b773098abf
9 changed files with 383 additions and 53 deletions

View file

@ -149,19 +149,19 @@ namespace Meteor.Map.Actors.QuestNS
LuaEngine.GetInstance().CallLuaFunction(caller, this, "onTalk", true, npc);
}
public void OnEmote(Player caller, Npc npc, Command command)
public void OnEmote(Player caller, Npc npc, string triggerName)
{
LuaEngine.GetInstance().CallLuaFunction(caller, this, "onEmote", true, npc, command);
LuaEngine.GetInstance().CallLuaFunction(caller, this, "onEmote", true, npc, triggerName);
}
public void OnPush(Player caller, Npc npc)
public void OnPush(Player caller, Npc npc, string triggerName)
{
LuaEngine.GetInstance().CallLuaFunction(caller, this, "onPush", true, npc);
LuaEngine.GetInstance().CallLuaFunction(caller, this, "onPush", true, npc, triggerName);
}
public void OnNotice(Player caller)
public void OnNotice(Player caller, string triggerName)
{
LuaEngine.GetInstance().CallLuaFunction(caller, this, "onNotice", true);
LuaEngine.GetInstance().CallLuaFunction(caller, this, "onNotice", true, triggerName);
}
public void OnNpcLS(Player caller, uint npcLSId)
@ -190,9 +190,9 @@ namespace Meteor.Map.Actors.QuestNS
public bool IsQuestENPC(Player caller, Npc npc)
{
List<LuaParam> returned = LuaEngine.GetInstance().CallLuaFunctionForReturn(caller, this, "IsQuestENPC", true, npc, this);
bool scriptReturned = returned != null && returned.Count != 0 && returned[0].typeID == 3;
return scriptReturned || (questState?.HasENpc(npc.GetActorClassId()) ?? false);
//List<LuaParam> returned = LuaEngine.GetInstance().CallLuaFunctionForReturn(caller, this, "IsQuestENPC", true, npc, this);
//bool scriptReturned = returned != null && returned.Count != 0 && returned[0].typeID == 3;
return (questState?.HasENpc(npc.GetActorClassId()) ?? false);
}
public void StartSequence(ushort sequence)