From e47904dc30361d6e5ee08559d585d7bc846d31ac Mon Sep 17 00:00:00 2001 From: Filip Maj Date: Tue, 12 Jan 2016 00:43:52 -0500 Subject: [PATCH] Got commands working. Wrong ID for one of em. --- FFXIVClassic Map Server/Program.cs | 1 - .../actors/chara/BattleTemp.cs | 32 ++++----- .../actors/chara/CharaWork.cs | 2 +- .../actors/chara/EventSave.cs | 2 +- .../actors/chara/player/Player.cs | 66 +++++++++++++++---- 5 files changed, 72 insertions(+), 31 deletions(-) diff --git a/FFXIVClassic Map Server/Program.cs b/FFXIVClassic Map Server/Program.cs index 61e8a4ac..4999ba82 100644 --- a/FFXIVClassic Map Server/Program.cs +++ b/FFXIVClassic Map Server/Program.cs @@ -16,7 +16,6 @@ namespace FFXIVClassic_Lobby_Server static void Main(string[] args) { - #if DEBUG TextWriterTraceListener myWriter = new TextWriterTraceListener(System.Console.Out); Debug.Listeners.Add(myWriter); diff --git a/FFXIVClassic Map Server/actors/chara/BattleTemp.cs b/FFXIVClassic Map Server/actors/chara/BattleTemp.cs index b3f99887..d3a45924 100644 --- a/FFXIVClassic Map Server/actors/chara/BattleTemp.cs +++ b/FFXIVClassic Map Server/actors/chara/BattleTemp.cs @@ -13,24 +13,24 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara //public const uint NAMEPLATE_SHOWN2 = 2; public const uint NAMEPLATE_SHOWN2 = 3; - public const uint STAT_STRENGTH = 4; - public const uint STAT_VITALITY = 5; - public const uint STAT_DEXTERITY = 6; - public const uint STAT_INTELLIGENCE = 7; - public const uint STAT_MIND = 8; - public const uint STAT_PIETY = 9; + public const uint STAT_STRENGTH = 3; + public const uint STAT_VITALITY = 4; + public const uint STAT_DEXTERITY = 5; + public const uint STAT_INTELLIGENCE = 6; + public const uint STAT_MIND = 7; + public const uint STAT_PIETY = 8; - public const uint STAT_RESISTANCE_FIRE = 10; - public const uint STAT_RESISTANCE_ICE = 11; - public const uint STAT_RESISTANCE_WIND = 12; - public const uint STAT_RESISTANCE_LIGHTNING = 13; - public const uint STAT_RESISTANCE_EARTH = 14; - public const uint STAT_RESISTANCE_WATER = 15; + public const uint STAT_RESISTANCE_FIRE = 9; + public const uint STAT_RESISTANCE_ICE = 10; + public const uint STAT_RESISTANCE_WIND = 11; + public const uint STAT_RESISTANCE_LIGHTNING = 12; + public const uint STAT_RESISTANCE_EARTH = 13; + public const uint STAT_RESISTANCE_WATER = 14; - public const uint STAT_ATTACK = 18; - public const uint STAT_ACCURACY = 16; - public const uint STAT_NORMALDEFENSE = 19; - public const uint STAT_EVASION = 17; + public const uint STAT_ATTACK = 17; + public const uint STAT_ACCURACY = 15; + public const uint STAT_NORMALDEFENSE = 18; + public const uint STAT_EVASION = 16; public const uint STAT_ATTACK_MAGIC = 24; public const uint STAT_HEAL_MAGIC = 25; public const uint STAT_ENCHANCEMENT_MAGIC_POTENCY = 26; diff --git a/FFXIVClassic Map Server/actors/chara/CharaWork.cs b/FFXIVClassic Map Server/actors/chara/CharaWork.cs index 0e8a0c6a..7438b733 100644 --- a/FFXIVClassic Map Server/actors/chara/CharaWork.cs +++ b/FFXIVClassic Map Server/actors/chara/CharaWork.cs @@ -27,7 +27,7 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara public byte[] commandCategory = new byte[64]; public byte commandBorder = 0x20; public bool commandAcquired = false; - public bool[] additionalCommandAcquired = new bool[1]; + public bool[] additionalCommandAcquired = new bool[32]; public uint depictionJudge = 0xa0f50911; } diff --git a/FFXIVClassic Map Server/actors/chara/EventSave.cs b/FFXIVClassic Map Server/actors/chara/EventSave.cs index 3f289413..a0bf4328 100644 --- a/FFXIVClassic Map Server/actors/chara/EventSave.cs +++ b/FFXIVClassic Map Server/actors/chara/EventSave.cs @@ -9,7 +9,7 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara class EventSave { public bool bazaar; - public float bazaarTax; + public byte bazaarTax; public int repairType; } } diff --git a/FFXIVClassic Map Server/actors/chara/player/Player.cs b/FFXIVClassic Map Server/actors/chara/player/Player.cs index 03f2ad94..048edd7a 100644 --- a/FFXIVClassic Map Server/actors/chara/player/Player.cs +++ b/FFXIVClassic Map Server/actors/chara/player/Player.cs @@ -70,7 +70,7 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara charaWork.command[0] = 0xA0F00000 | 21001; charaWork.command[1] = 0xA0F00000 | 21002; charaWork.command[2] = 0xA0F00000 | 12003; - charaWork.command[3] = 0xA0F00000 | 11828; + charaWork.command[3] = 0xA0F00000 | 12004; charaWork.command[4] = 0xA0F00000 | 21005; charaWork.command[5] = 0xA0F00000 | 21006; charaWork.command[6] = 0xA0F00000 | 21007; @@ -84,10 +84,36 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara charaWork.command[14] = 0xA0F00000 | 29497; charaWork.command[15] = 0xA0F00000 | 22015; - for (int i = 0; i < 16; i++) - charaWork.commandCategory[i] = 1; + charaWork.command[32] = 0xA0F00000 | 27155; - charaWork.commandBorder = 32; + charaWork.additionalCommandAcquired[0] = true; + charaWork.additionalCommandAcquired[12] = true; + charaWork.additionalCommandAcquired[22] = true; + charaWork.additionalCommandAcquired[25] = true; + charaWork.additionalCommandAcquired[28] = true; + charaWork.additionalCommandAcquired[30] = true; + + charaWork.commandCategory[0] = 1; + charaWork.commandCategory[1] = 1; + + charaWork.battleTemp.generalParameter[3] = 1; + + charaWork.eventSave.bazaarTax = 5; + charaWork.battleSave.potencial = 6.6f; + + for (int i = 32; i < 49; i++) + charaWork.commandCategory[i] = 1; + charaWork.commandCategory[0] = 1; + charaWork.commandCategory[1] = 1; + charaWork.commandCategory[51] = 1; + + for (int i = 0; i <= 12; i++) + charaWork.parameterSave.commandSlot_compatibility[i] = true; + + for (int i = 0; i < 30; i++) + charaWork.parameterSave.commandSlot_recastTime[i] = 0x50E0230C; + + charaWork.commandBorder = 0x20; Database.loadPlayerCharacter(this); } @@ -143,6 +169,9 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara { ActorPropertyPacketUtil propPacketUtil = new ActorPropertyPacketUtil("/_init", this, playerActorId); + propPacketUtil.addProperty("charaWork.eventSave.bazaarTax"); + propPacketUtil.addProperty("charaWork.battleSave.potencial"); + //Properties for (int i = 0; i < charaWork.property.Length; i++) { @@ -158,7 +187,6 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara propPacketUtil.addProperty("charaWork.parameterTemp.tp"); propPacketUtil.addProperty("charaWork.parameterSave.state_mainSkill[0]"); propPacketUtil.addProperty("charaWork.parameterSave.state_mainSkillLevel"); - //Status Times for (int i = 0; i < charaWork.statusShownTime.Length; i++) @@ -167,34 +195,40 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara propPacketUtil.addProperty(String.Format("charaWork.statusShownTime[{0}]", i)); } + for (int i = 0; i < charaWork.additionalCommandAcquired.Length; i++) + { + if (charaWork.additionalCommandAcquired[i] != false) + propPacketUtil.addProperty(String.Format("charaWork.additionalCommandAcquired[{0}]", i)); + } + //General Parameters - for (int i = 0; i < charaWork.battleTemp.generalParameter.Length; i++) + for (int i = 3; i < charaWork.battleTemp.generalParameter.Length; i++) { if (charaWork.battleTemp.generalParameter[i] != 0) propPacketUtil.addProperty(String.Format("charaWork.battleTemp.generalParameter[{0}]", i)); } - propPacketUtil.addProperty("charaWork.battleTemp.castGauge_speed[0]"); propPacketUtil.addProperty("charaWork.battleTemp.castGauge_speed[1]"); - + //Battle Save Skillpoint //Commands - + propPacketUtil.addProperty("charaWork.commandBorder"); + for (int i = 0; i < charaWork.command.Length; i++) { if (charaWork.command[i] != 0) propPacketUtil.addProperty(String.Format("charaWork.command[{0}]", i)); } - + /* for (int i = 0; i < charaWork.commandCategory.Length; i++) { if (charaWork.commandCategory[i] != 0) propPacketUtil.addProperty(String.Format("charaWork.commandCategory[{0}]", i)); } - propPacketUtil.addProperty("charaWork.commandBorder"); + for (int i = 0; i < charaWork.parameterSave.commandSlot_compatibility.Length; i++) { @@ -207,13 +241,21 @@ namespace FFXIVClassic_Map_Server.dataobjects.chara if (charaWork.parameterSave.commandSlot_recastTime[i] != 0) propPacketUtil.addProperty(String.Format("charaWork.parameterSave.commandSlot_recastTime[{0}]", i)); } - + */ //System propPacketUtil.addProperty("charaWork.parameterTemp.forceControl_float_forClientSelf[0]"); propPacketUtil.addProperty("charaWork.parameterTemp.forceControl_float_forClientSelf[1]"); propPacketUtil.addProperty("charaWork.parameterTemp.forceControl_int16_forClientSelf[0]"); propPacketUtil.addProperty("charaWork.parameterTemp.forceControl_int16_forClientSelf[1]"); + charaWork.parameterTemp.otherClassAbilityCount[0] = 4; + charaWork.parameterTemp.otherClassAbilityCount[1] = 5; + charaWork.parameterTemp.giftCount[1] = 5; + + propPacketUtil.addProperty("charaWork.parameterTemp.otherClassAbilityCount[0]"); + propPacketUtil.addProperty("charaWork.parameterTemp.otherClassAbilityCount[1]"); + propPacketUtil.addProperty("charaWork.parameterTemp.giftCount[1]"); + propPacketUtil.addProperty("charaWork.depictionJudge"); //Scenario