2016-06-08 22:29:04 +01:00
|
|
|
|
using FFXIVClassic_Map_Server.packets;
|
2016-03-23 01:27:12 -04:00
|
|
|
|
using FFXIVClassic_Map_Server.actors.director;
|
2016-01-16 23:03:04 -05:00
|
|
|
|
using FFXIVClassic_Map_Server.lua;
|
|
|
|
|
using FFXIVClassic_Map_Server.packets.send.actor;
|
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
2016-01-20 23:18:10 -05:00
|
|
|
|
namespace FFXIVClassic_Map_Server.Actors
|
2016-01-16 23:03:04 -05:00
|
|
|
|
{
|
2016-03-23 01:27:12 -04:00
|
|
|
|
class WeatherDirector : Director
|
2016-01-16 23:03:04 -05:00
|
|
|
|
{
|
|
|
|
|
private uint weatherId;
|
|
|
|
|
|
2016-04-14 08:30:21 -04:00
|
|
|
|
public WeatherDirector(Player player, uint weatherId)
|
|
|
|
|
: base(player, 0x5FF80003)
|
2016-01-16 23:03:04 -05:00
|
|
|
|
{
|
|
|
|
|
this.weatherId = weatherId;
|
|
|
|
|
|
|
|
|
|
this.displayNameId = 0;
|
|
|
|
|
|
2016-05-09 22:19:57 -04:00
|
|
|
|
this.customDisplayName = String.Format("weatherDire_{0}_{1}", player.zone.zoneName, "07");
|
|
|
|
|
|
|
|
|
|
this.actorName = String.Format("weatherDire_{0}_{1}@{2:x3}{3:x2}", player.zone.zoneName, "04", player.zoneId, 0);
|
|
|
|
|
|
2016-01-16 23:03:04 -05:00
|
|
|
|
this.className = "Debug";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override SubPacket createScriptBindPacket(uint playerActorId)
|
|
|
|
|
{
|
|
|
|
|
List<LuaParam> lParams;
|
|
|
|
|
lParams = LuaUtils.createLuaParamList("/Director/Weather/WeatherDirector", false, false, false, false, weatherId);
|
|
|
|
|
return ActorInstantiatePacket.buildPacket(actorId, playerActorId, actorName, className, lParams);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public override BasePacket getSpawnPackets(uint playerActorId)
|
|
|
|
|
{
|
|
|
|
|
List<SubPacket> subpackets = new List<SubPacket>();
|
2016-01-25 01:10:43 -05:00
|
|
|
|
subpackets.Add(createAddActorPacket(playerActorId, 0));
|
2016-01-16 23:03:04 -05:00
|
|
|
|
subpackets.Add(createSpeedPacket(playerActorId));
|
|
|
|
|
subpackets.Add(createSpawnPositonPacket(playerActorId, 0x1));
|
|
|
|
|
subpackets.Add(createNamePacket(playerActorId));
|
|
|
|
|
subpackets.Add(createStatePacket(playerActorId));
|
|
|
|
|
subpackets.Add(createIsZoneingPacket(playerActorId));
|
|
|
|
|
subpackets.Add(createScriptBindPacket(playerActorId));
|
|
|
|
|
return BasePacket.createPacket(subpackets, true, false);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|