mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-05-20 08:26:59 -04:00
Merge remote-tracking branch 'origin/ioncannon/quest_system' into Jorge/quest_system
This commit is contained in:
@@ -254,7 +254,7 @@ namespace Meteor.Map.Actors
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public List<SubPacket> GetSetEventStatusPackets(bool talkEnabled = true, bool emoteEnabled = true, bool pushEnabled = true, bool noticeEnabled = true)
|
||||
public List<SubPacket> GetSetEventStatusPackets(bool talkEnabled = true, bool emoteEnabled = true, Boolean? pushEnabled = null, bool noticeEnabled = true)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
|
||||
@@ -283,19 +283,19 @@ namespace Meteor.Map.Actors
|
||||
if (eventConditions.pushWithCircleEventConditions != null)
|
||||
{
|
||||
foreach (EventList.PushCircleEventCondition condition in eventConditions.pushWithCircleEventConditions)
|
||||
subpackets.Add(SetEventStatusPacket.BuildPacket(Id, pushEnabled, 2, condition.conditionName));
|
||||
subpackets.Add(SetEventStatusPacket.BuildPacket(Id, pushEnabled ?? condition.isEnabled, 2, condition.conditionName));
|
||||
}
|
||||
|
||||
if (eventConditions.pushWithFanEventConditions != null)
|
||||
{
|
||||
foreach (EventList.PushFanEventCondition condition in eventConditions.pushWithFanEventConditions)
|
||||
subpackets.Add(SetEventStatusPacket.BuildPacket(Id, pushEnabled, 2, condition.conditionName));
|
||||
subpackets.Add(SetEventStatusPacket.BuildPacket(Id, pushEnabled ?? condition.isEnabled, 2, condition.conditionName));
|
||||
}
|
||||
|
||||
if (eventConditions.pushWithBoxEventConditions != null)
|
||||
{
|
||||
foreach (EventList.PushBoxEventCondition condition in eventConditions.pushWithBoxEventConditions)
|
||||
subpackets.Add(SetEventStatusPacket.BuildPacket(Id, pushEnabled, 2, condition.conditionName));
|
||||
subpackets.Add(SetEventStatusPacket.BuildPacket(Id, pushEnabled ?? condition.isEnabled, 2, condition.conditionName));
|
||||
}
|
||||
|
||||
return subpackets;
|
||||
|
@@ -109,6 +109,16 @@ namespace Meteor.Map.Actors
|
||||
return 0;
|
||||
}
|
||||
|
||||
public virtual bool IsPublic()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
public virtual bool IsPrivate()
|
||||
{
|
||||
return !IsPublic();
|
||||
}
|
||||
|
||||
public override SubPacket CreateScriptBindPacket()
|
||||
{
|
||||
List<LuaParam> lParams;
|
||||
|
@@ -52,6 +52,11 @@ namespace Meteor.Map.actors.area
|
||||
return PrivateAreaType;
|
||||
}
|
||||
|
||||
public override bool IsPublic()
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public Zone GetParentZone()
|
||||
{
|
||||
return ParentZone;
|
||||
|
@@ -582,7 +582,7 @@ namespace Meteor.Map.Actors
|
||||
QueuePacket(SetWeatherPacket.BuildPacket(Id, SetWeatherPacket.WEATHER_CLEAR, 1));
|
||||
}
|
||||
|
||||
public void SendZoneInPackets(WorldManager world, ushort spawnType)
|
||||
public void SendZoneInPackets(WorldManager world, ushort spawnType, bool changeMap)
|
||||
{
|
||||
QueuePacket(SetActorIsZoningPacket.BuildPacket(Id, false));
|
||||
QueuePacket(SetDalamudPacket.BuildPacket(Id, 0));
|
||||
@@ -965,7 +965,7 @@ namespace Meteor.Map.Actors
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().Id, textIdOwner.Id, textId, log, LuaUtils.CreateLuaParamList(msgParams)));
|
||||
}
|
||||
|
||||
public void SendGameMessageCustomSender(Actor textIdOwner, ushort textId, byte log, string customSender, params object[] msgParams)
|
||||
public void SendGameMessageDisplayName(Actor textIdOwner, ushort textId, byte log, string customSender, params object[] msgParams)
|
||||
{
|
||||
if (msgParams == null || msgParams.Length == 0)
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().Id, textIdOwner.Id, textId, customSender, log));
|
||||
@@ -973,7 +973,7 @@ namespace Meteor.Map.Actors
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().Id, textIdOwner.Id, textId, customSender, log, LuaUtils.CreateLuaParamList(msgParams)));
|
||||
}
|
||||
|
||||
public void SendGameMessageDisplayIDSender(Actor textIdOwner, ushort textId, byte log, uint displayId, params object[] msgParams)
|
||||
public void SendGameMessageLocalizedDisplayName(Actor textIdOwner, ushort textId, byte log, uint displayId, params object[] msgParams)
|
||||
{
|
||||
if (msgParams == null || msgParams.Length == 0)
|
||||
QueuePacket(GameMessagePacket.BuildPacket(Server.GetWorldManager().GetActor().Id, textIdOwner.Id, textId, displayId, log));
|
||||
@@ -1699,11 +1699,15 @@ namespace Meteor.Map.Actors
|
||||
|
||||
if (defaultTalk != null && defaultTalk.IsQuestENPC(this, npc))
|
||||
return defaultTalk;
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
public Quest GetTutorialQuest(Npc npc)
|
||||
{
|
||||
if (npc.CurrentArea.RegionId != 101 || npc.CurrentArea.RegionId != 103 || npc.CurrentArea.RegionId != 104)
|
||||
return null;
|
||||
|
||||
switch (npc.GetActorClassId())
|
||||
{
|
||||
case 1000137:
|
||||
@@ -1735,6 +1739,11 @@ namespace Meteor.Map.Actors
|
||||
bool isCalling, isExtra;
|
||||
isCalling = isExtra = false;
|
||||
|
||||
if (npcLSId < 1 || npcLSId > 40)
|
||||
return;
|
||||
|
||||
npcLSId--;
|
||||
|
||||
switch (state)
|
||||
{
|
||||
case NPCLS_INACTIVE:
|
||||
|
@@ -63,6 +63,7 @@ namespace Meteor.Map.actors
|
||||
|
||||
public class PushCircleEventCondition
|
||||
{
|
||||
public bool isEnabled = true;
|
||||
public string conditionName = "";
|
||||
public float radius = 30.0f;
|
||||
public bool outwards = false;
|
||||
@@ -71,6 +72,7 @@ namespace Meteor.Map.actors
|
||||
|
||||
public class PushFanEventCondition
|
||||
{
|
||||
public bool isEnabled = true;
|
||||
public string conditionName;
|
||||
public float radius = 30.0f;
|
||||
public bool outwards = false;
|
||||
@@ -79,6 +81,7 @@ namespace Meteor.Map.actors
|
||||
|
||||
public class PushBoxEventCondition
|
||||
{
|
||||
public bool isEnabled = true;
|
||||
public uint bgObj;
|
||||
public uint layout;
|
||||
public string conditionName = "";
|
||||
|
Reference in New Issue
Block a user