1
Fork 0
mirror of https://bitbucket.org/Ioncannon/project-meteor-server.git synced 2025-04-21 20:27:47 +00:00

Relation code finished.

This commit is contained in:
Filip Maj 2016-12-18 10:07:06 -05:00
parent 7036ef363d
commit 4109f33b6e
3 changed files with 13 additions and 6 deletions

View file

@ -1,4 +1,5 @@
using FFXIVClassic.Common;
using FFXIVClassic_World_Server.Actor.Group.Work;
using FFXIVClassic_World_Server.Packets.Send.Subpackets.Groups;
using System;
using System.Collections.Generic;
@ -10,14 +11,14 @@ namespace FFXIVClassic_World_Server.DataObjects.Group
{
class Relation : Group
{
public uint charaHost, charaOther;
public uint command;
public RelationWork work = new RelationWork();
public uint charaOther;
public Relation(ulong groupIndex, uint host, uint other, uint command) : base (groupIndex)
{
this.charaHost = host;
this.charaOther = other;
this.command = command;
work._globalTemp.host = ((ulong)host << 32) | (0xc17909);
work._globalTemp.variableCommand = command;
}
public override int GetMemberCount()
@ -33,7 +34,10 @@ namespace FFXIVClassic_World_Server.DataObjects.Group
public override List<GroupMember> BuildMemberList()
{
List<GroupMember> groupMembers = new List<GroupMember>();
groupMembers.Add(new GroupMember(charaHost, -1, 0, false, Server.GetServer().GetSession(charaHost) != null, Server.GetServer().GetNameForId(charaHost)));
uint hostId = (uint)((work._globalTemp.host >> 32) & 0xFFFFFFFF);
groupMembers.Add(new GroupMember(hostId, -1, 0, false, Server.GetServer().GetSession(hostId) != null, Server.GetServer().GetNameForId(hostId)));
groupMembers.Add(new GroupMember(charaOther, -1, 0, false, Server.GetServer().GetSession(charaOther) != null, Server.GetServer().GetNameForId(charaOther)));
return groupMembers;
}

View file

@ -18,7 +18,7 @@ namespace FFXIVClassic_World_Server
mCurrentWorldGroupsReference = worldGroupList;
}
public void CreateRelationGroup(uint hostCharaId, uint otherCharaId, uint command)
public Relation CreateRelationGroup(uint hostCharaId, uint otherCharaId, uint command)
{
lock (mGroupLockReference)
{
@ -27,6 +27,7 @@ namespace FFXIVClassic_World_Server
mRelationList.Add(groupIndex, relation);
mCurrentWorldGroupsReference.Add(groupIndex, relation);
mWorldManager.IncrementGroupIndex();
return relation;
}
}

View file

@ -215,6 +215,8 @@ namespace FFXIVClassic_World_Server
List<Linkshell> linkshells = mLinkshellManager.GetPlayerLinkshellMembership(session.sessionId);
foreach (Linkshell ls in linkshells)
ls.SendGroupPackets(session);
mRelationGroupManager.CreateRelationGroup(157, session.sessionId, 0x2711).SendGroupPackets(session);
}
private void SendMotD(Session session)