mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-07-24 11:28:22 +02:00
Started implementing retainers. Added a instanced retainer spawn. Documented retainer scripts.
This commit is contained in:
parent
b5054debea
commit
f437b36f5a
19 changed files with 313 additions and 34 deletions
|
@ -12,6 +12,7 @@ namespace FFXIVClassic_World_Server.DataObjects.Group
|
|||
|
||||
public const uint GroupInvitationRelationGroup = 50001;
|
||||
public const uint TradeRelationGroup = 50002;
|
||||
public const uint RetainerMeetingRelationGroup = 50003;
|
||||
public const uint BazaarBuyItemRelationGroup = 50009;
|
||||
|
||||
public const uint RetainerGroup = 80001;
|
||||
|
|
|
@ -0,0 +1,36 @@
|
|||
using FFXIVClassic.Common;
|
||||
using FFXIVClassic_World_Server.Actor.Group.Work;
|
||||
using FFXIVClassic_World_Server.Packets.Send.Subpackets.Groups;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_World_Server.DataObjects.Group
|
||||
{
|
||||
class RetainerMeetingRelationGroup : Relation
|
||||
{
|
||||
public RetainerMeetingRelationGroup(ulong groupIndex, uint host, uint other, uint command, ulong topicGroup)
|
||||
: base(groupIndex, host, other, command, topicGroup)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public override uint GetTypeId()
|
||||
{
|
||||
return Group.RetainerMeetingRelationGroup;
|
||||
}
|
||||
|
||||
public override void SendInitWorkValues(Session session)
|
||||
{
|
||||
SynchGroupWorkValuesPacket groupWork = new SynchGroupWorkValuesPacket(groupIndex);
|
||||
groupWork.setTarget("/_init");
|
||||
|
||||
SubPacket test = groupWork.buildPacket(session.sessionId);
|
||||
test.DebugPrintSubPacket();
|
||||
session.clientConnection.QueuePacket(test);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -165,7 +165,7 @@ namespace FFXIVClassic_World_Server
|
|||
try
|
||||
{
|
||||
conn.Open();
|
||||
MySqlCommand cmd = new MySqlCommand("SELECT id, name, classActorId, cdIDOffset, placeName, conditions, level FROM server_retainers INNER JOIN characters_retainers ON retainerId = server_retainers.id WHERE characterId = @charaId", conn);
|
||||
MySqlCommand cmd = new MySqlCommand("SELECT id, name, actorClassId, cdIDOffset, placeName, conditions, level FROM server_retainers INNER JOIN characters_retainers ON retainerId = server_retainers.id WHERE characterId = @charaId", conn);
|
||||
cmd.Parameters.AddWithValue("@charaId", charaId);
|
||||
using (MySqlDataReader Reader = cmd.ExecuteReader())
|
||||
{
|
||||
|
@ -173,13 +173,13 @@ namespace FFXIVClassic_World_Server
|
|||
{
|
||||
uint id = Reader.GetUInt32("id") | 0xE0000000;
|
||||
string name = Reader.GetString("name");
|
||||
uint classActorId = Reader.GetUInt32("classActorId");
|
||||
uint actorClassId = Reader.GetUInt32("actorClassId");
|
||||
byte cdIDOffset = Reader.GetByte("cdIDOffset");
|
||||
ushort placeName = Reader.GetUInt16("placeName");
|
||||
byte conditions = Reader.GetByte("conditions");
|
||||
byte level = Reader.GetByte("level");
|
||||
|
||||
members.Add(new RetainerGroupMember(id, name, classActorId, cdIDOffset, placeName, conditions, level));
|
||||
members.Add(new RetainerGroupMember(id, name, actorClassId, cdIDOffset, placeName, conditions, level));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -95,6 +95,7 @@
|
|||
<Compile Include="DataObjects\Group\Linkshell.cs" />
|
||||
<Compile Include="DataObjects\Group\LinkshellMember.cs" />
|
||||
<Compile Include="DataObjects\Group\Party.cs" />
|
||||
<Compile Include="DataObjects\Group\RetainerMeetingRelationGroup.cs" />
|
||||
<Compile Include="DataObjects\Group\Relation.cs" />
|
||||
<Compile Include="DataObjects\Group\RetainerGroup.cs" />
|
||||
<Compile Include="DataObjects\Group\RetainerGroupMember.cs" />
|
||||
|
@ -190,7 +191,8 @@
|
|||
</ItemGroup>
|
||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||
<PropertyGroup>
|
||||
<PostBuildEvent></PostBuildEvent>
|
||||
<PostBuildEvent>
|
||||
</PostBuildEvent>
|
||||
</PropertyGroup>
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -217,6 +217,7 @@ namespace FFXIVClassic_World_Server
|
|||
SendPartySync(pt);
|
||||
|
||||
mRetainerGroupManager.GetRetainerGroup(session.sessionId).SendGroupPackets(session);
|
||||
|
||||
List<Linkshell> linkshells = mLinkshellManager.GetPlayerLinkshellMembership(session.sessionId);
|
||||
foreach (Linkshell ls in linkshells)
|
||||
ls.SendGroupPackets(session);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue