Register for your free account! | Forgot your password?

You last visited: Today at 19:15

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[HELP] Auto +1 Items

Discussion on [HELP] Auto +1 Items within the CO2 Private Server forum part of the Conquer Online 2 category.

Reply
 
Old   #1
 
Soulfly25's Avatar
 
elite*gold: 0
Join Date: Mar 2006
Posts: 602
Received Thanks: 69
[HELP] Auto +1 Items

Hello Mates, I just want to ask. on how to make, When u kill a monster, there will be a percent for the autoInventory +1 Items. that when u kill a monster the only thing to put in the inventory is the +1 item. anykind of items.


I was think that. Maybe this is the part we're to code it.

Code:
 Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
                    floorItem.Item = new Network.GamePackets.ConquerItem(true);
                    floorItem.Item.Color = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                    floorItem.Item.ID = (uint)OwnItemID;
                    floorItem.Item.MaximDurability = infos.Durability;
                    if (!Network.PacketHandler.IsEquipment(OwnItemID) && infos.ConquerPointsWorth == 0)
                    {
                        floorItem.Item.StackSize = 1;
                        floorItem.Item.MaxStackSize = infos.StackSize;
                    }
                    floorItem.Item.MobDropped = true;
                    floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
                    floorItem.ItemID = (uint)OwnItemID;
                    floorItem.MapID = Owner.MapID;
                    floorItem.MapObjType = Game.MapObjectType.Item;
                    floorItem.X = X;
                    floorItem.Y = Y;
                    floorItem.Owner = killer.Owner;
                    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);
Please help me how.


Thank You Mates
Soulfly25 is offline  
Old 06/05/2014, 12:15   #2
 
abdoumatrix's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 874
Received Thanks: 238
just make its plus = 1
and try
abdoumatrix is offline  
Old 06/05/2014, 14:00   #3
 
Soulfly25's Avatar
 
elite*gold: 0
Join Date: Mar 2006
Posts: 602
Received Thanks: 69
which part of it bro?
coz I was think this
floorItem.ItemID = (uint)OwnItemID;

and I don't know on how to get the rate percent.. which will be
place in the flooritem..
Soulfly25 is offline  
Old 06/05/2014, 16:26   #4
 
littlechris95's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 150
Received Thanks: 11
Try it:
littlechris95 is offline  
Old 06/06/2014, 10:49   #5
 
Soulfly25's Avatar
 
elite*gold: 0
Join Date: Mar 2006
Posts: 602
Received Thanks: 69
I try your code bro. but all my handler which is dropping and killing monster has been stop.. and not workin.
Soulfly25 is offline  
Old 06/06/2014, 16:56   #6
 
littlechris95's Avatar
 
elite*gold: 0
Join Date: Nov 2011
Posts: 150
Received Thanks: 11
Quote:
Originally Posted by Soulfly25 View Post
I try your code bro. but all my handler which is dropping and killing monster has been stop.. and not workin.
Shared your MonsteInformation class with us.
littlechris95 is offline  
Old 06/06/2014, 18:49   #7
 
abdoumatrix's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 874
Received Thanks: 238
PHP Code:
floorItem.Item = new Network.GamePackets.ConquerItem(true); 
this is the item that will be dropped edit it
ex.
floorItem.Item.plus = 1;
abdoumatrix is offline  
Old 06/07/2014, 08:21   #8
 
Soulfly25's Avatar
 
elite*gold: 0
Join Date: Mar 2006
Posts: 602
Received Thanks: 69
bro. one question: why is it only HP,MP, & the special Item, Drop in all monsters.. and the items like weapon, armor,accessories, are not dropping.

here is my full monstertable.cs

Code:
using System;
using System.Collections.Generic;
using System.IO;
using PhoenixProject.Network.GamePackets;
using PhoenixProject.ServerBase;
using PhoenixProject.Interfaces;

namespace PhoenixProject.Database
{
    public class DROP_SOULS
    {
        public static Dictionary<uint, Items_drop> Souls = new Dictionary<uint, Items_drop>();
        public static uint Count_souls = 0;
        public static uint Count_Jar = 0;

        public class Items_drop
        {
            public uint item_id;
            public string Item_denumire;
            public uint item_rand;
        }
        public class Items_drop2
        {
            public uint item_id;
            public string Item_denumire;
            public uint item_rand;
        }

        public static void LoadDrops()
        {
            /*Load Souls Drop p1 / p2 /p3 */
            string[] aFMobs = File.ReadAllLines("database\\sopuls.txt");
            for (int i = 0; i < aFMobs.Length; i++)
            {
                if (aFMobs[i][0] != '*')
                {
                    string[] Info = aFMobs[i].Split(' ');
                    Items_drop Item = new Items_drop();
                    Item.Item_denumire = "SOULS";
                    Item.item_id = uint.Parse(Info[0]);
                    Count_souls += 1;

                    Souls.Add(Count_souls, Item);
                }
            }
            Console.WriteLine("Souls loading " + Souls.Count);
        }
        public static void LoadJar()
        {
           
            string[] aFMobs = File.ReadAllLines("database\\DemonQuest.txt");
            for (int i = 0; i < aFMobs.Length; i++)
            {
                if (aFMobs[i][0] != '*')
                {
                    string[] Info = aFMobs[i].Split(' ');
                    Items_drop2 Item = new Items_drop2();
                    Item.Item_denumire = "JarItem";
                    Item.item_id = uint.Parse(Info[0]);
                    Count_Jar += 1;

                    ServerBase.Kernel.JarItem.Add(Count_Jar, Item);
                }
            }
            Console.WriteLine("Jar Gifts Loaded " + ServerBase.Kernel.JarItem.Count);
        }
    }
    public class MonsterInformation
        
    {
       
        private struct SpecialItemDrop
        {
            public int ItemID, Rate, Discriminant;
            public ulong Map;
        }
        private static List<SpecialItemDrop> SpecialItemDropList = new List<SpecialItemDrop>();
        public Game.Entity Owner;

        public uint ExcludeFromSend = 0;
        private bool LabirinthDrop = false;
        public uint ID;
        public ushort Mesh;
        public byte Level;
        public string Name;
        public uint Hitpoints;
        public ushort ViewRange;
        public ushort AttackRange;
        public int RespawnTime;
        public uint MinAttack, MaxAttack;
        public byte AttackType;
        public ushort SpellID;
        public uint InSight;
        public uint InRev;
        public uint InStig;
        public uint InBlack;
        public bool ISLava = false;
        public bool Boss;
        public Time32 LastMove;
        public int MoveSpeed;
        public int RunSpeed;
        public int OwnItemID, OwnItemRate;
        public int HPPotionID, MPPotionID;
        public int AttackSpeed;
        public int MinimumSpeed
        {
            get
            {
                int min = 10000000;
                if (min > MoveSpeed)
                    min = MoveSpeed;
                if (min > RunSpeed)
                    min = RunSpeed;
                if (min > AttackSpeed)
                    min = AttackSpeed;
                return min;
            }
        }
        public uint ExtraExperience;
        public uint MinMoneyDropAmount;
        public uint MaxMoneyDropAmount;

        public ushort BoundX, BoundY;
        public ushort BoundCX, BoundCY;

        public static SafeDictionary<byte, List<uint>> ItemDropCache = new SafeDictionary<byte, List<uint>>(3000);
        public static SafeDictionary<byte, List<uint>> SoulItemCache = new SafeDictionary<byte, List<uint>>(3000);

        public void SendScreen(byte[] buffer)
        {
            foreach (Client.GameState client in Program.Values)
            {
                if (client != null)
                {
                    if (client.Entity.UID != ExcludeFromSend)
                    {
                        if (ServerBase.Kernel.GetDistance(client.Entity.X, client.Entity.Y, Owner.X, Owner.Y) > 18)
                        {
                            continue;
                        }
                        client.Send(buffer);
                    }
                }
            }
        }
        public void SendScreen(Interfaces.IPacket buffer)
        {
            SendScreen(buffer.ToArray());
        }
        public void SendScreenSpawn(Interfaces.IMapObject _object)
        {
            foreach (Client.GameState client in Program.Values)
            {
                if (client != null)
                {
                    if (client.Entity.UID != ExcludeFromSend)
                    {
                        if (client.Map.ID == Owner.MapID)
                        {
                            if (ServerBase.Kernel.GetDistance(client.Entity.X, client.Entity.Y, Owner.X, Owner.Y) > 25)
                            {
                                continue;
                            }
                            _object.SendSpawn(client, false);

                        }
                    }
                }
            }
        }
        public void Drop(Game.Entity killer)
        {
            /*
            #region DragonSon1
            if (Name == "DragonSon1")
            {
                if (killer.Name.Contains("Guard"))
                {
                    return;
                }
                killer.Teleport(1596, 130, 130);
                PhoenixProject.Network.PacketHandler.WorldMessage("" + killer.Name + " Has Killed First DragonSonAnd Will Make DragonMon Angry !");
                Time32 Now = Time32.Now;
                foreach (Client.GameState Chaar in ServerBase.Kernel.GamePool.Values)
                {
                    if (Chaar != null)
                    {
                        if (Chaar.Entity.MapID == 1595)
                        {
                            Chaar.Entity.Teleport(1596, 130, 130);
                        }
                    }
                }
            }
            #endregion
            #region DragonSon2
            if (Name == "DragonSon2")
            {
                if (killer.Name.Contains("Guard"))
                {
                    return;
                }
                killer.Teleport(1597, 130, 130);
                PhoenixProject.Network.PacketHandler.WorldMessage("" + killer.Name + " Has Killed 2nd DragonSonAnd Will Make DragonMon Angry !");
                Time32 Now = Time32.Now;
                foreach (Client.GameState Chaar in ServerBase.Kernel.GamePool.Values)
                {
                    if (Chaar != null)
                    {
                        if (Chaar.Entity.MapID == 1596)
                        {
                            Chaar.Entity.Teleport(1597, 130, 130);
                        }
                    }
                }
            }
            #endregion
            #region DragonSon3
            if (Name == "DragonSon3")
            {
                if (killer.Name.Contains("Guard"))
                {
                    return;
                }
                killer.Teleport(1598, 130, 130);
                PhoenixProject.Network.PacketHandler.WorldMessage("" + killer.Name + " Has Killed 3rd DragonSonAnd Will Make DragonMon Angry !");
                Time32 Now = Time32.Now;
                foreach (Client.GameState Chaar in ServerBase.Kernel.GamePool.Values)
                {
                    if (Chaar != null)
                    {
                        if (Chaar.Entity.MapID == 1597)
                        {
                            Chaar.Entity.Teleport(1598, 130, 130);
                        }
                    }
                }
            }
            #endregion
            #region DragonSon4
            if (Name == "DragonSon4")
            {
                if (killer.Name.Contains("Guard"))
                {
                    return;
                }
                killer.Teleport(1599, 130, 130);
                PhoenixProject.Network.PacketHandler.WorldMessage("" + killer.Name + " Has Killed 4th DragonSonAnd Make DragonMon Angry !");
                Time32 Now = Time32.Now;
                foreach (Client.GameState Chaar in ServerBase.Kernel.GamePool.Values)
                {
                    if (Chaar != null)
                    {
                        if (Chaar.Entity.MapID == 1598)
                        {
                            Chaar.Entity.Teleport(1599, 130, 130);
                        }
                    }
                }
            }
            #endregion
            #region DragonMom
            if (Name == "TeratoDragon" && killer.MapID == 1599)
            {
                if (killer.Name.Contains("Guard"))
                {
                    return;
                }
                killer.ConquerPoints += Database.rates.DragonSon;
                killer.Teleport(1002, 400, 400);
                PhoenixProject.Network.PacketHandler.WorldMessage("" + killer.Name + " Has Killed The DragonMon "+ Database.rates.DragonSon + " CPs ");
                Time32 Now = Time32.Now;
                foreach (Client.GameState Chaar in ServerBase.Kernel.GamePool.Values)
                {
                    if (Chaar != null)
                    {
                        if (Chaar.Entity.MapID == 1599)
                        {
                            Chaar.Entity.Teleport(1002, 400, 400);
                        }
                    }
                }
            }
            #endregion 
            */
            //string cpsMethod = "" + Level + "" + PhoenixProject.Database.rates.cpsmethod + "" + PhoenixProject.Database.rates.CpsMethodNum + "";
 
           #region CPs  10

                /*if (ServerBase.Kernel.Rate(4))
                {

                    killer.ConquerPoints += 60000;
                    killer.Owner.Send(new Network.GamePackets.Message("You have found 60k Cps!", System.Drawing.Color.Yellow, 2005));
                }*/

            #endregion

            if (killer.Name.Contains("Guard"))
            {
                goto kimoz;
            }
            if (Owner.Name.Contains("Guard"))
            {

                return;
            }
            
            if (Name == "Naga")
            {
                {
                    killer.DisKO += 1;
                    killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Azure, Message.Monster));
                   // return;
                }
            }

            if (ID == killer.kilid)
            {
                if (killer.Owner.Inventory.Contains(750000, 1))
                {

                    killer.Status4 += 1;
                }
            }
            if (ID == 83)
            {
                if (killer.kilid == 58)
                {
                    if (killer.Owner.Inventory.Contains(750000, 1))
                    {

                        killer.Status4 += 1;
                    }
                }
            }
            if (ID == 8319)
            {
                if (killer.kilid == 58)
                {
                    if (killer.Owner.Inventory.Contains(750000, 1))
                    {

                        killer.Status4 += 1;
                    }
                }
            }
           
            

            if (Name == "ThrillingSpook")
            {
                {
                    killer.ConquerPoints += Database.rates.ThrillingSpook;
                    PhoenixProject.ServerBase.Kernel.SendWorldMessage(new PhoenixProject.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Killed ThrillingSpook and got " + Database.rates.ThrillingSpook + " cps!", System.Drawing.Color.IndianRed, 2600), PhoenixProject.ServerBase.Kernel.GamePool.Values);
                   // return;
                }
            }
            if (Name == "LavaBeast")
            {
                {
                    killer.SubClasses.StudyPoints += 50;
                    killer.Owner.Send(new Message("Congratulations You have got 50 StudyPoints!", System.Drawing.Color.Red, Network.GamePackets.Message.study));
                    PhoenixProject.ServerBase.Kernel.SendWorldMessage(new PhoenixProject.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Killed LavaBeast and got 50 StudyPoints!", System.Drawing.Color.White, 2600), PhoenixProject.ServerBase.Kernel.GamePool.Values);
                    Data data = new Data(true);
                    data.ID = Data.OpenCustom;
                    data.UID =  killer.Owner.Entity.UID;
                    data.TimeStamp = Time32.Now;
                    data.dwParam = 3179;
                    data.wParam1 =  killer.Owner.Entity.X;
                    data.wParam2 =  killer.Owner.Entity.Y;
                    killer.Owner.Send(data);
                   // return;
                }
            }
            if (Name == "Temptress")
            {
                {
                    killer.DisKO += 1;
                    killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Azure, Message.Monster));
                   // return;
                }
            }
            if (Name == "Centicore")
            {
                {
                    killer.DisKO += 1;
                    killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Azure, Message.Monster));
                  //  return;
                }
            }
            if (Name == "DemonCave[1]")
            {
                {
                    killer.DemonCave1 += 1;
                    killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DemonCave1 + " Stage[1] Points", System.Drawing.Color.Azure, Message.Monster));
                  //  return;
                }
            }
            if (Name == "DemonCave[2]")
            {
                {
                    killer.DemonCave2 += 1;
                    killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DemonCave2 + " Stage[2] Points", System.Drawing.Color.Azure, Message.Monster));
                   // return;
                }
            }
            if (Name == "DemonCave[3]")
            {
                {
                    killer.DemonCave3 += 1;
                    killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DemonCave3 + " Stage[3] Points", System.Drawing.Color.Azure, Message.Monster));
                   // return;
                }
            }
            if (Name == "HellTroll")
            {
                {
                    killer.DisKO += 3;
                    killer.Owner.Send(new Message("Congratulations! You have got 3 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Azure, Message.Monster));
                  //  return;
                }
            }
            if (Name == "SnowBanshee")
            {
                {
                   
                    killer.ConquerPoints += Database.rates.SnowBanshe;
                    killer.Owner.Send(new Message("Congratulations! " + killer.Name + " has defeated SnowBanshee in BirdIsland and got PermanentStone and " + Database.rates.SnowBanshe + " CPS!", System.Drawing.Color.Azure, Message.Monster));
                   // return;
                }
            }
            if (Name == "SwordMaster")
            {
                {
                    uint randsouls = (uint)PhoenixProject.ServerBase.Kernel.Random.Next(1, (int)Database.DROP_SOULS.Count_souls);
                    //Database.Monster.Souls[randsouls].item_id
                    uint ItemID = Database.DROP_SOULS.Souls[randsouls].item_id;
                    var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
                    if (infos == null) return;
                    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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                        floorItem.Item.ID = ItemID;
                        floorItem.Item.MaximDurability = infos.Durability;

                        floorItem.Item.Durability = (ushort)(ServerBase.Kernel.Random.Next(infos.Durability / 10));

                        if (!Network.PacketHandler.IsEquipment(ItemID) && infos.ConquerPointsWorth == 0)
                        {
                            floorItem.Item.StackSize = 1;
                            floorItem.Item.MaxStackSize = infos.StackSize;
                        }
                        floorItem.Item.MobDropped = true;
                        floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
                        floorItem.ItemID = ItemID;
                        floorItem.MapID = Owner.MapID;
                        floorItem.MapObjType = Game.MapObjectType.Item;
                        floorItem.X = X;
                        floorItem.Y = Y;
                        floorItem.Owner = killer.Owner;
                        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);
                    }
                    killer.Owner.Send(new Message("Congratulations! " + killer.Name + " has defeated SwordMaster in His/Her House and Dropped " + Database.ConquerItemInformation.BaseInformations[ItemID].Name + " !", System.Drawing.Color.Azure, Message.Monster));
                   // return;
                }
            }
            if (Name == "GoldenOctopus")
            {
                {
                    killer.ConquerPoints += Database.rates.GoldenOctopus;
                    killer.Owner.Send(new Message(" Congratulations! " + killer.Name + " has defeated GoldenOctopus in PirateSea Map and got "+ Database.rates.GoldenOctopus + " CPS! ", System.Drawing.Color.Azure, Message.Monster));
                  ///  return;
                }
            }
            if (Name == "TeratoDragon")
            {
                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, 50);
                    switch (type)
                    {
                        case 1:
                            Uid = 800320;
                            break;

                        case 2:
                            Uid = 822054;
                            break;

                        case 3:
                            Uid = 800110;
                            break;

                        case 4:
                            Uid = 820056;
                            break;

                        case 5:
                            Uid = 822056;
                            break;

                        case 6:
                            Uid = 822057;
                            break;

                        case 7:
                            Uid = 822053;
                            break;

                        case 8:
                            Uid = 800019;
                            break;

                        case 9:
                            Uid = 800050;
                            break;

                        case 10:
                            Uid = 800015;
                            break;

                        case 11:
                            Uid = 800090;
                            break;

                        case 12:
                            Uid = 800513;
                            break;

                        case 13:
                            Uid = 800017;
                            break;

                        case 14:
                            Uid = 800071;
                            break;

                        case 15:
                            Uid = 800016;
                            break;

                        case 16:
                            Uid = 823051;
                            break;

                        case 17:
                            Uid = 800130;
                            break;

                        case 18:
                            Uid = 800140;
                            break;

                        case 19:
                            Uid = 800141;
                            break;

                        case 20:
                            Uid = 800200;
                            break;

                        case 21:
                            Uid = 800310;
                            break;

                        case 22:
                            Uid = 800014;
                            break;

                        case 23:
                            Uid = 800214;
                            break;

                        case 24:
                            Uid = 800230;
                            break;

                        case 25:
                            Uid = 800414;
                            break;

                        case 26:
                            Uid = 822052;
                            break;

                        case 27:
                            Uid = 800420;
                            break;

                        case 28:
                            Uid = 800401;
                            break;

                        case 29:
                            Uid = 800512;
                            break;

                        case 30:
                            Uid = 823043;
                            break;

                        case 31:
                            Uid = 800514;
                            break;

                        case 32:
                            Uid = 800520;
                            break;

                        case 33:
                            Uid = 800521;
                            break;

                        case 34:
                            Uid = 800613;
                            break;

                        case 35:
                            Uid = 800614;
                            break;

                        case 36:
                            Uid = 800615;
                            break;

                        case 37:
                            Uid = 824001;
                            break;

                        case 38:
                            Uid = 800617;
                            break;

                        case 39:
                            Uid = 800720;
                            break;

                        case 40:
                            Uid = 800721;
                            break;

                        case 41:
                            Uid = 800070;
                            break;

                        case 42:
                            Uid = 800723;
                            break;

                        case 43:
                            Uid = 800724;
                            break;

                        case 44:
                            Uid = 800018;
                            break;

                        case 45:
                            Uid = 820001;
                            break;

                        case 46:
                            Uid = 820052;
                            break;

                        case 47:
                            Uid = 820053;
                            break;

                        case 48:
                            Uid = 820054;
                            break;

                        case 49:
                            Uid = 820055;
                            break;

                        case 50:
                            Uid = 800722;
                            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))
                        {
                            killer.Owner.Inventory.Add(Uid, 0, 1);
                            PhoenixProject.ServerBase.Kernel.SendWorldMessage(new PhoenixProject.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + " and "+Database.rates.TeratoDragon+" CPS!", System.Drawing.Color.White, 2600), PhoenixProject.ServerBase.Kernel.GamePool.Values);
                            killer.ConquerPoints += Database.rates.TeratoDragon;
                           // return;
                        }
                    }
                }
            }
       
            if (Name == "Demon")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
                    switch (type)
                    {
                        case 1:
                            Uid = 720657;
                            break;

                        case 2:
                            Uid = 720656;
                            break;

                        case 3:
                            Uid = 720655;
                            break;
                       case 4:
                            Uid = 720658;
                            break;

                       case 5:
                            Uid = 720659;
                            break;

                       case 6:
                            Uid = 720668;
                            break;

                       case 7:
                            Uid = 720669;
                            break;

                       case 8:
                            Uid = 720670;
                            break;

                       case 9:
                            Uid = 720657;
                            break;

                       case 10:
                            Uid = 720657;
                            break;

                       case 11:
                            Uid = 720657;
                            break;

                       case 12:
                            Uid = 720657;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }

            if (Name == "AncientDemon")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
                    switch (type)
                    {
                        case 1:
                            Uid = 720663;
                            break;

                        case 2:
                            Uid = 720664;
                            break;

                        case 3:
                            Uid = 720665;
                            break;
                        case 4:
                            Uid = 720666;
                            break;

                        case 5:
                            Uid = 720659;
                            break;

                        case 6:
                            Uid = 720668;
                            break;

                        case 7:
                            Uid = 720669;
                            break;

                        case 8:
                            Uid = 720670;
                            break;

                        case 9:
                            Uid = 720663;
                            break;

                        case 10:
                            Uid = 720663;
                            break;

                        case 11:
                            Uid = 720663;
                            break;

                        case 12:
                            Uid = 720663;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }

            if (Name == "FloodDemon")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
                    switch (type)
                    {
                        case 1:
                            Uid = 720657;
                            break;

                        case 2:
                            Uid = 720663;
                            break;

                        case 3:
                            Uid = 720664;
                            break;
                        case 4:
                            Uid = 720659;
                            break;

                        case 5:
                            Uid = 720667;
                            break;

                        case 6:
                            Uid = 720668;
                            break;

                        case 7:
                            Uid = 720669;
                            break;

                        case 8:
                            Uid = 720670;
                            break;

                        case 9:
                            Uid = 720657;
                            break;

                        case 10:
                            Uid = 720657;
                            break;

                        case 11:
                            Uid = 720657;
                            break;

                        case 12:
                            Uid = 720657;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }

            if (Name == "HeavenDemon")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
                    switch (type)
                    {
                        case 1:
                            Uid = 720664;
                            break;

                        case 2:
                            Uid = 720665;
                            break;

                        case 3:
                            Uid = 720659;
                            break;
                        case 4:
                            Uid = 720666;
                            break;

                        case 5:
                            Uid = 720653;
                            break;

                        case 6:
                            Uid = 720668;
                            break;

                        case 7:
                            Uid = 720669;
                            break;

                        case 8:
                            Uid = 720670;
                            break;

                        case 9:
                            Uid = 720664;
                            break;

                        case 10:
                            Uid = 720664;
                            break;

                        case 11:
                            Uid = 720664;
                            break;

                        case 12:
                            Uid = 720664;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }

            if (Name == "ChaosDemon")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 15);
                    switch (type)
                    {
                        case 1:
                            Uid = 720659;
                            break;

                        case 2:
                            Uid = 720665;
                            break;

                        case 3:
                            Uid = 720666;
                            break;
                        case 4:
                            Uid = 720667;
                            break;

                        case 5:
                            Uid = 720654;
                            break;

                        case 6:
                            Uid = 720668;
                            break;

                        case 7:
                            Uid = 720669;
                            break;

                        case 8:
                            Uid = 720670;
                            break;

                        case 9:
                            Uid = 720659;
                            break;

                        case 10:
                            Uid = 720659;
                            break;

                        case 11:
                            Uid = 720659;
                            break;

                        case 12:
                            Uid = 720659;
                            break;

                        case 13:
                            Uid = 720659;
                            break;

                        case 14:
                            Uid = 720659;
                            break;

                        case 15:
                            Uid = 720659;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }

            #region Level Monster
            #region 1 - 30
            if (Name == "Pheasant")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000001;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #region 30 - 40
            if (Name == "Poltergeist")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000002;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }

            #endregion
            #region 40 - 50
            if (Name == "Macaque")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000003;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #region 50 - 60
            if (Name == "ThunderApe")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000004;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion

            #region 60 - 70
            if (Name == "SnakeMonster")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000005;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #region 70 - 80
            if (Name == "HillMonster")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000006;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #region 80 - 95
            if (Name == "BladeGhost")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000007;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #region 95 - 105
            if (Name == "Hawking")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000008;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #region 105 - 110
            if (Name == "BloodyBat")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000009;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #region 110 - 120
            if (Name == "BullMonster")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000010;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #region 120 - 130
            if (Name == "RedDevilL117")
            {
                {
                    uint Uid = 0;
                    byte type = (byte)ServerBase.Kernel.Random.Next(1, 1);
                    switch (type)
                    {
                        case 1:
                            Uid = 10000011;
                            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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = Uid;
                            floorItem.Item.MobDropped = true;
                            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.Owner = killer.Owner;
                            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);
                        }
                    }
                }
            }
            #endregion
            #endregion
            

            kimoz:

            byte morepercent = 0;
            byte lessrate = 0;
            if (killer.VIPLevel > 0)
                morepercent = (byte)(killer.VIPLevel * 5);
            if (killer.Level <= 10 && killer.MapID == 1002)
                morepercent += 100;
            if (killer.VIPLevel != 6 && killer.Class >= 40 && killer.Class <= 45)
                lessrate = 3;
            if (killer.VIPLevel != 6 && killer.Level >= 132 && killer.ContainsFlag(Network.GamePackets.Update.Flags.ShurikenVortex))
                lessrate = 3;


            if (ServerBase.Kernel.Rate(ServerBase.Constants.MoneyDropRate - lessrate + morepercent))
            {

                uint amount = (uint)ServerBase.Kernel.Random.Next(1000, 5000);
               // amount *= ServerBase.Constants.MoneyDropMultiple;

                if (amount > 1000000)
                    amount = 5000;

                if (amount == 0)
                    return;
               /* if (killer.VIPLevel > 0)
                {
                    int percent = 10;
                    percent += killer.VIPLevel * 5 - 5;
                    amount += (uint)(amount * percent / 100);
                }
                if (killer.VIPLevel > 4)
                {
                    killer.Money += amount;
                    goto next;
                }*/
                uint ItemID = Network.PacketHandler.MoneyItemID(amount);
                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.ValueType = Network.GamePackets.FloorItem.FloorValueType.Money;
                    floorItem.Value = amount;
                    floorItem.ItemID = ItemID;
                    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.UID = Network.GamePackets.FloorItem.FloorUID.Next;
                    while (Map.Npcs.ContainsKey(floorItem.UID))
                        floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
                    Map.AddFloorItem(floorItem);
                    SendScreenSpawn(floorItem);
                }
            }
       // next:
                if (ServerBase.Kernel.Rate(999999))
                {
                    killer.ConquerPoints += 5000;
                    killer.Owner.Send(new Network.GamePackets.Message("You have found 15k Cps!", System.Drawing.Color.Yellow, 2005));
                }

            if (ServerBase.Kernel.Rate(ServerBase.Constants.ConquerPointsDropRate - lessrate))
            {
                // uint amount = (uint)ServerBase.Kernel.Random.Next((int)((Level / 4) * ServerBase.Constants.ConquerPointsDropMultiple), (int)((Level / 2) * ServerBase.Constants.ConquerPointsDropMultiple));
                // if (amount == 0)
                //     amount = 2;
                // if (amount > 300)
                //      amount = 10;
                //  amount /= 2;

                uint amount = (uint)Level /PhoenixProject.Database.rates.CpsMethodNum;
                if (amount < PhoenixProject.Database.rates.minicps)
                    amount = PhoenixProject.Database.rates.minicps;
                if (amount > PhoenixProject.Database.rates.maxcps)
                    amount = PhoenixProject.Database.rates.maxcps;
                // if (killer.VIPLevel > 4)
                // {
                if (killer != null && killer.Owner != null)
                {
                    if (killer.Owner.Map.BaseID == 1354)
                    {
                        amount = PhoenixProject.Database.rates.maxcps;
                    }
                }
                if (killer != null && killer.Owner != null)
                {
                    killer.Owner.Send(ServerBase.Constants.PickupConquerPoints(amount));
                    killer.ConquerPoints += 60000;
                    killer.Owner.Send(new Network.GamePackets.Message("You received " + amount + " ConquerPoints! for Kill " + Name + "", System.Drawing.Color.Red, Network.GamePackets.Message.TopLeft).ToArray());
                   // return;
                }
                //  }

                #region CPBag

                //uint ItemID = 729911;
                //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.ValueType = Network.GamePackets.FloorItem.FloorValueType.ConquerPoints;
                //    floorItem.Value = amount;
                //    floorItem.ItemID = ItemID;
                //    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.UID = Network.GamePackets.FloorItem.FloorUID.Next;
                //    while (Map.Npcs.ContainsKey(floorItem.UID))
                //        floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
                //    Map.AddFloorItem(floorItem);
                //    SendScreenSpawn(floorItem);
                //}
                #endregion
            }
            else if (ServerBase.Kernel.Rate(OwnItemRate + morepercent) && OwnItemID != 0)
            {
                if (killer.VIPLevel > 4)
                {
                    if (killer.Owner.Inventory.Count <= 39)
                    {
                        killer.Owner.Inventory.Add((uint)OwnItemID, 0, 1);
                        return;
                    }
                }
                var infos = Database.ConquerItemInformation.BaseInformations[(uint)OwnItemID];
                ushort X = Owner.X, Y = Owner.Y;
                Game.Map Map = 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 = (PhoenixProject.Game.Enums.Color)Kernel.Random.Next(4, 8);
                    floorItem.Item.ID = (uint)OwnItemID;
                    floorItem.Item.MaximDurability = infos.Durability;
                    floorItem.Item.MobDropped = true;
                    if (!Network.PacketHandler.IsEquipment(OwnItemID) && infos.ConquerPointsWorth == 0)
                    {
                        floorItem.Item.StackSize = 1;
                        floorItem.Item.MaxStackSize = infos.StackSize;
                    }
                    floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
                    floorItem.ItemID = (uint)OwnItemID;
                    floorItem.MapID = Owner.MapID;
                    floorItem.MapObjType = Game.MapObjectType.Item;
                    floorItem.X = X;
                    floorItem.Y = Y;
                    floorItem.Owner = killer.Owner;
                    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);
                }
            }
            else if (ServerBase.Kernel.Rate(ServerBase.Constants.ItemDropRate + morepercent))
            {
                int quality = 3;
                for (int count = 0; count < 5; count++)
                {
                    int rate = int.Parse(ServerBase.Constants.ItemDropQualityRates[count]);
                    if (ServerBase.Kernel.Rate(rate, 1000))
                    {
                        quality = count + 5;
                        break;
                    }
                }
                int times = 50;
                byte lvl = Owner.Level;
                if (LabirinthDrop)
                    lvl = 20;
                List<uint> itemdroplist = ItemDropCache[lvl];
                if (Boss)
                    itemdroplist = SoulItemCache[lvl];
            retry:
                times--;
                int generateItemId = ServerBase.Kernel.Random.Next(itemdroplist.Count);
                uint id = itemdroplist[generateItemId];
                if (!Boss)
                {
                    if (Database.ConquerItemInformation.BaseInformations[id].Level > 121 && times > 0)
                        goto retry;
                    id = (id / 10) * 10 + (uint)quality;
                }
                if (!Database.ConquerItemInformation.BaseInformations.ContainsKey(id))
                {
                    id = itemdroplist[generateItemId];
                }
                if (killer.VIPLevel > 0)
                {
                    if (killer.Owner.Inventory.Count <= 39)
                    {
                        if (id % 10 > 7)
                        {
                            killer.Owner.Inventory.Add(id, 0, 1);
                            return;
                        }
                    }
                }
                var infos = Database.ConquerItemInformation.BaseInformations[id];
                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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                    floorItem.Item.ID = id;
                    floorItem.Item.MaximDurability = infos.Durability;
                    floorItem.Item.MobDropped = true;
                    if (quality >= 6)
                        floorItem.Item.Durability = (ushort)(infos.Durability - ServerBase.Kernel.Random.Next(500));
                    else
                        floorItem.Item.Durability = (ushort)(ServerBase.Kernel.Random.Next(infos.Durability / 10));
                    if (!Network.PacketHandler.IsEquipment(id) && infos.ConquerPointsWorth == 0)
                    {
                        floorItem.Item.StackSize = 1;
                        floorItem.Item.MaxStackSize = infos.StackSize;
                    }
                    floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;                  
                    floorItem.ItemID = id;
                    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.Owner = killer.Owner;
                    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);
                }
            }
            else if (ServerBase.Kernel.Rate(20 + morepercent))
            {
                if (HPPotionID == 0)
                    return;
                var infos = Database.ConquerItemInformation.BaseInformations[(uint)HPPotionID];
                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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                    floorItem.Item.ID = (uint)HPPotionID;
                    floorItem.Item.MobDropped = true;
                    floorItem.Item.MaximDurability = infos.Durability;
                    floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
                    if (!Network.PacketHandler.IsEquipment(HPPotionID))
                    {
                        floorItem.Item.StackSize = 1;
                        floorItem.Item.MaxStackSize = infos.StackSize;
                    }
                    floorItem.ItemID = (uint)HPPotionID;
                    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.Owner = killer.Owner;
                    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);
                }
            }
            else if (ServerBase.Kernel.Rate(20 + morepercent))
            {
                if (MPPotionID == 0)
                    return;
                var infos = Database.ConquerItemInformation.BaseInformations[(uint)MPPotionID];
                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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                    floorItem.Item.ID = (uint)MPPotionID;
                    floorItem.Item.MaximDurability = infos.Durability;
                    floorItem.Item.MobDropped = true;
                    floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
                    if (!Network.PacketHandler.IsEquipment(MPPotionID))
                    {
                        floorItem.Item.StackSize = 1;
                        floorItem.Item.MaxStackSize = infos.StackSize;
                    }
                    floorItem.ItemID = (uint)MPPotionID;
                    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.Owner = killer.Owner;
                    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);
                }
            }
            else
            {
                foreach (SpecialItemDrop sitem in SpecialItemDropList)
                {
                    if (sitem.Map != 0 && Owner.MapID != sitem.Map)
                        continue;
                    if (ServerBase.Kernel.Rate(sitem.Rate + morepercent, sitem.Discriminant))
                    {
                        if (killer.VIPLevel > 6)
                        {
                            if (killer.Owner.Inventory.Count <= 39)
                            {
                                killer.Owner.Inventory.Add((uint)sitem.ItemID, 0, 1);
                                return;
                            }
                        }
                        var infos = Database.ConquerItemInformation.BaseInformations[(uint)sitem.ItemID];
                        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 = (PhoenixProject.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
                            floorItem.Item.ID = (uint)sitem.ItemID;
                            floorItem.Item.MaximDurability = infos.Durability;
                            floorItem.Item.MobDropped = true;
                            if (!Network.PacketHandler.IsEquipment(sitem.ItemID) && infos.ConquerPointsWorth == 0)
                            {
                                floorItem.Item.StackSize = 1;
                                floorItem.Item.MaxStackSize = infos.StackSize;
                            }
                            floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
                            floorItem.ItemID = (uint)sitem.ItemID;
                            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.Owner = killer.Owner;
                            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);
                            break;
                        }
                    }
                }
            }
        }

        public static SafeDictionary<uint, MonsterInformation> MonsterInfos = new SafeDictionary<uint, MonsterInformation>(8000);

        public static void Load()
        {
            MySqlCommand cmd = new MySqlCommand(MySqlCommandType.SELECT);
            cmd.Select("specialdrops");
            PhoenixProject.Database.MySqlReader rdr = new PhoenixProject.Database.MySqlReader(cmd);
            while (rdr.Read())
            {
                SpecialItemDrop sitem = new SpecialItemDrop();
                sitem.ItemID = rdr.ReadInt32("itemid");
                sitem.Rate = rdr.ReadInt32("rate");
                sitem.Discriminant = rdr.ReadInt32("discriminant");
                sitem.Map = rdr.ReadUInt64("map");
                SpecialItemDropList.Add(sitem);
            }
            rdr.Close();
            rdr.Dispose();
            MySqlCommand command = new MySqlCommand(MySqlCommandType.SELECT);
            command.Select("monsterinfos");
            PhoenixProject.Database.MySqlReader reader = new PhoenixProject.Database.MySqlReader(command);
            while (reader.Read())
            {
                MonsterInformation mf = new MonsterInformation();
                mf.ID = reader.ReadUInt32("id");
                mf.Name = reader.ReadString("name");
                mf.Mesh = reader.ReadUInt16("lookface");
                mf.Level = reader.ReadByte("level");
                mf.Hitpoints = reader.ReadUInt32("life");
                ServerBase.IniFile IniFile = new ServerBase.IniFile(ServerBase.Constants.MonstersPath);
                if (IniFile.ReadString(mf.Name, "MaxLife") != "")
                {
                    if (uint.Parse(IniFile.ReadString(mf.Name, "MaxLife")) != 0)
                    {
                        mf.Hitpoints = uint.Parse(IniFile.ReadString(mf.Name, "MaxLife"));
                        byte boss = byte.Parse(IniFile.ReadString(mf.Name, "Boss"));
                        if (boss == 0)
                            mf.Boss = false;
                        else mf.Boss = true;
                    }
                }
                mf.ViewRange = reader.ReadUInt16("view_range");
                mf.AttackRange = reader.ReadUInt16("attack_range");
                mf.AttackType = reader.ReadByte("attack_user");
                mf.MinAttack = reader.ReadUInt32("attack_min");
                mf.MaxAttack = reader.ReadUInt32("attack_max");
                mf.SpellID = reader.ReadUInt16("magic_type");
                mf.MoveSpeed = reader.ReadInt32("move_speed");
                mf.RunSpeed = reader.ReadInt32("run_speed");
                mf.OwnItemID = reader.ReadInt32("ownitem");
                mf.HPPotionID = reader.ReadInt32("drop_hp");
                mf.MPPotionID = reader.ReadInt32("drop_mp");
                mf.OwnItemRate = reader.ReadInt32("ownitemrate");
                mf.AttackSpeed = reader.ReadInt32("attack_speed");
                mf.ExtraExperience = reader.ReadUInt32("extra_exp");
                uint MoneyDropAmount = reader.ReadUInt16("level");
                if (MoneyDropAmount != 0)
                {
                    mf.MaxMoneyDropAmount = MoneyDropAmount * 25;
                    if (mf.MaxMoneyDropAmount != 0)
                        mf.MinMoneyDropAmount = 1;
                }
                if (mf.MoveSpeed <= 500)
                    mf.MoveSpeed += 500;
                if (mf.AttackSpeed <= 500)
                    mf.AttackSpeed += 500;
                MonsterInfos.Add(mf.ID, mf);
                byte lvl = mf.Level;
                if (mf.Name == "Slinger" ||
                    mf.Name == "GoldGhost" ||
                    mf.Name == "AgileRat" ||
                    mf.Name == "Bladeling" ||
                    mf.Name == "BlueBird" ||
                    mf.Name == "BlueFiend" ||
                    mf.Name == "MinotaurL120")
                {
                    mf.LabirinthDrop = true;
                    lvl = 20;
                }
                if (!ItemDropCache.ContainsKey(lvl))
                {
                    List<uint> itemdroplist = new List<uint>();
                    foreach (ConquerItemBaseInformation itemInfo in ConquerItemInformation.BaseInformations.Values)
                    {

                        if (itemInfo.ID >= 800000 && itemInfo.ID <= 824014)
                            continue;
                        ushort position = Network.PacketHandler.ItemPosition(itemInfo.ID);
                        if (Network.PacketHandler.IsArrow(itemInfo.ID) || itemInfo.Level == 0 || itemInfo.Level > 121)
                            continue;
                        if (position < 9 && position != 7)
                        {
                            if (itemInfo.Level == 100)
                                if (itemInfo.Name.Contains("Dress"))
                                    continue;
                            if (itemInfo.Level > 121)
                                continue;
                            int diff = (int)lvl - (int)itemInfo.Level;
                            if (!(diff > 10 || diff < -10))
                            {
                                itemdroplist.Add(itemInfo.ID);
                            }
                        }
                        if (position == 10 || position == 11 && lvl >= 70)
                            itemdroplist.Add(itemInfo.ID);
                    }
                    ItemDropCache.Add(lvl, itemdroplist);
                }
                if (mf.Boss)
                {
                    List<uint> itemdroplist = new List<uint>();
                    foreach (ConquerItemBaseInformation itemInfo in ConquerItemInformation.BaseInformations.Values)
                    {
                        if (itemInfo.ID >= 800000 && itemInfo.ID <= 824014)
                        {
                            if (itemInfo.PurificationLevel <= 3)
                            {
                                int diff = (int)mf.Level - (int)itemInfo.Level;
                                if (!(diff > 10 || diff < -10))
                                {
                                    itemdroplist.Add(itemInfo.ID);
                                }
                            }
                        }
                    }
                    SoulItemCache.Add(lvl, itemdroplist);
                }
            }

            reader.Close();
            reader.Dispose();
            Console.WriteLine("Monster information loaded.");
            Console.WriteLine("Monster drops generated.");
        }

        public MonsterInformation Copy()
        {
            MonsterInformation mf = new MonsterInformation();
            mf.ID = this.ID;
            mf.Name = this.Name;
            mf.Mesh = this.Mesh;
            mf.Level = this.Level;
            mf.Hitpoints = this.Hitpoints;
            mf.ViewRange = this.ViewRange;
            mf.AttackRange = this.AttackRange;
            mf.AttackType = this.AttackType;
            mf.MinAttack = this.MinAttack;
            mf.MaxAttack = this.MaxAttack;
            mf.SpellID = this.SpellID;
            mf.MoveSpeed = this.MoveSpeed;
            mf.RunSpeed = this.RunSpeed;
            mf.AttackSpeed = this.AttackSpeed;
            mf.BoundX = this.BoundX;
            mf.BoundY = this.BoundY;
            mf.BoundCX = this.BoundCX;
            mf.BoundCY = this.BoundCY;
            mf.RespawnTime = this.RespawnTime;
            mf.ExtraExperience = this.ExtraExperience;
            mf.MaxMoneyDropAmount = this.MaxMoneyDropAmount;
            mf.MinMoneyDropAmount = this.MinMoneyDropAmount;
            mf.OwnItemID = this.OwnItemID;
            mf.HPPotionID = this.HPPotionID;
            mf.MPPotionID = this.MPPotionID;
            mf.OwnItemRate = this.OwnItemRate;
            mf.LabirinthDrop = this.LabirinthDrop;
            mf.Boss = this.Boss;
            return mf;
        }
    }
}
Soulfly25 is offline  
Old 06/07/2014, 13:39   #9
 
abdoumatrix's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 874
Received Thanks: 238
just breakpoint the first part of the drop code and trace the codes with F11
that is much better than we trace it with own eyes


use it, it is very usefull.
abdoumatrix is offline  
Old 06/23/2014, 17:25   #10
 
Soulfly25's Avatar
 
elite*gold: 0
Join Date: Mar 2006
Posts: 602
Received Thanks: 69
hmm. anyone have another idea?
Soulfly25 is offline  
Reply


Similar Threads Similar Threads
Need offset auto update for auto pickup DIL and items
11/23/2012 - Dekaron - 2 Replies
As the title says. I need a script that can automatically update the offset for Auto DIL pickup and Auto item pickup. Has anyone got this script and if so. could you please send it to me via PM, Thanks, ~ SpaZ ~
Shaiya MultiBot v1.6#Auto potion,auto collection,auto stroke,auto skill
06/01/2012 - Shaiya Hacks, Bots, Cheats & Exploits - 12 Replies
http://d1205.hizliresim.com/x/5/5bjkl.jpg Hello everyone friends. I took off and I wanted to share the new version of Hilemizin. Other editions, a new difference: * Layout option 2.Skill. One trick from Image; http://c1205.hizliresim.com/x/4/59sgl.jpg Use the same fashion as yet. Slot {1} / Flat Beat Flat Beat Talent = 1 you put in the game. That it is the other options we.
requesting need auto loot items!!
04/21/2011 - Grand Chase - 1 Replies
:handsdown: plzz do a program that auto loot items^^(GCPH) need for hunting!!! sorry 4 my bad english.
Auto delete items ?
08/21/2010 - Archlord - 9 Replies
Hello Is there any addon or something, that would automaticly delete items you want when picked up :)?
Auto store Items ?
04/22/2007 - Silkroad Online - 8 Replies
Hi @ all habe da mal eine kleine Frage und zwar geht es darum das mein SroBot all meine Sachen in die Store packen soll jedoch tuht er es nciht wollte mal fragen woran es liegt bzw. ob es eine Filter version gibt bei der bei jedem Item store angegeben ist ? Hoffe auf Hilfe MFG



All times are GMT +1. The time now is 19:16.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.