Renamed some funcs, and fleshed out a ton on man0l1. Various related things were also added.

This commit is contained in:
Filip Maj 2022-02-07 05:13:34 -05:00
parent 0ac53e23ad
commit 9f077190a3
20 changed files with 225 additions and 190 deletions

View file

@ -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;

View file

@ -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;

View file

@ -52,6 +52,11 @@ namespace Meteor.Map.actors.area
return PrivateAreaType;
}
public override bool IsPublic()
{
return false;
}
public Zone GetParentZone()
{
return ParentZone;

View file

@ -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));
@ -957,7 +957,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));
@ -965,7 +965,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));
@ -1690,11 +1690,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:
@ -1726,6 +1730,11 @@ namespace Meteor.Map.Actors
bool isCalling, isExtra;
isCalling = isExtra = false;
if (npcLSId < 1 || npcLSId > 40)
return;
npcLSId--;
switch (state)
{
case NPCLS_INACTIVE:

View file

@ -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 = "";