DailySignIn Packt 3200


SUBMITTED BY: DavidEid

DATE: Aug. 6, 2017, 7:04 a.m.

FORMAT: C#

SIZE: 5.8 kB

HITS: 349

  1. #region DailySignIn
  2. case 3200:
  3. {
  4. DailySignIn signin = new DailySignIn(false);
  5. signin.Deserialize(packet);
  6. switch (signin.Type)
  7. {
  8. case DailySignIn.Action.Info:
  9. {
  10. signin.Claimed = client.SignClaim;
  11. signin.CumulativeDays = client.CumulativeDays;
  12. signin.LateSignChance = client.LateSignChance;
  13. signin.Send(client);
  14. break;
  15. }
  16. case DailySignIn.Action.SignIn:
  17. {
  18. if (!client.ContainsCumulativeDays(DateTime.Now.Day))
  19. {
  20. client.AddCumulativeDays(DateTime.Now.Day);
  21. signin.CumulativeDays = client.CumulativeDays;
  22. signin.LateSignChance = client.LateSignChance;
  23. signin.Claimed = client.SignClaim;
  24. foreach (var prize in DailySignIn.PrizeInfos.Values)
  25. {
  26. if (prize.needDays != 1)
  27. {
  28. int days = client.GetCumulativeDaysCount();
  29. if (days >= prize.needDays && prize.UID > client.SignClaim)
  30. {
  31. if (client.Inventory.Add(prize.prizeItemType, 0, 1))
  32. {
  33. client.SignClaim++;
  34. signin.Claimed = client.SignClaim;
  35. signin.Send(client);
  36. }
  37. }
  38. }
  39. else
  40. client.Inventory.Add(prize.prizeItemType, 0, 1);
  41. }
  42. }
  43. DailySignIn.Reload(client);
  44. break;
  45. }
  46. case DailySignIn.Action.LateSignIn:
  47. {
  48. if (client.Entity.ConquerPoints >= 15)
  49. {
  50. for (int i = 1; i <= DateTime.Now.Day; i++)
  51. {
  52. if (!client.ContainsCumulativeDays(i))
  53. {
  54. client.Entity.ConquerPoints -= 15;
  55. client.AddCumulativeDays(i);
  56. client.LateSignChance--;
  57. break;
  58. }
  59. }
  60. signin.CumulativeDays = client.CumulativeDays;
  61. signin.LateSignChance = client.LateSignChance;
  62. signin.Claimed = client.SignClaim;
  63. signin.Send(client);
  64. foreach (var prize in DailySignIn.PrizeInfos.Values)
  65. {
  66. if (prize.needDays != 1)
  67. {
  68. if (client.GetCumulativeDaysCount() >= prize.needDays && prize.UID > client.SignClaim)
  69. {
  70. if (client.Inventory.Add(prize.prizeItemType, 0, 1))
  71. {
  72. client.SignClaim++;
  73. signin.Claimed = client.SignClaim;
  74. signin.Send(client);
  75. }
  76. }
  77. }
  78. else
  79. client.Inventory.Add(prize.prizeItemType, 0, 1);
  80. }
  81. }
  82. DailySignIn.Reload(client);
  83. break;
  84. }
  85. //case DailySignIn.Action.Claim:
  86. // {
  87. // signin.Claimed = client.SignClaim;
  88. // signin.Send(client);
  89. // break;
  90. // }
  91. default:
  92. PrintPacket(packet);
  93. break;
  94. }
  95. break;
  96. }
  97. #endregion

comments powered by Disqus