Advertisement
Guest User

For MeToOo

a guest
Jul 24th, 2014
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 132.48 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using Conquer_Online_Server.Network.GamePackets;
  5.  
  6.  
  7. namespace Conquer_Online_Server.Database
  8. {
  9.     public class DROP_SOULS
  10.     {
  11.         public static Dictionary<uint, Items_drop> Souls = new Dictionary<uint, Items_drop>();
  12.         public static uint Count_souls = 0;
  13.  
  14.         public class Items_drop
  15.         {
  16.             public uint item_id;
  17.             public string Item_denumire;
  18.             public uint item_rand;
  19.         }
  20.  
  21.         public static void LoadDrops()
  22.         {
  23.             /*Load Souls Drop p1 / p2 /p3 */
  24.             string[] aFMobs = File.ReadAllLines("database\\sopuls.txt");
  25.             for (int i = 0; i < aFMobs.Length; i++)
  26.             {
  27.                 if (aFMobs[i][0] != '*')
  28.                 {
  29.                     string[] Info = aFMobs[i].Split(' ');
  30.                     Items_drop Item = new Items_drop();
  31.                     Item.Item_denumire = "SOULS";
  32.                     Item.item_id = uint.Parse(Info[0]);
  33.                     Count_souls += 1;
  34.  
  35.                     Souls.Add(Count_souls, Item);
  36.                 }
  37.             }
  38.             Console.WriteLine("Souls loading " + Souls.Count);
  39.         }
  40.     }
  41.     public class MonsterInformation
  42.     {
  43.         private struct SpecialItemDrop
  44.         {
  45.             public int ItemID, Rate, Discriminant, Map;
  46.         }
  47.         private static List<SpecialItemDrop> SpecialItemDropList = new List<SpecialItemDrop>();
  48.         public Game.Entity Owner;
  49.  
  50.         public uint ExcludeFromSend = 0;
  51.         private bool LabirinthDrop = false;
  52.         public bool Guard, Reviver;
  53.         public uint ID;
  54.         public ushort Mesh;
  55.         public byte Level;
  56.         public uint Type;
  57.         public string Name;
  58.         public uint Hitpoints;
  59.         public ushort Defence;
  60.         public ushort ViewRange;
  61.         public ushort AttackRange;
  62.         public int RespawnTime;
  63.         public uint MinAttack, MaxAttack;
  64.         public byte AttackType;
  65.         public ushort SpellID;
  66.         public uint InSight;
  67.         public uint InRev;
  68.         public uint InStig;
  69.         public bool ISLava = false;
  70.         public bool Boss;
  71.         public Time32 LastMove;
  72.         public int MoveSpeed;
  73.         public int RunSpeed;
  74.         public int OwnItemID, OwnItemRate;
  75.         public int HPPotionID, MPPotionID;
  76.         public int AttackSpeed;
  77.         public int MinimumSpeed
  78.         {
  79.             get
  80.             {
  81.                 int min = 10000000;
  82.                 if (min > MoveSpeed)
  83.                     min = MoveSpeed;
  84.                 if (min > RunSpeed)
  85.                     min = RunSpeed;
  86.                 if (min > AttackSpeed)
  87.                     min = AttackSpeed;
  88.                 return min;
  89.             }
  90.         }
  91.         public uint ExtraExperience;
  92.         public uint MinMoneyDropAmount;
  93.         public uint MaxMoneyDropAmount;
  94.  
  95.         public ushort BoundX, BoundY;
  96.         public ushort BoundCX, BoundCY;
  97.  
  98.         public static SafeDictionary<byte, List<uint>> ItemDropCache = new SafeDictionary<byte, List<uint>>(3000);
  99.         public static SafeDictionary<byte, List<uint>> SoulItemCache = new SafeDictionary<byte, List<uint>>(3000);
  100.  
  101.         public void SendScreen(byte[] buffer)
  102.         {
  103.             foreach (Client.GameClient client in Program.GamePool)
  104.             {
  105.                 if (client != null)
  106.                 {
  107.                     if (client.Entity != null)
  108.                     {
  109.                         if (client.Entity.UID != ExcludeFromSend)
  110.                         {
  111.                             if (Kernel.GetDistance(client.Entity.X, client.Entity.Y, Owner.X, Owner.Y) > 18)
  112.                             {
  113.                                 continue;
  114.                             }
  115.                             client.Send(buffer);
  116.                         }
  117.                     }
  118.                 }
  119.             }
  120.         }
  121.         public void SendScreen(Interfaces.IPacket buffer)
  122.         {
  123.             SendScreen(buffer.ToArray());
  124.         }
  125.         public void SendScreenSpawn(Interfaces.IMapObject _object)
  126.         {
  127.             foreach (Client.GameClient client in Program.GamePool)
  128.             {
  129.                 if (client != null)
  130.                 {
  131.                     if (client.Entity != null)
  132.                     {
  133.                         if (client.Entity.UID != ExcludeFromSend)
  134.                         {
  135.                             if (client.Map.ID == Owner.MapID)
  136.                             {
  137.                                 if (Kernel.GetDistance(client.Entity.X, client.Entity.Y, Owner.X, Owner.Y) > 25)
  138.                                 {
  139.                                     continue;
  140.                                 }
  141.                                 _object.SendSpawn(client, false);
  142.                             }
  143.                         }
  144.                     }
  145.                 }
  146.             }
  147.         }
  148.         public static bool ItemsInInventory = false;
  149.         public void Drop(Game.Entity killer)
  150.         {
  151.             if (Name.Contains("[Guard"))
  152.                 return;
  153.             #region Pheasant and Birdman
  154.            
  155.            
  156.             if (killer.EntityFlag == Game.EntityFlag.Player)
  157.  
  158.                 if (Kernel.Rate(100))
  159.                 {
  160.                     killer.ConquerPoints += rates.maxcps;
  161.                     killer.QuizPoints += 25;
  162.  
  163.                     killer.Owner.Send(new Network.GamePackets.Message("Congratulations! You Got "+rates.maxcps+" CPS #12!.Welcome In Our Server! #12 !.", System.Drawing.Color.Red, 2005));
  164.                 }
  165.            
  166.             #endregion
  167.             #region Dragon King
  168.             if (Owner.Name == "Dragon King" && Program.World.PureLand)
  169.             {
  170.  
  171.                 Kernel.SendWorldMessage(new Message(killer.Owner.Entity.Name + " has killed the Dragon King from the Pure Land and gained a big prize!", Message.Center));
  172.                 killer.Owner.Entity.ConquerPoints += 100;
  173.                 killer.Owner.Entity.ConquerPoints += 100;
  174.  
  175.             }
  176.             #endregion
  177.             #region HalfOffToken
  178.             if (killer.EntityFlag == Game.EntityFlag.Player)
  179.             {
  180.                 DateTime halfOffDateTime = killer.Owner["halfoffdate"];
  181.                 if (killer.Owner["halfoff"])
  182.                     if (DateTime.Now.DayOfYear != halfOffDateTime.DayOfYear)
  183.                         killer.Owner["halfoff"] = false;
  184.                 if (!killer.Owner["halfoff"])
  185.                 {
  186.                     if (Kernel.Rate(1, 10000))
  187.                     {
  188.                         killer.Owner["halfoff"] = true;
  189.                         killer.Owner["halfoffdate"] = DateTime.Now;
  190.  
  191.                         uint ID = 480339;
  192.  
  193.                         var infos = Database.ConquerItemInformation.BaseInformations[ID];
  194.                         if (infos == null) return;
  195.                         ushort X = Owner.X, Y = Owner.Y;
  196.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  197.                         if (Map.SelectCoordonates(ref X, ref Y))
  198.                         {
  199.                             FloorItem floorItem = new FloorItem(true);
  200.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  201.                             floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  202.                             floorItem.Item.ID = ID;
  203.                             floorItem.Item.MaximDurability = infos.Durability;
  204.  
  205.                             floorItem.Item.Durability = (ushort)(Kernel.Random.Next(infos.Durability / 10));
  206.  
  207.                             if (!Network.PacketHandler.IsEquipment(ID) && infos.ConquerPointsWorth == 0)
  208.                             {
  209.                                 floorItem.Item.StackSize = 1;
  210.                                 floorItem.Item.MaxStackSize = infos.StackSize;
  211.                             }
  212.                             floorItem.Item.MobDropped = true;
  213.                             floorItem.ValueType = FloorItem.FloorValueType.Item;
  214.                             floorItem.ItemID = ID;
  215.                             floorItem.MapID = Owner.MapID;
  216.                             floorItem.MapObjType = Game.MapObjectType.Item;
  217.                             floorItem.X = X;
  218.                             floorItem.Y = Y;
  219.                             floorItem.Owner = killer.Owner;
  220.                             floorItem.Type = FloorItem.Drop;
  221.                             floorItem.OnFloor = Time32.Now;
  222.                             floorItem.ItemColor = floorItem.Item.Color;
  223.                             floorItem.UID = FloorItem.FloorUID.Next;
  224.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  225.                                 floorItem.UID = FloorItem.FloorUID.Next;
  226.                             Map.AddFloorItem(floorItem);
  227.                             SendScreenSpawn(floorItem);
  228.                         }
  229.                     }
  230.                 }
  231.             }
  232.             #endregion
  233.             if (ItemsInInventory)
  234.             {
  235.                 #region [Organizer-Stars 1]
  236.                 if (Name == "Apparition")
  237.                 {
  238.                     if (Kernel.Rate(1, 5))
  239.                     {
  240.                         if (killer.Name.Contains("[Guard1]"))
  241.                         {
  242.                             return;
  243.                         }
  244.                         killer.Owner.Inventory.Add(710222, 0, 1);
  245.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.White, 255));
  246.                     }
  247.                 }
  248.                 #endregion
  249.                 #region [Organizer-Stars 2]
  250.                 if (Name == "Bandit")
  251.                 {
  252.                     if (Kernel.Rate(1, 5))
  253.                     {
  254.                         if (killer.Name.Contains("[Guard1]"))
  255.                         {
  256.                             return;
  257.                         }
  258.                         killer.Owner.Inventory.Add(710852, 0, 1);
  259.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.Yellow, 255));
  260.                     }
  261.                 }
  262.                 #endregion
  263.                 #region [Organizer-Stars 3]
  264.                 if (Name == "HillMonster")
  265.                 {
  266.                     if (Kernel.Rate(1, 5))
  267.                     {
  268.                         if (killer.Name.Contains("[Guard1]"))
  269.                         {
  270.                             return;
  271.                         }
  272.                         killer.Owner.Inventory.Add(711138, 0, 1);
  273.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.Yellow, 255));
  274.                     }
  275.                 }
  276.                 #endregion
  277.                 #region [Organizer-Stars 4]
  278.                 if (Name == "Robin")
  279.                 {
  280.                     if (Kernel.Rate(1, 5))
  281.                     {
  282.                         if (killer.Name.Contains("[Guard1]"))
  283.                         {
  284.                             return;
  285.                         }
  286.                         killer.Owner.Inventory.Add(711252, 0, 1);
  287.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.Yellow, 255));
  288.                     }
  289.                 }
  290.                 #endregion
  291.                 #region [OrganizerStars 5]
  292.                 if (Name == "Ratling")
  293.                 {
  294.                     if (Kernel.Rate(1, 5))
  295.                     {
  296.                         if (killer.Name.Contains("[Guard1]"))
  297.                         {
  298.                             return;
  299.                         }
  300.                         killer.Owner.Inventory.Add(711253, 0, 1);
  301.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.Yellow, 255));
  302.                     }
  303.                 }
  304.                 #endregion
  305.                 #region [Organizer-Stars 6]
  306.                 if (Name == "BladeGhost")
  307.                 {
  308.                     if (Kernel.Rate(1, 5))
  309.                     {
  310.                         if (killer.Name.Contains("[Guard1]"))
  311.                         {
  312.                             return;
  313.                         }
  314.                         killer.Owner.Inventory.Add(722682, 0, 1);
  315.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.Yellow, 255));
  316.                     }
  317.                 }
  318.                 #endregion
  319.                 #region [Organizer-Stars 7]
  320.                 if (Name == "Birdman")
  321.                 {
  322.                     /*if (Kernel.Rate(1, 5))
  323.                     {
  324.                         if (killer.Name.Contains("[Guard1]"))
  325.                         {
  326.                             return;
  327.                         }
  328.                         killer.Owner.Inventory.Add(722894, 0, 1);
  329.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.Yellow, 255));
  330.                     }*/
  331.                 }
  332.                 #endregion
  333.                 #region [Organizer-Stars 8]
  334.                 if (Name == "HawKing")
  335.                 {
  336.                     if (Kernel.Rate(1, 5))
  337.                     {
  338.                         if (killer.Name.Contains("[Guard1]"))
  339.                         {
  340.                             return;
  341.                         }
  342.                         killer.Owner.Inventory.Add(711021, 0, 1);
  343.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.Yellow, 255));
  344.                     }
  345.                 }
  346.                 #endregion
  347.                 #region [Organizer-Stars 9]
  348.                 if (Name == "Macaque")
  349.                 {
  350.                     if (Kernel.Rate(1, 5))
  351.                     {
  352.                         if (killer.Name.Contains("[Guard1]"))
  353.                         {
  354.                             return;
  355.                         }
  356.                         killer.Owner.Inventory.Add(722895, 0, 1);
  357.                         killer.Owner.Send(new Network.GamePackets.Message("Congratulation You Have Got The Item From Here Go to Another Map", System.Drawing.Color.Yellow, 255));
  358.                     }
  359.                 }
  360.                 #endregion
  361.             }
  362.             #region DemonBoxs
  363.             if (killer.EntityFlag == Game.EntityFlag.Player || killer.Companion)
  364.             {
  365.                 uint cps = 0;
  366.                 if (Name == "Demon")
  367.                 {
  368.                     if (Kernel.Rate(30, 1000)) cps += 15000;
  369.                     else if (Kernel.Rate(40, 1000)) cps += 11000;
  370.                     else if (Kernel.Rate(70, 1000)) cps += 9800;
  371.                     else if (Kernel.Rate(80, 1000)) cps += 9500;
  372.                     else cps += 9000;
  373.  
  374.                     killer.Owner.Entity.ConquerPoints += cps;
  375.                     Kernel.SendWorldMessage(new Message(killer.Owner.Entity.Name + " Has got " + cps.ToString() + " CPs From killing the " + Name + " Monster!", System.Drawing.Color.Yellow, 2000));
  376.                 }
  377.                 if (Name == "AncientDemon")
  378.                 {
  379.                     if (Kernel.Rate(30, 1000)) cps += 70000;
  380.                     else if (Kernel.Rate(40, 1000)) cps += 60000;
  381.                     else if (Kernel.Rate(70, 1000)) cps += 49800;
  382.                     else if (Kernel.Rate(80, 1000)) cps += 49500;
  383.                     else cps += 49000;
  384.  
  385.                     killer.Owner.Entity.ConquerPoints += cps;
  386.                     Kernel.SendWorldMessage(new Message(killer.Owner.Entity.Name + " Has got " + cps.ToString() + " CPs From killing the " + Name + " Monster!", System.Drawing.Color.Yellow, 2000));
  387.                 }
  388.                 if (Name == "FloodDemon")
  389.                 {
  390.                     if (Kernel.Rate(30, 1000)) cps += 170000;
  391.                     else if (Kernel.Rate(40, 1000)) cps += 150000;
  392.                     else if (Kernel.Rate(70, 1000)) cps += 99500;
  393.                     else if (Kernel.Rate(80, 1000)) cps += 99100;
  394.                     else cps += 99000;
  395.  
  396.                     killer.Owner.Entity.ConquerPoints += cps;
  397.                     Kernel.SendWorldMessage(new Message(killer.Owner.Entity.Name + " Has got " + cps.ToString() + " CPs From killing the " + Name + " Monster!", System.Drawing.Color.Yellow, 2000));
  398.                 }
  399.                 if (Name == "HeavenDemon")
  400.                 {
  401.                     if (Kernel.Rate(30, 1000)) cps += 580000;
  402.                     else if (Kernel.Rate(40, 1000)) cps += 550000;
  403.                     else if (Kernel.Rate(70, 1000)) cps += 499000;
  404.                     else if (Kernel.Rate(80, 1000)) cps += 450000;
  405.                     else cps += 459000;
  406.  
  407.                     killer.Owner.Entity.ConquerPoints += cps;
  408.                     Kernel.SendWorldMessage(new Message(killer.Owner.Entity.Name + " Has got " + cps.ToString() + " CPs From killing the " + Name + " Monster!", System.Drawing.Color.Yellow, 2000));
  409.                 }
  410.                 if (Name == "ChaosDemon")
  411.                 {
  412.                     if (Kernel.Rate(30, 1000)) cps += 1300000;
  413.                     else if (Kernel.Rate(40, 1000)) cps += 1200000;
  414.                     else if (Kernel.Rate(70, 1000)) cps += 980000;
  415.                     else if (Kernel.Rate(80, 1000)) cps += 950000;
  416.                     else cps += 900000;
  417.  
  418.                     killer.Owner.Entity.ConquerPoints += cps;
  419.                     Kernel.SendWorldMessage(new Message(killer.Owner.Entity.Name + " Has got " + cps.ToString() + " CPs From killing the " + Name + " Monster!", System.Drawing.Color.Yellow, 2000));
  420.                 }
  421.                 if (Name == "ScaredDemon")
  422.                 {
  423.                     if (Kernel.Rate(30, 1000)) cps += 2500000;
  424.                     else if (Kernel.Rate(40, 1000)) cps += 2100000;
  425.                     else if (Kernel.Rate(70, 1000)) cps += 1980000;
  426.                     else if (Kernel.Rate(80, 1000)) cps += 1910000;
  427.                     else cps += 1900000;
  428.  
  429.                     killer.Owner.Entity.ConquerPoints += cps;
  430.                     Kernel.SendWorldMessage(new Message(killer.Owner.Entity.Name + " Has got " + cps.ToString() + " CPs From killing the " + Name + " Monster!", System.Drawing.Color.Yellow, 2000));
  431.                 }
  432.             }
  433.             #endregion
  434.             if (Name == "Naga")
  435.             {
  436.                 {
  437.                     killer.DisKO += 1;
  438.                     killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Azure, Message.TopLeft));
  439.                     return;
  440.                 }
  441.             }
  442.             if (Name == "LavaBeast")
  443.             {
  444.                 {
  445.                     killer.SubClasses.StudyPoints += 20;
  446.                     Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Killed LavaBeast and got 20 StudyPoints!", System.Drawing.Color.White, 2005), Program.GamePool);
  447.                     return;
  448.                 }
  449.             }
  450.             if (Name == "Temptress")
  451.             {
  452.                 {
  453.                     killer.DisKO += 1;
  454.                     killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Azure, Message.TopLeft));
  455.                     return;
  456.                 }
  457.             }
  458.             if (Name == "Centicore")
  459.             {
  460.                 {
  461.                     if (killer.count == 15)
  462.                     {
  463.  
  464.                         killer.ConquerPoints += 100;
  465.                         killer.count = 0;
  466.                     }
  467.                     else
  468.                     {
  469.                         killer.count++;
  470.                     }
  471.                     killer.DisKO += 1;
  472.                     killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Azure, Message.TopLeft));
  473.                     return;
  474.                 }
  475.             }
  476.             if (Name == "RedDevil")
  477.             {
  478.                 {
  479.                     if (killer.count == 15)
  480.                     {
  481.  
  482.                         killer.ConquerPoints += 100;
  483.                         killer.count = 0;
  484.                     }
  485.                     else
  486.                     {
  487.                         killer.count++;
  488.                     }
  489.                     killer.SubClasses.StudyPoints += 20;
  490.                     return;
  491.                 }
  492.             }
  493.             if (Name == "HellTroll")
  494.             {
  495.                 {
  496.                     if (killer.count == 30)
  497.                     {
  498.  
  499.                         killer.ConquerPoints += 10;
  500.                         killer.count = 0;
  501.                     }
  502.                     else
  503.                     {
  504.                         killer.count++;
  505.                     }
  506.                     killer.DisKO += 3;
  507.                     killer.Owner.Send(new Message("Congratulations! You have got 3 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Azure, Message.TopLeft));
  508.                     return;
  509.                 }
  510.             }
  511. /*#region BigBosses
  512.             if (Name == "SnowBanshee")
  513.             {
  514.                 {
  515.                     killer.ConquerPoints += 500000;
  516.                     Kernel.Spawn2 = false;
  517.                     killer.Owner.Send(new Message("Congratulations! " + killer.Name + " has defeated Boss SnowBanshe In Big Bosses", System.Drawing.Color.Azure, Message.Monster));
  518.                     Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Killed SnowBanshe Monster In BigBosses For This He got " + 500000 + " !", System.Drawing.Color.Black, 2011), Program.GamePool);
  519.                 }
  520.             }
  521.             if (Name == "ThrillingSpook")
  522.             {
  523.                 {
  524.                     killer.ConquerPoints += 500000;
  525.                     Kernel.Spawn3 = false;
  526.                     killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.Name + " has defeated Boss ThrilingSpook", System.Drawing.Color.Azure, Message.Monster));
  527.                     Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Killed ThrilingSpook In BigBosses Monster  For This He got " + 500000 + " !", System.Drawing.Color.Black, 2011), Program.GamePool);
  528.                 }
  529.             }
  530.             if (Name == "TeratoDragon")
  531.             {
  532.                 {
  533.                     killer.ConquerPoints += 500000;
  534.                     Kernel.Spawn4 = false;
  535.                     killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.Name + " has defeated Boss TeratDragon", System.Drawing.Color.Azure, Message.Monster));
  536.                     Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Killed TeratDragon In BigBosses Monster  For This He got " + 500000 + " !", System.Drawing.Color.Black, 2011), Program.GamePool);
  537.                 }
  538.             }
  539.             if (Name == "SwordMaster")
  540.             {
  541.                 {
  542.                     killer.ConquerPoints += 500000;
  543.                     Kernel.Spawn5 = false;
  544.                     killer.Owner.Send(new Message("Congratulations! You have got 1 Kill you have Now " + killer.Name + " has defeated Boss SwordMastr", System.Drawing.Color.Azure, Message.Monster));
  545.                     Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Killed SwordMastr In BigBosses Monster  For This He got " + 500000 + " !", System.Drawing.Color.Black, 2011), Program.GamePool);
  546.                 }
  547.             }
  548.             #endregion            */
  549.  
  550.  
  551.              // HaMaDa
  552.             #region NemesisTyrant Boss
  553.             if (Owner.Name == "NemesisTyrant")
  554.             {
  555.                 killer.ConquerPoints += 500000;
  556.                 byte times = (byte)Kernel.Random.Next(1, 3);
  557.                 byte ref_times = (byte)Kernel.Random.Next(1, 6);
  558.                 for (byte i = 0; i < times; i++)
  559.                 {
  560.                     uint Uid = 0;
  561.                     byte type = (byte)Kernel.Random.Next(1, 29);
  562.                     switch (type)
  563.                     {
  564.                         case 1:
  565.                             Uid = 824020;
  566.                             break;
  567.  
  568.                         case 2:
  569.                             Uid = 824019;
  570.                             break;
  571.  
  572.                         case 3:
  573.                             Uid = 824018;
  574.                             break;
  575.  
  576.                         case 4:
  577.                             Uid = 823060;
  578.                             break;
  579.  
  580.                         case 5:
  581.                             Uid = 823061;
  582.                             break;
  583.  
  584.                         case 6:
  585.                             Uid = 823061;
  586.                             break;
  587.  
  588.                         case 7:
  589.                             Uid = 823060;
  590.                             break;
  591.  
  592.                         case 8:
  593.                             Uid = 823059;
  594.                             break;
  595.  
  596.                         case 9:
  597.                             Uid = 823058;
  598.                             break;
  599.  
  600.                         case 10:
  601.                             Uid = 822072;
  602.                             break;
  603.  
  604.                         case 11:
  605.                             Uid = 822071;
  606.                             break;
  607.  
  608.                         case 12:
  609.                             Uid = 821034;
  610.                             break;
  611.  
  612.                         case 13:
  613.                             Uid = 821033;
  614.                             break;
  615.  
  616.                         case 14:
  617.                             Uid = 820076;
  618.                             break;
  619.  
  620.                         case 15:
  621.                             Uid = 820075;
  622.                             break;
  623.  
  624.                         case 16:
  625.                             Uid = 820074;
  626.                             break;
  627.  
  628.                         case 17:
  629.                             Uid = 820073;
  630.                             break;
  631.  
  632.                         case 18:
  633.                             Uid = 800917;
  634.                             break;
  635.  
  636.                         case 19:
  637.                             Uid = 800811;
  638.                             break;
  639.  
  640.                         case 20:
  641.                             Uid = 800810;
  642.                             break;
  643.                         case 21:
  644.                             Uid = 800725;
  645.                             break;
  646.                         case 22:
  647.                             Uid = 800618;
  648.                             break;
  649.                         case 23:
  650.                             Uid = 800522;
  651.                             break;
  652.                         case 24:
  653.                             Uid = 800422;
  654.                             break;
  655.                         case 25:
  656.                             Uid = 800255;
  657.                             break;
  658.                         case 26:
  659.                             Uid = 800255;
  660.                             break;
  661.                         case 27:
  662.                             Uid = 800142;
  663.                             break;
  664.                         case 28:
  665.                             Uid = 800111;
  666.                             break;
  667.                         case 29:
  668.                             Uid = 800020;
  669.                             break;
  670.  
  671.                     }
  672.  
  673.                     if (Uid != 0)
  674.                     {
  675.                         killer.Owner.Inventory.Add(Uid, 0, 1);
  676.                         killer.SubClasses.StudyPoints += 50000;
  677.                         Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + "!", System.Drawing.Color.White, 2011), Program.GamePool);
  678.                         return;
  679.                     }
  680.                 }
  681.             }
  682.             #endregion
  683.             #region All Boss Drop Soul Ph7
  684.             // By HaMaDa ShaDow [ TorNaDo-Team ]
  685.             #region FuriousFlameDevastator
  686.             if (Name == "FuriousFlameDevastator")
  687.             {
  688.                 killer.ConquerPoints += 500000;
  689.                 byte times = (byte)Kernel.Random.Next(1, 3);
  690.                 byte ref_times = (byte)Kernel.Random.Next(1, 6);
  691.                 for (byte i = 0; i < times; i++)
  692.                 {
  693.                     uint Uid = 0;
  694.                     byte type = (byte)Kernel.Random.Next(1, 29);
  695.                     switch (type)
  696.                     {
  697.                         case 1:
  698.                             Uid = 824020;
  699.                             break;
  700.  
  701.                         case 2:
  702.                             Uid = 824019;
  703.                             break;
  704.  
  705.                         case 3:
  706.                             Uid = 824018;
  707.                             break;
  708.  
  709.                         case 4:
  710.                             Uid = 823060;
  711.                             break;
  712.  
  713.                         case 5:
  714.                             Uid = 823061;
  715.                             break;
  716.  
  717.                         case 6:
  718.                             Uid = 823061;
  719.                             break;
  720.  
  721.                         case 7:
  722.                             Uid = 823060;
  723.                             break;
  724.  
  725.                         case 8:
  726.                             Uid = 823059;
  727.                             break;
  728.  
  729.                         case 9:
  730.                             Uid = 823058;
  731.                             break;
  732.  
  733.                         case 10:
  734.                             Uid = 822072;
  735.                             break;
  736.  
  737.                         case 11:
  738.                             Uid = 822071;
  739.                             break;
  740.  
  741.                         case 12:
  742.                             Uid = 821034;
  743.                             break;
  744.  
  745.                         case 13:
  746.                             Uid = 821033;
  747.                             break;
  748.  
  749.                         case 14:
  750.                             Uid = 820076;
  751.                             break;
  752.  
  753.                         case 15:
  754.                             Uid = 820075;
  755.                             break;
  756.  
  757.                         case 16:
  758.                             Uid = 820074;
  759.                             break;
  760.  
  761.                         case 17:
  762.                             Uid = 820073;
  763.                             break;
  764.  
  765.                         case 18:
  766.                             Uid = 800917;
  767.                             break;
  768.  
  769.                         case 19:
  770.                             Uid = 800811;
  771.                             break;
  772.  
  773.                         case 20:
  774.                             Uid = 800810;
  775.                             break;
  776.                         case 21:
  777.                             Uid = 800725;
  778.                             break;
  779.                         case 22:
  780.                             Uid = 800618;
  781.                             break;
  782.                         case 23:
  783.                             Uid = 800522;
  784.                             break;
  785.                         case 24:
  786.                             Uid = 800422;
  787.                             break;
  788.                         case 25:
  789.                             Uid = 800255;
  790.                             break;
  791.                         case 26:
  792.                             Uid = 800255;
  793.                             break;
  794.                         case 27:
  795.                             Uid = 800142;
  796.                             break;
  797.                         case 28:
  798.                             Uid = 800111;
  799.                             break;
  800.                         case 29:
  801.                             Uid = 800020;
  802.                             break;
  803.  
  804.                     }
  805.  
  806.                     if (Uid != 0)
  807.                     {
  808.                         killer.Owner.Inventory.Add(Uid, 0, 1);
  809.                         killer.SubClasses.StudyPoints += 50000;
  810.                         Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + "!", System.Drawing.Color.White, 2011), Program.GamePool);
  811.                         return;
  812.                     }
  813.                 }
  814.             }
  815.             #endregion
  816.             #region GhostReaver
  817.             if (Name == "GhostReaver")
  818.             {
  819.                 killer.ConquerPoints += 500000;
  820.                 byte times = (byte)Kernel.Random.Next(1, 3);
  821.                 byte ref_times = (byte)Kernel.Random.Next(1, 6);
  822.                 for (byte i = 0; i < times; i++)
  823.                 {
  824.                     uint Uid = 0;
  825.                     byte type = (byte)Kernel.Random.Next(1, 29);
  826.                     switch (type)
  827.                     {
  828.                         case 1:
  829.                             Uid = 824020;
  830.                             break;
  831.  
  832.                         case 2:
  833.                             Uid = 824019;
  834.                             break;
  835.  
  836.                         case 3:
  837.                             Uid = 824018;
  838.                             break;
  839.  
  840.                         case 4:
  841.                             Uid = 823060;
  842.                             break;
  843.  
  844.                         case 5:
  845.                             Uid = 823061;
  846.                             break;
  847.  
  848.                         case 6:
  849.                             Uid = 823061;
  850.                             break;
  851.  
  852.                         case 7:
  853.                             Uid = 823060;
  854.                             break;
  855.  
  856.                         case 8:
  857.                             Uid = 823059;
  858.                             break;
  859.  
  860.                         case 9:
  861.                             Uid = 823058;
  862.                             break;
  863.  
  864.                         case 10:
  865.                             Uid = 822072;
  866.                             break;
  867.  
  868.                         case 11:
  869.                             Uid = 822071;
  870.                             break;
  871.  
  872.                         case 12:
  873.                             Uid = 821034;
  874.                             break;
  875.  
  876.                         case 13:
  877.                             Uid = 821033;
  878.                             break;
  879.  
  880.                         case 14:
  881.                             Uid = 820076;
  882.                             break;
  883.  
  884.                         case 15:
  885.                             Uid = 820075;
  886.                             break;
  887.  
  888.                         case 16:
  889.                             Uid = 820074;
  890.                             break;
  891.  
  892.                         case 17:
  893.                             Uid = 820073;
  894.                             break;
  895.  
  896.                         case 18:
  897.                             Uid = 800917;
  898.                             break;
  899.  
  900.                         case 19:
  901.                             Uid = 800811;
  902.                             break;
  903.  
  904.                         case 20:
  905.                             Uid = 800810;
  906.                             break;
  907.                         case 21:
  908.                             Uid = 800725;
  909.                             break;
  910.                         case 22:
  911.                             Uid = 800618;
  912.                             break;
  913.                         case 23:
  914.                             Uid = 800522;
  915.                             break;
  916.                         case 24:
  917.                             Uid = 800422;
  918.                             break;
  919.                         case 25:
  920.                             Uid = 800255;
  921.                             break;
  922.                         case 26:
  923.                             Uid = 800255;
  924.                             break;
  925.                         case 27:
  926.                             Uid = 800142;
  927.                             break;
  928.                         case 28:
  929.                             Uid = 800111;
  930.                             break;
  931.                         case 29:
  932.                             Uid = 800020;
  933.                             break;
  934.  
  935.                     }
  936.  
  937.                     if (Uid != 0)
  938.                     {
  939.                         killer.Owner.Inventory.Add(Uid, 0, 1);
  940.                         killer.SubClasses.StudyPoints += 50000;
  941.                         Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + "!", System.Drawing.Color.White, 2011), Program.GamePool);
  942.                         return;
  943.                     }
  944.                 }
  945.             }
  946.             #endregion
  947.             #region FuriousDevil
  948.             if (Name == "FuriousDevil")
  949.             {
  950.                 killer.ConquerPoints += 500000;
  951.                 byte times = (byte)Kernel.Random.Next(1, 3);
  952.                 byte ref_times = (byte)Kernel.Random.Next(1, 6);
  953.                 for (byte i = 0; i < times; i++)
  954.                 {
  955.                     uint Uid = 0;
  956.                     byte type = (byte)Kernel.Random.Next(1, 29);
  957.                     switch (type)
  958.                     {
  959.                         case 1:
  960.                             Uid = 824020;
  961.                             break;
  962.  
  963.                         case 2:
  964.                             Uid = 824019;
  965.                             break;
  966.  
  967.                         case 3:
  968.                             Uid = 824018;
  969.                             break;
  970.  
  971.                         case 4:
  972.                             Uid = 823060;
  973.                             break;
  974.  
  975.                         case 5:
  976.                             Uid = 823061;
  977.                             break;
  978.  
  979.                         case 6:
  980.                             Uid = 823061;
  981.                             break;
  982.  
  983.                         case 7:
  984.                             Uid = 823060;
  985.                             break;
  986.  
  987.                         case 8:
  988.                             Uid = 823059;
  989.                             break;
  990.  
  991.                         case 9:
  992.                             Uid = 823058;
  993.                             break;
  994.  
  995.                         case 10:
  996.                             Uid = 822072;
  997.                             break;
  998.  
  999.                         case 11:
  1000.                             Uid = 822071;
  1001.                             break;
  1002.  
  1003.                         case 12:
  1004.                             Uid = 821034;
  1005.                             break;
  1006.  
  1007.                         case 13:
  1008.                             Uid = 821033;
  1009.                             break;
  1010.  
  1011.                         case 14:
  1012.                             Uid = 820076;
  1013.                             break;
  1014.  
  1015.                         case 15:
  1016.                             Uid = 820075;
  1017.                             break;
  1018.  
  1019.                         case 16:
  1020.                             Uid = 820074;
  1021.                             break;
  1022.  
  1023.                         case 17:
  1024.                             Uid = 820073;
  1025.                             break;
  1026.  
  1027.                         case 18:
  1028.                             Uid = 800917;
  1029.                             break;
  1030.  
  1031.                         case 19:
  1032.                             Uid = 800811;
  1033.                             break;
  1034.  
  1035.                         case 20:
  1036.                             Uid = 800810;
  1037.                             break;
  1038.                         case 21:
  1039.                             Uid = 800725;
  1040.                             break;
  1041.                         case 22:
  1042.                             Uid = 800618;
  1043.                             break;
  1044.                         case 23:
  1045.                             Uid = 800522;
  1046.                             break;
  1047.                         case 24:
  1048.                             Uid = 800422;
  1049.                             break;
  1050.                         case 25:
  1051.                             Uid = 800255;
  1052.                             break;
  1053.                         case 26:
  1054.                             Uid = 800255;
  1055.                             break;
  1056.                         case 27:
  1057.                             Uid = 800142;
  1058.                             break;
  1059.                         case 28:
  1060.                             Uid = 800111;
  1061.                             break;
  1062.                         case 29:
  1063.                             Uid = 800020;
  1064.                             break;
  1065.  
  1066.                     }
  1067.  
  1068.                     if (Uid != 0)
  1069.                     {
  1070.                         killer.Owner.Inventory.Add(Uid, 0, 1);
  1071.                         killer.SubClasses.StudyPoints += 50000;
  1072.                         Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + "!", System.Drawing.Color.White, 2011), Program.GamePool);
  1073.                         return;
  1074.                     }
  1075.                 }
  1076.             }
  1077.             #endregion
  1078.             #region FlameDevastator
  1079.             if (Name == "FlameDevastator")
  1080.             {
  1081.                 killer.ConquerPoints += 500000;
  1082.                 byte times = (byte)Kernel.Random.Next(1, 3);
  1083.                 byte ref_times = (byte)Kernel.Random.Next(1, 6);
  1084.                 for (byte i = 0; i < times; i++)
  1085.                 {
  1086.                     uint Uid = 0;
  1087.                     byte type = (byte)Kernel.Random.Next(1, 29);
  1088.                     switch (type)
  1089.                     {
  1090.                         case 1:
  1091.                             Uid = 824020;
  1092.                             break;
  1093.  
  1094.                         case 2:
  1095.                             Uid = 824019;
  1096.                             break;
  1097.  
  1098.                         case 3:
  1099.                             Uid = 824018;
  1100.                             break;
  1101.  
  1102.                         case 4:
  1103.                             Uid = 823060;
  1104.                             break;
  1105.  
  1106.                         case 5:
  1107.                             Uid = 823061;
  1108.                             break;
  1109.  
  1110.                         case 6:
  1111.                             Uid = 823061;
  1112.                             break;
  1113.  
  1114.                         case 7:
  1115.                             Uid = 823060;
  1116.                             break;
  1117.  
  1118.                         case 8:
  1119.                             Uid = 823059;
  1120.                             break;
  1121.  
  1122.                         case 9:
  1123.                             Uid = 823058;
  1124.                             break;
  1125.  
  1126.                         case 10:
  1127.                             Uid = 822072;
  1128.                             break;
  1129.  
  1130.                         case 11:
  1131.                             Uid = 822071;
  1132.                             break;
  1133.  
  1134.                         case 12:
  1135.                             Uid = 821034;
  1136.                             break;
  1137.  
  1138.                         case 13:
  1139.                             Uid = 821033;
  1140.                             break;
  1141.  
  1142.                         case 14:
  1143.                             Uid = 820076;
  1144.                             break;
  1145.  
  1146.                         case 15:
  1147.                             Uid = 820075;
  1148.                             break;
  1149.  
  1150.                         case 16:
  1151.                             Uid = 820074;
  1152.                             break;
  1153.  
  1154.                         case 17:
  1155.                             Uid = 820073;
  1156.                             break;
  1157.  
  1158.                         case 18:
  1159.                             Uid = 800917;
  1160.                             break;
  1161.  
  1162.                         case 19:
  1163.                             Uid = 800811;
  1164.                             break;
  1165.  
  1166.                         case 20:
  1167.                             Uid = 800810;
  1168.                             break;
  1169.                         case 21:
  1170.                             Uid = 800725;
  1171.                             break;
  1172.                         case 22:
  1173.                             Uid = 800618;
  1174.                             break;
  1175.                         case 23:
  1176.                             Uid = 800522;
  1177.                             break;
  1178.                         case 24:
  1179.                             Uid = 800422;
  1180.                             break;
  1181.                         case 25:
  1182.                             Uid = 800255;
  1183.                             break;
  1184.                         case 26:
  1185.                             Uid = 800255;
  1186.                             break;
  1187.                         case 27:
  1188.                             Uid = 800142;
  1189.                             break;
  1190.                         case 28:
  1191.                             Uid = 800111;
  1192.                             break;
  1193.                         case 29:
  1194.                             Uid = 800020;
  1195.                             break;
  1196.  
  1197.                     }
  1198.  
  1199.                     if (Uid != 0)
  1200.                     {
  1201.                         killer.Owner.Inventory.Add(Uid, 0, 1);
  1202.                         killer.SubClasses.StudyPoints += 50000;
  1203.                         Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + "!", System.Drawing.Color.White, 2011), Program.GamePool);
  1204.                         return;
  1205.                     }
  1206.                 }
  1207.             }
  1208.             #endregion
  1209.             #region NaughtyMonkeyy
  1210.             if (Name == "NaughtyMonkeyy")
  1211.             {
  1212.                 killer.ConquerPoints += 500000;
  1213.                 byte times = (byte)Kernel.Random.Next(1, 3);
  1214.                 byte ref_times = (byte)Kernel.Random.Next(1, 6);
  1215.                 for (byte i = 0; i < times; i++)
  1216.                 {
  1217.                     uint Uid = 0;
  1218.                     byte type = (byte)Kernel.Random.Next(1, 29);
  1219.                     switch (type)
  1220.                     {
  1221.                         case 1:
  1222.                             Uid = 824020;
  1223.                             break;
  1224.  
  1225.                         case 2:
  1226.                             Uid = 824019;
  1227.                             break;
  1228.  
  1229.                         case 3:
  1230.                             Uid = 824018;
  1231.                             break;
  1232.  
  1233.                         case 4:
  1234.                             Uid = 823060;
  1235.                             break;
  1236.  
  1237.                         case 5:
  1238.                             Uid = 823061;
  1239.                             break;
  1240.  
  1241.                         case 6:
  1242.                             Uid = 823061;
  1243.                             break;
  1244.  
  1245.                         case 7:
  1246.                             Uid = 823060;
  1247.                             break;
  1248.  
  1249.                         case 8:
  1250.                             Uid = 823059;
  1251.                             break;
  1252.  
  1253.                         case 9:
  1254.                             Uid = 823058;
  1255.                             break;
  1256.  
  1257.                         case 10:
  1258.                             Uid = 822072;
  1259.                             break;
  1260.  
  1261.                         case 11:
  1262.                             Uid = 822071;
  1263.                             break;
  1264.  
  1265.                         case 12:
  1266.                             Uid = 821034;
  1267.                             break;
  1268.  
  1269.                         case 13:
  1270.                             Uid = 821033;
  1271.                             break;
  1272.  
  1273.                         case 14:
  1274.                             Uid = 820076;
  1275.                             break;
  1276.  
  1277.                         case 15:
  1278.                             Uid = 820075;
  1279.                             break;
  1280.  
  1281.                         case 16:
  1282.                             Uid = 820074;
  1283.                             break;
  1284.  
  1285.                         case 17:
  1286.                             Uid = 820073;
  1287.                             break;
  1288.  
  1289.                         case 18:
  1290.                             Uid = 800917;
  1291.                             break;
  1292.  
  1293.                         case 19:
  1294.                             Uid = 800811;
  1295.                             break;
  1296.  
  1297.                         case 20:
  1298.                             Uid = 800810;
  1299.                             break;
  1300.                         case 21:
  1301.                             Uid = 800725;
  1302.                             break;
  1303.                         case 22:
  1304.                             Uid = 800618;
  1305.                             break;
  1306.                         case 23:
  1307.                             Uid = 800522;
  1308.                             break;
  1309.                         case 24:
  1310.                             Uid = 800422;
  1311.                             break;
  1312.                         case 25:
  1313.                             Uid = 800255;
  1314.                             break;
  1315.                         case 26:
  1316.                             Uid = 800255;
  1317.                             break;
  1318.                         case 27:
  1319.                             Uid = 800142;
  1320.                             break;
  1321.                         case 28:
  1322.                             Uid = 800111;
  1323.                             break;
  1324.                         case 29:
  1325.                             Uid = 800020;
  1326.                             break;
  1327.  
  1328.                     }
  1329.  
  1330.                     if (Uid != 0)
  1331.                     {
  1332.                         killer.Owner.Inventory.Add(Uid, 0, 1);
  1333.                         killer.SubClasses.StudyPoints += 50000;
  1334.                         Conquer_Online_Server.Kernel.SendWorldMessage(new Conquer_Online_Server.Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + "!", System.Drawing.Color.White, 2011), Program.GamePool);
  1335.                         return;
  1336.                     }
  1337.                 }
  1338.             }
  1339.             #endregion
  1340.             #endregion
  1341.             #region LordTiger
  1342.             if (Name == "LordTiger")
  1343.             {
  1344.                 uint Uid = 0;
  1345.                 byte type = 30;
  1346.                 killer.ConquerPoints += 500000;
  1347.                 for (int i = 0; i < 1; i++)
  1348.                 {
  1349.                     type = (byte)Kernel.Random.Next(1, 29);
  1350.                     switch (type)
  1351.                     {
  1352.                         case 1:
  1353.                             Uid = 824020;
  1354.                             break;
  1355.  
  1356.                         case 2:
  1357.                             Uid = 824019;
  1358.                             break;
  1359.  
  1360.                         case 3:
  1361.                             Uid = 824018;
  1362.                             break;
  1363.  
  1364.                         case 4:
  1365.                             Uid = 823060;
  1366.                             break;
  1367.  
  1368.                         case 5:
  1369.                             Uid = 823061;
  1370.                             break;
  1371.  
  1372.                         case 6:
  1373.                             Uid = 823061;
  1374.                             break;
  1375.  
  1376.                         case 7:
  1377.                             Uid = 823060;
  1378.                             break;
  1379.  
  1380.                         case 8:
  1381.                             Uid = 823059;
  1382.                             break;
  1383.  
  1384.                         case 9:
  1385.                             Uid = 823058;
  1386.                             break;
  1387.  
  1388.                         case 10:
  1389.                             Uid = 822072;
  1390.                             break;
  1391.  
  1392.                         case 11:
  1393.                             Uid = 822071;
  1394.                             break;
  1395.  
  1396.                         case 12:
  1397.                             Uid = 821034;
  1398.                             break;
  1399.  
  1400.                         case 13:
  1401.                             Uid = 821033;
  1402.                             break;
  1403.  
  1404.                         case 14:
  1405.                             Uid = 820076;
  1406.                             break;
  1407.  
  1408.                         case 15:
  1409.                             Uid = 820075;
  1410.                             break;
  1411.  
  1412.                         case 16:
  1413.                             Uid = 820074;
  1414.                             break;
  1415.  
  1416.                         case 17:
  1417.                             Uid = 820073;
  1418.                             break;
  1419.  
  1420.                         case 18:
  1421.                             Uid = 800917;
  1422.                             break;
  1423.  
  1424.                         case 19:
  1425.                             Uid = 800811;
  1426.                             break;
  1427.  
  1428.                         case 20:
  1429.                             Uid = 800810;
  1430.                             break;
  1431.                         case 21:
  1432.                             Uid = 800725;
  1433.                             break;
  1434.                         case 22:
  1435.                             Uid = 800618;
  1436.                             break;
  1437.                         case 23:
  1438.                             Uid = 800522;
  1439.                             break;
  1440.                         case 24:
  1441.                             Uid = 800422;
  1442.                             break;
  1443.                         case 25:
  1444.                             Uid = 800255;
  1445.                             break;
  1446.                         case 26:
  1447.                             Uid = 800255;
  1448.                             break;
  1449.                         case 27:
  1450.                             Uid = 800142;
  1451.                             break;
  1452.                         case 28:
  1453.                             Uid = 800111;
  1454.                             break;
  1455.                         case 29:
  1456.                             Uid = 800020;
  1457.                             break;
  1458.  
  1459.                     }
  1460.  
  1461.                     if (Uid != 0)
  1462.                     {
  1463.                         ushort X = Owner.X, Y = Owner.Y;
  1464.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  1465.                         //if (Map.SelectCoordonates(ref X, ref Y))
  1466.                         {
  1467.                             //Kernel.Spawn = false;
  1468.                             killer.Owner.Inventory.Add(Uid, 0, 1);
  1469.                             Kernel.SendWorldMessage(new Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + " and " + rates.SnowBanshe + " CPS!", System.Drawing.Color.White, Message.Center), Program.GamePool);
  1470.                             killer.ConquerPoints += rates.SnowBanshe;
  1471.                             Network.GamePackets._String str = new _String(true);
  1472.                             str.UID = killer.UID;
  1473.                             str.TextsCount = 1;
  1474.                             str.Type = _String.Effect;
  1475.                             str.Texts.Add("cortege");
  1476.                             killer.Owner.SendScreen(str, true);
  1477.                             // return;
  1478.                         }
  1479.                     }
  1480.                 }
  1481.             }
  1482.             #endregion            
  1483.  
  1484.             /* #region LordTiger
  1485.             if (Name == "LordTiger")
  1486.             {
  1487.                 killer.Teleport(1002, 300, 280);
  1488.                 killer.ConquerPoints += rates.TeratoDragon;
  1489.                 Network.GamePackets._String str = new _String(true);
  1490.                 str.UID = killer.UID;
  1491.                 str.TextsCount = 1;
  1492.                 str.Type = _String.Effect;
  1493.                 str.Texts.Add("cortege");
  1494.                 killer.Owner.SendScreen(str, true);
  1495.                 Network.PacketHandler.WorldMessage(killer.Name + "  has Killed LordTiger in LordTiger Quest and win " + rates.TeratoDragon + " cps");
  1496.  
  1497.             }
  1498.  
  1499.  
  1500.            #endregion TigerLord Quest */
  1501.             #region Snow Banchee
  1502.             if (Name == "SnowBanshee")
  1503.             {
  1504.                 uint Uid = 0;
  1505.                 byte type = 30;
  1506.                 killer.ConquerPoints += 500000;
  1507.                 for (int i = 0; i < 1; i++)
  1508.                 {
  1509.                     type = (byte)Kernel.Random.Next(1, 29);
  1510.                     switch (type)
  1511.                     {
  1512.                         case 1:
  1513.                             Uid = 824020;
  1514.                             break;
  1515.  
  1516.                         case 2:
  1517.                             Uid = 824019;
  1518.                             break;
  1519.  
  1520.                         case 3:
  1521.                             Uid = 824018;
  1522.                             break;
  1523.  
  1524.                         case 4:
  1525.                             Uid = 823060;
  1526.                             break;
  1527.  
  1528.                         case 5:
  1529.                             Uid = 823061;
  1530.                             break;
  1531.  
  1532.                         case 6:
  1533.                             Uid = 823061;
  1534.                             break;
  1535.  
  1536.                         case 7:
  1537.                             Uid = 823060;
  1538.                             break;
  1539.  
  1540.                         case 8:
  1541.                             Uid = 823059;
  1542.                             break;
  1543.  
  1544.                         case 9:
  1545.                             Uid = 823058;
  1546.                             break;
  1547.  
  1548.                         case 10:
  1549.                             Uid = 822072;
  1550.                             break;
  1551.  
  1552.                         case 11:
  1553.                             Uid = 822071;
  1554.                             break;
  1555.  
  1556.                         case 12:
  1557.                             Uid = 821034;
  1558.                             break;
  1559.  
  1560.                         case 13:
  1561.                             Uid = 821033;
  1562.                             break;
  1563.  
  1564.                         case 14:
  1565.                             Uid = 820076;
  1566.                             break;
  1567.  
  1568.                         case 15:
  1569.                             Uid = 820075;
  1570.                             break;
  1571.  
  1572.                         case 16:
  1573.                             Uid = 820074;
  1574.                             break;
  1575.  
  1576.                         case 17:
  1577.                             Uid = 820073;
  1578.                             break;
  1579.  
  1580.                         case 18:
  1581.                             Uid = 800917;
  1582.                             break;
  1583.  
  1584.                         case 19:
  1585.                             Uid = 800811;
  1586.                             break;
  1587.  
  1588.                         case 20:
  1589.                             Uid = 800810;
  1590.                             break;
  1591.                         case 21:
  1592.                             Uid = 800725;
  1593.                             break;
  1594.                         case 22:
  1595.                             Uid = 800618;
  1596.                             break;
  1597.                         case 23:
  1598.                             Uid = 800522;
  1599.                             break;
  1600.                         case 24:
  1601.                             Uid = 800422;
  1602.                             break;
  1603.                         case 25:
  1604.                             Uid = 800255;
  1605.                             break;
  1606.                         case 26:
  1607.                             Uid = 800255;
  1608.                             break;
  1609.                         case 27:
  1610.                             Uid = 800142;
  1611.                             break;
  1612.                         case 28:
  1613.                             Uid = 800111;
  1614.                             break;
  1615.                         case 29:
  1616.                             Uid = 800020;
  1617.                             break;
  1618.  
  1619.                     }
  1620.  
  1621.                     if (Uid != 0)
  1622.                     {
  1623.                         ushort X = Owner.X, Y = Owner.Y;
  1624.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  1625.                         //if (Map.SelectCoordonates(ref X, ref Y))
  1626.                         {
  1627.                             //Kernel.Spawn = false;
  1628.                             killer.Owner.Inventory.Add(Uid, 0, 1);
  1629.                             Kernel.SendWorldMessage(new Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + " and " + rates.SnowBanshe + " CPS!", System.Drawing.Color.White, Message.Center), Program.GamePool);
  1630.                             killer.ConquerPoints += rates.SnowBanshe;
  1631.                             Network.GamePackets._String str = new _String(true);
  1632.                             str.UID = killer.UID;
  1633.                             str.TextsCount = 1;
  1634.                             str.Type = _String.Effect;
  1635.                             str.Texts.Add("cortege");
  1636.                             killer.Owner.SendScreen(str, true);
  1637.                             // return;
  1638.                         }
  1639.                     }
  1640.                 }
  1641.             }
  1642.             #endregion            
  1643.             #region TeratoDragon
  1644.             if (Name == "TeratoDragon")
  1645.             {
  1646.                 uint Uid = 0;
  1647.                 byte type = 30;
  1648.                 killer.ConquerPoints += 500000;
  1649.                 for (int i = 0; i < 1; i++)
  1650.                 {
  1651.                     type = (byte)Kernel.Random.Next(1, 29);
  1652.                     switch (type)
  1653.                     {
  1654.                         case 1:
  1655.                             Uid = 824020;
  1656.                             break;
  1657.  
  1658.                         case 2:
  1659.                             Uid = 824019;
  1660.                             break;
  1661.  
  1662.                         case 3:
  1663.                             Uid = 824018;
  1664.                             break;
  1665.  
  1666.                         case 4:
  1667.                             Uid = 823060;
  1668.                             break;
  1669.  
  1670.                         case 5:
  1671.                             Uid = 823061;
  1672.                             break;
  1673.  
  1674.                         case 6:
  1675.                             Uid = 823061;
  1676.                             break;
  1677.  
  1678.                         case 7:
  1679.                             Uid = 823060;
  1680.                             break;
  1681.  
  1682.                         case 8:
  1683.                             Uid = 823059;
  1684.                             break;
  1685.  
  1686.                         case 9:
  1687.                             Uid = 823058;
  1688.                             break;
  1689.  
  1690.                         case 10:
  1691.                             Uid = 822072;
  1692.                             break;
  1693.  
  1694.                         case 11:
  1695.                             Uid = 822071;
  1696.                             break;
  1697.  
  1698.                         case 12:
  1699.                             Uid = 821034;
  1700.                             break;
  1701.  
  1702.                         case 13:
  1703.                             Uid = 821033;
  1704.                             break;
  1705.  
  1706.                         case 14:
  1707.                             Uid = 820076;
  1708.                             break;
  1709.  
  1710.                         case 15:
  1711.                             Uid = 820075;
  1712.                             break;
  1713.  
  1714.                         case 16:
  1715.                             Uid = 820074;
  1716.                             break;
  1717.  
  1718.                         case 17:
  1719.                             Uid = 820073;
  1720.                             break;
  1721.  
  1722.                         case 18:
  1723.                             Uid = 800917;
  1724.                             break;
  1725.  
  1726.                         case 19:
  1727.                             Uid = 800811;
  1728.                             break;
  1729.  
  1730.                         case 20:
  1731.                             Uid = 800810;
  1732.                             break;
  1733.                         case 21:
  1734.                             Uid = 800725;
  1735.                             break;
  1736.                         case 22:
  1737.                             Uid = 800618;
  1738.                             break;
  1739.                         case 23:
  1740.                             Uid = 800522;
  1741.                             break;
  1742.                         case 24:
  1743.                             Uid = 800422;
  1744.                             break;
  1745.                         case 25:
  1746.                             Uid = 800255;
  1747.                             break;
  1748.                         case 26:
  1749.                             Uid = 800255;
  1750.                             break;
  1751.                         case 27:
  1752.                             Uid = 800142;
  1753.                             break;
  1754.                         case 28:
  1755.                             Uid = 800111;
  1756.                             break;
  1757.                         case 29:
  1758.                             Uid = 800020;
  1759.                             break;
  1760.  
  1761.                     }
  1762.  
  1763.                     if (Uid != 0)
  1764.                     {
  1765.                         ushort X = Owner.X, Y = Owner.Y;
  1766.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  1767.                         //if (Map.SelectCoordonates(ref X, ref Y))
  1768.                         {
  1769.                             //Kernel.Spawn = false;
  1770.                             killer.Owner.Inventory.Add(Uid, 0, 1);
  1771.                             Kernel.SendWorldMessage(new Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + " and " + rates.SnowBanshe + " CPS!", System.Drawing.Color.White, Message.Center), Program.GamePool);
  1772.                             killer.ConquerPoints += rates.SnowBanshe;
  1773.                             Network.GamePackets._String str = new _String(true);
  1774.                             str.UID = killer.UID;
  1775.                             str.TextsCount = 1;
  1776.                             str.Type = _String.Effect;
  1777.                             str.Texts.Add("cortege");
  1778.                             killer.Owner.SendScreen(str, true);
  1779.                             // return;
  1780.                         }
  1781.                     }
  1782.                 }
  1783.             }
  1784.             #endregion            
  1785.             #region SnowDemon
  1786.             if (Name == "SnowDemon")
  1787.             {
  1788.                 uint Uid = 0;
  1789.                 byte type = 30;
  1790.                 for (int i = 0; i < 1; i++)
  1791.                 {
  1792.                     type = (byte)Kernel.Random.Next(1, 29);
  1793.                     switch (type)
  1794.                     {
  1795.                         case 1:
  1796.                             Uid = 824020;
  1797.                             break;
  1798.  
  1799.                         case 2:
  1800.                             Uid = 824019;
  1801.                             break;
  1802.  
  1803.                         case 3:
  1804.                             Uid = 824018;
  1805.                             break;
  1806.  
  1807.                         case 4:
  1808.                             Uid = 823060;
  1809.                             break;
  1810.  
  1811.                         case 5:
  1812.                             Uid = 823061;
  1813.                             break;
  1814.  
  1815.                         case 6:
  1816.                             Uid = 823061;
  1817.                             break;
  1818.  
  1819.                         case 7:
  1820.                             Uid = 823060;
  1821.                             break;
  1822.  
  1823.                         case 8:
  1824.                             Uid = 823059;
  1825.                             break;
  1826.  
  1827.                         case 9:
  1828.                             Uid = 823058;
  1829.                             break;
  1830.  
  1831.                         case 10:
  1832.                             Uid = 822072;
  1833.                             break;
  1834.  
  1835.                         case 11:
  1836.                             Uid = 822071;
  1837.                             break;
  1838.  
  1839.                         case 12:
  1840.                             Uid = 821034;
  1841.                             break;
  1842.  
  1843.                         case 13:
  1844.                             Uid = 821033;
  1845.                             break;
  1846.  
  1847.                         case 14:
  1848.                             Uid = 820076;
  1849.                             break;
  1850.  
  1851.                         case 15:
  1852.                             Uid = 820075;
  1853.                             break;
  1854.  
  1855.                         case 16:
  1856.                             Uid = 820074;
  1857.                             break;
  1858.  
  1859.                         case 17:
  1860.                             Uid = 820073;
  1861.                             break;
  1862.  
  1863.                         case 18:
  1864.                             Uid = 800917;
  1865.                             break;
  1866.  
  1867.                         case 19:
  1868.                             Uid = 800811;
  1869.                             break;
  1870.  
  1871.                         case 20:
  1872.                             Uid = 800810;
  1873.                             break;
  1874.                         case 21:
  1875.                             Uid = 800725;
  1876.                             break;
  1877.                         case 22:
  1878.                             Uid = 800618;
  1879.                             break;
  1880.                         case 23:
  1881.                             Uid = 800522;
  1882.                             break;
  1883.                         case 24:
  1884.                             Uid = 800422;
  1885.                             break;
  1886.                         case 25:
  1887.                             Uid = 800255;
  1888.                             break;
  1889.                         case 26:
  1890.                             Uid = 800255;
  1891.                             break;
  1892.                         case 27:
  1893.                             Uid = 800142;
  1894.                             break;
  1895.                         case 28:
  1896.                             Uid = 800111;
  1897.                             break;
  1898.                         case 29:
  1899.                             Uid = 800020;
  1900.                             break;
  1901.  
  1902.                     }
  1903.  
  1904.                     if (Uid != 0)
  1905.                     {
  1906.                         ushort X = Owner.X, Y = Owner.Y;
  1907.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  1908.                         if (Map.SelectCoordonates(ref X, ref Y))
  1909.                         {
  1910.                             killer.Owner.Inventory.Add(Uid, 0, 1);
  1911.                             Kernel.Spawn4 = false;
  1912.                             Kernel.SendWorldMessage(new Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + " and " + rates.TeratoDragon + " CPS!", System.Drawing.Color.White, Message.Center), Program.GamePool);
  1913.                             killer.ConquerPoints += rates.TeratoDragon;
  1914.                             Network.GamePackets._String str = new _String(true);
  1915.                             str.UID = killer.UID;
  1916.                             str.TextsCount = 1;
  1917.                             str.Type = _String.Effect;
  1918.                             str.Texts.Add("cortege");
  1919.                             killer.Owner.SendScreen(str, true);
  1920.                             // return;
  1921.                         }
  1922.                     }
  1923.                 }
  1924.             }
  1925.             #endregion
  1926.             #region ThirillingSpook
  1927.             if (Name == "ThrillingSpook")
  1928.             {
  1929.                 uint Uid = 0;
  1930.                 byte type = 30;
  1931.                 for (int i = 0; i < 1; i++)
  1932.                 {
  1933.                     type = (byte)Kernel.Random.Next(1, 29);
  1934.                     switch (type)
  1935.                     {
  1936.                         case 1:
  1937.                             Uid = 824020;
  1938.                             break;
  1939.  
  1940.                         case 2:
  1941.                             Uid = 824019;
  1942.                             break;
  1943.  
  1944.                         case 3:
  1945.                             Uid = 824018;
  1946.                             break;
  1947.  
  1948.                         case 4:
  1949.                             Uid = 823060;
  1950.                             break;
  1951.  
  1952.                         case 5:
  1953.                             Uid = 823061;
  1954.                             break;
  1955.  
  1956.                         case 6:
  1957.                             Uid = 823061;
  1958.                             break;
  1959.  
  1960.                         case 7:
  1961.                             Uid = 823060;
  1962.                             break;
  1963.  
  1964.                         case 8:
  1965.                             Uid = 823059;
  1966.                             break;
  1967.  
  1968.                         case 9:
  1969.                             Uid = 823058;
  1970.                             break;
  1971.  
  1972.                         case 10:
  1973.                             Uid = 822072;
  1974.                             break;
  1975.  
  1976.                         case 11:
  1977.                             Uid = 822071;
  1978.                             break;
  1979.  
  1980.                         case 12:
  1981.                             Uid = 821034;
  1982.                             break;
  1983.  
  1984.                         case 13:
  1985.                             Uid = 821033;
  1986.                             break;
  1987.  
  1988.                         case 14:
  1989.                             Uid = 820076;
  1990.                             break;
  1991.  
  1992.                         case 15:
  1993.                             Uid = 820075;
  1994.                             break;
  1995.  
  1996.                         case 16:
  1997.                             Uid = 820074;
  1998.                             break;
  1999.  
  2000.                         case 17:
  2001.                             Uid = 820073;
  2002.                             break;
  2003.  
  2004.                         case 18:
  2005.                             Uid = 800917;
  2006.                             break;
  2007.  
  2008.                         case 19:
  2009.                             Uid = 800811;
  2010.                             break;
  2011.  
  2012.                         case 20:
  2013.                             Uid = 800810;
  2014.                             break;
  2015.                         case 21:
  2016.                             Uid = 800725;
  2017.                             break;
  2018.                         case 22:
  2019.                             Uid = 800618;
  2020.                             break;
  2021.                         case 23:
  2022.                             Uid = 800522;
  2023.                             break;
  2024.                         case 24:
  2025.                             Uid = 800422;
  2026.                             break;
  2027.                         case 25:
  2028.                             Uid = 800255;
  2029.                             break;
  2030.                         case 26:
  2031.                             Uid = 800255;
  2032.                             break;
  2033.                         case 27:
  2034.                             Uid = 800142;
  2035.                             break;
  2036.                         case 28:
  2037.                             Uid = 800111;
  2038.                             break;
  2039.                         case 29:
  2040.                             Uid = 800020;
  2041.                             break;
  2042.  
  2043.                     }
  2044.  
  2045.                     if (Uid != 0)
  2046.                     {
  2047.                         ushort X = Owner.X, Y = Owner.Y;
  2048.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2049.                         if (Map.SelectCoordonates(ref X, ref Y))
  2050.                         {
  2051.                             Kernel.Spawn3 = false;
  2052.                             killer.Owner.Inventory.Add(Uid, 0, 1);
  2053.                             Kernel.SendWorldMessage(new Network.GamePackets.Message("Congratulations! " + killer.Name + " Has Defeated " + Name + " and dropped! " + Database.ConquerItemInformation.BaseInformations[Uid].Name + " and " + rates.ThrillingSpook + " CPS!", System.Drawing.Color.White, Message.Center), Program.GamePool);
  2054.                             killer.ConquerPoints += rates.ThrillingSpook;
  2055.                             Network.GamePackets._String str = new _String(true);
  2056.                             str.UID = killer.UID;
  2057.                             str.TextsCount = 1;
  2058.                             str.Type = _String.Effect;
  2059.                             str.Texts.Add("cortege");
  2060.                             killer.Owner.SendScreen(str, true);
  2061.                             // return;
  2062.                         }
  2063.                     }
  2064.                 }
  2065.             }
  2066.             #endregion
  2067.             #region Ghosts of sbarta By mr ahmed MrCapo
  2068.  
  2069.             if (Name == "Centar")
  2070.             {
  2071.                 {
  2072.                     uint Uid = 0;
  2073.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 2);
  2074.                     switch (type)
  2075.                     {
  2076.                         case 1: Uid = 5130517; break;
  2077.                         case 2: Uid = 5130517; break;
  2078.  
  2079.                     }
  2080.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  2081.                     //killer.ConquerPoints += 10000;
  2082.                     killer.Owner.Send(new Message("Congratulations! " + killer.Name + " Killd is Center monsetr!!Coded By mr Conquer_Online_Server", System.Drawing.Color.Azure, Message.Monster));
  2083.                     // return;
  2084.                 }
  2085.             }
  2086.  
  2087.             if (Name == "Hades")
  2088.             {
  2089.                 {
  2090.                     uint Uid = 0;
  2091.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 2);
  2092.                     switch (type)
  2093.                     {
  2094.                         case 1: Uid = 5130516; break;
  2095.                         case 2: Uid = 5130516; break;
  2096.  
  2097.                     }
  2098.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  2099.                     //killer.ConquerPoints += 10000;
  2100.                     killer.Owner.Send(new Message("Congratulations! " + killer.Name + " Killd is Hades monsetr!!Coded By mr Conquer_Online_Server", System.Drawing.Color.Azure, Message.Monster));
  2101.                     // return;
  2102.                 }
  2103.             }
  2104.             if (Name == "Cyclops")
  2105.             {
  2106.                 {
  2107.                     uint Uid = 0;
  2108.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 2);
  2109.                     switch (type)
  2110.                     {
  2111.                         case 1: Uid = 5130515; break;
  2112.                         case 2: Uid = 5130515; break;
  2113.  
  2114.                     }
  2115.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  2116.                     //killer.ConquerPoints += 10000;
  2117.                     killer.Owner.Send(new Message("Congratulations! " + killer.Name + " Killd is Cyclops monsetr!!Coded By mr Conquer_Online_Server", System.Drawing.Color.Azure, Message.Monster));
  2118.                     // return;
  2119.                 }
  2120.             }
  2121.  
  2122.             if (Name == "Zeus")
  2123.             {
  2124.                 {
  2125.                     uint Uid = 0;
  2126.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 2);
  2127.                     switch (type)
  2128.                     {
  2129.                         case 1: Uid = 5130514; break;
  2130.                         case 2: Uid = 5130514; break;
  2131.  
  2132.                     }
  2133.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  2134.                     //killer.ConquerPoints += 10000;
  2135.                     killer.Owner.Send(new Message("Congratulations! " + killer.Name + " Killd is Zeus monsetr!!Coded By mr Conquer_Online_Server", System.Drawing.Color.Azure, Message.Monster));
  2136.                     // return;
  2137.                 }
  2138.             }
  2139.  
  2140.             if (Name == "KingOfDevils")
  2141.             {
  2142.                 {
  2143.                     uint Uid = 0;
  2144.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 2);
  2145.                     switch (type)
  2146.                     {
  2147.                         case 1: Uid = 188285; break;
  2148.                         case 2: Uid = 188285; break;
  2149.  
  2150.                     }
  2151.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  2152.                     killer.ConquerPoints += 20000;
  2153.                     killer.Owner.Send(new Message("Congratulations! " + killer.Name + " Killd is KingOfDevils monsetr!!Coded By mr Conquer_Online_Server", System.Drawing.Color.Azure, Message.Monster));
  2154.                     // return;
  2155.                 }
  2156.             }
  2157.  
  2158.             #endregion by MrCapo
  2159.             #region Ghosts of sparta
  2160.  
  2161.             #region Ghosts of sparta part 1
  2162.             if (ServerBase.Kernel.Rate(30))
  2163.             {
  2164.                 if (Name == "Lord")
  2165.                 {
  2166.                     uint Uid = 0;
  2167.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 4);
  2168.                     switch (type)
  2169.                     {
  2170.                         case 1: Uid = 20141; break;
  2171.                         case 2: Uid = 20142; break;
  2172.                         case 3: Uid = 20143; break;
  2173.                         case 4: Uid = 20144; break;
  2174.                         case 5: Uid = 20145; break;
  2175.                         case 6: Uid = 20146; break;
  2176.                     }
  2177.  
  2178.                     if (Uid != 0)
  2179.                     {
  2180.                         ushort X = Owner.X, Y = Owner.Y;
  2181.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2182.                         if (Map.SelectCoordonates(ref X, ref Y))
  2183.                         {
  2184.                             Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2185.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2186.                             floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
  2187.                             floorItem.Item.ID = Uid;
  2188.                             floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
  2189.                             floorItem.Item.UID = Network.GamePackets.ConquerItem.ItemUID.Next;
  2190.                             floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2191.                             floorItem.ItemID = Uid;
  2192.                             floorItem.MapID = Owner.MapID;
  2193.                             floorItem.MapObjType = Game.MapObjectType.Item;
  2194.                             floorItem.X = X;
  2195.                             floorItem.Y = Y;
  2196.                             floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2197.                             floorItem.OnFloor = Time32.Now;
  2198.                             floorItem.ItemColor = floorItem.Item.Color;
  2199.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2200.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  2201.                                 floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2202.                             Map.AddFloorItem(floorItem);
  2203.                             SendScreenSpawn(floorItem);
  2204.                         }
  2205.                     }
  2206.                 }
  2207.             }
  2208.             #endregion
  2209.             #region theGhost
  2210.  
  2211.             if (Owner.MapID == 9575 && ServerBase.Kernel.PercentSuccess(200))
  2212.             {
  2213.                 uint Uid2 = 0;
  2214.                 byte type2 = (byte)ServerBase.Kernel.Random.Next(1, 3);
  2215.                 switch (type2)
  2216.                 {
  2217.                     case 1: Uid2 = 50; break;
  2218.                     case 2: Uid2 = 10; break;
  2219.                 }
  2220.                 if (killer.DoubleExperienceTime > 0)
  2221.                 {
  2222.                     killer.ConquerPoints += Uid2;
  2223.                 }
  2224.                 else
  2225.                 {
  2226.                     uint Uid = 0;
  2227.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 30);
  2228.                     switch (type)
  2229.                     {
  2230.                         case 1: Uid = 20141; break;
  2231.                         case 2: Uid = 20142; break;
  2232.                         case 3: Uid = 20143; break;
  2233.                         case 4: Uid = 20144; break;
  2234.                         case 5: Uid = 20145; break;
  2235.                         case 6: Uid = 20146; break;
  2236.                         case 7: Uid = 1088000; break;
  2237.                         case 8: Uid = 1088000; break;
  2238.                         case 9: Uid = 1088000; break;
  2239.                         case 10: Uid = 1088000; break;
  2240.                         case 11: Uid = 1088000; break;
  2241.                         case 12: Uid = 3000252; break;
  2242.                         case 13: Uid = 1088000; break;
  2243.                         case 14: Uid = 1088000; break;
  2244.                         case 15: Uid = 1088000; break;
  2245.                         case 16: Uid = 1088000; break;
  2246.                         case 17: Uid = 1088000; break;
  2247.                         case 18: Uid = 3000253; break;
  2248.                         case 19: Uid = 1088000; break;
  2249.                         case 20: Uid = 1088000; break;
  2250.                         case 21: Uid = 1088000; break;
  2251.                         case 22: Uid = 1088000; break;
  2252.                         case 23: Uid = 1088000; break;
  2253.                         case 24: Uid = 3000254; break;
  2254.                         case 25: Uid = 1088000; break;
  2255.                         case 26: Uid = 3000254; break;
  2256.                         case 27: Uid = 1088000; break;
  2257.                         case 28: Uid = 3000256; break;
  2258.                         case 29: Uid = 1088000; break;
  2259.                         case 30: Uid = 3000257; break;
  2260.                     }
  2261.                     if (Uid != 0)
  2262.                     {
  2263.                         ushort X = Owner.X, Y = Owner.Y;
  2264.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2265.                         if (Map.SelectCoordonates(ref X, ref Y))
  2266.                         {
  2267.                             Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2268.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2269.                             floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
  2270.                             floorItem.Item.ID = (uint)Uid;
  2271.                             floorItem.Item.MaximDurability = 65355;
  2272.                             floorItem.Item.MobDropped = true;
  2273.                             floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2274.                             floorItem.ItemID = (uint)Uid;
  2275.                             floorItem.MapID = Owner.MapID;
  2276.                             floorItem.MapObjType = Game.MapObjectType.Item;
  2277.                             floorItem.X = X;
  2278.                             floorItem.Y = Y;
  2279.                             floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2280.                             floorItem.OnFloor = Time32.Now;
  2281.                             floorItem.ItemColor = floorItem.Item.Color;
  2282.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2283.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  2284.                                 floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2285.                             Map.AddFloorItem(floorItem);
  2286.                             SendScreenSpawn(floorItem);
  2287.                         }
  2288.                     }
  2289.                 }
  2290.             }
  2291.  
  2292.             #endregion Hope
  2293.  
  2294.             #endregion
  2295.             #region Box Satan life
  2296.             #region [N~monster]
  2297.  
  2298.             if (ServerBase.Kernel.Rate(30))
  2299.             {
  2300.                 if (Name == "[N~monster]")
  2301.                 {
  2302.                     uint Uid = 0;
  2303.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
  2304.                     switch (type)
  2305.                     {
  2306.                         case 1: Uid = 114303; break;
  2307.                         case 2: Uid = 114303; break;
  2308.                         case 3: Uid = 117303; break;
  2309.                         case 4: Uid = 117303; break;
  2310.                         case 5: Uid = 118303; break;
  2311.                         case 6: Uid = 118303; break;
  2312.                         case 7: Uid = 121263; break;
  2313.                         case 8: Uid = 121263; break;
  2314.                         case 9: Uid = 123303; break;
  2315.                         case 10: Uid = 123303; break;
  2316.                         case 11: Uid = 20301; break;
  2317.                         case 12: Uid = 20301; break;
  2318.                     }
  2319.  
  2320.                     if (Uid != 0)
  2321.                     {
  2322.                         ushort X = Owner.X, Y = Owner.Y;
  2323.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2324.                         if (Map.SelectCoordonates(ref X, ref Y))
  2325.                         {
  2326.                             Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2327.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2328.                             floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
  2329.                             floorItem.Item.ID = Uid;
  2330.                             floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
  2331.                             floorItem.Item.UID = Network.GamePackets.ConquerItem.ItemUID.Next;
  2332.                             floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2333.                             floorItem.ItemID = Uid;
  2334.                             floorItem.MapID = Owner.MapID;
  2335.                             floorItem.MapObjType = Game.MapObjectType.Item;
  2336.                             floorItem.X = X;
  2337.                             floorItem.Y = Y;
  2338.                             floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2339.                             floorItem.OnFloor = Time32.Now;
  2340.                             floorItem.ItemColor = floorItem.Item.Color;
  2341.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2342.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  2343.                                 floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2344.                             Map.AddFloorItem(floorItem);
  2345.                             SendScreenSpawn(floorItem);
  2346.                         }
  2347.                     }
  2348.                 }
  2349.             }
  2350.  
  2351.             #endregion [N~monster]
  2352.             #region [R~monster]
  2353.  
  2354.             if (ServerBase.Kernel.Rate(30))
  2355.             {
  2356.                 if (Name == "[R~monster]")
  2357.                 {
  2358.                     uint Uid = 0;
  2359.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
  2360.                     switch (type)
  2361.                     {
  2362.                         case 1: Uid = 114303; break;
  2363.                         case 2: Uid = 114303; break;
  2364.                         case 3: Uid = 117303; break;
  2365.                         case 4: Uid = 117303; break;
  2366.                         case 5: Uid = 118303; break;
  2367.                         case 6: Uid = 118303; break;
  2368.                         case 7: Uid = 121263; break;
  2369.                         case 8: Uid = 121263; break;
  2370.                         case 9: Uid = 123303; break;
  2371.                         case 10: Uid = 123303; break;
  2372.                         case 11: Uid = 20302; break;
  2373.                         case 12: Uid = 20302; break;
  2374.                     }
  2375.  
  2376.                     if (Uid != 0)
  2377.                     {
  2378.                         ushort X = Owner.X, Y = Owner.Y;
  2379.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2380.                         if (Map.SelectCoordonates(ref X, ref Y))
  2381.                         {
  2382.                             Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2383.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2384.                             floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
  2385.                             floorItem.Item.ID = Uid;
  2386.                             floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
  2387.                             floorItem.Item.UID = Network.GamePackets.ConquerItem.ItemUID.Next;
  2388.                             floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2389.                             floorItem.ItemID = Uid;
  2390.                             floorItem.MapID = Owner.MapID;
  2391.                             floorItem.MapObjType = Game.MapObjectType.Item;
  2392.                             floorItem.X = X;
  2393.                             floorItem.Y = Y;
  2394.                             floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2395.                             floorItem.OnFloor = Time32.Now;
  2396.                             floorItem.ItemColor = floorItem.Item.Color;
  2397.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2398.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  2399.                                 floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2400.                             Map.AddFloorItem(floorItem);
  2401.                             SendScreenSpawn(floorItem);
  2402.                         }
  2403.                     }
  2404.                 }
  2405.             }
  2406.  
  2407.             #endregion [R~monster]
  2408.             #region [U~monster]
  2409.  
  2410.             if (ServerBase.Kernel.Rate(30))
  2411.             {
  2412.                 if (Name == "[U~monster]")
  2413.                 {
  2414.                     uint Uid = 0;
  2415.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
  2416.                     switch (type)
  2417.                     {
  2418.                         case 1: Uid = 114303; break;
  2419.                         case 2: Uid = 114303; break;
  2420.                         case 3: Uid = 117303; break;
  2421.                         case 4: Uid = 117303; break;
  2422.                         case 5: Uid = 118303; break;
  2423.                         case 6: Uid = 118303; break;
  2424.                         case 7: Uid = 121263; break;
  2425.                         case 8: Uid = 121263; break;
  2426.                         case 9: Uid = 123303; break;
  2427.                         case 10: Uid = 123303; break;
  2428.                         case 11: Uid = 20303; break;
  2429.                         case 12: Uid = 20303; break;
  2430.                     }
  2431.  
  2432.                     if (Uid != 0)
  2433.                     {
  2434.                         ushort X = Owner.X, Y = Owner.Y;
  2435.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2436.                         if (Map.SelectCoordonates(ref X, ref Y))
  2437.                         {
  2438.                             Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2439.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2440.                             floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
  2441.                             floorItem.Item.ID = Uid;
  2442.                             floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
  2443.                             floorItem.Item.UID = Network.GamePackets.ConquerItem.ItemUID.Next;
  2444.                             floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2445.                             floorItem.ItemID = Uid;
  2446.                             floorItem.MapID = Owner.MapID;
  2447.                             floorItem.MapObjType = Game.MapObjectType.Item;
  2448.                             floorItem.X = X;
  2449.                             floorItem.Y = Y;
  2450.                             floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2451.                             floorItem.OnFloor = Time32.Now;
  2452.                             floorItem.ItemColor = floorItem.Item.Color;
  2453.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2454.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  2455.                                 floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2456.                             Map.AddFloorItem(floorItem);
  2457.                             SendScreenSpawn(floorItem);
  2458.                         }
  2459.                     }
  2460.                 }
  2461.             }
  2462.  
  2463.             #endregion [U~monster]
  2464.             #region [E~monster]
  2465.  
  2466.             if (ServerBase.Kernel.Rate(30))
  2467.             {
  2468.                 if (Name == "[E~monster]")
  2469.                 {
  2470.                     uint Uid = 0;
  2471.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
  2472.                     switch (type)
  2473.                     {
  2474.                         case 1: Uid = 114303; break;
  2475.                         case 2: Uid = 114303; break;
  2476.                         case 3: Uid = 117303; break;
  2477.                         case 4: Uid = 117303; break;
  2478.                         case 5: Uid = 118303; break;
  2479.                         case 6: Uid = 118303; break;
  2480.                         case 7: Uid = 121263; break;
  2481.                         case 8: Uid = 121263; break;
  2482.                         case 9: Uid = 123303; break;
  2483.                         case 10: Uid = 123303; break;
  2484.                         case 11: Uid = 20304; break;
  2485.                         case 12: Uid = 20304; break;
  2486.                     }
  2487.  
  2488.                     if (Uid != 0)
  2489.                     {
  2490.                         ushort X = Owner.X, Y = Owner.Y;
  2491.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2492.                         if (Map.SelectCoordonates(ref X, ref Y))
  2493.                         {
  2494.                             Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2495.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2496.                             floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
  2497.                             floorItem.Item.ID = Uid;
  2498.                             floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
  2499.                             floorItem.Item.UID = Network.GamePackets.ConquerItem.ItemUID.Next;
  2500.                             floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2501.                             floorItem.ItemID = Uid;
  2502.                             floorItem.MapID = Owner.MapID;
  2503.                             floorItem.MapObjType = Game.MapObjectType.Item;
  2504.                             floorItem.X = X;
  2505.                             floorItem.Y = Y;
  2506.                             floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2507.                             floorItem.OnFloor = Time32.Now;
  2508.                             floorItem.ItemColor = floorItem.Item.Color;
  2509.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2510.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  2511.                                 floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2512.                             Map.AddFloorItem(floorItem);
  2513.                             SendScreenSpawn(floorItem);
  2514.                         }
  2515.                     }
  2516.                 }
  2517.             }
  2518.  
  2519.             #endregion [E~monster]
  2520.             #region [S~monster]
  2521.  
  2522.             if (ServerBase.Kernel.Rate(30))
  2523.             {
  2524.                 if (Name == "[S~monster]")
  2525.                 {
  2526.                     uint Uid = 0;
  2527.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 12);
  2528.                     switch (type)
  2529.                     {
  2530.                         case 1: Uid = 20305; break;
  2531.                         case 2: Uid = 114303; break;
  2532.                         case 3: Uid = 20305; break;
  2533.                         case 4: Uid = 117303; break;
  2534.                         case 5: Uid = 20305; break;
  2535.                         case 6: Uid = 118303; break;
  2536.                         case 7: Uid = 20305; break;
  2537.                         case 8: Uid = 121263; break;
  2538.                         case 9: Uid = 20305; break;
  2539.                         case 10: Uid = 20305; break;
  2540.                         case 11: Uid = 20305; break;
  2541.                         case 12: Uid = 20305; break;
  2542.                     }
  2543.  
  2544.                     if (Uid != 0)
  2545.                     {
  2546.                         ushort X = Owner.X, Y = Owner.Y;
  2547.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2548.                         if (Map.SelectCoordonates(ref X, ref Y))
  2549.                         {
  2550.                             Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2551.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2552.                             floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)ServerBase.Kernel.Random.Next(4, 8);
  2553.                             floorItem.Item.ID = Uid;
  2554.                             floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
  2555.                             floorItem.Item.UID = Network.GamePackets.ConquerItem.ItemUID.Next;
  2556.                             floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2557.                             floorItem.ItemID = Uid;
  2558.                             floorItem.MapID = Owner.MapID;
  2559.                             floorItem.MapObjType = Game.MapObjectType.Item;
  2560.                             floorItem.X = X;
  2561.                             floorItem.Y = Y;
  2562.                             floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2563.                             floorItem.OnFloor = Time32.Now;
  2564.                             floorItem.ItemColor = floorItem.Item.Color;
  2565.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2566.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  2567.                                 floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2568.                             Map.AddFloorItem(floorItem);
  2569.                             SendScreenSpawn(floorItem);
  2570.                         }
  2571.                     }
  2572.                 }
  2573.             }
  2574.  
  2575.             #endregion [S~monster]
  2576.             #region [Satan]
  2577.             if (Name == "Satan")
  2578.             {
  2579.                 {
  2580.                     uint Uid = 0;
  2581.                     byte type = (byte)ServerBase.Kernel.Random.Next(1, 20);
  2582.                     switch (type)
  2583.                     {
  2584.                         case 1: Uid = 800915; break;
  2585.                         case 2: Uid = 800915; break;
  2586.                         case 3: Uid = 800916; break;
  2587.                         case 4: Uid = 823053; break;
  2588.                         case 5: Uid = 823053; break;
  2589.                         case 6: Uid = 823054; break;
  2590.                         case 7: Uid = 823054; break;
  2591.                         case 8: Uid = 823055; break;
  2592.                         case 9: Uid = 823055; break;
  2593.                         case 10: Uid = 823056; break;
  2594.                         case 11: Uid = 823056; break;
  2595.                         case 12: Uid = 823057; break;
  2596.                         case 13: Uid = 823057; break;
  2597.                         case 14: Uid = 821027; break;
  2598.                         case 15: Uid = 821027; break;
  2599.                         case 16: Uid = 821028; break;
  2600.                         case 17: Uid = 821028; break;
  2601.                         case 18: Uid = 821032; break;
  2602.                         case 19: Uid = 821029; break;
  2603.                         case 20: Uid = 821031; break;
  2604.  
  2605.  
  2606.                     }
  2607.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  2608.                     killer.ConquerPoints += 10000;
  2609.                     killer.Owner.Send(new Message("Congratulations! " + killer.Name + " Killd is Satan.!!Coded By mr Conquer_Online_Server", System.Drawing.Color.Azure, Message.Monster));
  2610.                     // return;
  2611.                 }
  2612.             }
  2613.             #endregion [Satan]
  2614.             #endregion Box Satan life
  2615.          
  2616.             int Rand = Conquer_Online_Server.Kernel.Random.Next(1, 1200);
  2617.             if (Rand >= 529 && Rand <= 540)
  2618.             {
  2619.                 uint randsouls = (uint)Conquer_Online_Server.Kernel.Random.Next(1, (int)Database.DROP_SOULS.Count_souls);
  2620.                 uint ItemID = Database.DROP_SOULS.Souls[randsouls].item_id;
  2621.                 var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  2622.                 if (infos == null) return;
  2623.                 ushort X = Owner.X, Y = Owner.Y;
  2624.                 Game.Map Map = Kernel.Maps[Owner.MapID];
  2625.                 if (Map.SelectCoordonates(ref X, ref Y))
  2626.                 {
  2627.                     Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2628.                     floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2629.                     floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)Kernel.Random.Next(4, 8);
  2630.                     floorItem.Item.ID = ItemID;
  2631.                     floorItem.Item.MaximDurability = infos.Durability;
  2632.  
  2633.                     floorItem.Item.Durability = (ushort)(Kernel.Random.Next(infos.Durability / 10));
  2634.  
  2635.                     if (!Network.PacketHandler.IsEquipment(ItemID) && infos.ConquerPointsWorth == 0)
  2636.                     {
  2637.                         floorItem.Item.StackSize = 1;
  2638.                         floorItem.Item.MaxStackSize = infos.StackSize;
  2639.                     }
  2640.                     floorItem.Item.MobDropped = true;
  2641.                     floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2642.                     floorItem.ItemID = ItemID;
  2643.                     floorItem.MapID = Owner.MapID;
  2644.                     floorItem.MapObjType = Game.MapObjectType.Item;
  2645.                     floorItem.X = X;
  2646.                     floorItem.Y = Y;
  2647.                     floorItem.Owner = killer.Owner;
  2648.                     floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2649.                     floorItem.OnFloor = Time32.Now;
  2650.                     floorItem.ItemColor = floorItem.Item.Color;
  2651.                     floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2652.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2653.                         floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2654.                     Map.AddFloorItem(floorItem);
  2655.                     SendScreenSpawn(floorItem);
  2656.                 }
  2657.             }
  2658.  
  2659.  
  2660.             byte morepercent = 0;
  2661.             byte lessrate = 0;
  2662.             if (killer.VIPLevel > 0)
  2663.                 morepercent = (byte)(killer.VIPLevel * 5);
  2664.             if (killer.Level <= 10 && killer.MapID == 1002)
  2665.                 morepercent += 100;
  2666.             if (killer.VIPLevel != 6 && killer.Class >= 40 && killer.Class <= 45)
  2667.                 lessrate = 3;
  2668.             if (killer.VIPLevel != 6 && killer.Level >= 132 && killer.ContainsFlag(Network.GamePackets.Update.Flags.ShurikenVortex))
  2669.                 lessrate = 3;
  2670.  
  2671.             if (Kernel.Rate(Constants.MoneyDropRate - lessrate + morepercent))
  2672.             {
  2673.  
  2674.                 uint amount = (uint)Kernel.Random.Next((int)MinMoneyDropAmount, (int)MaxMoneyDropAmount);
  2675.                 amount *= Constants.MoneyDropMultiple;
  2676.  
  2677.                 if (amount > 1000000)
  2678.                     amount = 6000000;
  2679.  
  2680.                 if (amount == 0)
  2681.                     return;
  2682.                 if (killer.VIPLevel > 0)
  2683.                 {
  2684.                     int percent = 10;
  2685.                     percent += killer.VIPLevel * 5 - 5;
  2686.                     amount += (uint)(amount * percent / 100);
  2687.                 }
  2688.                 if (killer.VIPLevel > 4)
  2689.                 {
  2690.                     killer.Money += amount;
  2691.                     goto next;
  2692.                 }
  2693.                 uint ItemID = Network.PacketHandler.MoneyItemID(amount);
  2694.                 ushort X = Owner.X, Y = Owner.Y;
  2695.                 Game.Map Map = Kernel.Maps[Owner.MapID];
  2696.                 if (Map.SelectCoordonates(ref X, ref Y))
  2697.                 {
  2698.                     Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2699.                     floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Money;
  2700.                     floorItem.Value = amount;
  2701.                     floorItem.ItemID = ItemID;
  2702.                     floorItem.MapID = Owner.MapID;
  2703.                     floorItem.MapObjType = Game.MapObjectType.Item;
  2704.                     floorItem.X = X;
  2705.                     floorItem.Y = Y;
  2706.                     floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2707.                     floorItem.OnFloor = Time32.Now;
  2708.                     floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2709.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2710.                         floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2711.                     Map.AddFloorItem(floorItem);
  2712.                     SendScreenSpawn(floorItem);
  2713.                 }
  2714.             }
  2715.         next:
  2716.  
  2717.             /*if (Kernel.Rate(Constants.ConquerPointsDropRate - lessrate))
  2718.             {
  2719.                 uint amount = (uint)Level * 6;//serverdrop
  2720.                 if (amount <50) amount = 150;
  2721.                 if (amount > 200) amount = 150;
  2722.                 if (killer != null && killer.Owner != null)
  2723.                 {
  2724.                     if (killer.Owner.Map.BaseID == 1354)
  2725.                     {
  2726.                         amount = 30;
  2727.                     }
  2728.                 }
  2729.                 if (killer != null && killer.Owner != null)
  2730.                 {
  2731.                     //killer.Owner.Send(Constants.PickupConquerPoints(amount));
  2732.                     //killer.ConquerPoints += (uint)amount;
  2733.                    // killer.Owner.Send(new Network.GamePackets.Message("You received " + amount + " ConquerPoints! for Kill " + Name + "", System.Drawing.Color.Red, Network.GamePackets.Message.TopLeft).ToArray());
  2734.                     return;
  2735.                 }
  2736.                 //  }
  2737.  
  2738.                 #region CPBag
  2739.  
  2740.                 //uint ItemID = 729911;
  2741.                 //ushort X = Owner.X, Y = Owner.Y;
  2742.                 //Game.Map Map = Kernel.Maps[Owner.MapID];
  2743.                 //if (Map.SelectCoordonates(ref X, ref Y))
  2744.                 //{
  2745.                 //    Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2746.                 //    floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.ConquerPoints;
  2747.                 //    floorItem.Value = amount;
  2748.                 //    floorItem.ItemID = ItemID;
  2749.                 //    floorItem.MapID = Owner.MapID;
  2750.                 //    floorItem.MapObjType = Game.MapObjectType.Item;
  2751.                 //    floorItem.X = X;
  2752.                 //    floorItem.Y = Y;
  2753.                 //    floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2754.                 //    floorItem.OnFloor = Time32.Now;
  2755.                 //    floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2756.                 //    while (Map.Npcs.ContainsKey(floorItem.UID))
  2757.                 //        floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2758.                 //    Map.AddFloorItem(floorItem);
  2759.                 //    SendScreenSpawn(floorItem);
  2760.                 //}
  2761.                 #endregion
  2762.             }*/
  2763.             if (Kernel.Rate(OwnItemRate + morepercent) && OwnItemID != 0)
  2764.             {
  2765.                 if (killer.VIPLevel > 4)
  2766.                 {
  2767.                     if (killer.Owner.Inventory.Count <= 39)
  2768.                     {
  2769.                         killer.Owner.Inventory.Add((uint)OwnItemID, 0, 1);
  2770.                         return;
  2771.                     }
  2772.                 }
  2773.                 var infos = Database.ConquerItemInformation.BaseInformations[(uint)OwnItemID];
  2774.                 ushort X = Owner.X, Y = Owner.Y;
  2775.                 Game.Map Map = Kernel.Maps[Owner.MapID];
  2776.                 if (Map.SelectCoordonates(ref X, ref Y))
  2777.                 {
  2778.                     Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2779.                     floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2780.                     floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)Kernel.Random.Next(4, 8);
  2781.                     floorItem.Item.ID = (uint)OwnItemID;
  2782.                     floorItem.Item.MaximDurability = infos.Durability;
  2783.                     if (!Network.PacketHandler.IsEquipment(OwnItemID) && infos.ConquerPointsWorth == 0)
  2784.                     {
  2785.                         floorItem.Item.StackSize = 1;
  2786.                         floorItem.Item.MaxStackSize = infos.StackSize;
  2787.                     }
  2788.                     floorItem.Item.MobDropped = true;
  2789.                     floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2790.                     floorItem.ItemID = (uint)OwnItemID;
  2791.                     floorItem.MapID = Owner.MapID;
  2792.                     floorItem.MapObjType = Game.MapObjectType.Item;
  2793.                     floorItem.X = X;
  2794.                     floorItem.Y = Y;
  2795.                     floorItem.Owner = killer.Owner;
  2796.                     floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2797.                     floorItem.OnFloor = Time32.Now;
  2798.                     floorItem.ItemColor = floorItem.Item.Color;
  2799.                     floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2800.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2801.                         floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2802.                     Map.AddFloorItem(floorItem);
  2803.                     SendScreenSpawn(floorItem);
  2804.                 }
  2805.             }
  2806.             else if (Kernel.Rate(Constants.ItemDropRate + morepercent))
  2807.             {
  2808.                 int quality = 3;
  2809.                 for (int count = 0; count < 5; count++)
  2810.                 {
  2811.                     int rate = int.Parse(Constants.ItemDropQualityRates[count]);
  2812.                     if (Kernel.Rate(rate, 1000))
  2813.                     {
  2814.                         quality = count + 5;
  2815.                         break;
  2816.                     }
  2817.                 }
  2818.                 int times = 50;
  2819.                 byte lvl = Owner.Level;
  2820.                 if (LabirinthDrop)
  2821.                     lvl = 20;
  2822.                 List<uint> itemdroplist = ItemDropCache[lvl];
  2823.                 if (Boss)
  2824.                     itemdroplist = SoulItemCache[lvl];
  2825.                 if (itemdroplist != null)
  2826.                 {
  2827.                 retry:
  2828.                     times--;
  2829.                     int generateItemId = Kernel.Random.Next(itemdroplist.Count);
  2830.                     uint id = itemdroplist[generateItemId];
  2831.                     uint idb = id;
  2832.                     if (!Boss)
  2833.                     {
  2834.                         if (Database.ConquerItemInformation.BaseInformations[id].Level > 121 && times > 0)
  2835.                             goto retry;
  2836.                         id = (id / 10) * 10 + (uint)quality;
  2837.                     }
  2838.                     if (!Database.ConquerItemInformation.BaseInformations.ContainsKey(id))
  2839.                         id = idb;
  2840.                    
  2841.                     if (killer.VIPLevel < 0)
  2842.                     {
  2843.                         if (killer.Owner.Inventory.Count <= 39)
  2844.                         {
  2845.                             if (id % 10 > 7)
  2846.                             {
  2847.                                 killer.Owner.Inventory.Add(id, 0, 1);
  2848.                                 return;
  2849.                             }
  2850.                         }
  2851.                     }
  2852.                     var infos = Database.ConquerItemInformation.BaseInformations[id];
  2853.                     ushort X = Owner.X, Y = Owner.Y;
  2854.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  2855.                     if (Map.SelectCoordonates(ref X, ref Y))
  2856.                     {
  2857.                         Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2858.                         floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2859.                         floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)Kernel.Random.Next(4, 8);
  2860.                         floorItem.Item.ID = id;
  2861.                         floorItem.Item.MaximDurability = infos.Durability;
  2862.                         if (quality >= 6)
  2863.                             floorItem.Item.Durability = (ushort)(infos.Durability - Kernel.Random.Next(500));
  2864.                         else
  2865.                             floorItem.Item.Durability = (ushort)(Kernel.Random.Next(infos.Durability / 10));
  2866.                         if (!Network.PacketHandler.IsEquipment(id) && infos.ConquerPointsWorth == 0)
  2867.                         {
  2868.                             floorItem.Item.StackSize = 1;
  2869.                             floorItem.Item.MaxStackSize = infos.StackSize;
  2870.                         }
  2871.                         floorItem.Item.MobDropped = true;
  2872.                         floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2873.                         floorItem.ItemID = id;
  2874.                         floorItem.MapID = Owner.MapID;
  2875.                         floorItem.MapObjType = Game.MapObjectType.Item;
  2876.                         floorItem.X = X;
  2877.                         floorItem.Y = Y;
  2878.                         floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2879.                         floorItem.OnFloor = Time32.Now;
  2880.                         floorItem.Owner = killer.Owner;
  2881.                         floorItem.ItemColor = floorItem.Item.Color;
  2882.                         floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2883.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2884.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2885.                         Map.AddFloorItem(floorItem);
  2886.                         SendScreenSpawn(floorItem);
  2887.                     }
  2888.                 }
  2889.             }
  2890.             else if (Kernel.Rate(20 + morepercent))
  2891.             {
  2892.                 if (HPPotionID == 0)
  2893.                     return;
  2894.                 var infos = Database.ConquerItemInformation.BaseInformations[(uint)HPPotionID];
  2895.                 ushort X = Owner.X, Y = Owner.Y;
  2896.                 Game.Map Map = Kernel.Maps[Owner.MapID];
  2897.                 if (Map.SelectCoordonates(ref X, ref Y))
  2898.                 {
  2899.                     Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2900.                     floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2901.                     floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)Kernel.Random.Next(4, 8);
  2902.                     floorItem.Item.ID = (uint)HPPotionID;
  2903.                     floorItem.Item.MobDropped = true;
  2904.                     floorItem.Item.MaximDurability = infos.Durability;
  2905.                     floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2906.                     if (!Network.PacketHandler.IsEquipment(HPPotionID))
  2907.                     {
  2908.                         floorItem.Item.StackSize = 1;
  2909.                         floorItem.Item.MaxStackSize = infos.StackSize;
  2910.                     }
  2911.                     floorItem.ItemID = (uint)HPPotionID;
  2912.                     floorItem.MapID = Owner.MapID;
  2913.                     floorItem.MapObjType = Game.MapObjectType.Item;
  2914.                     floorItem.X = X;
  2915.                     floorItem.Y = Y;
  2916.                     floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2917.                     floorItem.OnFloor = Time32.Now;
  2918.                     floorItem.Owner = killer.Owner;
  2919.                     floorItem.ItemColor = floorItem.Item.Color;
  2920.                     floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2921.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2922.                         floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2923.                     Map.AddFloorItem(floorItem);
  2924.                     SendScreenSpawn(floorItem);
  2925.                 }
  2926.             }
  2927.             else if (Kernel.Rate(20 + morepercent))
  2928.             {
  2929.                 if (MPPotionID == 0)
  2930.                     return;
  2931.                 var infos = Database.ConquerItemInformation.BaseInformations[(uint)MPPotionID];
  2932.                 ushort X = Owner.X, Y = Owner.Y;
  2933.                 Game.Map Map = Kernel.Maps[Owner.MapID];
  2934.                 if (Map.SelectCoordonates(ref X, ref Y))
  2935.                 {
  2936.                     Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2937.                     floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2938.                     floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)Kernel.Random.Next(4, 8);
  2939.                     floorItem.Item.ID = (uint)MPPotionID;
  2940.                     floorItem.Item.MaximDurability = infos.Durability;
  2941.                     floorItem.Item.MobDropped = true;
  2942.                     floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2943.                     if (!Network.PacketHandler.IsEquipment(MPPotionID))
  2944.                     {
  2945.                         floorItem.Item.StackSize = 1;
  2946.                         floorItem.Item.MaxStackSize = infos.StackSize;
  2947.                     }
  2948.                     floorItem.ItemID = (uint)MPPotionID;
  2949.                     floorItem.MapID = Owner.MapID;
  2950.                     floorItem.MapObjType = Game.MapObjectType.Item;
  2951.                     floorItem.X = X;
  2952.                     floorItem.Y = Y;
  2953.                     floorItem.Type = Network.GamePackets.FloorItem.Drop;
  2954.                     floorItem.OnFloor = Time32.Now;
  2955.                     floorItem.Owner = killer.Owner;
  2956.                     floorItem.ItemColor = floorItem.Item.Color;
  2957.                     floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2958.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2959.                         floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  2960.                     Map.AddFloorItem(floorItem);
  2961.                     SendScreenSpawn(floorItem);
  2962.                 }
  2963.             }
  2964.             else
  2965.             {
  2966.                 foreach (SpecialItemDrop sitem in SpecialItemDropList)
  2967.                 {
  2968.                     if (sitem.Map != 0 && Owner.MapID != sitem.Map)
  2969.                         continue;
  2970.                     if (Kernel.Rate(sitem.Rate + morepercent, sitem.Discriminant))
  2971.                     {
  2972.                         if (killer.VIPLevel < 0)
  2973.                         {
  2974.                             if (killer.Owner.Inventory.Count <= 39)
  2975.                             {
  2976.                                 killer.Owner.Inventory.Add((uint)sitem.ItemID, 0, 1);
  2977.                                 return;
  2978.                             }
  2979.                         }
  2980.                         var infos = Database.ConquerItemInformation.BaseInformations[(uint)sitem.ItemID];
  2981.                         ushort X = Owner.X, Y = Owner.Y;
  2982.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  2983.                         if (Map.SelectCoordonates(ref X, ref Y))
  2984.                         {
  2985.                             Network.GamePackets.FloorItem floorItem = new Network.GamePackets.FloorItem(true);
  2986.                             floorItem.Item = new Network.GamePackets.ConquerItem(true);
  2987.                             floorItem.Item.Color = (Conquer_Online_Server.Game.Enums.Color)Kernel.Random.Next(4, 8);
  2988.                             floorItem.Item.ID = (uint)sitem.ItemID;
  2989.                             floorItem.Item.MaximDurability = infos.Durability;
  2990.                             floorItem.Item.MobDropped = true;
  2991.                             if (!Network.PacketHandler.IsEquipment(sitem.ItemID) && infos.ConquerPointsWorth == 0)
  2992.                             {
  2993.                                 floorItem.Item.StackSize = 1;
  2994.                                 floorItem.Item.MaxStackSize = infos.StackSize;
  2995.                             }
  2996.                             floorItem.ValueType = Network.GamePackets.FloorItem.FloorValueType.Item;
  2997.                             floorItem.ItemID = (uint)sitem.ItemID;
  2998.                             floorItem.MapID = Owner.MapID;
  2999.                             floorItem.MapObjType = Game.MapObjectType.Item;
  3000.                             floorItem.X = X;
  3001.                             floorItem.Y = Y;
  3002.                             floorItem.Type = Network.GamePackets.FloorItem.Drop;
  3003.                             floorItem.OnFloor = Time32.Now;
  3004.                             floorItem.ItemColor = floorItem.Item.Color;
  3005.                             floorItem.Owner = killer.Owner;
  3006.                             floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  3007.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  3008.                                 floorItem.UID = Network.GamePackets.FloorItem.FloorUID.Next;
  3009.                             Map.AddFloorItem(floorItem);
  3010.                             SendScreenSpawn(floorItem);
  3011.                             break;
  3012.                         }
  3013.                     }
  3014.                 }
  3015.             }
  3016.         }
  3017.  
  3018.         public const int ReviverID = 9879;
  3019.  
  3020.         public static SafeDictionary<uint, MonsterInformation> MonsterInformations = new SafeDictionary<uint, MonsterInformation>(8000);
  3021.  
  3022.         public static void Load()
  3023.         {
  3024.             using(var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("specialdrops"))
  3025.             using (var rdr = cmd.CreateReader())
  3026.             {
  3027.                 while (rdr.Read())
  3028.                 {
  3029.                     SpecialItemDrop sitem = new SpecialItemDrop();
  3030.                     sitem.ItemID = rdr.ReadInt32("itemid");
  3031.                     sitem.Rate = rdr.ReadInt32("rate");
  3032.                     sitem.Discriminant = rdr.ReadInt32("discriminant");
  3033.                     sitem.Map = rdr.ReadInt32("map");
  3034.                     SpecialItemDropList.Add(sitem);
  3035.                 }
  3036.             }
  3037.             using (var command = new MySqlCommand(MySqlCommandType.SELECT))
  3038.             {
  3039.                 command.Select("monsterinfos");
  3040.                 using (var reader = command.CreateReader())
  3041.                 {
  3042.                     while (reader.Read())
  3043.                     {
  3044.                         MonsterInformation mf = new MonsterInformation();
  3045.                         mf.ID = reader.ReadUInt32("id");
  3046.                         mf.Name = reader.ReadString("name");
  3047.                         mf.Type = reader.ReadUInt32("type");
  3048.                         mf.Mesh = reader.ReadUInt16("lookface");
  3049.                         mf.Level = reader.ReadByte("level");
  3050.                         mf.Hitpoints = reader.ReadUInt32("life");
  3051.                         IniFile IniFile = new IniFile(Constants.MonstersPath);
  3052.                         if (IniFile.ReadString(mf.Name, "MaxLife") != "")
  3053.                         {
  3054.                             if (uint.Parse(IniFile.ReadString(mf.Name, "MaxLife")) != 0)
  3055.                             {
  3056.                                 mf.Hitpoints = uint.Parse(IniFile.ReadString(mf.Name, "MaxLife"));
  3057.                                 byte boss = byte.Parse(IniFile.ReadString(mf.Name, "Boss"));
  3058.                                 if (boss == 0)
  3059.                                     mf.Boss = false;
  3060.                                 else mf.Boss = true;
  3061.                             }
  3062.                         }
  3063.                         mf.Guard = mf.Name.Contains("Guard");
  3064.                         mf.Reviver = mf.ID == ReviverID;
  3065.                         mf.ViewRange = reader.ReadUInt16("view_range");
  3066.                         mf.AttackRange = reader.ReadUInt16("attack_range");
  3067.                         mf.Defence = reader.ReadUInt16("defence");
  3068.                         mf.AttackType = reader.ReadByte("attack_user");
  3069.                         mf.MinAttack = reader.ReadUInt32("attack_min");
  3070.                         mf.MaxAttack = reader.ReadUInt32("attack_max");
  3071.                         mf.SpellID = reader.ReadUInt16("magic_type");
  3072.                         mf.MoveSpeed = reader.ReadInt32("move_speed");
  3073.                         mf.RunSpeed = reader.ReadInt32("run_speed");
  3074.                         mf.OwnItemID = reader.ReadInt32("ownitem");
  3075.                         mf.HPPotionID = reader.ReadInt32("drop_hp");
  3076.                         mf.MPPotionID = reader.ReadInt32("drop_mp");
  3077.                         mf.OwnItemRate = reader.ReadInt32("ownitemrate");
  3078.                         mf.AttackSpeed = reader.ReadInt32("attack_speed");
  3079.                         mf.ExtraExperience = reader.ReadUInt32("extra_exp");
  3080.                         uint MoneyDropAmount = reader.ReadUInt16("level");
  3081.                         if (MoneyDropAmount != 0)
  3082.                         {
  3083.                             mf.MaxMoneyDropAmount = MoneyDropAmount * 25;
  3084.                             if (mf.MaxMoneyDropAmount != 0)
  3085.                                 mf.MinMoneyDropAmount = 1;
  3086.                         }
  3087.                         if (mf.MoveSpeed <= 500)
  3088.                             mf.MoveSpeed += 500;
  3089.                         if (mf.AttackSpeed <= 500)
  3090.                             mf.AttackSpeed += 500;
  3091.                         MonsterInformations.Add(mf.ID, mf);
  3092.                         byte lvl = mf.Level;
  3093.                         if (mf.Name == "Slinger" ||
  3094.                             mf.Name == "GoldGhost" ||
  3095.                             mf.Name == "AgileRat" ||
  3096.                             mf.Name == "Bladeling" ||
  3097.                             mf.Name == "BlueBird" ||
  3098.                             mf.Name == "BlueFiend" ||
  3099.                             mf.Name == "MinotaurL120")
  3100.                         {
  3101.                             mf.LabirinthDrop = true;
  3102.                             lvl = 20;
  3103.                         }
  3104.                         if (!ItemDropCache.ContainsKey(lvl))
  3105.                         {
  3106.                             List<uint> itemdroplist = new List<uint>();
  3107.                             foreach (ConquerItemBaseInformation itemInfo in ConquerItemInformation.BaseInformations.Values)
  3108.                             {
  3109.  
  3110.                                 if (itemInfo.ID >= 800000 && itemInfo.ID <= 824014)
  3111.                                     continue;
  3112.                                 ushort position = Network.PacketHandler.ItemPosition(itemInfo.ID);
  3113.                                 if (Network.PacketHandler.IsArrow(itemInfo.ID) || itemInfo.Level == 0 || itemInfo.Level > 121)
  3114.                                     continue;
  3115.                                 if (position < 9 && position != 7)
  3116.                                 {
  3117.                                     if (itemInfo.Level == 100)
  3118.                                         if (itemInfo.Name.Contains("Dress"))
  3119.                                             continue;
  3120.                                     if (itemInfo.Level > 121)
  3121.                                         continue;
  3122.                                     int diff = (int)lvl - (int)itemInfo.Level;
  3123.                                     if (!(diff > 10 || diff < -10))
  3124.                                     {
  3125.                                         itemdroplist.Add(itemInfo.ID);
  3126.                                     }
  3127.                                 }
  3128.                                 if (position == 10 || position == 11 && lvl >= 70)
  3129.                                     itemdroplist.Add(itemInfo.ID);
  3130.                             }
  3131.                             ItemDropCache.Add(lvl, itemdroplist);
  3132.                         }
  3133.                         if (mf.Boss)
  3134.                         {
  3135.                             List<uint> itemdroplist = new List<uint>();
  3136.                             foreach (ConquerItemBaseInformation itemInfo in ConquerItemInformation.BaseInformations.Values)
  3137.                             {
  3138.                                 if (itemInfo.ID >= 800000 && itemInfo.ID <= 824014)
  3139.                                 {
  3140.                                     if (itemInfo.PurificationLevel <= 3)
  3141.                                     {
  3142.                                         int diff = (int)mf.Level - (int)itemInfo.Level;
  3143.                                         if (!(diff > 10 || diff < -10))
  3144.                                         {
  3145.                                             itemdroplist.Add(itemInfo.ID);
  3146.                                         }
  3147.                                     }
  3148.                                 }
  3149.                             }
  3150.                             SoulItemCache.Add(lvl, itemdroplist);
  3151.                         }
  3152.                     }
  3153.                 }
  3154.             }
  3155.             Console.WriteLine("Monster information loaded.");
  3156.             Console.WriteLine("Monster drops generated.");
  3157.         }
  3158.  
  3159.         public MonsterInformation Copy()
  3160.         {
  3161.             MonsterInformation mf = new MonsterInformation();
  3162.             mf.ID = this.ID;
  3163.             mf.Name = this.Name;
  3164.             mf.Mesh = this.Mesh;
  3165.             mf.Level = this.Level;
  3166.             mf.Hitpoints = this.Hitpoints;
  3167.             mf.ViewRange = this.ViewRange;
  3168.             mf.AttackRange = this.AttackRange;
  3169.             mf.AttackType = this.AttackType;
  3170.             mf.MinAttack = this.MinAttack;
  3171.             mf.MaxAttack = this.MaxAttack;
  3172.             mf.SpellID = this.SpellID;
  3173.             mf.MoveSpeed = this.MoveSpeed;
  3174.             mf.RunSpeed = this.RunSpeed;
  3175.             mf.AttackSpeed = this.AttackSpeed;
  3176.             mf.BoundX = this.BoundX;
  3177.             mf.BoundY = this.BoundY;
  3178.             mf.BoundCX = this.BoundCX;
  3179.             mf.BoundCY = this.BoundCY;
  3180.             mf.RespawnTime = this.RespawnTime;
  3181.             mf.ExtraExperience = this.ExtraExperience;
  3182.             mf.MaxMoneyDropAmount = this.MaxMoneyDropAmount;
  3183.             mf.MinMoneyDropAmount = this.MinMoneyDropAmount;
  3184.             mf.OwnItemID = this.OwnItemID;
  3185.             mf.HPPotionID = this.HPPotionID;
  3186.             mf.MPPotionID = this.MPPotionID;
  3187.             mf.OwnItemRate = this.OwnItemRate;
  3188.             mf.LabirinthDrop = this.LabirinthDrop;
  3189.             mf.Boss = this.Boss;
  3190.             mf.Guard = this.Guard;
  3191.             mf.Defence = this.Defence;
  3192.             mf.Reviver = this.Reviver;
  3193.             return mf;
  3194.         }
  3195.     }
  3196. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement