diff --git a/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj b/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
index 27a9891d..2ecccff3 100644
--- a/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
+++ b/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj
@@ -134,6 +134,7 @@
+
diff --git a/FFXIVClassic Map Server/actors/chara/Character.cs b/FFXIVClassic Map Server/actors/chara/Character.cs
index 8ada9422..dd5f5266 100644
--- a/FFXIVClassic Map Server/actors/chara/Character.cs
+++ b/FFXIVClassic Map Server/actors/chara/Character.cs
@@ -81,6 +81,13 @@ namespace FFXIVClassic_Map_Server.Actors
return SetActorIdleAnimationPacket.buildPacket(actorId, playerActorId, animationId);
}
+ public void setQuestIcon(Player player, bool hasIcon)
+ {
+ ActorSpecialGraphicPacket.buildPacket(player.actorId, actorId, hasIcon ? ActorSpecialGraphicPacket.QUEST : 0x0).debugPrintSubPacket();
+ //player.queuePacket(ActorSpecialGraphicPacket.buildPacket(player.actorId, actorId, hasIcon ? ActorSpecialGraphicPacket.QUEST : 0x0));
+
+ }
+
}
}
diff --git a/FFXIVClassic Map Server/actors/chara/npc/Npc.cs b/FFXIVClassic Map Server/actors/chara/npc/Npc.cs
index 9e43c677..f84b4e24 100644
--- a/FFXIVClassic Map Server/actors/chara/npc/Npc.cs
+++ b/FFXIVClassic Map Server/actors/chara/npc/Npc.cs
@@ -50,7 +50,7 @@ namespace FFXIVClassic_Map_Server.Actors
List lParams;
Player player = Server.GetWorldManager().GetPCInWorld(playerActorId);
- lParams = LuaEngine.doActorOnInstantiate(player, this);
+ lParams = LuaEngine.doActorInstantiate(player, this);
if (lParams == null)
{
diff --git a/FFXIVClassic Map Server/actors/chara/player/Player.cs b/FFXIVClassic Map Server/actors/chara/player/Player.cs
index 9ef1b188..bcb44705 100644
--- a/FFXIVClassic Map Server/actors/chara/player/Player.cs
+++ b/FFXIVClassic Map Server/actors/chara/player/Player.cs
@@ -965,6 +965,17 @@ namespace FFXIVClassic_Map_Server.Actors
return null;
}
+ public Quest getQuest(string name)
+ {
+ for (int i = 0; i < questScenario.Length; i++)
+ {
+ if (questScenario[i] != null && questScenario[i].actorName.Equals(name))
+ return questScenario[i];
+ }
+
+ return null;
+ }
+
public bool hasQuest(uint id)
{
for (int i = 0; i < questScenario.Length; i++)
diff --git a/FFXIVClassic Map Server/dataobjects/ConnectedPlayer.cs b/FFXIVClassic Map Server/dataobjects/ConnectedPlayer.cs
index 455448dc..567aec3c 100644
--- a/FFXIVClassic Map Server/dataobjects/ConnectedPlayer.cs
+++ b/FFXIVClassic Map Server/dataobjects/ConnectedPlayer.cs
@@ -2,6 +2,7 @@
using FFXIVClassic_Lobby_Server.common;
using FFXIVClassic_Lobby_Server.packets;
using FFXIVClassic_Map_Server.Actors;
+using FFXIVClassic_Map_Server.lua;
using FFXIVClassic_Map_Server.packets.send.actor;
using System;
using System.Collections.Generic;
diff --git a/FFXIVClassic Map Server/lua/LuaEngine.cs b/FFXIVClassic Map Server/lua/LuaEngine.cs
index a9d18ee5..7a7603bd 100644
--- a/FFXIVClassic Map Server/lua/LuaEngine.cs
+++ b/FFXIVClassic Map Server/lua/LuaEngine.cs
@@ -31,7 +31,7 @@ namespace FFXIVClassic_Map_Server.lua
UserData.RegistrationPolicy = InteropRegistrationPolicy.Automatic;
}
- public static List doActorOnInstantiate(Player player, Actor target)
+ public static List doActorInstantiate(Player player, Actor target)
{
string luaPath;
@@ -39,14 +39,10 @@ namespace FFXIVClassic_Map_Server.lua
{
luaPath = String.Format(FILEPATH_NPCS, target.zoneId, target.getName());
if (File.Exists(luaPath))
- {
- Script script = new Script();
- ((ScriptLoaderBase)script.Options.ScriptLoader).ModulePaths = new string[] { "./scripts/?", "./scripts/?.lua" };
- script.Globals["getStaticActor"] = (Func)Server.getStaticActors;
- script.Globals["getWorldMaster"] = (Func)Server.GetWorldManager().GetActor;
- script.Globals["getItemGamedata"] = (Func)Server.getItemGamedata;
- script.DoFile(luaPath);
- DynValue result = script.Call(script.Globals["onInstantiate"], target);
+ {
+ Script script = loadScript(luaPath);
+
+ DynValue result = script.Call(script.Globals["init"], target);
List lparams = LuaUtils.createLuaParamList(result);
return lparams;
}
@@ -80,13 +76,7 @@ namespace FFXIVClassic_Map_Server.lua
if (File.Exists(luaPath))
{
- Script script = new Script();
- ((ScriptLoaderBase)script.Options.ScriptLoader).ModulePaths = new string[] { "./scripts/?", "./scripts/?.lua" };
- script.Globals["getWorldManager"] = (Func)Server.GetWorldManager;
- script.Globals["getStaticActor"] = (Func)Server.getStaticActors;
- script.Globals["getWorldMaster"] = (Func)Server.GetWorldManager().GetActor;
- script.Globals["getItemGamedata"] = (Func)Server.getItemGamedata;
- script.DoFile(luaPath);
+ Script script = loadScript(luaPath);
//Have to do this to combine LuaParams
List