#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