MonsterData.cs 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. using System.IO;
  2. public class ClientMonsterInfo
  3. {
  4. public int Index;
  5. public string Name = string.Empty;
  6. public string GameName = string.Empty;
  7. public Monster Image;
  8. public byte AI, Effect, ViewRange, CoolEye;
  9. public ushort Level;
  10. public byte Light;
  11. public ushort AttackSpeed, MoveSpeed;
  12. public uint Experience;
  13. public bool CanTame, CanPush, AutoRev, Undead, CanRecall;
  14. // Stats for detailed tooltip
  15. public Stats Stats;
  16. public ClientMonsterInfo()
  17. {
  18. Stats = new Stats();
  19. }
  20. public ClientMonsterInfo(BinaryReader reader)
  21. {
  22. Index = reader.ReadInt32();
  23. Name = reader.ReadString();
  24. GameName = reader.ReadString();
  25. Image = (Monster)reader.ReadUInt16();
  26. AI = reader.ReadByte();
  27. Effect = reader.ReadByte();
  28. Level = reader.ReadUInt16();
  29. ViewRange = reader.ReadByte();
  30. CoolEye = reader.ReadByte();
  31. Light = reader.ReadByte();
  32. AttackSpeed = reader.ReadUInt16();
  33. MoveSpeed = reader.ReadUInt16();
  34. Experience = reader.ReadUInt32();
  35. CanPush = reader.ReadBoolean();
  36. CanTame = reader.ReadBoolean();
  37. AutoRev = reader.ReadBoolean();
  38. Undead = reader.ReadBoolean();
  39. CanRecall = reader.ReadBoolean();
  40. // Read stats
  41. Stats = new Stats(reader);
  42. }
  43. public void Save(BinaryWriter writer)
  44. {
  45. writer.Write(Index);
  46. writer.Write(Name);
  47. writer.Write(GameName);
  48. writer.Write((ushort)Image);
  49. writer.Write(AI);
  50. writer.Write(Effect);
  51. writer.Write(Level);
  52. writer.Write(ViewRange);
  53. writer.Write(CoolEye);
  54. writer.Write(Light);
  55. writer.Write(AttackSpeed);
  56. writer.Write(MoveSpeed);
  57. writer.Write(Experience);
  58. writer.Write(CanPush);
  59. writer.Write(CanTame);
  60. writer.Write(AutoRev);
  61. writer.Write(Undead);
  62. writer.Write(CanRecall);
  63. // Write stats
  64. Stats.Save(writer);
  65. }
  66. }