#region DailySignIn case 3200: { DailySignIn signin = new DailySignIn(false); signin.Deserialize(packet); switch (signin.Type) { case DailySignIn.Action.Info: { signin.Claimed = client.SignClaim; signin.CumulativeDays = client.CumulativeDays; signin.LateSignChance = client.LateSignChance; signin.Send(client); break; } case DailySignIn.Action.SignIn: { if (!client.ContainsCumulativeDays(DateTime.Now.Day)) { client.AddCumulativeDays(DateTime.Now.Day); signin.CumulativeDays = client.CumulativeDays; signin.LateSignChance = client.LateSignChance; signin.Claimed = client.SignClaim; foreach (var prize in DailySignIn.PrizeInfos.Values) { if (prize.needDays != 1) { int days = client.GetCumulativeDaysCount(); if (days >= prize.needDays && prize.UID > client.SignClaim) { if (client.Inventory.Add(prize.prizeItemType, 0, 1)) { client.SignClaim++; signin.Claimed = client.SignClaim; signin.Send(client); } } } else client.Inventory.Add(prize.prizeItemType, 0, 1); } } DailySignIn.Reload(client); break; } case DailySignIn.Action.LateSignIn: { if (client.Entity.ConquerPoints >= 15) { for (int i = 1; i <= DateTime.Now.Day; i++) { if (!client.ContainsCumulativeDays(i)) { client.Entity.ConquerPoints -= 15; client.AddCumulativeDays(i); client.LateSignChance--; break; } } signin.CumulativeDays = client.CumulativeDays; signin.LateSignChance = client.LateSignChance; signin.Claimed = client.SignClaim; signin.Send(client); foreach (var prize in DailySignIn.PrizeInfos.Values) { if (prize.needDays != 1) { if (client.GetCumulativeDaysCount() >= prize.needDays && prize.UID > client.SignClaim) { if (client.Inventory.Add(prize.prizeItemType, 0, 1)) { client.SignClaim++; signin.Claimed = client.SignClaim; signin.Send(client); } } } else client.Inventory.Add(prize.prizeItemType, 0, 1); } } DailySignIn.Reload(client); break; } //case DailySignIn.Action.Claim: // { // signin.Claimed = client.SignClaim; // signin.Send(client); // break; // } default: PrintPacket(packet); break; } break; } #endregion