From d3325676c5e89b1e31b89a94190b14d976186197 Mon Sep 17 00:00:00 2001 From: Filip Maj Date: Mon, 12 Oct 2015 02:03:47 -0400 Subject: [PATCH] Got rid of some garbage packets. Emote packet implemented though bug with descriptions. --- .../FFXIVClassic Map Server.csproj | 1 + FFXIVClassic Map Server/PacketProcessor.cs | 7 +++- .../bin/Debug/packets/charawork | Bin 144 -> 0 bytes .../bin/Debug/packets/charawork2 | Bin 184 -> 0 bytes .../bin/Debug/packets/charawork3 | Bin 184 -> 0 bytes .../bin/Debug/packets/charawork4 | Bin 184 -> 0 bytes .../bin/Debug/packets/charawork_inv | Bin 184 -> 0 bytes .../bin/Debug/packets/charawork_inv2 | Bin 184 -> 0 bytes .../bin/Debug/packets/charawork_inv3 | Bin 184 -> 0 bytes .../bin/Debug/packets/d0packet | Bin 184 -> 0 bytes .../bin/Debug/packets/inv1 | Bin 952 -> 0 bytes .../bin/Debug/packets/login7_data.bin | Bin 2744 -> 0 bytes .../bin/Debug/packets/script/bed.bin | Bin 192 -> 192 bytes .../bin/Debug/packets/script/inn_exitdoor.bin | Bin 192 -> 192 bytes .../bin/Debug/packets/setinv | Bin 2144 -> 0 bytes .../bin/Debug/packets/setinv_backup | Bin 2064 -> 0 bytes .../bin/Debug/packets/status | Bin 88 -> 0 bytes .../bin/Debug/packets/temp_inv.bin | Bin 952 -> 0 bytes .../bin/Debug/packets/test_player2 | Bin 1824 -> 0 bytes .../bin/Debug/packets/updategil | Bin 368 -> 0 bytes FFXIVClassic Map Server/dataobjects/Player.cs | 9 ++++- .../packets/send/Actor/ActorDoEmotePacket.cs | 36 ++++++++++++++++++ 22 files changed, 49 insertions(+), 4 deletions(-) delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/charawork delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/charawork2 delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/charawork3 delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/charawork4 delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/charawork_inv delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/charawork_inv2 delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/charawork_inv3 delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/d0packet delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/inv1 delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/login7_data.bin delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/setinv delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/setinv_backup delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/status delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/temp_inv.bin delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/test_player2 delete mode 100644 FFXIVClassic Map Server/bin/Debug/packets/updategil create mode 100644 FFXIVClassic Map Server/packets/send/Actor/ActorDoEmotePacket.cs diff --git a/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj b/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj index 6cd4c4bb..666485d5 100644 --- a/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj +++ b/FFXIVClassic Map Server/FFXIVClassic Map Server.csproj @@ -80,6 +80,7 @@ + diff --git a/FFXIVClassic Map Server/PacketProcessor.cs b/FFXIVClassic Map Server/PacketProcessor.cs index 17b88432..70c68879 100644 --- a/FFXIVClassic Map Server/PacketProcessor.cs +++ b/FFXIVClassic Map Server/PacketProcessor.cs @@ -307,6 +307,8 @@ namespace FFXIVClassic_Lobby_Server break; //Set Target case 0x00CD: + subpacket.debugPrintSubPacket(); + SetTargetPacket setTarget = new SetTargetPacket(subpacket.data); player.setTarget(setTarget.actorID); client.queuePacket(BasePacket.createPacket(SetActorTargetAnimatedPacket.buildPacket(player.actorID, player.actorID, setTarget.actorID), true, false)); @@ -319,8 +321,9 @@ namespace FFXIVClassic_Lobby_Server //Start Script case 0x012D: subpacket.debugPrintSubPacket(); - StartScriptPacket startScript = new StartScriptPacket(subpacket.data); - client.queuePacket(new BasePacket("./packets/script/bed.bin")); + //StartScriptPacket startScript = new StartScriptPacket(subpacket.data); + //client.queuePacket(new BasePacket("./packets/script/bed.bin")); + client.queuePacket(BasePacket.createPacket(ActorDoEmotePacket.buildPacket(player.actorID, player.getTargetedActor(), 137), true, false)); break; //Script Result case 0x012E: diff --git a/FFXIVClassic Map Server/bin/Debug/packets/charawork b/FFXIVClassic Map Server/bin/Debug/packets/charawork deleted file mode 100644 index 7aaa9839b8587dc602732f75860f7e4e234a542d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmZQ%WMJ67gOMRxqxYRPkiCL|nE^EQAXHS(g%` diff --git a/FFXIVClassic Map Server/bin/Debug/packets/charawork4 b/FFXIVClassic Map Server/bin/Debug/packets/charawork4 deleted file mode 100644 index af372448e3ccb7e8a4d12f16f0b16ffd7e48d47c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZQ%WMJ67gOMRxqxYRPkiCL|nE^qmBLl+<24)6F&Dl&K%<$mSKM@9VpeO^w-WLx7Ky*>Og|nqT y1A`ocJcATS0LT&q)7S|)1_P`TU_+rYENChiHzsE!7A1z~7iH_GRurJgLbw1*J`_Cw diff --git a/FFXIVClassic Map Server/bin/Debug/packets/charawork_inv2 b/FFXIVClassic Map Server/bin/Debug/packets/charawork_inv2 deleted file mode 100644 index 43c46022acafa3dc58c337e6269ac2ffcfe3d7ee..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZQ%U|`t6z{n7-(fiJtk%3_a12co8=4>VqW_WPvp9q6FP?UjT--`zUAX<*w!r4+E a#DW0kjma5_MTz10McMkP6$LP1n$rM0fD&E+ diff --git a/FFXIVClassic Map Server/bin/Debug/packets/charawork_inv3 b/FFXIVClassic Map Server/bin/Debug/packets/charawork_inv3 deleted file mode 100644 index efab55618149653869d953d71581e41e8b779bd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZQ%U|`t6z{v1lv-h1fBLl+<24)6F&Dl&K%<$mSKM@9VpeO^wz84PyKy*=j!?}xG u{~3%>Ac+4TD+H-S$e`+i$UwvpYW_1YZcNTdEJ_T|FUr7BcSu diff --git a/FFXIVClassic Map Server/bin/Debug/packets/d0packet b/FFXIVClassic Map Server/bin/Debug/packets/d0packet deleted file mode 100644 index 3f76e7836e7d23cd6c71ab4d0745258e76d4ebcb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmZQ%U|`t6z{s%Pcj`N9Mh1oz49pCUnzNZenBl>te0A?TvN1$>b T5O8Dy(*};rV4AiB3)FZ3S4$1P diff --git a/FFXIVClassic Map Server/bin/Debug/packets/inv1 b/FFXIVClassic Map Server/bin/Debug/packets/inv1 deleted file mode 100644 index 8791b4666238dde7705b303fa6dbea74f48febe9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 952 zcmZQ%U|`t6%*e31Y2rI;Mh1oz%*+gqnzNZenBl>te!MYFhol!!czT|k!LXUe_I-k; h7f|~20@}Bf#`cv~L*fqE65R*v}84O?T(s^PO|gIrsc$|NjC) z=%|Gysvey7Z~`FYj3h|rvJ10`^glj*4P{U(LY}wvawf5=uZl^rU#`H9`LH4OE9lnG zQ*>^Yz|R^Pf5xnQi=&SyZigVw=-=}yt}jOr--*}{A&uyqodUl$e#FFIhEyFD9%kUG zqtM7SwbAtaQH(lWC6#P*(+xE;H`;I|muh5T)SuaXOez)PKI{_Icai#>r}HN|&(V2- z&N@2p(s_qYaUXUI;=iUoY{;SO`>{vhhp^EP+>G*nTzv+z+-B@q5$bPB%sXUlQeH$* zUkQDe5U}O>a4^;V++reCPa8c(h*JEULEQKKf_~bXj&~OI{VY%W?7O6jckuE>ZfuNk z^X&FWd6Y6PG^X1vZp5xrmMCMCu0}tT2>xVQOe7+NNVpF{@~zdUd(QFlJ953vKx33# z?_AAEV)gQAOc8~m@6?@AcOx8g zpA*e3(}(No8HBk8hc69}{pUmVR;QZirrrRarQkrPoI~k4g^a_~=ygg4p!KV<1lTwx z>@Yy8p&}FDdg~7z00v3GHGmq292ww3mo*_ugr}!`@%em&OIC!+!Vva4)jm1^VVP{X z)F0u)Z8cF-5bnHR6_&*MFB- zUxx4_k7BzbMEv!W=hAC)varAx{NEGEs;b>5X!snL_u6?Z~aUlN0RMY`mt>LbLWOj8C>@&OtfN9R%KgyhvmQKol}07 z!IlGOJZ~{LxBj>B%?t*W%xbyEz%GzfKbcM8in5wsP2hr9sW%xFlm5hhJx^GdY~Coaf46h-~OE4jQ`$%^ZGL z=^t~5zh1`g7!n(?IF(y&x#iU`fRKkRDu9fnH}jxNOMC053Zkrh?E#KV91#xiwvWX; z07a@+2XM&Y{mlTC<5I=|EF-&Q03TJ%PX(w;J5me~ip(Mbbp9&`0^AP!nSNzi-lvWM zENly10H7UlaUZ}3=BE+>_P!eQ2Y~15IZXgXOKL|sfZP;#x|2|)jriX8wUQmbHkH9dY~F~C|IkJkb05=YJeh<#d=1Yj1SrIv#HfHWZX z0oj`@o%C{Y=Wa|OhfDD(&K&k`_WP29-^b$u7<6eSZFO(`Odu!o7uxb9+nRm9=TH`; zAsk%#myhF++;J$E!+Ax09tWEZ9y>WSYPMW*I@};9C%g(P#xihH9DVn%5(?8Uf2Qy% YrQjM@`XK*e4Yhom8x$8iyPG=y1|vX^b^rhX diff --git a/FFXIVClassic Map Server/bin/Debug/packets/script/bed.bin b/FFXIVClassic Map Server/bin/Debug/packets/script/bed.bin index afc32a5a550326bff8091e20ff7e0b9c5a05a7a0..8250f8419d4c04d56b59f918a474eca6299ca406 100644 GIT binary patch delta 61 zcmX@Wcz|(&h(Znn0|N*%Jh=2vgu#Fj#8iIyAOJ*z#3!1#v4WWV6B{i!85lBJTpWO0 E0K9+=3IG5A delta 61 zcmX@Wcz|(&h=QZ$Y$gz9cyQ^T2!jD50}v>`d=LPlLE;ll+*p}rYdZ2zY_#BHV9023 IaRABy01=Q6b^rhX diff --git a/FFXIVClassic Map Server/bin/Debug/packets/script/inn_exitdoor.bin b/FFXIVClassic Map Server/bin/Debug/packets/script/inn_exitdoor.bin index eeedb68352b82bfe2d45e980a6252acd7eed5133..9536c1123e515b3f2cbdf8190156abc2a475123a 100644 GIT binary patch delta 14 VcmX@Wcz|(26$=9cL(arHCjcT*1Wo_| delta 14 VcmX@Wcz|(26${gBO~;9KP5>q%1nB?( diff --git a/FFXIVClassic Map Server/bin/Debug/packets/setinv b/FFXIVClassic Map Server/bin/Debug/packets/setinv deleted file mode 100644 index 815dd926700f020217312880d65a4af2b6ead514..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2144 zcmZQ%U|>k#U}h+l>3(O;$iSe%z|7#NIhzTD86I5vC&J(c6lGwrc<~?rM1#anfEYkM zsOr4I>hhum!a&jt4q%c2Bv>eA2c{t+s3arfUnXP`Mj$}ugV+M<=pvYWMhA!(NVDTo zTLu(Ek(5)*J|+iTH3bh8{AT4WniVT zeXL0KCC>C=V56~pY)JN9J>bK@PGkGnk?i|8FNT4G#`bX_*|(7?hJlmD_HiQFxA1l} z0~d|$<3h6Uk!&^tH;wJ%MzU|>mS_eZ8r#Q%WFO)v53`-%4yu~q?F5+h E03mfw=>Px# diff --git a/FFXIVClassic Map Server/bin/Debug/packets/setinv_backup b/FFXIVClassic Map Server/bin/Debug/packets/setinv_backup deleted file mode 100644 index 87a45b3c74c69efa4bc555256ed7b2077ed2b69f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2064 zcmb`DKS~2(5XIlONzCT|Myx~&E6EjSPEL$DSnfgB5~RY?3;Zv$$R_~0Ay*v@zUAHdWa@1px?Pn_`&Pb?*g`Yi^E~I z%M&zF@bYM}H<_}T)ewG?=}m~AY0vN3>i>=Pfn>)&?%#AV6FT*EufBvNl>63ByC{e? z>eW{uiRQkojUI}oN$*boXOT27j+MPGN@9(A@s&uTnQ#AMfH~8ocPG9%(!4mv_XCv0 z8uj8UlSDJ$=T(l>H0j-mFD1>3<2K1r5o^?ouR;>deAh2SR85oKo%pJxd2zfgk5Ch9 z)Qhi163u+)cSF=olir>9>ZEybgvT5Wu|~c48YI!o_q91f(=_SbiLXhT7so>qmBLl+@C0!gEM7ba0MX0K7}-HINYJxY zj)57(K>{#7SQC;sxlCmHynyzxp&3L=`+R}+vCz>zKcIa~bhOVOXdf#b?aS?uL$i$m bo_=VNUh;wVp_@zX^n&3b8Vi6kAJ7f}&XX8@ diff --git a/FFXIVClassic Map Server/bin/Debug/packets/test_player2 b/FFXIVClassic Map Server/bin/Debug/packets/test_player2 deleted file mode 100644 index a729c2b7b16a5ffc3aaf8f9f947b3ded1e13261d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1824 zcmZQ%U|>*S7hw>S?tW*@$iSe%z|3%2eKwP$=4>X02bcbdFq{IaU|@J5`!E1RbASjS zSb?GL0$3cT4$OfN4nSjpV1WY@lx7Cgv?W-e#(QA6^Bh29O*-5VL~#EC*QFfHb4P z2S#=v4FWJTI3ZjHE-1|nrFnpKq5=a0FOXIQa`=FBlLo|05MKZ)E(oL<-Y_xSc#I*P-GbxnDm`95{nY`A?l!1e0hFRHUkR?Fhi0cny$gcU4fBr%u&L# zmT~{mt-M@JvQuX4iC|>;p8M^s_eu}?gwm)D(8$!nHe9S_mALW>M&)SCe6T- z{nVvrlH$Vvmc_ZoJ^z7KN1A?oW?p6qBCH6x)0SnYaab;>v|#a4J$e<)IO_6<5zJV! c;eP;_v9>Y75zP3P+n5MqbfDXVu#r3#0LX7NIsgCw diff --git a/FFXIVClassic Map Server/bin/Debug/packets/updategil b/FFXIVClassic Map Server/bin/Debug/packets/updategil deleted file mode 100644 index a5ea3e6b7d4cfbabce3f17dcf70acd2f3bdbd7cc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 368 zcmZQ%U|=X9)?qZ2;^SP~?F25^a^DI>@w#@)&c{}>`L-0g?rZUzQFpj{jc v1wfLEp&Ll@FdPPwybSq3l8@mCkmLuN!oVQPkPaj{fEWZY?RQ5r7orXTn^iUr diff --git a/FFXIVClassic Map Server/dataobjects/Player.cs b/FFXIVClassic Map Server/dataobjects/Player.cs index ad17b76e..b995b05d 100644 --- a/FFXIVClassic Map Server/dataobjects/Player.cs +++ b/FFXIVClassic Map Server/dataobjects/Player.cs @@ -18,8 +18,8 @@ namespace FFXIVClassic_Map_Server.dataobjects public uint characterID = 0; public uint actorID = 0; - private uint currentTarget = 0; - private uint currentLockedTarget = 0; + private uint currentTarget = 0xC0000000; + private uint currentLockedTarget = 0xC0000000; private uint currentZoneID = 0; @@ -121,5 +121,10 @@ namespace FFXIVClassic_Map_Server.dataobjects { currentLockedTarget = actorID; } + + public uint getTargetedActor() + { + return currentTarget; + } } } diff --git a/FFXIVClassic Map Server/packets/send/Actor/ActorDoEmotePacket.cs b/FFXIVClassic Map Server/packets/send/Actor/ActorDoEmotePacket.cs new file mode 100644 index 00000000..bc0b63f5 --- /dev/null +++ b/FFXIVClassic Map Server/packets/send/Actor/ActorDoEmotePacket.cs @@ -0,0 +1,36 @@ +using FFXIVClassic_Lobby_Server.packets; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace FFXIVClassic_Map_Server.packets.send.actor +{ + class ActorDoEmotePacket + { + public const ushort OPCODE = 0x00E1; + public const uint PACKET_SIZE = 0x30; + + public static SubPacket buildPacket(uint playerActorID, uint targetActorID, uint emoteID) + { + byte[] data = new byte[PACKET_SIZE - 0x20]; + + using (MemoryStream mem = new MemoryStream(data)) + { + using (BinaryWriter binWriter = new BinaryWriter(mem)) + { + uint realAnimID = 0x5000000 | ((emoteID - 100) << 12); + uint realDescID = 20000 + ((emoteID - 1) * 10) + (targetActorID == playerActorID || targetActorID == 0xC0000000 ? (uint)2 : (uint)1); + binWriter.Write((UInt32)realAnimID); + binWriter.Write((UInt32)targetActorID); + binWriter.Write((UInt32)realDescID); + } + } + + SubPacket packet = new SubPacket(OPCODE, playerActorID, targetActorID, data); + return packet; + } + } +}