mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-05-20 08:26:59 -04:00
Cleaned up the code and fixed a bunch of bugs. Map server will no longer worry about base packets.
This commit is contained in:
@@ -184,13 +184,13 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public BasePacket GetSetEventStatusPackets()
|
||||
public List<SubPacket> GetSetEventStatusPackets()
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
|
||||
//Return empty list
|
||||
if (eventConditions == null)
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
|
||||
if (eventConditions.talkEventConditions != null)
|
||||
{
|
||||
@@ -228,7 +228,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
subpackets.Add(SetEventStatus.BuildPacket(actorId, true, 2, condition.conditionName));
|
||||
}
|
||||
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public SubPacket CreateIsZoneingPacket()
|
||||
@@ -246,7 +246,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, actorName, className, classParams);
|
||||
}
|
||||
|
||||
public virtual BasePacket GetSpawnPackets(Player player, ushort spawnType)
|
||||
public virtual List<SubPacket> GetSpawnPackets(Player player, ushort spawnType)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(8));
|
||||
@@ -257,15 +257,15 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
subpackets.Add(CreateStatePacket());
|
||||
subpackets.Add(CreateIsZoneingPacket());
|
||||
subpackets.Add(CreateScriptBindPacket(player));
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public virtual BasePacket GetSpawnPackets()
|
||||
public virtual List<SubPacket> GetSpawnPackets()
|
||||
{
|
||||
return GetSpawnPackets(0x1);
|
||||
}
|
||||
|
||||
public virtual BasePacket GetSpawnPackets(ushort spawnType)
|
||||
public virtual List<SubPacket> GetSpawnPackets(ushort spawnType)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(8));
|
||||
@@ -276,17 +276,19 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
subpackets.Add(CreateStatePacket());
|
||||
subpackets.Add(CreateIsZoneingPacket());
|
||||
subpackets.Add(CreateScriptBindPacket());
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public virtual BasePacket GetInitPackets()
|
||||
public virtual List<SubPacket> GetInitPackets()
|
||||
{
|
||||
List<SubPacket> packets = new List<SubPacket>();
|
||||
SetActorPropetyPacket initProperties = new SetActorPropetyPacket("/_init");
|
||||
initProperties.AddByte(0xE14B0CA8, 1);
|
||||
initProperties.AddByte(0x2138FD71, 1);
|
||||
initProperties.AddByte(0xFBFBCFB1, 1);
|
||||
initProperties.AddTarget();
|
||||
return BasePacket.CreatePacket(initProperties.BuildPacket(actorId), true, false);
|
||||
packets.Add(initProperties.BuildPacket(actorId));
|
||||
return packets;
|
||||
}
|
||||
|
||||
public override bool Equals(Object obj)
|
||||
|
@@ -91,7 +91,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, actorName, "ZoneDefault", lParams);
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets()
|
||||
public override List<SubPacket> GetSpawnPackets()
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(0));
|
||||
@@ -101,7 +101,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
subpackets.Add(CreateStatePacket());
|
||||
subpackets.Add(CreateIsZoneingPacket());
|
||||
subpackets.Add(CreateScriptBindPacket());
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
#region Actor Management
|
||||
@@ -483,7 +483,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
|
||||
if (player != null && !zoneWide)
|
||||
{
|
||||
player.QueuePacket(BasePacket.CreatePacket(SetWeatherPacket.BuildPacket(player.actorId, weather, transitionTime), true, false));
|
||||
player.QueuePacket(SetWeatherPacket.BuildPacket(player.actorId, weather, transitionTime));
|
||||
}
|
||||
if (zoneWide)
|
||||
{
|
||||
@@ -494,7 +494,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
if (actor.Value is Player)
|
||||
{
|
||||
player = ((Player)actor.Value);
|
||||
player.QueuePacket(BasePacket.CreatePacket(SetWeatherPacket.BuildPacket(player.actorId, weather, transitionTime), true, false));
|
||||
player.QueuePacket(SetWeatherPacket.BuildPacket(player.actorId, weather, transitionTime));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -177,8 +177,8 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
//ActorInstantiatePacket.BuildPacket(actorId, actorName, className, lParams).DebugPrintSubPacket();
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, actorName, className, lParams);
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets(Player player, ushort spawnType)
|
||||
|
||||
public override List<SubPacket> GetSpawnPackets(Player player, ushort spawnType)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket());
|
||||
@@ -199,10 +199,10 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
subpackets.Add(CreateIsZoneingPacket());
|
||||
subpackets.Add(CreateScriptBindPacket(player));
|
||||
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public override BasePacket GetInitPackets()
|
||||
public override List<SubPacket> GetInitPackets()
|
||||
{
|
||||
ActorPropertyPacketUtil propPacketUtil = new ActorPropertyPacketUtil("/_init", this);
|
||||
|
||||
@@ -258,7 +258,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
propPacketUtil.AddProperty("npcWork.pushCommandPriority");
|
||||
}
|
||||
|
||||
return BasePacket.CreatePacket(propPacketUtil.Done(), true, false);
|
||||
return propPacketUtil.Done();
|
||||
}
|
||||
|
||||
public string GetUniqueId()
|
||||
|
@@ -292,7 +292,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, actorName, className, lParams);
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets(Player requestPlayer, ushort spawnType)
|
||||
public override List<SubPacket> GetSpawnPackets(Player requestPlayer, ushort spawnType)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(8));
|
||||
@@ -310,7 +310,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
subpackets.Add(CreateIsZoneingPacket());
|
||||
subpackets.AddRange(CreatePlayerRelatedPackets(requestPlayer.actorId));
|
||||
subpackets.Add(CreateScriptBindPacket(requestPlayer));
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public List<SubPacket> CreatePlayerRelatedPackets(uint requestingPlayerActorId)
|
||||
@@ -347,7 +347,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public override BasePacket GetInitPackets()
|
||||
public override List<SubPacket> GetInitPackets()
|
||||
{
|
||||
ActorPropertyPacketUtil propPacketUtil = new ActorPropertyPacketUtil("/_init", this);
|
||||
|
||||
@@ -494,7 +494,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
propPacketUtil.AddProperty("playerWork.birthdayDay");
|
||||
propPacketUtil.AddProperty("playerWork.initialTown");
|
||||
|
||||
return BasePacket.CreatePacket(propPacketUtil.Done(), true, false);
|
||||
return propPacketUtil.Done();
|
||||
}
|
||||
|
||||
public void SendSeamlessZoneInPackets()
|
||||
@@ -529,9 +529,9 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
|
||||
playerSession.QueuePacket(GetInitPackets());
|
||||
|
||||
BasePacket areaMasterSpawn = zone.GetSpawnPackets();
|
||||
BasePacket debugSpawn = world.GetDebugActor().GetSpawnPackets();
|
||||
BasePacket worldMasterSpawn = world.GetActor().GetSpawnPackets();
|
||||
List<SubPacket> areaMasterSpawn = zone.GetSpawnPackets();
|
||||
List<SubPacket> debugSpawn = world.GetDebugActor().GetSpawnPackets();
|
||||
List<SubPacket> worldMasterSpawn = world.GetActor().GetSpawnPackets();
|
||||
|
||||
playerSession.QueuePacket(areaMasterSpawn);
|
||||
playerSession.QueuePacket(debugSpawn);
|
||||
@@ -552,14 +552,12 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
|
||||
if (zone.GetWeatherDirector() != null)
|
||||
{
|
||||
BasePacket weatherDirectorSpawn = zone.GetWeatherDirector().GetSpawnPackets();
|
||||
playerSession.QueuePacket(weatherDirectorSpawn);
|
||||
playerSession.QueuePacket(zone.GetWeatherDirector().GetSpawnPackets());
|
||||
}
|
||||
|
||||
|
||||
foreach (Director director in ownedDirectors)
|
||||
{
|
||||
director.GetSpawnPackets().DebugPrintPacket();
|
||||
QueuePacket(director.GetSpawnPackets());
|
||||
QueuePacket(director.GetInitPackets());
|
||||
}
|
||||
@@ -596,9 +594,9 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
return actorId == otherActorId;
|
||||
}
|
||||
|
||||
public void QueuePacket(BasePacket packet)
|
||||
public void QueuePacket(List<SubPacket> packets)
|
||||
{
|
||||
playerSession.QueuePacket(packet);
|
||||
playerSession.QueuePacket(packets);
|
||||
}
|
||||
|
||||
public void QueuePacket(SubPacket packet)
|
||||
@@ -616,10 +614,10 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
{
|
||||
try
|
||||
{
|
||||
BasePacket packet = new BasePacket(path);
|
||||
// BasePacket packet = new BasePacket(path);
|
||||
|
||||
packet.ReplaceActorID(actorId);
|
||||
QueuePacket(packet);
|
||||
//packet.ReplaceActorID(actorId);
|
||||
//QueuePacket(packet);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -1449,7 +1447,6 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
|
||||
public void SendDirectorPackets(Director director)
|
||||
{
|
||||
director.GetSpawnPackets().DebugPrintPacket();
|
||||
QueuePacket(director.GetSpawnPackets());
|
||||
QueuePacket(director.GetInitPackets());
|
||||
}
|
||||
|
@@ -25,7 +25,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, actorName, className, lParams);
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets()
|
||||
public override List<SubPacket> GetSpawnPackets()
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(0));
|
||||
@@ -35,7 +35,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
subpackets.Add(CreateStatePacket());
|
||||
subpackets.Add(CreateIsZoneingPacket());
|
||||
subpackets.Add(CreateScriptBindPacket());
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -57,7 +57,7 @@ namespace FFXIVClassic_Map_Server.actors.director
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, actorName, className, actualLParams);
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets(ushort spawnType = 1)
|
||||
public override List<SubPacket> GetSpawnPackets(ushort spawnType = 1)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(0));
|
||||
@@ -68,14 +68,16 @@ namespace FFXIVClassic_Map_Server.actors.director
|
||||
subpackets.Add(CreateStatePacket());
|
||||
subpackets.Add(CreateIsZoneingPacket());
|
||||
subpackets.Add(CreateScriptBindPacket());
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
}
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public override BasePacket GetInitPackets()
|
||||
public override List<SubPacket> GetInitPackets()
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
SetActorPropetyPacket initProperties = new SetActorPropetyPacket("/_init");
|
||||
initProperties.AddTarget();
|
||||
return BasePacket.CreatePacket(initProperties.BuildPacket(actorId), true, false);
|
||||
subpackets.Add(initProperties.BuildPacket(actorId));
|
||||
return subpackets;
|
||||
}
|
||||
|
||||
public void OnTalkEvent(Player player, Npc npc)
|
||||
@@ -108,7 +110,6 @@ namespace FFXIVClassic_Map_Server.actors.director
|
||||
{
|
||||
foreach (Player p in GetPlayerMembers())
|
||||
{
|
||||
GetSpawnPackets().DebugPrintPacket();
|
||||
p.QueuePacket(GetSpawnPackets());
|
||||
p.QueuePacket(GetInitPackets());
|
||||
}
|
||||
|
@@ -24,7 +24,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
return ActorInstantiatePacket.BuildPacket(actorId, actorName, className, lParams);
|
||||
}
|
||||
|
||||
public override BasePacket GetSpawnPackets()
|
||||
public override List<SubPacket> GetSpawnPackets()
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(CreateAddActorPacket(0));
|
||||
@@ -34,7 +34,7 @@ namespace FFXIVClassic_Map_Server.Actors
|
||||
subpackets.Add(CreateStatePacket());
|
||||
subpackets.Add(CreateIsZoneingPacket());
|
||||
subpackets.Add(CreateScriptBindPacket());
|
||||
return BasePacket.CreatePacket(subpackets, true, false);
|
||||
return subpackets;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user