mirror of
https://bitbucket.org/Ioncannon/project-meteor-server.git
synced 2025-07-24 03:20:30 +02:00
Added support for actor property changed. Removed a lot of hard coded packets. Added a bunch of Support Desk packets.
This commit is contained in:
parent
c8d6326ecd
commit
1f7c876461
33 changed files with 783 additions and 754 deletions
|
@ -2,12 +2,15 @@
|
|||
using FFXIVClassic_Lobby_Server.common;
|
||||
using FFXIVClassic_Lobby_Server.dataobjects;
|
||||
using FFXIVClassic_Lobby_Server.packets;
|
||||
using FFXIVClassic_Map_Server.dataobjects.chara;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
using FFXIVClassic_Map_Server.packets.send.Actor;
|
||||
using System;
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects
|
||||
|
@ -42,12 +45,11 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
|||
|
||||
public uint actorID;
|
||||
|
||||
public bool isNameplateVisible;
|
||||
public bool isTargetable;
|
||||
public CharaWork charaWork = new CharaWork();
|
||||
public PlayerWork playerWork = new PlayerWork();
|
||||
|
||||
public uint displayNameID = 0xFFFFFFFF;
|
||||
public string customDisplayName;
|
||||
public uint nameplateIcon;
|
||||
|
||||
public uint modelID;
|
||||
public uint[] appearanceIDs = new uint[0x1D];
|
||||
|
@ -61,52 +63,13 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
|||
|
||||
public uint currentState = SetActorStatePacket.STATE_PASSIVE;
|
||||
|
||||
public uint currentZoneID;
|
||||
|
||||
//Properties
|
||||
public ushort curHP, curMP, curTP;
|
||||
public ushort maxHP, maxMP, maxTP;
|
||||
|
||||
public byte currentJob;
|
||||
public ushort currentLevel;
|
||||
|
||||
public ushort statSTR, statVIT, statDEX, statINT, statMIN, statPIE;
|
||||
public ushort statAttack, statDefense, statAccuracy, statAttackMgkPotency, statHealingMgkPotency, statEnchancementMgkPotency, statEnfeeblingMgkPotency, statMgkAccuracy, statMgkEvasion;
|
||||
public ushort resistFire, resistIce, resistWind, resistEarth, resistLightning, resistWater;
|
||||
|
||||
public uint currentEXP;
|
||||
|
||||
public ushort linkshellcrest;
|
||||
public uint currentZoneID;
|
||||
|
||||
public Actor(uint id)
|
||||
{
|
||||
actorID = id;
|
||||
}
|
||||
|
||||
public void setPlayerAppearance()
|
||||
{
|
||||
Appearance appearance = Database.getAppearance(actorID);
|
||||
|
||||
modelID = Appearance.getTribeModel(appearance.tribe);
|
||||
appearanceIDs[SIZE] = appearance.size;
|
||||
appearanceIDs[COLORINFO] = (uint)(appearance.skinColor | (appearance.hairColor << 10) | (appearance.eyeColor << 20));
|
||||
appearanceIDs[FACEINFO] = PrimitiveConversion.ToUInt32(appearance.getFaceInfo());
|
||||
appearanceIDs[HIGHLIGHT_HAIR] = (uint)(appearance.hairHighlightColor | appearance.hairStyle << 10);
|
||||
appearanceIDs[VOICE] = appearance.voice;
|
||||
appearanceIDs[WEAPON1] = appearance.mainHand;
|
||||
appearanceIDs[WEAPON2] = appearance.offHand;
|
||||
appearanceIDs[HEADGEAR] = appearance.head;
|
||||
appearanceIDs[BODYGEAR] = appearance.body;
|
||||
appearanceIDs[LEGSGEAR] = appearance.legs;
|
||||
appearanceIDs[HANDSGEAR] = appearance.hands;
|
||||
appearanceIDs[FEETGEAR] = appearance.feet;
|
||||
appearanceIDs[WAISTGEAR] = appearance.waist;
|
||||
appearanceIDs[R_EAR] = appearance.rightEar;
|
||||
appearanceIDs[L_EAR] = appearance.leftEar;
|
||||
appearanceIDs[R_FINGER] = appearance.rightFinger;
|
||||
appearanceIDs[L_FINGER] = appearance.leftFinger;
|
||||
}
|
||||
|
||||
public SubPacket createNamePacket(uint playerActorID)
|
||||
{
|
||||
return SetActorNamePacket.buildPacket(actorID, playerActorID, displayNameID, displayNameID == 0xFFFFFFFF ? customDisplayName : "");
|
||||
|
@ -130,7 +93,7 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
|||
|
||||
public SubPacket createSpawnPositonPacket(uint playerActorID, uint spawnType)
|
||||
{
|
||||
return SetActorPositionPacket.buildPacket(actorID, playerActorID, positionX, positionY, positionZ, rotation, spawnType);
|
||||
return SetActorPositionPacket.buildPacket(actorID, playerActorID, SetActorPositionPacket.INNPOS_X, SetActorPositionPacket.INNPOS_Y, SetActorPositionPacket.INNPOS_Z, SetActorPositionPacket.INNPOS_ROT, SetActorPositionPacket.SPAWNTYPE_PLAYERWAKE);
|
||||
}
|
||||
|
||||
public SubPacket createPositionUpdatePacket(uint playerActorID)
|
||||
|
@ -146,19 +109,44 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
|||
public BasePacket createActorSpawnPackets(uint playerActorID)
|
||||
{
|
||||
List<SubPacket> subpackets = new List<SubPacket>();
|
||||
subpackets.Add(AddActorPacket.buildPacket(actorID, playerActorID, 8));
|
||||
subpackets.Add(createSpeedPacket(playerActorID));
|
||||
subpackets.Add(createSpawnPositonPacket(playerActorID, 0));
|
||||
subpackets.Add(createSpawnPositonPacket(playerActorID, 0xFF));
|
||||
subpackets.Add(createAppearancePacket(playerActorID));
|
||||
subpackets.Add(createNamePacket(playerActorID));
|
||||
subpackets.Add(createStatePacket(playerActorID));
|
||||
//subpackets.Add(createScriptBindPacket(playerActorID));
|
||||
subpackets.Add(new SubPacket(0xCC, actorID, playerActorID, File.ReadAllBytes("./packets/playerscript")));
|
||||
subpackets.Add(new SubPacket(0x137, actorID, playerActorID, File.ReadAllBytes("./packets/playerscript2")));
|
||||
subpackets.Add(new SubPacket(0x137, actorID, playerActorID, File.ReadAllBytes("./packets/playerscript3")));
|
||||
//subpackets.Add(createScriptBindPacket(playerActorID));
|
||||
return BasePacket.createPacket(subpackets, true, false);
|
||||
}
|
||||
|
||||
public List<SubPacket> createInitSubpackets(uint playerActorID)
|
||||
{
|
||||
List<SubPacket> subpacketList = new List<SubPacket>();
|
||||
SetActorPropetyPacket setProperty = new SetActorPropetyPacket();
|
||||
|
||||
setProperty.addByte(0x0DB5A5BF, 5);
|
||||
setProperty.addProperty(this, "charaWork.battleSave.potencial");
|
||||
setProperty.addProperty(this, "charaWork.property[0]");
|
||||
setProperty.addProperty(this, "charaWork.property[1]");
|
||||
setProperty.addProperty(this, "charaWork.property[2]");
|
||||
setProperty.addProperty(this, "charaWork.property[4]");
|
||||
setProperty.addProperty(this, "charaWork.parameterSave.hp[0]");
|
||||
setProperty.addProperty(this, "charaWork.parameterSave.hpMax[0]");
|
||||
setProperty.addProperty(this, "charaWork.parameterSave.mp");
|
||||
setProperty.addProperty(this, "charaWork.parameterSave.mpMax");
|
||||
setProperty.addProperty(this, "charaWork.parameterTemp.tp");
|
||||
|
||||
setProperty.addProperty(this, "charaWork.parameterSave.state_mainSkill[0]");
|
||||
setProperty.addProperty(this, "charaWork.parameterSave.state_mainSkillLevel");
|
||||
setProperty.addProperty(this, "charaWork.depictionJudge");
|
||||
setProperty.addProperty(this, "charaWork.statusShownTime[0]");
|
||||
|
||||
setProperty.setTarget("/_init");
|
||||
|
||||
subpacketList.Add(setProperty.buildPacket(actorID, playerActorID));
|
||||
|
||||
return subpacketList;
|
||||
}
|
||||
|
||||
public override bool Equals(Object obj)
|
||||
{
|
||||
Actor actorObj = obj as Actor;
|
||||
|
|
|
@ -137,7 +137,7 @@ namespace FFXIVClassic_Lobby_Server.dataobjects
|
|||
return info;
|
||||
}
|
||||
|
||||
public String buildForCharaList(Character chara)
|
||||
public String buildForCharaList(DBCharacter chara)
|
||||
{
|
||||
byte[] data;
|
||||
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
using FFXIVClassic_Lobby_Server;
|
||||
using FFXIVClassic_Lobby_Server.dataobjects;
|
||||
using FFXIVClassic_Lobby_Server.packets;
|
||||
using FFXIVClassic_Map_Server.dataobjects.chara;
|
||||
using FFXIVClassic_Map_Server.packets.send.actor;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
@ -10,25 +11,21 @@ using System.Threading.Tasks;
|
|||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects
|
||||
{
|
||||
class Player
|
||||
{
|
||||
Actor playerActor;
|
||||
class ConnectedPlayer
|
||||
{
|
||||
public uint actorID = 0;
|
||||
PlayerActor playerActor;
|
||||
List<Actor> actorInstanceList = new List<Actor>();
|
||||
|
||||
ClientConnection conn1;
|
||||
ClientConnection conn2;
|
||||
|
||||
public uint actorID = 0;
|
||||
|
||||
private uint currentZoneID = 0;
|
||||
|
||||
List<Actor> actorInstanceList = new List<Actor>();
|
||||
|
||||
bool isDisconnected;
|
||||
|
||||
public Player(uint actorId)
|
||||
public ConnectedPlayer(uint actorId)
|
||||
{
|
||||
this.actorID = actorId;
|
||||
Character chara = Database.getCharacter(actorId);
|
||||
DBCharacter chara = Database.getCharacter(actorId);
|
||||
createPlayerActor(actorId, chara);
|
||||
}
|
||||
|
||||
|
@ -79,14 +76,13 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
|||
return playerActor;
|
||||
}
|
||||
|
||||
public void createPlayerActor(uint actorId, Character chara)
|
||||
public void createPlayerActor(uint actorId, DBCharacter chara)
|
||||
{
|
||||
playerActor = new Actor(actorId);
|
||||
playerActor = new PlayerActor(actorId);
|
||||
|
||||
playerActor.displayNameID = 0xFFFFFFFF;
|
||||
playerActor.customDisplayName = chara.name;
|
||||
playerActor.setPlayerAppearance();
|
||||
|
||||
actorInstanceList.Add(playerActor);
|
||||
}
|
||||
|
||||
|
@ -101,11 +97,11 @@ namespace FFXIVClassic_Map_Server.dataobjects
|
|||
|
||||
public void sendMotd()
|
||||
{
|
||||
World world = Database.getServer(ConfigConstants.DATABASE_WORLDID);
|
||||
DBWorld world = Database.getServer(ConfigConstants.DATABASE_WORLDID);
|
||||
//sendChat(world.motd);
|
||||
}
|
||||
|
||||
public void sendChat(Player sender, string message, int mode)
|
||||
public void sendChat(ConnectedPlayer sender, string message, int mode)
|
||||
{
|
||||
|
||||
}
|
20
FFXIVClassic Map Server/dataobjects/chara/BattleSave.cs
Normal file
20
FFXIVClassic Map Server/dataobjects/chara/BattleSave.cs
Normal file
|
@ -0,0 +1,20 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class BattleSave
|
||||
{
|
||||
public float potencial;
|
||||
public int skillLevel;
|
||||
public int skillLevelCap;
|
||||
public int[] skillPoint;
|
||||
|
||||
public int physicalExp;
|
||||
|
||||
public bool[] negotiationFlag= new bool[2];
|
||||
}
|
||||
}
|
45
FFXIVClassic Map Server/dataobjects/chara/BattleTemp.cs
Normal file
45
FFXIVClassic Map Server/dataobjects/chara/BattleTemp.cs
Normal file
|
@ -0,0 +1,45 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class BattleTemp
|
||||
{
|
||||
//These are known property IDs
|
||||
public const uint NAMEPLATE_SHOWN = 0xFBFBCFB1;
|
||||
public const uint TARGETABLE = 0x2138FD71;
|
||||
|
||||
public const uint STAT_STRENGTH = 0x647A29A8;
|
||||
public const uint STAT_VITALITY = 0x939E884A;
|
||||
public const uint STAT_DEXTERITY = 0x416571AC;
|
||||
public const uint STAT_INTELLIGENCE = 0x2DFBC13A;
|
||||
public const uint STAT_MIND = 0x0E704141;
|
||||
public const uint STAT_PIETY = 0x6CCAF8B3;
|
||||
|
||||
public const uint STAT_ACCURACY = 0x91CD44E7;
|
||||
public const uint STAT_EVASION = 0x11B1B22D;
|
||||
public const uint STAT_ATTACK = 0xBA51C4E1;
|
||||
public const uint STAT_DEFENSE = 0x8CAE90DB;
|
||||
public const uint STAT_ATTACK_MAGIC_POTENCY = 0x1F3DACC5;
|
||||
public const uint STAT_HEALING_MAGIC_POTENCY = 0xA329599A;
|
||||
public const uint STAT_ENCHANCEMENT_MAGIC_POTENCY = 0xBA51C4E1;
|
||||
public const uint STAT_ENFEEBLING_MAGIC_POTENCY = 0xEB90BAAB;
|
||||
public const uint STAT_MAGIC_ACCURACY = 0xD57DC284;
|
||||
public const uint STAT_MAGIC_EVASION = 0x17AB37EF;
|
||||
|
||||
public const uint RESISTANCE_FIRE = 0x79C7ECFF;
|
||||
public const uint RESISTANCE_ICE = 0xE17D8C7A;
|
||||
public const uint RESISTANCE_WIND = 0x204CF942;
|
||||
public const uint RESISTANCE_LIGHTNING = 0x1C2AEC73;
|
||||
public const uint RESISTANCE_EARTH = 0x5FC56D16;
|
||||
public const uint RESISTANCE_WATER = 0x64803E98;
|
||||
//End of properties
|
||||
|
||||
public int[] castGauge_speed = new int[2];
|
||||
public bool[] timingCommandFlag = new bool[4];
|
||||
public ushort[] generalParameter = new ushort[32];
|
||||
}
|
||||
}
|
30
FFXIVClassic Map Server/dataobjects/chara/CharaWork.cs
Normal file
30
FFXIVClassic Map Server/dataobjects/chara/CharaWork.cs
Normal file
|
@ -0,0 +1,30 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class CharaWork
|
||||
{
|
||||
public ParameterSave parameterSave = new ParameterSave();
|
||||
public ParameterTemp parameterTemp = new ParameterTemp();
|
||||
public BattleSave battleSave = new BattleSave();
|
||||
public BattleTemp battleTemp = new BattleTemp();
|
||||
public EventSave eventSave = new EventSave();
|
||||
public EventTemp eventTemp = new EventTemp();
|
||||
|
||||
public byte[] property = new byte[32];
|
||||
|
||||
public uint[] statusShownTime = new uint[20];
|
||||
|
||||
public int[] command = new int[64];
|
||||
public int[] commandCategory = new int[64];
|
||||
public int commandBorder = 0x20;
|
||||
public bool commandAcquired = false;
|
||||
public bool[] additionalCommandAcquired = new bool[1];
|
||||
|
||||
public uint depictionJudge = 0xa0f50911;
|
||||
}
|
||||
}
|
15
FFXIVClassic Map Server/dataobjects/chara/EventSave.cs
Normal file
15
FFXIVClassic Map Server/dataobjects/chara/EventSave.cs
Normal file
|
@ -0,0 +1,15 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class EventSave
|
||||
{
|
||||
public bool bazaar;
|
||||
public float bazaarTax;
|
||||
public int repairType;
|
||||
}
|
||||
}
|
17
FFXIVClassic Map Server/dataobjects/chara/EventTemp.cs
Normal file
17
FFXIVClassic Map Server/dataobjects/chara/EventTemp.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class EventTemp
|
||||
{
|
||||
public bool bazaarRetail = false;
|
||||
public bool bazaarRepair = false;
|
||||
public bool bazaarMateria = false;
|
||||
|
||||
public ushort[] linshellIcon = new ushort[4];
|
||||
}
|
||||
}
|
26
FFXIVClassic Map Server/dataobjects/chara/ParameterSave.cs
Normal file
26
FFXIVClassic Map Server/dataobjects/chara/ParameterSave.cs
Normal file
|
@ -0,0 +1,26 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class ParameterSave
|
||||
{
|
||||
public int[] hp = new int[1];
|
||||
public int[] hpMax = new int[1];
|
||||
public int mp;
|
||||
public int mpMax;
|
||||
|
||||
public int[] state_mainSkill = new int[4];
|
||||
public int state_mainSkillLevel;
|
||||
|
||||
public int[] state_boostPointForSkill;
|
||||
|
||||
public int[] commandSlot_compatibility;
|
||||
public int[] commandSlot_recastTime;
|
||||
|
||||
public int[] giftCommandSlot_commandId;
|
||||
}
|
||||
}
|
23
FFXIVClassic Map Server/dataobjects/chara/ParameterTemp.cs
Normal file
23
FFXIVClassic Map Server/dataobjects/chara/ParameterTemp.cs
Normal file
|
@ -0,0 +1,23 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class ParameterTemp
|
||||
{
|
||||
public int tp = 0;
|
||||
|
||||
public int targetInformation = 0;
|
||||
|
||||
public int[] maxCommandRecastTime = new int[40];
|
||||
|
||||
public float[] forceControl_float_forClientSelf = new float[4];
|
||||
public short[] forceControl_int16_forClientSelf = new short[2];
|
||||
|
||||
public int[] otherClassAbilityCount = new int[2];
|
||||
public int[] giftCount = new int[2];
|
||||
}
|
||||
}
|
70
FFXIVClassic Map Server/dataobjects/chara/PlayerActor.cs
Normal file
70
FFXIVClassic Map Server/dataobjects/chara/PlayerActor.cs
Normal file
|
@ -0,0 +1,70 @@
|
|||
using FFXIVClassic_Lobby_Server;
|
||||
using FFXIVClassic_Lobby_Server.common;
|
||||
using FFXIVClassic_Lobby_Server.dataobjects;
|
||||
using FFXIVClassic_Map_Server.dataobjects.database;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class PlayerActor : Actor
|
||||
{
|
||||
public PlayerActor(uint actorID) : base(actorID)
|
||||
{
|
||||
DBStats stats = Database.getCharacterStats(actorID);
|
||||
|
||||
charaWork.property[0] = 1;
|
||||
charaWork.property[1] = 1;
|
||||
charaWork.property[2] = 1;
|
||||
charaWork.property[4] = 1;
|
||||
|
||||
charaWork.parameterSave.hp[0] = stats.hp;
|
||||
charaWork.parameterSave.hpMax[0] = stats.hpMax;
|
||||
charaWork.parameterSave.mp = stats.mp;
|
||||
charaWork.parameterSave.mpMax = stats.mpMax;
|
||||
|
||||
charaWork.parameterSave.state_mainSkill[0] = 3;
|
||||
charaWork.parameterSave.state_mainSkillLevel = 1;
|
||||
|
||||
charaWork.battleSave.skillLevel = 1;
|
||||
charaWork.battleSave.skillLevelCap = 2;
|
||||
charaWork.battleSave.potencial = 0.5f;
|
||||
charaWork.battleSave.physicalExp = 1;
|
||||
charaWork.battleSave.negotiationFlag[0] = false;
|
||||
charaWork.battleSave.negotiationFlag[1] = false;
|
||||
|
||||
for (int i = 0; i < 20; i++)
|
||||
charaWork.statusShownTime[i] = 0xFFFFFFFF;
|
||||
|
||||
setPlayerAppearance();
|
||||
}
|
||||
|
||||
public void setPlayerAppearance()
|
||||
{
|
||||
DBAppearance appearance = Database.getAppearance(actorID);
|
||||
|
||||
modelID = DBAppearance.getTribeModel(appearance.tribe);
|
||||
appearanceIDs[SIZE] = appearance.size;
|
||||
appearanceIDs[COLORINFO] = (uint)(appearance.skinColor | (appearance.hairColor << 10) | (appearance.eyeColor << 20));
|
||||
appearanceIDs[FACEINFO] = PrimitiveConversion.ToUInt32(appearance.getFaceInfo());
|
||||
appearanceIDs[HIGHLIGHT_HAIR] = (uint)(appearance.hairHighlightColor | appearance.hairStyle << 10);
|
||||
appearanceIDs[VOICE] = appearance.voice;
|
||||
appearanceIDs[WEAPON1] = appearance.mainHand;
|
||||
appearanceIDs[WEAPON2] = appearance.offHand;
|
||||
appearanceIDs[HEADGEAR] = appearance.head;
|
||||
appearanceIDs[BODYGEAR] = appearance.body;
|
||||
appearanceIDs[LEGSGEAR] = appearance.legs;
|
||||
appearanceIDs[HANDSGEAR] = appearance.hands;
|
||||
appearanceIDs[FEETGEAR] = appearance.feet;
|
||||
appearanceIDs[WAISTGEAR] = appearance.waist;
|
||||
appearanceIDs[R_EAR] = appearance.rightEar;
|
||||
appearanceIDs[L_EAR] = appearance.leftEar;
|
||||
appearanceIDs[R_FINGER] = appearance.rightFinger;
|
||||
appearanceIDs[L_FINGER] = appearance.leftFinger;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
51
FFXIVClassic Map Server/dataobjects/chara/PlayerWork.cs
Normal file
51
FFXIVClassic Map Server/dataobjects/chara/PlayerWork.cs
Normal file
|
@ -0,0 +1,51 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.chara
|
||||
{
|
||||
class PlayerWork
|
||||
{
|
||||
public int tribe;
|
||||
public int guardian;
|
||||
public int birthdayMonth;
|
||||
public int birthdayDay;
|
||||
public int initialTown;
|
||||
|
||||
public int restBonusExpRate;
|
||||
|
||||
public int[] questScenario = new int[16];
|
||||
public int[] questGuildLeve = new int[8];
|
||||
|
||||
public int questScenarioComplete;
|
||||
public int questGuildleveComplete;
|
||||
|
||||
public bool isContentsCommand;
|
||||
|
||||
public int castCommandClient;
|
||||
public int castEndClient;
|
||||
|
||||
public int[] comboNextCommandId = new int[2];
|
||||
public int comboCostBonusRate;
|
||||
|
||||
public bool isRemainBonusPoint;
|
||||
|
||||
public int[] npcLinkshellChatCalling = new int[64];
|
||||
public int[] npcLinkshellChatExtra = new int[64];
|
||||
|
||||
public int variableCommandConfirmWarp;
|
||||
public int variableCommandConfirmWarpSender;
|
||||
public int variableCommandConfirmWarpSenderByID;
|
||||
public int variableCommandConfirmWarpSenderSex;
|
||||
public int variableCommandConfirmWarpPlace;
|
||||
|
||||
public int variableCommandConfirmRaise;
|
||||
public int variableCommandConfirmRaiseSender;
|
||||
public int variableCommandConfirmRaiseSenderByID;
|
||||
public int variableCommandConfirmRaiseSenderSex;
|
||||
public int variableCommandConfirmRaisePlace;
|
||||
|
||||
}
|
||||
}
|
|
@ -7,7 +7,7 @@ using System.Threading.Tasks;
|
|||
|
||||
namespace FFXIVClassic_Lobby_Server.dataobjects
|
||||
{
|
||||
class Appearance
|
||||
class DBAppearance
|
||||
{
|
||||
////////////
|
||||
//Chara Info
|
|
@ -8,7 +8,7 @@ using FFXIVClassic_Lobby_Server.dataobjects;
|
|||
|
||||
namespace FFXIVClassic_Lobby_Server
|
||||
{
|
||||
class Character
|
||||
class DBCharacter
|
||||
{
|
||||
public uint id;
|
||||
public ushort slot;
|
||||
|
@ -18,9 +18,7 @@ namespace FFXIVClassic_Lobby_Server
|
|||
public string charaInfo;
|
||||
public bool isLegacy;
|
||||
public bool doRename;
|
||||
public uint currentZoneId;
|
||||
|
||||
|
||||
public uint currentZoneId;
|
||||
|
||||
public static CharaInfo EncodedToCharacter(String charaInfo)
|
||||
{
|
16
FFXIVClassic Map Server/dataobjects/database/DBCommands.cs
Normal file
16
FFXIVClassic Map Server/dataobjects/database/DBCommands.cs
Normal file
|
@ -0,0 +1,16 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.database
|
||||
{
|
||||
class DBCommands
|
||||
{
|
||||
public uint classId;
|
||||
public uint index;
|
||||
public uint commandId;
|
||||
public uint recastTime;
|
||||
}
|
||||
}
|
19
FFXIVClassic Map Server/dataobjects/database/DBJournal.cs
Normal file
19
FFXIVClassic Map Server/dataobjects/database/DBJournal.cs
Normal file
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.database
|
||||
{
|
||||
class DBJournal
|
||||
{
|
||||
public uint id;
|
||||
public uint characterId;
|
||||
public uint index;
|
||||
public uint questId;
|
||||
public uint type;
|
||||
public bool abandoned;
|
||||
public bool completed;
|
||||
}
|
||||
}
|
17
FFXIVClassic Map Server/dataobjects/database/DBPlayerData.cs
Normal file
17
FFXIVClassic Map Server/dataobjects/database/DBPlayerData.cs
Normal file
|
@ -0,0 +1,17 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.database
|
||||
{
|
||||
class DBPlayerData
|
||||
{
|
||||
public int tribe;
|
||||
public int guardian;
|
||||
public int birthdayMonth;
|
||||
public int birthdayDay;
|
||||
public int initialTown;
|
||||
}
|
||||
}
|
18
FFXIVClassic Map Server/dataobjects/database/DBStats.cs
Normal file
18
FFXIVClassic Map Server/dataobjects/database/DBStats.cs
Normal file
|
@ -0,0 +1,18 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace FFXIVClassic_Map_Server.dataobjects.database
|
||||
{
|
||||
class DBStats
|
||||
{
|
||||
public int hp;
|
||||
public int hpMax;
|
||||
public int mp;
|
||||
public int mpMax;
|
||||
public ushort[] state_mainSkill;
|
||||
public int state_mainSkillLevel;
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@ using System.Threading.Tasks;
|
|||
|
||||
namespace FFXIVClassic_Lobby_Server.dataobjects
|
||||
{
|
||||
class World
|
||||
class DBWorld
|
||||
{
|
||||
public ushort id;
|
||||
public string address;
|
Loading…
Add table
Add a link
Reference in a new issue