XConquer

[1049] Fix Windwalker Type

Sep 22nd, 2019
160
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Creamos Nueva Clase y Pegamos.
  2. using ArgCO.Client;
  3. using ArgCO.Game;
  4. using System;
  5. //Clase Creada & Codeada Por Pezzi Tomas
  6. namespace ArgCO.Network.GamePackets
  7. {
  8. public class WindTypes : Writer, Interfaces.IPacket
  9. {
  10. byte[] Buffer;
  11. public WindTypes(bool Create)
  12. {
  13. if (Create)
  14. {
  15. Buffer = new byte[21];
  16. Writer.Write(13, 0, Buffer);
  17. Writer.Write(1049, 2, Buffer);
  18. }
  19. }
  20. public byte SendType
  21. {
  22. get { return Buffer[9]; }
  23. set { Buffer[9] = value; }
  24. }
  25. public enum WindwalkerType : byte
  26. {
  27. WindMelee = 8,
  28. WindRanged = 0,
  29. }
  30. public void Deserialize(byte[] buffer)
  31. {
  32. Buffer = buffer;
  33. }
  34. public byte[] ToArray()
  35. {
  36. return Buffer;
  37. }
  38. public void Send(Client.GameState client)
  39. {
  40. client.Send(Buffer);
  41. }
  42.  
  43. public static void Handle(byte[] packet)
  44. {
  45. WindTypes SendPacket = new WindTypes(true);
  46. SendPacket.SendType = 0;//Chaser
  47. SendPacket.SendType = 8;//Stomper
  48.  
  49. }
  50. #region 3D V6699++
  51. // byte[] Buffer = new byte[25 + 8];
  52.  
  53. //Writer.Write(25, 0, Buffer);
  54.  
  55. //Writer.Write(1049, 2, Buffer);
  56.  
  57. //Writer.Write(8, 8, Buffer);
  58.  
  59. //Writer.Write(15, 12, Buffer);
  60.  
  61. //Writer.Write(9999, 16, Buffer);
  62.  
  63. //Writer.Write(3, 20, Buffer);
  64. //client.Send(Buffer);
  65. //Se Updatea arriba en donde dice 21 se le suma 12 y abajo queda en 25, el send types queda en 8 . y nada mas.! si no funciona el sendtype se updatea a 12
  66. #endregion
  67. }
  68. }
  69.  
  70. ============================================
  71. en MsgHandler / PacketHandler Agregamos:
  72. #region WindTypes
  73. case 1049://Si Usan PacketID o GamePackets o MsgTypes simplemente agregan lo siguiente: WindTypes = 1049,
  74. {
  75. WindTypes.Handle(packet);
  76. break;
  77. }
  78. #endregion
  79. =============================================
  80. en EntityTable en bool CreateEntity bajamos hasta el Switch de Clases y alli buscamos los siguientes cases y los reemplazamos:
  81. case 16:
  82. case 17:
  83. {
  84. eC.Class = 160;
  85. client.Entity.Windwalker = (byte)WindTypes.WindwalkerType.WindRanged;
  86. break;
  87. }
  88. case 18:
  89. case 19:
  90. {
  91. eC.Class = 160;
  92. client.Entity.Windwalker = (byte)WindTypes.WindwalkerType.WindMelee;
  93. break;
  94. }
  95.  
  96. en Entity si no tienen el uso de Windwalker lo agregan lo mismo para Player.cs
  97.  
  98. public byte _Windwalker;
  99. public byte Windwalker
  100. {
  101. get
  102. {
  103. SpawnPacket[304] = _Windwalker;
  104. return _Windwalker;
  105. }
  106. set
  107. {
  108. _Windwalker = value;
  109. SpawnPacket[304] = value;
  110. if (value > 0)
  111. AddFlag4(Network.GamePackets.Update.Flags4.JusticeChant);
  112. }
  113. }
  114. ===============================================
  115. en GeneralData o PacketHandler, dependiendo donde tengan la variable void LoginMessages Agregan :
  116. #region WindTypes
  117. WindTypes Windwalker = new WindTypes(true) { SendType = 15 };
  118. client.Send(Windwalker);
  119. #endregion
  120. ===============================================
  121. Con Eso Reparamos que el Windwalker no ataca en rango con 2 Fans Puesto.
  122. Cabe destacar que esta es una parte falta la de handler que eso deberia estar por defecto en todas las sourcers 6585++
RAW Paste Data