{
byte times = (byte)ServerBase.Kernel.Random.Next(1, 3);
byte ref_times = (byte)ServerBase.Kernel.Random.Next(1, 6);
for (byte i = 0; i < times; i++)
{
uint Uid = 0;
byte type = (byte)ServerBase.Kernel.Random.Next(1, 21);
switch (type)
{
case 1: Uid = 822052; break;
case 2: Uid = 822053; break;
case 3: Uid = 822054; break;
case 4: Uid = 822055; break;
case 5: Uid = 800413; break;
case 6: Uid = 800414; break;
case 7: Uid = 800014; break;
case 8: Uid = 800015; break;
case 9: Uid = 800016; break;
case 10: Uid = 800512; break;
case 11: Uid = 800613; break;
case 12: Uid = 800415; break;
case 13: Uid = 800420; break;
case 14: Uid = 800513; break;
case 15: Uid = 800017; break;
case 16: Uid = 820052; break;
case 17: Uid = 820053; break;
case 18: Uid = 820054; break;
case 19: Uid = 820055; break;
case 20: Uid = 820056; break;
case 21: Uid = 820057; break;
}
if (Uid != 0)
{
ushort X = Owner.X, Y = Owner.Y;
Game.Map Map = ServerBase.Kernel.Maps[Owner.MapID];
if (Map.SelectCoordonates(ref X, ref Y))
{
Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
floorItem.Item = new Network.GamePackets.ConquerItem(true);
floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
floorItem.Item.ID = Uid;
floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
floorItem.Item.UID = Network.GamePackets.ConquerItem.ItemUID.Next;
floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
floorItem.ItemID = Uid;
floorItem.MapID = Owner.MapID;
floorItem.MapObjType = Game.MapObjectType.Item;
floorItem.X = X;
floorItem.Y = Y;
floorItem.Type = Network.GamePackets.FloorItem.Drop;
floorItem.OnFloor = Time32.Now;
floorItem.ItemColor = floorItem.Item.Color;
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
while (Map.Npcs.ContainsKey(floorItem.UID))
floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
Map.AddFloorItem(floorItem);
SendScreenSpawn(floorItem);
}
}
}
}