Added subclassed groups to auto-set workvalues.

This commit is contained in:
Filip Maj 2016-12-06 08:26:16 -05:00
parent c2a3641d08
commit feb73a8444
7 changed files with 95 additions and 77 deletions

View file

@ -1,4 +1,6 @@
using FFXIVClassic_Map_Server.actors.group.work;
using FFXIVClassic.Common;
using FFXIVClassic_Map_Server.actors.group.work;
using FFXIVClassic_Map_Server.packets.send.groups;
using System;
using System.Collections.Generic;
using System.Linq;
@ -9,16 +11,27 @@ namespace FFXIVClassic_Map_Server.actors.group
{
class PartyGroup : Group
{
private PartyWork partyWork;
private PartyWork partyGroupWork;
public PartyGroup(ulong id) : base(id, Group.PlayerPartyGroup, null)
public PartyGroup(ulong id, uint owner) : base(id, Group.PlayerPartyGroup)
{
partyWork = new PartyWork();
partyGroupWork = new PartyWork();
partyGroupWork._globalTemp.owner = (ulong)((0xB36F92 << 8) | owner);
}
public void setPartyOwner(uint actorId)
{
partyWork._globalTemp.owner = (ulong)((0xB36F92 << 8) | actorId);
partyGroupWork._globalTemp.owner = (ulong)((0xB36F92 << 8) | actorId);
}
public override void sendWorkValues(Actors.Player player)
{
SynchGroupWorkValuesPacket groupWork = new SynchGroupWorkValuesPacket(groupId);
groupWork.addProperty(this, "partyGroupWork._globalTemp.owner");
groupWork.setTarget("/_init");
SubPacket test = groupWork.buildPacket(player.actorId, player.actorId);
player.QueuePacket(test);
}
}
}