Advertisement
UmarKhaled_

MonsterTable

Jan 27th, 2020
251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 408.76 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using AboGamil.Game;
  4. using System.Text;
  5. using System.Collections.Generic;
  6. using AboGamil.Network.GamePackets;
  7. using AboGamil.Interfaces;
  8. using MagicOnline;
  9.  
  10. namespace AboGamil.Database
  11. {
  12.     public unsafe class MonsterInformation
  13.     {
  14.         #region Definitions
  15.         public Dictionary<uint, Client.GameState> boardscore = new Dictionary<uint, Client.GameState>(10000);
  16.         public Dictionary<Game.Player, uint> Score = new Dictionary<Game.Player, uint>();
  17.         public static SafeDictionary<uint, MonsterInformation> MonsterInformations = new SafeDictionary<uint, MonsterInformation>(8000);
  18.         public Game.Player Owner;
  19.         public Time32 Lastpop;
  20.         public uint ExcludeFromSend = 0;
  21.         private bool LabirinthDrop = false;
  22.         public bool Guard, Reviver;
  23.         public uint ID;
  24.         public ushort Mesh;
  25.         public byte Level;
  26.         public uint Type;
  27.         public string Name;
  28.         public uint Hitpoints;
  29.         public ushort Defence;
  30.         public ushort ViewRange;
  31.         public ushort AttackRange;
  32.         public int RespawnTime;
  33.         public uint MinAttack, MaxAttack;
  34.         public byte AttackType;
  35.         public ushort SpellID;
  36.         public uint InSight;
  37.         public bool Boss;
  38.         public Time32 LastMove;
  39.         public int MoveSpeed;
  40.         public int RunSpeed;
  41.         public int OwnItemID, OwnItemRate;
  42.         public int HPPotionID, MPPotionID;
  43.         public int AttackSpeed;
  44.         public static byte NumAboGamil = 0;
  45.         public int MinimumSpeed
  46.         {
  47.             get
  48.             {
  49.                 int min = 10000000;
  50.                 if (min > MoveSpeed)
  51.                     min = MoveSpeed;
  52.                 if (min > RunSpeed)
  53.                     min = RunSpeed;
  54.                 if (min > AttackSpeed)
  55.                     min = AttackSpeed;
  56.                 return min;
  57.             }
  58.         }
  59.         public uint ExtraExperience;
  60.         public uint MinMoneyDropAmount;
  61.         public uint MaxMoneyDropAmount;
  62.         public ushort BoundX, BoundY;
  63.         public ushort BoundCX, BoundCY;
  64.         public const int ReviverID = 9879;
  65.         #endregion
  66.         public static void Load()
  67.         {
  68.             using (var command = new MySqlCommand(MySqlCommandType.SELECT))
  69.             {
  70.                 command.Select("monsterinfos");
  71.                 using (var reader = command.CreateReader())
  72.                 {
  73.                     Console.Write("Loading Monster information...  ");
  74.                     while (reader.Read())
  75.                     {
  76.                         Console.Write("\b{0}", Loading.NextChar());
  77.                         MonsterInformation mf = new MonsterInformation();
  78.                         mf.ID = reader.ReadUInt32("id");
  79.                         mf.Name = reader.ReadString("name");
  80.                         mf.Type = reader.ReadUInt32("type");
  81.                         mf.Mesh = reader.ReadUInt16("lookface");
  82.                         mf.Level = reader.ReadByte("level");
  83.                         mf.Hitpoints = reader.ReadUInt32("life");
  84.                         IniFile IniFile = new IniFile(Constants.MonstersPath);
  85.                         if (IniFile.ReadString(mf.Name, "MaxLife") != "")
  86.                         {
  87.                             if (uint.Parse(IniFile.ReadString(mf.Name, "MaxLife")) != 0)
  88.                             {
  89.                                 mf.Hitpoints = uint.Parse(IniFile.ReadString(mf.Name, "MaxLife"));
  90.                                 byte boss = byte.Parse(IniFile.ReadString(mf.Name, "Boss"));
  91.                                 if (boss == 0)
  92.                                     mf.Boss = false;
  93.                                 else mf.Boss = true;
  94.                             }
  95.                         }
  96.                         mf.Guard = mf.Name.Contains("Guard1");
  97.                         mf.Reviver = mf.ID == ReviverID;
  98.                         mf.ViewRange = reader.ReadUInt16("view_range");
  99.                         mf.AttackRange = reader.ReadUInt16("attack_range");
  100.                         mf.Defence = reader.ReadUInt16("defence");
  101.                         mf.AttackType = reader.ReadByte("attack_user");
  102.                         mf.MinAttack = reader.ReadUInt32("attack_min");
  103.                         mf.MaxAttack = reader.ReadUInt32("attack_max");
  104.                         mf.SpellID = reader.ReadUInt16("magic_type");
  105.                         mf.MoveSpeed = reader.ReadInt32("move_speed");
  106.                         mf.RunSpeed = reader.ReadInt32("run_speed");
  107.                         mf.OwnItemID = reader.ReadInt32("ownitem");
  108.                         mf.OwnItemRate = reader.ReadInt32("ownitemrate");
  109.                         mf.AttackSpeed = reader.ReadInt32("attack_speed");
  110.                         mf.ExtraExperience = reader.ReadUInt32("extra_exp");
  111.                         uint MoneyDropAmount = reader.ReadUInt16("level");
  112.                         if (MoneyDropAmount != 0)
  113.                         {
  114.                             mf.MaxMoneyDropAmount = MoneyDropAmount * 100;
  115.                             if (mf.MaxMoneyDropAmount != 0)
  116.                                 mf.MinMoneyDropAmount = 1;
  117.                         }
  118.                         if (mf.MoveSpeed <= 500)
  119.                             mf.MoveSpeed += 500;
  120.                         if (mf.AttackSpeed <= 500)
  121.                             mf.AttackSpeed += 500;
  122.                         MonsterInformations.Add(mf.ID, mf);
  123.                         byte lvl = mf.Level;
  124.                         if (mf.Name == "Slinger" || mf.Name == "GoldGhost" ||
  125.                             mf.Name == "GoldenOctopus" || mf.Name == "AgileRat" ||
  126.                             mf.Name == "Bladeling" || mf.Name == "BlueBird" ||
  127.                             mf.Name == "BlueFiend" || mf.Name == "MinotaurL120")
  128.                         {
  129.                             mf.LabirinthDrop = true;
  130.                             lvl = 20;
  131.                         }
  132.                     }
  133.                 }
  134.             }
  135.             Console.WriteLine("Ok!");
  136.         }
  137.         public MonsterInformation Copy()
  138.         {
  139.             MonsterInformation mf = new MonsterInformation();
  140.             mf.ID = this.ID;
  141.             mf.Name = this.Name;
  142.             mf.Mesh = this.Mesh;
  143.             mf.Level = this.Level;
  144.             mf.Hitpoints = this.Hitpoints;
  145.             mf.ViewRange = this.ViewRange;
  146.             mf.AttackRange = this.AttackRange;
  147.             mf.AttackType = this.AttackType;
  148.             mf.MinAttack = this.MinAttack;
  149.             mf.MaxAttack = this.MaxAttack;
  150.             mf.SpellID = this.SpellID;
  151.             mf.MoveSpeed = this.MoveSpeed;
  152.             mf.RunSpeed = this.RunSpeed;
  153.             mf.AttackSpeed = this.AttackSpeed;
  154.             mf.BoundX = this.BoundX;
  155.             mf.BoundY = this.BoundY;
  156.             mf.BoundCX = this.BoundCX;
  157.             mf.BoundCY = this.BoundCY;
  158.             mf.RespawnTime = this.RespawnTime;
  159.             mf.ExtraExperience = this.ExtraExperience;
  160.             mf.MaxMoneyDropAmount = this.MaxMoneyDropAmount;
  161.             mf.MinMoneyDropAmount = this.MinMoneyDropAmount;
  162.             mf.OwnItemID = this.OwnItemID;
  163.             mf.HPPotionID = this.HPPotionID;
  164.             mf.MPPotionID = this.MPPotionID;
  165.             mf.OwnItemRate = this.OwnItemRate;
  166.             mf.LabirinthDrop = this.LabirinthDrop;
  167.             mf.Boss = this.Boss;
  168.             mf.Guard = this.Guard;
  169.             //mf.boardscore = this.boardscore;
  170.             mf.Defence = this.Defence;
  171.             mf.Reviver = this.Reviver;
  172.             return mf;
  173.         }
  174.         #region DropItem
  175.         public byte GetItemBless()
  176.         {
  177.             if (Kernel.Rate(1))
  178.                 return 1;
  179.             else if (Kernel.Rate(1))
  180.                 return 3;
  181.             return 0;
  182.         }
  183.         public byte GetItemPlus()
  184.         {
  185.             if (Kernel.Rate(1))
  186.                 return 1;
  187.             else if (Kernel.Rate(1))
  188.                 return 2;
  189.             return 0;
  190.         }
  191.         public uint GetItem()
  192.         {
  193.             try
  194.             {
  195.                 int Normal = System.Convert.ToInt32(Constants.ItemDropQualityRates[0]);
  196.                 int Refined = System.Convert.ToInt32(Constants.ItemDropQualityRates[1]);
  197.                 int Unique = System.Convert.ToInt32(Constants.ItemDropQualityRates[2]);
  198.                 int Elite = System.Convert.ToInt32(Constants.ItemDropQualityRates[3]);
  199.                 int Super = System.Convert.ToInt32(Constants.ItemDropQualityRates[4]);
  200.                 int RRR = Kernel.Random.Next(1, 9);
  201.                 uint ItemIDD = 0;
  202.                 foreach (var item in Database.ConquerItemInformation.BaseInformations.Values)
  203.                 {
  204.                     if (item == null || item.ID == 0)
  205.                         continue;
  206.                     #region Hat
  207.                     if (RRR == 5)
  208.                     {
  209.                         if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Head)
  210.                         {
  211.                             ItemIDD = (uint)Kernel.Random.Next(111000, 118999);
  212.                             if (ItemIDD % 10 == 9)
  213.                                 if (!Kernel.Rate(Super))
  214.                                     return 0;
  215.                             if (ItemIDD % 10 == 8)
  216.                                 if (!Kernel.Rate(Elite))
  217.                                     return 0;
  218.                             if (ItemIDD % 10 == 7)
  219.                                 if (!Kernel.Rate(Unique))
  220.                                     return 0;
  221.                             if (ItemIDD % 10 == 6)
  222.                                 if (!Kernel.Rate(Refined))
  223.                                     return 0;
  224.                             if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  225.                                 return 0;
  226.                             return ItemIDD;
  227.                         }
  228.                     }
  229.                     #endregion
  230.                     #region Necklace
  231.                     else if (RRR == 6)
  232.                     {
  233.                         if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Necklace)
  234.                         {
  235.                             ItemIDD = (uint)Kernel.Random.Next(120000, 121000);
  236.                             if (ItemIDD % 10 == 9)
  237.                                 if (!Kernel.Rate(Super))
  238.                                     return 0;
  239.                             if (ItemIDD % 10 == 8)
  240.                                 if (!Kernel.Rate(Elite))
  241.                                     return 0;
  242.                             if (ItemIDD % 10 == 7)
  243.                                 if (!Kernel.Rate(Unique))
  244.                                     return 0;
  245.                             if (ItemIDD % 10 == 6)
  246.                                 if (!Kernel.Rate(Refined))
  247.                                     return 0;
  248.                             if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  249.                                 return 0;
  250.                             return ItemIDD;
  251.                         }
  252.                     }
  253.                     #endregion
  254.                     #region Armor
  255.                     else if (RRR == 2)
  256.                     {
  257.                         if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Armor)
  258.                         {
  259.                             ItemIDD = (uint)Kernel.Random.Next(130000, 137000);
  260.                             if (ItemIDD % 10 == 9)
  261.                                 if (!Kernel.Rate(Super))
  262.                                     return 0;
  263.                             if (ItemIDD % 10 == 8)
  264.                                 if (!Kernel.Rate(Elite))
  265.                                     return 0;
  266.                             if (ItemIDD % 10 == 7)
  267.                                 if (!Kernel.Rate(Unique))
  268.                                     return 0;
  269.                             if (ItemIDD % 10 == 6)
  270.                                 if (!Kernel.Rate(Refined))
  271.                                     return 0;
  272.                             if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  273.                                 return 0;
  274.                             return ItemIDD;
  275.                         }
  276.                     }
  277.                     #endregion
  278.                     #region Ring
  279.                     else if (RRR == 8)
  280.                     {
  281.                         if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Ring)
  282.                         {
  283.                             ItemIDD = (uint)Kernel.Random.Next(150000, 152000);
  284.                             if (ItemIDD % 10 == 9)
  285.                                 if (!Kernel.Rate(Super))
  286.                                     return 0;
  287.                             if (ItemIDD % 10 == 8)
  288.                                 if (!Kernel.Rate(Elite))
  289.                                     return 0;
  290.                             if (ItemIDD % 10 == 7)
  291.                                 if (!Kernel.Rate(Unique))
  292.                                     return 0;
  293.                             if (ItemIDD % 10 == 6)
  294.                                 if (!Kernel.Rate(Refined))
  295.                                     return 0;
  296.                             if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  297.                                 return 0;
  298.                             return ItemIDD;
  299.                         }
  300.                     }
  301.                     #endregion
  302.                     #region Boots
  303.                     else if (RRR == 3)
  304.                     {
  305.                         if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Boots)
  306.                         {
  307.                             ItemIDD = (uint)Kernel.Random.Next(160013, 160249);
  308.                             if (ItemIDD % 10 == 9)
  309.                                 if (!Kernel.Rate(Super))
  310.                                     return 0;
  311.                             if (ItemIDD % 10 == 8)
  312.                                 if (!Kernel.Rate(Elite))
  313.                                     return 0;
  314.                             if (ItemIDD % 10 == 7)
  315.                                 if (!Kernel.Rate(Unique))
  316.                                     return 0;
  317.                             if (ItemIDD % 10 == 6)
  318.                                 if (!Kernel.Rate(Refined))
  319.                                     return 0;
  320.                             if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  321.                                 return 0;
  322.                             return ItemIDD;
  323.                         }
  324.                     }
  325.                     #endregion
  326.                     #region Fan
  327.                     else if (RRR == 9)
  328.                     {
  329.                         if (Kernel.Rate(1))
  330.                         {
  331.                             if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.AttackTalisman)
  332.                             {
  333.                                 ItemIDD = (uint)Kernel.Random.Next(201001, 201009);
  334.                                 if (ItemIDD % 10 == 9)
  335.                                     if (!Kernel.Rate(Super))
  336.                                         return 0;
  337.                                 if (ItemIDD % 10 == 8)
  338.                                     if (!Kernel.Rate(Elite))
  339.                                         return 0;
  340.                                 if (ItemIDD % 10 == 7)
  341.                                     if (!Kernel.Rate(Unique))
  342.                                         return 0;
  343.                                 if (ItemIDD % 10 == 6)
  344.                                     if (!Kernel.Rate(Refined))
  345.                                         return 0;
  346.                                 if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  347.                                     return 0;
  348.                                 return ItemIDD;
  349.                             }
  350.                         }
  351.                     }
  352.                     #endregion
  353.                     #region Tower
  354.                     else if (RRR == 4)
  355.                     {
  356.                         if (Kernel.Rate(1))
  357.                         {
  358.                             if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.DefenceTalisman)
  359.                             {
  360.                                 ItemIDD = (uint)Kernel.Random.Next(202001, 202009);
  361.                                 if (ItemIDD % 10 == 9)
  362.                                     if (!Kernel.Rate(Super))
  363.                                         return 0;
  364.                                 if (ItemIDD % 10 == 8)
  365.                                     if (!Kernel.Rate(Elite))
  366.                                         return 0;
  367.                                 if (ItemIDD % 10 == 7)
  368.                                     if (!Kernel.Rate(Unique))
  369.                                         return 0;
  370.                                 if (ItemIDD % 10 == 6)
  371.                                     if (!Kernel.Rate(Refined))
  372.                                         return 0;
  373.                                 if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  374.                                     return 0;
  375.                                 return ItemIDD;
  376.                             }
  377.                         }
  378.                     }
  379.                     #endregion
  380.                     #region Crop
  381.                     else if (RRR == 7)
  382.                     {
  383.                         if (Kernel.Rate(1))
  384.                         {
  385.                             if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.SteedTalisman)
  386.                             {
  387.                                 ItemIDD = (uint)Kernel.Random.Next(203001, 203009);
  388.                                 if (ItemIDD % 10 == 9)
  389.                                     if (!Kernel.Rate(Super))
  390.                                         return 0;
  391.                                 if (ItemIDD % 10 == 8)
  392.                                     if (!Kernel.Rate(Elite))
  393.                                         return 0;
  394.                                 if (ItemIDD % 10 == 7)
  395.                                     if (!Kernel.Rate(Unique))
  396.                                         return 0;
  397.                                 if (ItemIDD % 10 == 6)
  398.                                     if (!Kernel.Rate(Refined))
  399.                                         return 0;
  400.                                 if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  401.                                     return 0;
  402.                                 return ItemIDD;
  403.                             }
  404.                         }
  405.                     }
  406.                     #endregion
  407.                     #region Wing
  408.                     else if (RRR == 1)
  409.                     {
  410.                         if (Kernel.Rate(1))
  411.                         {
  412.                             if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Wing)
  413.                             {
  414.                                 ItemIDD = (uint)Kernel.Random.Next(204001, 204009);
  415.                                 if (ItemIDD % 10 == 9)
  416.                                     if (!Kernel.Rate(Super))
  417.                                         return 0;
  418.                                 if (ItemIDD % 10 == 8)
  419.                                     if (!Kernel.Rate(Elite))
  420.                                         return 0;
  421.                                 if (ItemIDD % 10 == 7)
  422.                                     if (!Kernel.Rate(Unique))
  423.                                         return 0;
  424.                                 if (ItemIDD % 10 == 6)
  425.                                     if (!Kernel.Rate(Refined))
  426.                                         return 0;
  427.                                 if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
  428.                                     return 0;
  429.                                 return ItemIDD;
  430.                             }
  431.                         }
  432.                     }
  433.                     #endregion
  434.                 }
  435.                 return ItemIDD;
  436.             }
  437.             catch (Exception)
  438.             {
  439.  
  440.             }
  441.             return 0;
  442.         }
  443.         #endregion
  444.         private bool changed = false;
  445.         private bool sendscore = false;
  446.         private string[] scoreMessages = null;
  447.         public void AddScore(MonsterInformation mt, Client.GameState user)
  448.         {
  449.             if (user != null)
  450.             {
  451.                 changed = true;
  452.                 if (!mt.boardscore.ContainsKey(user.Player.UID))
  453.                 {
  454.                     sendscore = true;
  455.                     mt.boardscore.Add(user.Player.UID, user);
  456.                 }
  457.                 SendScores(mt);
  458.             }
  459.         }
  460.         public Client.GameState CurrentTopLeader;
  461.         public void SendScores(MonsterInformation mt)
  462.         {
  463.             if (scoreMessages == null)
  464.                 scoreMessages = new string[0];
  465.             Kernel.SendWorldMessage(new MsgTalk("[Top 5 ScoreBoard " + mt.Name + "]", MsgTalk.FirstRightCorner), Server.GamePool, mt.Owner.MapID);
  466.  
  467.             foreach (var p in Kernel.GamePool.Values)
  468.             {
  469.                 if (p.Player.MapID == mt.Owner.MapID && p.Player.ScoreBoard.ContainsKey((uint)mt.Owner.UID))
  470.                 {
  471.                     MsgTalk msg1 = new MsgTalk("->> Your Score: " + p.Player.ScoreBoard[(uint)mt.Owner.UID] + " <<-", MsgTalk.ContinueRightCorner);
  472.                     MsgTalk msg2 = new MsgTalk("[Rank] -- [Name] ----------- [Score]", MsgTalk.ContinueRightCorner);
  473.                     p.Send(msg1);
  474.                     p.Send(msg2);
  475.                 }
  476.             }
  477.             if (mt.boardscore.Count == 0)
  478.                 return;
  479.             if (changed)
  480.                 SortScores(mt, out CurrentTopLeader);
  481.             for (int c = 0; c < scoreMessages.Length; c++)
  482.             {
  483.                 MsgTalk msg = new MsgTalk(scoreMessages[c], System.Drawing.Color.Red, MsgTalk.ContinueRightCorner);
  484.                 Kernel.SendWorldMessage(msg, Server.GamePool, mt.Owner.MapID);
  485.             }
  486.         }
  487.         public static List<string> BossMonster = new List<string>()
  488.         {
  489.             "TeratoDragon","ChillingSpook","BloodyBanshee","DragonWraith","NetherTyrant","ThunderDragon","SwordMaster","PurpleBanshee"
  490.         };
  491.         public void CheckScore(MonsterInformation mt, Client.GameState user, uint point)
  492.         {
  493.             if (BossMonster.Contains(mt.Name))
  494.             {
  495.                 if (!user.Player.ScoreBoard.ContainsKey((uint)mt.Owner.UID))
  496.                 {
  497.                     user.Player.ScoreBoard.Add((uint)mt.Owner.UID, 0);
  498.                 }
  499.                 else
  500.                 {
  501.                     user.Player.ScoreBoard[(uint)mt.Owner.UID] += point;
  502.                     AddScore(mt, user);
  503.                 }
  504.             }
  505.         }
  506.         private void SortScores(MonsterInformation mt, out Client.GameState user)
  507.         {
  508.             user = null;
  509.             List<string> ret = new List<string>();
  510.             int Place = 0;
  511.             string str = "";
  512.             foreach (Client.GameState p in mt.boardscore.Values.OrderByDescending((p) => p.Player.ScoreBoard[(uint)mt.Owner.UID]))
  513.             {
  514.                 if (Place == 0)
  515.                     user = p;
  516.                 str = "No. " + (Place + 1).ToString() + "- " + p.Player.Name + " Hits [" + p.Player.ScoreBoard[(uint)mt.Owner.UID] + "]";
  517.                 ret.Add(str);
  518.                 Place++;
  519.                 if (Place == 5)
  520.                     break;
  521.             }
  522.             changed = false;
  523.             scoreMessages = ret.ToArray();
  524.         }
  525.         public Dictionary<uint, Client.GameState> reward;
  526.         public Client.GameState[] winner()
  527.         {
  528.             return (from rd in reward.Values
  529.                              orderby rd.Player.ScoreBoard[this.Owner.UID]
  530.                              descending select rd).ToArray();
  531.         }
  532.         public void Drop(Player killer)
  533.         {
  534.             if (killer.PlayerFlag == PlayerFlag.Monster)
  535.             {
  536.                 return;
  537.             }
  538.             reward = new Dictionary<uint, Client.GameState>(1000);
  539.             foreach (var user in Kernel.GamePool.Values)
  540.             {
  541.                 if (user.Player.MapID == this.Owner.MapID)
  542.                 {
  543.                     if (user.Player.ScoreBoard.ContainsKey(this.Owner.UID))
  544.                     {
  545.                         reward.Add(user.Player.UID, user);
  546.                     }
  547.                 }
  548.             }
  549.             if (reward.Count > 0)
  550.             {
  551.                 var dbase = winner();
  552.                 for (int i = 0; i < dbase.Length; i++)
  553.                 {
  554.                     if (i <= 4)
  555.                     {
  556.                         int rank = i + 1;
  557.                         switch (rank)
  558.                         {
  559.                             case 1:
  560.                                 {
  561.                                     dbase[i].Player.ConquerPoints += 50000;
  562.                                    Kernel.SendWorldMessage(new MsgTalk("Congratulations! " + killer.Name + " has defeated " + Name + " on home and got rank[" + rank + "] 50,000 ConquerPoints.", System.Drawing.Color.Azure, MsgTalk.System));
  563.                                     break;
  564.                                 }
  565.                             case 2:
  566.                                 {
  567.                                     dbase[i].Player.ConquerPoints += 40000;
  568.                                     Kernel.SendWorldMessage(new MsgTalk("Congratulations! " + killer.Name + " has defeated " + Name + " on home and got rank[" + rank + "] 40,000 ConquerPoints.", System.Drawing.Color.Azure, MsgTalk.System));
  569.                                     break;
  570.                                 }
  571.                             case 3:
  572.                                 {
  573.                                     dbase[i].Player.ConquerPoints += 30000;
  574.                                     Kernel.SendWorldMessage(new MsgTalk("Congratulations! " + killer.Name + " has defeated " + Name + " on home and got rank[" + rank + "] 30,000 ConquerPoints.", System.Drawing.Color.Azure, MsgTalk.System));
  575.                                     break;
  576.                                 }
  577.                             case 4:
  578.                                 {
  579.                                     dbase[i].Player.ConquerPoints += 20000;
  580.                                     Kernel.SendWorldMessage(new MsgTalk("Congratulations! " + killer.Name + " has defeated " + Name + " on home and got rank[" + rank + "] 20,000 ConquerPoints.", System.Drawing.Color.Azure, MsgTalk.System));
  581.                                     break;
  582.                                 }
  583.                             case 5:
  584.                                 {
  585.                                     dbase[i].Player.ConquerPoints += 10000;
  586.                                     Kernel.SendWorldMessage(new MsgTalk("Congratulations! " + killer.Name + " has defeated " + Name + " on home and got rank[" + rank + "] 10,000 ConquerPoints.", System.Drawing.Color.Azure, MsgTalk.System));
  587.                                     break;
  588.                                 }
  589.                         }
  590.                         dbase[i].Player.ConquerPoints += (ulong)(0 * rank);
  591.                     }
  592.                 }
  593.             }
  594.                
  595.            
  596.            // if (user.Player.ScoreBoard.ContainsKey((uint)this.Owner.UID))
  597.            //     user.Player.ScoreBoard.Remove((uint)this.Owner.UID);
  598.             if (this.boardscore.Count > 0)
  599.                 this.boardscore.Clear();
  600.  
  601.             if (this.sendscore)
  602.             {
  603.                 //// Rank Reward
  604.                 this.sendscore = false;
  605.                 this.changed = false;
  606.                 this.scoreMessages = null;
  607.             }
  608.             if (Name == "DarkSidra")
  609.             {
  610.                 if (killer.Owner.Team != null)
  611.                     foreach (var team in killer.Owner.Team.Teammates)
  612.                         team.Player.SubProStages.StudyPoints += 1000;
  613.                 killer.TeamXorOrasPoints += 1250;
  614.                 Kernel.SendWorldMessage(new MsgTalk("Congratulations! The Hunter #41" + killer.Name + "#41 Team Has Kill DarkSidra and Lader of team Get 1000 Points and Each one in team get 1000 study point.", System.Drawing.Color.White, MsgTalk.Center), Server.GamePool);
  615.             }
  616.             if (Name == "Genzo")
  617.             {
  618.                 if (killer.Owner.Team != null)
  619.                     foreach (var team in killer.Owner.Team.Teammates)
  620.                         team.Player.SubProStages.StudyPoints += 1000;
  621.                 killer.TeamXorOrasPoints += 600;
  622.                 Kernel.SendWorldMessage(new MsgTalk("Congratulations! The Hunter #41" + killer.Name + "#41 Team Has Kill Genzo and Lader of team Get 500 Points and Each one in team get 1000 study point.", System.Drawing.Color.White, MsgTalk.Center), Server.GamePool);
  623.             }
  624.             if (Name.Contains("ChestDemon"))
  625.             {
  626.                 killer.ChestDemonkill += 1;
  627.                 killer.Owner.Send(new MsgTalk("You have killed ChestDemon!", System.Drawing.Color.Azure, MsgTalk.Center));
  628.             }
  629.             #region WeedBug
  630.             if (Name == "WeedBug")
  631.             {
  632.                 if (killer.Owner.Player.PeachManager >= 10)
  633.                 {
  634.                     killer.Owner.MessageBox("You`ve finished clearing the Peach Garden. Go and claim a bottle of Power Liquor from the Peach Manager.",
  635.                         (p) =>
  636.                         {
  637.                             MsgAction data = new MsgAction(true);
  638.                             data.UID = p.Player.UID;
  639.                             data.TimeStamp2 = 18484;
  640.                             data.ID = MsgAction.Mode.PathFinding;
  641.                             data.wParam1 = 35;
  642.                             data.wParam2 = 31;
  643.                             killer.Owner.Send(data);
  644.                             p.Send(data);
  645.                         }, null);
  646.                     killer.Owner.Send(new MsgTalk("You`ve finished clearing the Peach Garden. Go and claim a bottle of Power Liquor from the Peach Manager. ", MsgTalk.System));
  647.  
  648.                 }
  649.                 else
  650.                 {
  651.                     killer.Owner.Player.WeedBug -= 1;
  652.                     killer.Owner.Player.PeachManager += 1;
  653.                     killer.Owner.Send(new MsgTalk("You successfully killed a Weed Bug! You still need to uproot " + killer.Owner.Player.WeedBug + " Cloud Weeds Bugs to claim a bottle of Power Liquor from the Peach Manager.", MsgTalk.System));
  654.                 }
  655.  
  656.             }
  657.             #endregion
  658.             #region ThunderStrike
  659.             if (killer.MapID == 3935)
  660.             {
  661.                 if (killer.Owner.Quests.GetQuest(QuestID.ThunderStrike) == null || killer.Owner.Quests.CheckQuest(QuestID.ThunderStrike) == MsgTaskStatus.QuestData.QuestStatus.Available)
  662.                     killer.Owner.Quests.Accept(QuestID.ThunderStrike);
  663.                 if (killer.TodayStrikePoints != 500)
  664.                 {
  665.                     if (killer.Owner.Quests.GetQuest(QuestID.ThunderStrike).Kills < 300)
  666.                     {
  667.                         int R = 5;
  668.                         if (Name == "RealmSoldier")
  669.                         {
  670.                             R = Kernel.Random.Next(1, 5);
  671.                         }
  672.                         if (Name.Contains("MilitaryOfficerofRealm"))
  673.                         {
  674.                             killer.Owner.Send(new MsgTalk("A flood of enemy soldiers emerged from the haze when their leader was killed. Go and clear them!", System.Drawing.Color.Red, 2005));
  675.                             R = Kernel.Random.Next(20, 20);
  676.                         }
  677.                         if (Name == "KylinChariot")
  678.                         {
  679.                             R = Kernel.Random.Next(50, 50);
  680.                         }
  681.                         killer.TodayStrikePoints += (uint)R;
  682.                         killer.StrikePoints += (uint)R;
  683.                         killer.Owner.Quests.ThunderStrike(QuestID.ThunderStrike, (uint)R);
  684.                         if (killer.TodayStrikePoints >= 300)
  685.                         {
  686.                             killer.StrikePoints = 300;
  687.                             killer.TodayStrikePoints = 300;
  688.                         }
  689.                        
  690.                         killer.Owner.Send(new MsgTalk("You've received " + killer.StrikePoints + " Strike Points", System.Drawing.Color.Red, MsgTalk.System));
  691.                     }
  692.                     else
  693.                     {
  694.                         killer.Owner.MessageBox("You`ve completed the [Thunder Strike] mission in the realm. Report back to the Kingdom Mission Envoy to claim your reward.");
  695.                         killer.Owner.Send(new MsgTalk("You've earend 300 Strike Points by killing enemies firercely. Go claim your reward from the Kingdom Mission Envoy.", System.Drawing.Color.Red, MsgTalk.System));
  696.                     }
  697.                 }
  698.             }
  699.             #endregion
  700.             #region CrystalBounty
  701.             if (killer.MapID == 3935)
  702.             {
  703.                 if (killer.Owner.Quests.CheckQuest(QuestID.CrystalBounty) != MsgTaskStatus.QuestData.QuestStatus.Finished)
  704.                 {
  705.                     if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty) == null || killer.Owner.Quests.CheckQuest(QuestID.CrystalBounty) == MsgTaskStatus.QuestData.QuestStatus.Available)
  706.                         killer.Owner.Quests.Accept(QuestID.CrystalBounty);
  707.                     if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty).Kills < 50)
  708.                     {
  709.                         int R = 5;
  710.                         if (Name == "RealmSolider")
  711.                         {
  712.                             R = Kernel.Random.Next(1, 1);
  713.                         }
  714.                         if (Name.Contains("MilitaryOfficerofRealm"))
  715.                         {
  716.  
  717.                             R = Kernel.Random.Next(1, 1);
  718.                         }
  719.                         if (Name == "KylinChariot")
  720.                         {
  721.                             R = Kernel.Random.Next(10, 10);
  722.                         }
  723.                         killer.Owner.Quests.CrystalBounty(QuestID.CrystalBounty, (uint)R);
  724.                         if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty).Kills >= 50)
  725.                         {
  726.                             killer.Owner.Send(new MsgTalk("You've eliminated 50 enemies. Hurry and claim a bounty from the Realm Crystal.", System.Drawing.Color.Red, MsgTalk.System));
  727.                         }
  728.                     }
  729.                     else
  730.                     {
  731.                         killer.Owner.Send(new MsgTalk("You've eliminated 50 enemies. Hurry and claim a bounty from the Realm Crystal.", System.Drawing.Color.Red, MsgTalk.System));
  732.                     }
  733.                 }
  734.             }
  735.             #endregion
  736.             #region DragonIsland(AnniversaryStar)
  737.             if (killer.MapID == 5000)
  738.             {
  739.                 if (Kernel.Rate(1))
  740.                 {
  741.                     var infoss = Database.ConquerItemInformation.BaseInformations[3303191];
  742.                     ushort XX = Owner.X, YY = Owner.Y;
  743.                     Game.Map MMap = Kernel.Maps[Owner.MapID];
  744.                     if (MMap.SelectCoordonates(ref XX, ref YY))
  745.                     {
  746.                         Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  747.                         floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
  748.                         floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  749.                         floorItem.Item.ID = 3303191;
  750.                         floorItem.Item.Plus = floorItem.Item.Plus;
  751.                         floorItem.Item.MaximDurability = infoss.Durability;
  752.                         floorItem.Item.Durability = infoss.Durability;
  753.                         floorItem.Item.MobDropped = true;
  754.                        
  755.                         floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  756.                         floorItem.ItemID = 3303191;
  757.                        
  758.                         floorItem.MapID = Owner.MapID;
  759.                         floorItem.Item.StackSize = 1;
  760.                         floorItem.Item.MaxStackSize = infoss.StackSize;
  761.                         floorItem.MapObjType = Game.MapObjectType.Item;
  762.                         floorItem.X = XX;
  763.                        
  764.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = YY;
  765.                         floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  766.                         floorItem.OnFloor = Time32.Now;
  767.                         floorItem.ItemColor = floorItem.Item.Color;
  768.                         floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  769.                         while (MMap.Npcs.ContainsKey(floorItem.UID))
  770.                             floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  771.                         MMap.AddFloorItem(floorItem);
  772.                         SendScreenSpawn(floorItem);
  773.                     }
  774.                 }
  775.             }
  776.             #endregion
  777.             #region Realm
  778.             if (killer.MapID == 3935)
  779.                 return;
  780.             #endregion
  781.             #region ProtectionPill
  782.             if (Kernel.Rate(1, 200) && killer.PKMode == Game.Enums.PKMode.Kongfu)
  783.             {
  784.                 var infoss = Database.ConquerItemInformation.BaseInformations[3002029];
  785.                 ushort XX = Owner.X, YY = Owner.Y;
  786.                 Game.Map MMap = Kernel.Maps[Owner.MapID];
  787.                 if (MMap.SelectCoordonates(ref XX, ref YY))
  788.                 {
  789.                     Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  790.                     floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
  791.                     floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  792.                     floorItem.Item.ID = 3002029;
  793.                     floorItem.Item.Plus = floorItem.Item.Plus;
  794.                     floorItem.Item.MaximDurability = infoss.Durability;
  795.                     floorItem.Item.Durability = infoss.Durability;
  796.                     floorItem.Item.MobDropped = true;
  797.                     floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  798.                     floorItem.ItemID = 3002029;
  799.                    
  800.                     floorItem.MapID = Owner.MapID;
  801.                     floorItem.Item.StackSize = 1;
  802.                     floorItem.Item.MaxStackSize = infoss.StackSize;
  803.                     floorItem.MapObjType = Game.MapObjectType.Item;
  804.                     floorItem.X = XX;
  805.                    
  806.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = YY;
  807.                     floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  808.                     floorItem.OnFloor = Time32.Now;
  809.                     floorItem.ItemColor = floorItem.Item.Color;
  810.                     floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  811.                     while (MMap.Npcs.ContainsKey(floorItem.UID))
  812.                         floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  813.                     MMap.AddFloorItem(floorItem);
  814.                     SendScreenSpawn(floorItem);
  815.                 }
  816.             }
  817.             #endregion
  818.             #region No Drob Monster
  819.             if (killer.Name.Contains("Guard1")) return;
  820.             if (Owner.Name.Contains("Guard1")) return;
  821.          
  822.             #endregion
  823.             #region Secound Quest
  824.             #region Demons
  825.             #region ValeDemon
  826.             if (Name == "ValeDemon")
  827.             {
  828.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  829.                 {
  830.                     uint b = 0;
  831.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  832.                     switch (ban)
  833.                     {
  834.                         case 1: b = 722723; break;
  835.                         case 2: b = 0; break;
  836.                         case 3: b = 722724; break;
  837.                         case 4: b = 0; break;
  838.                         case 5: b = 0; break;
  839.                         case 6: b = 722725; break;
  840.                         case 7: b = 0; break;
  841.                         case 8: b = 722732; break;
  842.                         case 9: b = 0; break;
  843.                         case 10: b = 0; break;
  844.                         case 11: b = 0; break;
  845.                         case 12: b = 722733; break;
  846.                         case 13: b = 0; break;
  847.                         case 14: b = 0; break;
  848.                         case 15: b = 722734; break;
  849.                         case 16: b = 0; break;
  850.                         case 17: b = 0; break;
  851.                         case 18: b = 722735; break;
  852.                         case 19: b = 0; break;
  853.                         case 20: b = 0; break;
  854.                         case 21: b = 722736; break;
  855.                         case 22: b = 0; break;
  856.                         case 23: b = 0; break;
  857.                         case 24: b = 722737; break;
  858.                         case 25: b = 0; break;
  859.                         case 26: b = 0; break;
  860.                         case 27: b = 722738; break;
  861.                         case 28: b = 0; break;
  862.                         case 29: b = 0; break;
  863.                         case 30: b = 722739; break;
  864.  
  865.                     }
  866.                     ushort X = Owner.X, Y = Owner.Y;
  867.                     Map Map = Kernel.Maps[Owner.MapID];
  868.                     if (Map.SelectCoordonates(ref X, ref Y))
  869.                     {
  870.                         MsgMapItem floorItem = new MsgMapItem(true);
  871.                         floorItem.Item = new MsgItemInfo(true);
  872.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  873.                         floorItem.Item.ID = b;
  874.                         floorItem.Item.MobDropped = true;
  875.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  876.                         floorItem.ItemID = b;
  877.                         floorItem.MapID = Owner.MapID;
  878.                         floorItem.MapObjType = MapObjectType.Item;
  879.                         floorItem.X = X;
  880.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  881.                        
  882.                         floorItem.Type = MsgMapItem.Drop;
  883.                         floorItem.OnFloor = Time32.Now;
  884.                         floorItem.ItemColor = floorItem.Item.Color;
  885.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  886.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  887.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  888.                         Map.AddFloorItem(floorItem);
  889.                         SendScreenSpawn(floorItem);
  890.                     }
  891.                 }
  892.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  893.                 {
  894.                     killer.SecoundQuestPoint += 1;
  895.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  896.                 }
  897.             }
  898.             if (Name == "ValeDemon")
  899.             {
  900.  
  901.                 uint b = 0;
  902.                 uint ban = (uint)Kernel.Random.Next(1, 25);
  903.                 switch (ban)
  904.                 {
  905.                     case 1: b = 722739; break;
  906.  
  907.                     case 2: b = 722738; break;
  908.  
  909.                     case 3: b = 722737; break;
  910.                     case 4: b = 0; break;
  911.                     case 5: b = 722732; break;
  912.  
  913.                     case 6: b = 722733; break;
  914.  
  915.                     case 7: b = 722734; break;
  916.  
  917.                     case 8: b = 722735; break;
  918.  
  919.                     case 9: b = 722736; break;
  920.  
  921.  
  922.  
  923.                 }
  924.                 ushort X = Owner.X, Y = Owner.Y;
  925.                 Map Map = Kernel.Maps[Owner.MapID];
  926.                 if (Map.SelectCoordonates(ref X, ref Y))
  927.                 {
  928.                     MsgMapItem floorItem = new MsgMapItem(true);
  929.                     floorItem.Item = new MsgItemInfo(true);
  930.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  931.                     floorItem.Item.ID = b;
  932.                     floorItem.Item.MobDropped = true;
  933.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  934.                     floorItem.ItemID = b;
  935.                     floorItem.MapID = Owner.MapID;
  936.                     floorItem.MapObjType = MapObjectType.Item;
  937.                     floorItem.X = X;
  938.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  939.                    
  940.                     floorItem.Type = MsgMapItem.Drop;
  941.                     floorItem.OnFloor = Time32.Now;
  942.                     floorItem.ItemColor = floorItem.Item.Color;
  943.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  944.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  945.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  946.                     Map.AddFloorItem(floorItem);
  947.                     SendScreenSpawn(floorItem);
  948.                 }
  949.  
  950.             }
  951.             #endregion
  952.             #region MudDemon
  953.             if (Name == "MudDemon")
  954.             {
  955.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  956.                 {
  957.                     uint b = 0;
  958.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  959.                     switch (ban)
  960.                     {
  961.                         case 1: b = 722723; break;
  962.                         case 2: b = 0; break;
  963.                         case 3: b = 722724; break;
  964.                         case 4: b = 0; break;
  965.                         case 5: b = 0; break;
  966.                         case 6: b = 722725; break;
  967.                         case 7: b = 0; break;
  968.                         case 8: b = 722732; break;
  969.                         case 9: b = 0; break;
  970.                         case 10: b = 0; break;
  971.                         case 11: b = 0; break;
  972.                         case 12: b = 722733; break;
  973.                         case 13: b = 0; break;
  974.                         case 14: b = 0; break;
  975.                         case 15: b = 722734; break;
  976.                         case 16: b = 0; break;
  977.                         case 17: b = 0; break;
  978.                         case 18: b = 722735; break;
  979.                         case 19: b = 0; break;
  980.                         case 20: b = 0; break;
  981.                         case 21: b = 722736; break;
  982.                         case 22: b = 0; break;
  983.                         case 23: b = 0; break;
  984.                         case 24: b = 722737; break;
  985.                         case 25: b = 0; break;
  986.                         case 26: b = 0; break;
  987.                         case 27: b = 722738; break;
  988.                         case 28: b = 0; break;
  989.                         case 29: b = 0; break;
  990.                         case 30: b = 722739; break;
  991.  
  992.                     }
  993.                     ushort X = Owner.X, Y = Owner.Y;
  994.                     Map Map = Kernel.Maps[Owner.MapID];
  995.                     if (Map.SelectCoordonates(ref X, ref Y))
  996.                     {
  997.                         MsgMapItem floorItem = new MsgMapItem(true);
  998.                         floorItem.Item = new MsgItemInfo(true);
  999.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1000.                         floorItem.Item.ID = b;
  1001.                         floorItem.Item.MobDropped = true;
  1002.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1003.                         floorItem.ItemID = b;
  1004.                         floorItem.MapID = Owner.MapID;
  1005.                         floorItem.MapObjType = MapObjectType.Item;
  1006.                         floorItem.X = X;
  1007.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1008.                        
  1009.                         floorItem.Type = MsgMapItem.Drop;
  1010.                         floorItem.OnFloor = Time32.Now;
  1011.                         floorItem.ItemColor = floorItem.Item.Color;
  1012.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1013.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1014.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1015.                         Map.AddFloorItem(floorItem);
  1016.                         SendScreenSpawn(floorItem);
  1017.                     }
  1018.                 }
  1019.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  1020.                 {
  1021.                     killer.SecoundQuestPoint += 2;
  1022.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  1023.                 }
  1024.             }
  1025.             if (Name == "MudDemon")
  1026.             {
  1027.  
  1028.                 uint b = 0;
  1029.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  1030.                 switch (ban)
  1031.                 {
  1032.                     case 1: b = 722739; break;
  1033.  
  1034.                     case 2: b = 722738; break;
  1035.  
  1036.                     case 3: b = 722737; break;
  1037.                     case 4: b = 0; break;
  1038.                     case 5: b = 722732; break;
  1039.  
  1040.                     case 6: b = 722733; break;
  1041.  
  1042.                     case 7: b = 722734; break;
  1043.  
  1044.                     case 8: b = 722735; break;
  1045.  
  1046.                     case 9: b = 722736; break;
  1047.  
  1048.  
  1049.  
  1050.                 }
  1051.                 ushort X = Owner.X, Y = Owner.Y;
  1052.                 Map Map = Kernel.Maps[Owner.MapID];
  1053.                 if (Map.SelectCoordonates(ref X, ref Y))
  1054.                 {
  1055.                     MsgMapItem floorItem = new MsgMapItem(true);
  1056.                     floorItem.Item = new MsgItemInfo(true);
  1057.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1058.                     floorItem.Item.ID = b;
  1059.                     floorItem.Item.MobDropped = true;
  1060.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1061.                     floorItem.ItemID = b;
  1062.                     floorItem.MapID = Owner.MapID;
  1063.                     floorItem.MapObjType = MapObjectType.Item;
  1064.                     floorItem.X = X;
  1065.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1066.                    
  1067.                     floorItem.Type = MsgMapItem.Drop;
  1068.                     floorItem.OnFloor = Time32.Now;
  1069.                     floorItem.ItemColor = floorItem.Item.Color;
  1070.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  1071.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  1072.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1073.                     Map.AddFloorItem(floorItem);
  1074.                     SendScreenSpawn(floorItem);
  1075.                 }
  1076.  
  1077.             }
  1078.             #endregion
  1079.             #region AbyssDemon
  1080.             if (Name == "AbyssDemon")
  1081.             {
  1082.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1083.                 {
  1084.                     uint b = 0;
  1085.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  1086.                     switch (ban)
  1087.                     {
  1088.                         case 1: b = 722723; break;
  1089.                         case 2: b = 0; break;
  1090.                         case 3: b = 722724; break;
  1091.                         case 4: b = 0; break;
  1092.                         case 5: b = 0; break;
  1093.                         case 6: b = 722725; break;
  1094.                         case 7: b = 0; break;
  1095.                         case 8: b = 722732; break;
  1096.                         case 9: b = 0; break;
  1097.                         case 10: b = 0; break;
  1098.                         case 11: b = 0; break;
  1099.                         case 12: b = 722733; break;
  1100.                         case 13: b = 0; break;
  1101.                         case 14: b = 0; break;
  1102.                         case 15: b = 722734; break;
  1103.                         case 16: b = 0; break;
  1104.                         case 17: b = 0; break;
  1105.                         case 18: b = 722735; break;
  1106.                         case 19: b = 0; break;
  1107.                         case 20: b = 0; break;
  1108.                         case 21: b = 722736; break;
  1109.                         case 22: b = 0; break;
  1110.                         case 23: b = 0; break;
  1111.                         case 24: b = 722737; break;
  1112.                         case 25: b = 0; break;
  1113.                         case 26: b = 0; break;
  1114.                         case 27: b = 722738; break;
  1115.                         case 28: b = 0; break;
  1116.                         case 29: b = 0; break;
  1117.                         case 30: b = 722739; break;
  1118.  
  1119.                     }
  1120.                     ushort X = Owner.X, Y = Owner.Y;
  1121.                     Map Map = Kernel.Maps[Owner.MapID];
  1122.                     if (Map.SelectCoordonates(ref X, ref Y))
  1123.                     {
  1124.                         MsgMapItem floorItem = new MsgMapItem(true);
  1125.                         floorItem.Item = new MsgItemInfo(true);
  1126.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1127.                         floorItem.Item.ID = b;
  1128.                         floorItem.Item.MobDropped = true;
  1129.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1130.                         floorItem.ItemID = b;
  1131.                         floorItem.MapID = Owner.MapID;
  1132.                         floorItem.MapObjType = MapObjectType.Item;
  1133.                         floorItem.X = X;
  1134.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1135.                        
  1136.                         floorItem.Type = MsgMapItem.Drop;
  1137.                         floorItem.OnFloor = Time32.Now;
  1138.                         floorItem.ItemColor = floorItem.Item.Color;
  1139.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1140.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1141.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1142.                         Map.AddFloorItem(floorItem);
  1143.                         SendScreenSpawn(floorItem);
  1144.                     }
  1145.                 }
  1146.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  1147.                 {
  1148.                     killer.SecoundQuestPoint += 4;
  1149.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  1150.                 }
  1151.             }
  1152.             if (Name == "AbyssDemon")
  1153.             {
  1154.  
  1155.                 uint b = 0;
  1156.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  1157.                 switch (ban)
  1158.                 {
  1159.                     case 1: b = 722739; break;
  1160.                     case 2: b = 722738; break;
  1161.                     case 3: b = 722737; break;
  1162.                     case 4: b = 0; break;
  1163.                     case 5: b = 722732; break;
  1164.                     case 6: b = 722733; break;
  1165.                     case 7: b = 722734; break;
  1166.                     case 8: b = 722735; break;
  1167.                     case 9: b = 722736; break;
  1168.                 }
  1169.                 ushort X = Owner.X, Y = Owner.Y;
  1170.                 Map Map = Kernel.Maps[Owner.MapID];
  1171.                 if (Map.SelectCoordonates(ref X, ref Y))
  1172.                 {
  1173.                     MsgMapItem floorItem = new MsgMapItem(true);
  1174.                     floorItem.Item = new MsgItemInfo(true);
  1175.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1176.                     floorItem.Item.ID = b;
  1177.                     floorItem.Item.MobDropped = true;
  1178.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1179.                     floorItem.ItemID = b;
  1180.                     floorItem.MapID = Owner.MapID;
  1181.                     floorItem.MapObjType = MapObjectType.Item;
  1182.                     floorItem.X = X;
  1183.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1184.                    
  1185.                     floorItem.Type = MsgMapItem.Drop;
  1186.                     floorItem.OnFloor = Time32.Now;
  1187.                     floorItem.ItemColor = floorItem.Item.Color;
  1188.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  1189.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  1190.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1191.                     Map.AddFloorItem(floorItem);
  1192.                     SendScreenSpawn(floorItem);
  1193.                 }
  1194.  
  1195.             }
  1196.             #endregion
  1197.             #region DemonLord
  1198.             if (Name == "DemonLord")
  1199.             {
  1200.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1201.                 {
  1202.                     uint b = 0;
  1203.                     uint ban = (uint)Kernel.Random.Next(1, 6);
  1204.                     switch (ban)
  1205.                     {
  1206.                         case 1: b = 722723; break;
  1207.                         case 2: b = 0; break;
  1208.                         case 3: b = 722724; break;
  1209.                         case 4: b = 0; break;
  1210.                         case 5: b = 0; break;
  1211.                         case 6: b = 722725; break;
  1212.                         case 7: b = 0; break;
  1213.                         case 8: b = 722732; break;
  1214.                         case 9: b = 0; break;
  1215.                         case 10: b = 0; break;
  1216.                         case 11: b = 0; break;
  1217.                         case 12: b = 722733; break;
  1218.                         case 13: b = 0; break;
  1219.                         case 14: b = 0; break;
  1220.                         case 15: b = 722734; break;
  1221.                         case 16: b = 0; break;
  1222.                         case 17: b = 0; break;
  1223.                         case 18: b = 722735; break;
  1224.                         case 19: b = 0; break;
  1225.                         case 20: b = 0; break;
  1226.                         case 21: b = 722736; break;
  1227.                         case 22: b = 0; break;
  1228.                         case 23: b = 0; break;
  1229.                         case 24: b = 722737; break;
  1230.                         case 25: b = 0; break;
  1231.                         case 26: b = 0; break;
  1232.                         case 27: b = 722738; break;
  1233.                         case 28: b = 0; break;
  1234.                         case 29: b = 0; break;
  1235.                         case 30: b = 722739; break;
  1236.  
  1237.                     }
  1238.                     ushort X = Owner.X, Y = Owner.Y;
  1239.                     Map Map = Kernel.Maps[Owner.MapID];
  1240.                     if (Map.SelectCoordonates(ref X, ref Y))
  1241.                     {
  1242.                         MsgMapItem floorItem = new MsgMapItem(true);
  1243.                         floorItem.Item = new MsgItemInfo(true);
  1244.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1245.                         floorItem.Item.ID = b;
  1246.                         floorItem.Item.MobDropped = true;
  1247.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1248.                         floorItem.ItemID = b;
  1249.                         floorItem.MapID = Owner.MapID;
  1250.                         floorItem.MapObjType = MapObjectType.Item;
  1251.                         floorItem.X = X;
  1252.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1253.                        
  1254.                         floorItem.Type = MsgMapItem.Drop;
  1255.                         floorItem.OnFloor = Time32.Now;
  1256.                         floorItem.ItemColor = floorItem.Item.Color;
  1257.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1258.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1259.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1260.                         Map.AddFloorItem(floorItem);
  1261.                         SendScreenSpawn(floorItem);
  1262.                     }
  1263.                 }
  1264.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  1265.                 {
  1266.                     killer.SecoundQuestPoint += 500;
  1267.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  1268.                 }
  1269.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1270.                 {
  1271.                     ushort X = Owner.X, Y = Owner.Y;
  1272.                     Map Map = Kernel.Maps[Owner.MapID];
  1273.                     if (Map.SelectCoordonates(ref X, ref Y))
  1274.                     {
  1275.                         MsgMapItem floorItem = new MsgMapItem(true);
  1276.                         floorItem.Item = new MsgItemInfo(true);
  1277.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1278.                         floorItem.Item.ID = 722727;
  1279.                         floorItem.Item.MobDropped = true;
  1280.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1281.                         floorItem.ItemID = 722727;
  1282.                         floorItem.MapID = Owner.MapID;
  1283.                         floorItem.MapObjType = MapObjectType.Item;
  1284.                         floorItem.X = X;
  1285.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1286.                        
  1287.                         floorItem.Type = MsgMapItem.Drop;
  1288.                         floorItem.OnFloor = Time32.Now;
  1289.                         floorItem.ItemColor = floorItem.Item.Color;
  1290.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1291.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1292.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1293.                         Map.AddFloorItem(floorItem);
  1294.                         SendScreenSpawn(floorItem);
  1295.                     }
  1296.                 }
  1297.             }
  1298.             if (Name == "DemonLord")
  1299.             {
  1300.  
  1301.                 uint b = 0;
  1302.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  1303.                 switch (ban)
  1304.                 {
  1305.                     case 1: b = 722739; break;
  1306.                     case 2: b = 722738; break;
  1307.                     case 3: b = 722737; break;
  1308.                     case 4: b = 0; break;
  1309.                     case 5: b = 722732; break;
  1310.                     case 6: b = 722733; break;
  1311.                     case 7: b = 722734; break;
  1312.                     case 8: b = 722735; break;
  1313.                     case 9: b = 722736; break;
  1314.                 }
  1315.                 ushort X = Owner.X, Y = Owner.Y;
  1316.                 Map Map = Kernel.Maps[Owner.MapID];
  1317.                 if (Map.SelectCoordonates(ref X, ref Y))
  1318.                 {
  1319.                     MsgMapItem floorItem = new MsgMapItem(true);
  1320.                     floorItem.Item = new MsgItemInfo(true);
  1321.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1322.                     floorItem.Item.ID = b;
  1323.                     floorItem.Item.MobDropped = true;
  1324.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1325.                     floorItem.ItemID = b;
  1326.                     floorItem.MapID = Owner.MapID;
  1327.                     floorItem.MapObjType = MapObjectType.Item;
  1328.                     floorItem.X = X;
  1329.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1330.                    
  1331.                     floorItem.Type = MsgMapItem.Drop;
  1332.                     floorItem.OnFloor = Time32.Now;
  1333.                     floorItem.ItemColor = floorItem.Item.Color;
  1334.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  1335.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  1336.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1337.                     Map.AddFloorItem(floorItem);
  1338.                     SendScreenSpawn(floorItem);
  1339.                 }
  1340.  
  1341.             }
  1342.             #endregion
  1343.             #endregion
  1344.             #region Serpent
  1345.             #region SingingSerpent
  1346.             if (Name == "SingingSerpent")
  1347.             {
  1348.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1349.                 {
  1350.                     uint b = 0;
  1351.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  1352.                     switch (ban)
  1353.                     {
  1354.                         case 1: b = 722723; break;
  1355.                         case 2: b = 0; break;
  1356.                         case 3: b = 722724; break;
  1357.                         case 4: b = 0; break;
  1358.                         case 5: b = 0; break;
  1359.                         case 6: b = 722725; break;
  1360.                         case 7: b = 0; break;
  1361.                         case 8: b = 722732; break;
  1362.                         case 9: b = 0; break;
  1363.                         case 10: b = 0; break;
  1364.                         case 11: b = 0; break;
  1365.                         case 12: b = 722733; break;
  1366.                         case 13: b = 0; break;
  1367.                         case 14: b = 0; break;
  1368.                         case 15: b = 722734; break;
  1369.                         case 16: b = 0; break;
  1370.                         case 17: b = 0; break;
  1371.                         case 18: b = 722735; break;
  1372.                         case 19: b = 0; break;
  1373.                         case 20: b = 0; break;
  1374.                         case 21: b = 722736; break;
  1375.                         case 22: b = 0; break;
  1376.                         case 23: b = 0; break;
  1377.                         case 24: b = 722737; break;
  1378.                         case 25: b = 0; break;
  1379.                         case 26: b = 0; break;
  1380.                         case 27: b = 722738; break;
  1381.                         case 28: b = 0; break;
  1382.                         case 29: b = 0; break;
  1383.                         case 30: b = 722739; break;
  1384.  
  1385.                     }
  1386.                     ushort X = Owner.X, Y = Owner.Y;
  1387.                     Map Map = Kernel.Maps[Owner.MapID];
  1388.                     if (Map.SelectCoordonates(ref X, ref Y))
  1389.                     {
  1390.                         MsgMapItem floorItem = new MsgMapItem(true);
  1391.                         floorItem.Item = new MsgItemInfo(true);
  1392.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1393.                         floorItem.Item.ID = b;
  1394.                         floorItem.Item.MobDropped = true;
  1395.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1396.                         floorItem.ItemID = b;
  1397.                         floorItem.MapID = Owner.MapID;
  1398.                         floorItem.MapObjType = MapObjectType.Item;
  1399.                         floorItem.X = X;
  1400.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1401.                        
  1402.                         floorItem.Type = MsgMapItem.Drop;
  1403.                         floorItem.OnFloor = Time32.Now;
  1404.                         floorItem.ItemColor = floorItem.Item.Color;
  1405.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1406.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1407.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1408.                         Map.AddFloorItem(floorItem);
  1409.                         SendScreenSpawn(floorItem);
  1410.                     }
  1411.                 }
  1412.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  1413.                 {
  1414.                     killer.SecoundQuestPoint += 1;
  1415.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  1416.                 }
  1417.             }
  1418.             if (Name == "SingingSerpent")
  1419.             {
  1420.  
  1421.                 uint b = 0;
  1422.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  1423.                 switch (ban)
  1424.                 {
  1425.                     case 1: b = 722739; break;
  1426.                     case 2: b = 722738; break;
  1427.                     case 3: b = 722737; break;
  1428.                     case 4: b = 0; break;
  1429.                     case 5: b = 722732; break;
  1430.                     case 6: b = 722733; break;
  1431.                     case 7: b = 722734; break;
  1432.                     case 8: b = 722735; break;
  1433.                     case 9: b = 722736; break;
  1434.                 }
  1435.                 ushort X = Owner.X, Y = Owner.Y;
  1436.                 Map Map = Kernel.Maps[Owner.MapID];
  1437.                 if (Map.SelectCoordonates(ref X, ref Y))
  1438.                 {
  1439.                     MsgMapItem floorItem = new MsgMapItem(true);
  1440.                     floorItem.Item = new MsgItemInfo(true);
  1441.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1442.                     floorItem.Item.ID = b;
  1443.                     floorItem.Item.MobDropped = true;
  1444.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1445.                     floorItem.ItemID = b;
  1446.                     floorItem.MapID = Owner.MapID;
  1447.                     floorItem.MapObjType = MapObjectType.Item;
  1448.                     floorItem.X = X;
  1449.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1450.                    
  1451.                     floorItem.Type = MsgMapItem.Drop;
  1452.                     floorItem.OnFloor = Time32.Now;
  1453.                     floorItem.ItemColor = floorItem.Item.Color;
  1454.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  1455.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  1456.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1457.                     Map.AddFloorItem(floorItem);
  1458.                     SendScreenSpawn(floorItem);
  1459.                 }
  1460.  
  1461.             }
  1462.             #endregion
  1463.             #region RoaringSerpent
  1464.             if (Name == "RoaringSerpent")
  1465.             {
  1466.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1467.                 {
  1468.                     uint b = 0;
  1469.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  1470.                     switch (ban)
  1471.                     {
  1472.                         case 1: b = 722723; break;
  1473.                         case 2: b = 0; break;
  1474.                         case 3: b = 722724; break;
  1475.                         case 4: b = 0; break;
  1476.                         case 5: b = 0; break;
  1477.                         case 6: b = 722725; break;
  1478.                         case 7: b = 0; break;
  1479.                         case 8: b = 722732; break;
  1480.                         case 9: b = 0; break;
  1481.                         case 10: b = 0; break;
  1482.                         case 11: b = 0; break;
  1483.                         case 12: b = 722733; break;
  1484.                         case 13: b = 0; break;
  1485.                         case 14: b = 0; break;
  1486.                         case 15: b = 722734; break;
  1487.                         case 16: b = 0; break;
  1488.                         case 17: b = 0; break;
  1489.                         case 18: b = 722735; break;
  1490.                         case 19: b = 0; break;
  1491.                         case 20: b = 0; break;
  1492.                         case 21: b = 722736; break;
  1493.                         case 22: b = 0; break;
  1494.                         case 23: b = 0; break;
  1495.                         case 24: b = 722737; break;
  1496.                         case 25: b = 0; break;
  1497.                         case 26: b = 0; break;
  1498.                         case 27: b = 722738; break;
  1499.                         case 28: b = 0; break;
  1500.                         case 29: b = 0; break;
  1501.                         case 30: b = 722739; break;
  1502.  
  1503.                     }
  1504.                     ushort X = Owner.X, Y = Owner.Y;
  1505.                     Map Map = Kernel.Maps[Owner.MapID];
  1506.                     if (Map.SelectCoordonates(ref X, ref Y))
  1507.                     {
  1508.                         MsgMapItem floorItem = new MsgMapItem(true);
  1509.                         floorItem.Item = new MsgItemInfo(true);
  1510.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1511.                         floorItem.Item.ID = b;
  1512.                         floorItem.Item.MobDropped = true;
  1513.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1514.                         floorItem.ItemID = b;
  1515.                         floorItem.MapID = Owner.MapID;
  1516.                         floorItem.MapObjType = MapObjectType.Item;
  1517.                         floorItem.X = X;
  1518.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1519.                        
  1520.                         floorItem.Type = MsgMapItem.Drop;
  1521.                         floorItem.OnFloor = Time32.Now;
  1522.                         floorItem.ItemColor = floorItem.Item.Color;
  1523.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1524.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1525.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1526.                         Map.AddFloorItem(floorItem);
  1527.                         SendScreenSpawn(floorItem);
  1528.                     }
  1529.                 }
  1530.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  1531.                 {
  1532.                     killer.SecoundQuestPoint += 2;
  1533.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  1534.                 }
  1535.             }
  1536.             if (Name == "RoaringSerpent")
  1537.             {
  1538.  
  1539.                 uint b = 0;
  1540.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  1541.                 switch (ban)
  1542.                 {
  1543.                     case 1: b = 722739; break;
  1544.                     case 2: b = 722738; break;
  1545.                     case 3: b = 722737; break;
  1546.                     case 4: b = 0; break;
  1547.                     case 5: b = 722732; break;
  1548.                     case 6: b = 722733; break;
  1549.                     case 7: b = 722734; break;
  1550.                     case 8: b = 722735; break;
  1551.                     case 9: b = 722736; break;
  1552.                 }
  1553.                 ushort X = Owner.X, Y = Owner.Y;
  1554.                 Map Map = Kernel.Maps[Owner.MapID];
  1555.                 if (Map.SelectCoordonates(ref X, ref Y))
  1556.                 {
  1557.                     MsgMapItem floorItem = new MsgMapItem(true);
  1558.                     floorItem.Item = new MsgItemInfo(true);
  1559.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1560.                     floorItem.Item.ID = b;
  1561.                     floorItem.Item.MobDropped = true;
  1562.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1563.                     floorItem.ItemID = b;
  1564.                     floorItem.MapID = Owner.MapID;
  1565.                     floorItem.MapObjType = MapObjectType.Item;
  1566.                     floorItem.X = X;
  1567.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1568.                    
  1569.                     floorItem.Type = MsgMapItem.Drop;
  1570.                     floorItem.OnFloor = Time32.Now;
  1571.                     floorItem.ItemColor = floorItem.Item.Color;
  1572.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  1573.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  1574.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1575.                     Map.AddFloorItem(floorItem);
  1576.                     SendScreenSpawn(floorItem);
  1577.                 }
  1578.  
  1579.             }
  1580.             #endregion
  1581.             #region CryingSerpent
  1582.             if (Name == "CryingSerpent")
  1583.             {
  1584.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1585.                 {
  1586.                     uint b = 0;
  1587.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  1588.                     switch (ban)
  1589.                     {
  1590.                         case 1: b = 722723; break;
  1591.                         case 2: b = 0; break;
  1592.                         case 3: b = 722724; break;
  1593.                         case 4: b = 0; break;
  1594.                         case 5: b = 0; break;
  1595.                         case 6: b = 722725; break;
  1596.                         case 7: b = 0; break;
  1597.                         case 8: b = 722732; break;
  1598.                         case 9: b = 0; break;
  1599.                         case 10: b = 0; break;
  1600.                         case 11: b = 0; break;
  1601.                         case 12: b = 722733; break;
  1602.                         case 13: b = 0; break;
  1603.                         case 14: b = 0; break;
  1604.                         case 15: b = 722734; break;
  1605.                         case 16: b = 0; break;
  1606.                         case 17: b = 0; break;
  1607.                         case 18: b = 722735; break;
  1608.                         case 19: b = 0; break;
  1609.                         case 20: b = 0; break;
  1610.                         case 21: b = 722736; break;
  1611.                         case 22: b = 0; break;
  1612.                         case 23: b = 0; break;
  1613.                         case 24: b = 722737; break;
  1614.                         case 25: b = 0; break;
  1615.                         case 26: b = 0; break;
  1616.                         case 27: b = 722738; break;
  1617.                         case 28: b = 0; break;
  1618.                         case 29: b = 0; break;
  1619.                         case 30: b = 722739; break;
  1620.  
  1621.                     }
  1622.                     ushort X = Owner.X, Y = Owner.Y;
  1623.                     Map Map = Kernel.Maps[Owner.MapID];
  1624.                     if (Map.SelectCoordonates(ref X, ref Y))
  1625.                     {
  1626.                         MsgMapItem floorItem = new MsgMapItem(true);
  1627.                         floorItem.Item = new MsgItemInfo(true);
  1628.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1629.                         floorItem.Item.ID = b;
  1630.                         floorItem.Item.MobDropped = true;
  1631.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1632.                         floorItem.ItemID = b;
  1633.                         floorItem.MapID = Owner.MapID;
  1634.                         floorItem.MapObjType = MapObjectType.Item;
  1635.                         floorItem.X = X;
  1636.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1637.                        
  1638.                         floorItem.Type = MsgMapItem.Drop;
  1639.                         floorItem.OnFloor = Time32.Now;
  1640.                         floorItem.ItemColor = floorItem.Item.Color;
  1641.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1642.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1643.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1644.                         Map.AddFloorItem(floorItem);
  1645.                         SendScreenSpawn(floorItem);
  1646.                     }
  1647.                 }
  1648.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  1649.                 {
  1650.                     killer.SecoundQuestPoint += 4;
  1651.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  1652.                 }
  1653.             }
  1654.             if (Name == "CryingSerpent")
  1655.             {
  1656.  
  1657.                 uint b = 0;
  1658.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  1659.                 switch (ban)
  1660.                 {
  1661.                     case 1: b = 722739; break;
  1662.                     case 2: b = 722738; break;
  1663.                     case 3: b = 722737; break;
  1664.                     case 4: b = 0; break;
  1665.                     case 5: b = 722732; break;
  1666.                     case 6: b = 722733; break;
  1667.                     case 7: b = 722734; break;
  1668.                     case 8: b = 722735; break;
  1669.                     case 9: b = 722736; break;
  1670.                 }
  1671.                 ushort X = Owner.X, Y = Owner.Y;
  1672.                 Map Map = Kernel.Maps[Owner.MapID];
  1673.                 if (Map.SelectCoordonates(ref X, ref Y))
  1674.                 {
  1675.                     MsgMapItem floorItem = new MsgMapItem(true);
  1676.                     floorItem.Item = new MsgItemInfo(true);
  1677.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1678.                     floorItem.Item.ID = b;
  1679.                     floorItem.Item.MobDropped = true;
  1680.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1681.                     floorItem.ItemID = b;
  1682.                     floorItem.MapID = Owner.MapID;
  1683.                     floorItem.MapObjType = MapObjectType.Item;
  1684.                     floorItem.X = X;
  1685.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1686.                    
  1687.                     floorItem.Type = MsgMapItem.Drop;
  1688.                     floorItem.OnFloor = Time32.Now;
  1689.                     floorItem.ItemColor = floorItem.Item.Color;
  1690.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  1691.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  1692.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1693.                     Map.AddFloorItem(floorItem);
  1694.                     SendScreenSpawn(floorItem);
  1695.                 }
  1696.  
  1697.             }
  1698.             #endregion
  1699.             #region SerpentSpirit
  1700.             if (Name == "SerpentSpirit")
  1701.             {
  1702.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1703.                 {
  1704.                     uint b = 0;
  1705.                     uint ban = (uint)Kernel.Random.Next(1, 9);
  1706.                     switch (ban)
  1707.                     {
  1708.                         case 1: b = 722739; break;
  1709.                         case 2: b = 722738; break;
  1710.                         case 3: b = 722737; break;
  1711.                         case 4: b = 0; break;
  1712.                         case 5: b = 722732; break;
  1713.                         case 6: b = 722733; break;
  1714.                         case 7: b = 722734; break;
  1715.                         case 8: b = 722735; break;
  1716.                         case 9: b = 722736; break;
  1717.                     }
  1718.                     ushort X = Owner.X, Y = Owner.Y;
  1719.                     Map Map = Kernel.Maps[Owner.MapID];
  1720.                     if (Map.SelectCoordonates(ref X, ref Y))
  1721.                     {
  1722.                         MsgMapItem floorItem = new MsgMapItem(true);
  1723.                         floorItem.Item = new MsgItemInfo(true);
  1724.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1725.                         floorItem.Item.ID = b;
  1726.                         floorItem.Item.MobDropped = true;
  1727.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1728.                         floorItem.ItemID = b;
  1729.                         floorItem.MapID = Owner.MapID;
  1730.                         floorItem.MapObjType = MapObjectType.Item;
  1731.                         floorItem.X = X;
  1732.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1733.                        
  1734.                         floorItem.Type = MsgMapItem.Drop;
  1735.                         floorItem.OnFloor = Time32.Now;
  1736.                         floorItem.ItemColor = floorItem.Item.Color;
  1737.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1738.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1739.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1740.                         Map.AddFloorItem(floorItem);
  1741.                         SendScreenSpawn(floorItem);
  1742.                     }
  1743.                 }
  1744.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  1745.                 {
  1746.                     killer.SecoundQuestPoint += 500;
  1747.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  1748.                 }
  1749.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1750.                 {
  1751.                     ushort X = Owner.X, Y = Owner.Y;
  1752.                     Map Map = Kernel.Maps[Owner.MapID];
  1753.                     if (Map.SelectCoordonates(ref X, ref Y))
  1754.                     {
  1755.                         MsgMapItem floorItem = new MsgMapItem(true);
  1756.                         floorItem.Item = new MsgItemInfo(true);
  1757.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1758.                         floorItem.Item.ID = 722727;
  1759.                         floorItem.Item.MobDropped = true;
  1760.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1761.                         floorItem.ItemID = 722727;
  1762.                         floorItem.MapID = Owner.MapID;
  1763.                         floorItem.MapObjType = MapObjectType.Item;
  1764.                         floorItem.X = X;
  1765.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1766.                        
  1767.                         floorItem.Type = MsgMapItem.Drop;
  1768.                         floorItem.OnFloor = Time32.Now;
  1769.                         floorItem.ItemColor = floorItem.Item.Color;
  1770.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1771.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1772.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1773.                         Map.AddFloorItem(floorItem);
  1774.                         SendScreenSpawn(floorItem);
  1775.                     }
  1776.                 }
  1777.             }
  1778.             if (Name == "SerpentSpirit")
  1779.             {
  1780.  
  1781.                 uint b = 0;
  1782.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  1783.                 switch (ban)
  1784.                 {
  1785.                     case 1: b = 722739; break;
  1786.                     case 2: b = 722738; break;
  1787.                     case 3: b = 722737; break;
  1788.                     case 4: b = 0; break;
  1789.                     case 5: b = 722732; break;
  1790.                     case 6: b = 722733; break;
  1791.                     case 7: b = 722734; break;
  1792.                     case 8: b = 722735; break;
  1793.                     case 9: b = 722736; break;
  1794.                 }
  1795.                 ushort X = Owner.X, Y = Owner.Y;
  1796.                 Map Map = Kernel.Maps[Owner.MapID];
  1797.                 if (Map.SelectCoordonates(ref X, ref Y))
  1798.                 {
  1799.                     MsgMapItem floorItem = new MsgMapItem(true);
  1800.                     floorItem.Item = new MsgItemInfo(true);
  1801.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1802.                     floorItem.Item.ID = b;
  1803.                     floorItem.Item.MobDropped = true;
  1804.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1805.                     floorItem.ItemID = b;
  1806.                     floorItem.MapID = Owner.MapID;
  1807.                     floorItem.MapObjType = MapObjectType.Item;
  1808.                     floorItem.X = X;
  1809.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1810.                    
  1811.                     floorItem.Type = MsgMapItem.Drop;
  1812.                     floorItem.OnFloor = Time32.Now;
  1813.                     floorItem.ItemColor = floorItem.Item.Color;
  1814.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  1815.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  1816.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1817.                     Map.AddFloorItem(floorItem);
  1818.                     SendScreenSpawn(floorItem);
  1819.                 }
  1820.  
  1821.             }
  1822.             #endregion
  1823.             #endregion
  1824.             #region Fiend
  1825.             #region BlueFiend
  1826.             if (Name == "BlueFiend")
  1827.             {
  1828.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1829.                 {
  1830.                     uint b = 0;
  1831.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  1832.                     switch (ban)
  1833.                     {
  1834.                         case 1: b = 722723; break;
  1835.                         case 2: b = 0; break;
  1836.                         case 3: b = 722724; break;
  1837.                         case 4: b = 0; break;
  1838.                         case 5: b = 0; break;
  1839.                         case 6: b = 722725; break;
  1840.                         case 7: b = 0; break;
  1841.                         case 8: b = 722732; break;
  1842.                         case 9: b = 0; break;
  1843.                         case 10: b = 0; break;
  1844.                         case 11: b = 0; break;
  1845.                         case 12: b = 722733; break;
  1846.                         case 13: b = 0; break;
  1847.                         case 14: b = 0; break;
  1848.                         case 15: b = 722734; break;
  1849.                         case 16: b = 0; break;
  1850.                         case 17: b = 0; break;
  1851.                         case 18: b = 722735; break;
  1852.                         case 19: b = 0; break;
  1853.                         case 20: b = 0; break;
  1854.                         case 21: b = 722736; break;
  1855.                         case 22: b = 0; break;
  1856.                         case 23: b = 0; break;
  1857.                         case 24: b = 722737; break;
  1858.                         case 25: b = 0; break;
  1859.                         case 26: b = 0; break;
  1860.                         case 27: b = 722738; break;
  1861.                         case 28: b = 0; break;
  1862.                         case 29: b = 0; break;
  1863.                         case 30: b = 722739; break;
  1864.  
  1865.                     }
  1866.                     ushort X = Owner.X, Y = Owner.Y;
  1867.                     Map Map = Kernel.Maps[Owner.MapID];
  1868.                     if (Map.SelectCoordonates(ref X, ref Y))
  1869.                     {
  1870.                         MsgMapItem floorItem = new MsgMapItem(true);
  1871.                         floorItem.Item = new MsgItemInfo(true);
  1872.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1873.                         floorItem.Item.ID = b;
  1874.                         floorItem.Item.MobDropped = true;
  1875.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1876.                         floorItem.ItemID = b;
  1877.                         floorItem.MapID = Owner.MapID;
  1878.                         floorItem.MapObjType = MapObjectType.Item;
  1879.                         floorItem.X = X;
  1880.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1881.                        
  1882.                         floorItem.Type = MsgMapItem.Drop;
  1883.                         floorItem.OnFloor = Time32.Now;
  1884.                         floorItem.ItemColor = floorItem.Item.Color;
  1885.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1886.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  1887.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  1888.                         Map.AddFloorItem(floorItem);
  1889.                         SendScreenSpawn(floorItem);
  1890.                     }
  1891.                 }
  1892.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  1893.                 {
  1894.                     killer.SecoundQuestPoint += 1;
  1895.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  1896.                 }
  1897.             }
  1898.             if (Name == "BlueFiend")
  1899.             {
  1900.  
  1901.                 uint b = 0;
  1902.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  1903.                 switch (ban)
  1904.                 {
  1905.                     case 1: b = 722739; break;
  1906.                     case 2: b = 722738; break;
  1907.                     case 3: b = 722737; break;
  1908.                     case 4: b = 0; break;
  1909.                     case 5: b = 722732; break;
  1910.                     case 6: b = 722733; break;
  1911.                     case 7: b = 722734; break;
  1912.                     case 8: b = 722735; break;
  1913.                     case 9: b = 722736; break;
  1914.                 }
  1915.                 ushort X = Owner.X, Y = Owner.Y;
  1916.                 Map Map = Kernel.Maps[Owner.MapID];
  1917.                 if (Map.SelectCoordonates(ref X, ref Y))
  1918.                 {
  1919.                     MsgMapItem floorItem = new MsgMapItem(true);
  1920.                     floorItem.Item = new MsgItemInfo(true);
  1921.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1922.                     floorItem.Item.ID = b;
  1923.                     floorItem.Item.MobDropped = true;
  1924.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1925.                     floorItem.ItemID = b;
  1926.                     floorItem.MapID = Owner.MapID;
  1927.                     floorItem.MapObjType = MapObjectType.Item;
  1928.                     floorItem.X = X;
  1929.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1930.                    
  1931.                     floorItem.Type = MsgMapItem.Drop;
  1932.                     floorItem.OnFloor = Time32.Now;
  1933.                     floorItem.ItemColor = floorItem.Item.Color;
  1934.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  1935.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  1936.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  1937.                     Map.AddFloorItem(floorItem);
  1938.                     SendScreenSpawn(floorItem);
  1939.                 }
  1940.  
  1941.             }
  1942.             #endregion
  1943.             #region RedFiend
  1944.             if (Name == "RedFiend")
  1945.             {
  1946.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  1947.                 {
  1948.                     uint b = 0;
  1949.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  1950.                     switch (ban)
  1951.                     {
  1952.                         case 1: b = 722723; break;
  1953.                         case 2: b = 0; break;
  1954.                         case 3: b = 722724; break;
  1955.                         case 4: b = 0; break;
  1956.                         case 5: b = 0; break;
  1957.                         case 6: b = 722725; break;
  1958.                         case 7: b = 0; break;
  1959.                         case 8: b = 722732; break;
  1960.                         case 9: b = 0; break;
  1961.                         case 10: b = 0; break;
  1962.                         case 11: b = 0; break;
  1963.                         case 12: b = 722733; break;
  1964.                         case 13: b = 0; break;
  1965.                         case 14: b = 0; break;
  1966.                         case 15: b = 722734; break;
  1967.                         case 16: b = 0; break;
  1968.                         case 17: b = 0; break;
  1969.                         case 18: b = 722735; break;
  1970.                         case 19: b = 0; break;
  1971.                         case 20: b = 0; break;
  1972.                         case 21: b = 722736; break;
  1973.                         case 22: b = 0; break;
  1974.                         case 23: b = 0; break;
  1975.                         case 24: b = 722737; break;
  1976.                         case 25: b = 0; break;
  1977.                         case 26: b = 0; break;
  1978.                         case 27: b = 722738; break;
  1979.                         case 28: b = 0; break;
  1980.                         case 29: b = 0; break;
  1981.                         case 30: b = 722739; break;
  1982.  
  1983.                     }
  1984.                     ushort X = Owner.X, Y = Owner.Y;
  1985.                     Map Map = Kernel.Maps[Owner.MapID];
  1986.                     if (Map.SelectCoordonates(ref X, ref Y))
  1987.                     {
  1988.                         MsgMapItem floorItem = new MsgMapItem(true);
  1989.                         floorItem.Item = new MsgItemInfo(true);
  1990.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  1991.                         floorItem.Item.ID = b;
  1992.                         floorItem.Item.MobDropped = true;
  1993.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  1994.                         floorItem.ItemID = b;
  1995.                         floorItem.MapID = Owner.MapID;
  1996.                         floorItem.MapObjType = MapObjectType.Item;
  1997.                         floorItem.X = X;
  1998.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  1999.                        
  2000.                         floorItem.Type = MsgMapItem.Drop;
  2001.                         floorItem.OnFloor = Time32.Now;
  2002.                         floorItem.ItemColor = floorItem.Item.Color;
  2003.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2004.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2005.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2006.                         Map.AddFloorItem(floorItem);
  2007.                         SendScreenSpawn(floorItem);
  2008.                     }
  2009.                 }
  2010.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2011.                 {
  2012.                     killer.SecoundQuestPoint += 2;
  2013.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2014.                 }
  2015.             }
  2016.             if (Name == "RedFiend")
  2017.             {
  2018.  
  2019.                 uint b = 0;
  2020.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2021.                 switch (ban)
  2022.                 {
  2023.                     case 1: b = 722739; break;
  2024.                     case 2: b = 722738; break;
  2025.                     case 3: b = 722737; break;
  2026.                     case 4: b = 0; break;
  2027.                     case 5: b = 722732; break;
  2028.                     case 6: b = 722733; break;
  2029.                     case 7: b = 722734; break;
  2030.                     case 8: b = 722735; break;
  2031.                     case 9: b = 722736; break;
  2032.                 }
  2033.                 ushort X = Owner.X, Y = Owner.Y;
  2034.                 Map Map = Kernel.Maps[Owner.MapID];
  2035.                 if (Map.SelectCoordonates(ref X, ref Y))
  2036.                 {
  2037.                     MsgMapItem floorItem = new MsgMapItem(true);
  2038.                     floorItem.Item = new MsgItemInfo(true);
  2039.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2040.                     floorItem.Item.ID = b;
  2041.                     floorItem.Item.MobDropped = true;
  2042.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2043.                     floorItem.ItemID = b;
  2044.                     floorItem.MapID = Owner.MapID;
  2045.                     floorItem.MapObjType = MapObjectType.Item;
  2046.                     floorItem.X = X;
  2047.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2048.                    
  2049.                     floorItem.Type = MsgMapItem.Drop;
  2050.                     floorItem.OnFloor = Time32.Now;
  2051.                     floorItem.ItemColor = floorItem.Item.Color;
  2052.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  2053.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2054.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2055.                     Map.AddFloorItem(floorItem);
  2056.                     SendScreenSpawn(floorItem);
  2057.                 }
  2058.  
  2059.             }
  2060.             #endregion
  2061.             #region WhiteFiend
  2062.             if (Name == "WhiteFiend")
  2063.             {
  2064.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2065.                 {
  2066.                     uint b = 0;
  2067.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  2068.                     switch (ban)
  2069.                     {
  2070.                         case 1: b = 722723; break;
  2071.                         case 2: b = 0; break;
  2072.                         case 3: b = 722724; break;
  2073.                         case 4: b = 0; break;
  2074.                         case 5: b = 0; break;
  2075.                         case 6: b = 722725; break;
  2076.                         case 7: b = 0; break;
  2077.                         case 8: b = 722732; break;
  2078.                         case 9: b = 0; break;
  2079.                         case 10: b = 0; break;
  2080.                         case 11: b = 0; break;
  2081.                         case 12: b = 722733; break;
  2082.                         case 13: b = 0; break;
  2083.                         case 14: b = 0; break;
  2084.                         case 15: b = 722734; break;
  2085.                         case 16: b = 0; break;
  2086.                         case 17: b = 0; break;
  2087.                         case 18: b = 722735; break;
  2088.                         case 19: b = 0; break;
  2089.                         case 20: b = 0; break;
  2090.                         case 21: b = 722736; break;
  2091.                         case 22: b = 0; break;
  2092.                         case 23: b = 0; break;
  2093.                         case 24: b = 722737; break;
  2094.                         case 25: b = 0; break;
  2095.                         case 26: b = 0; break;
  2096.                         case 27: b = 722738; break;
  2097.                         case 28: b = 0; break;
  2098.                         case 29: b = 0; break;
  2099.                         case 30: b = 722739; break;
  2100.  
  2101.                     }
  2102.                     ushort X = Owner.X, Y = Owner.Y;
  2103.                     Map Map = Kernel.Maps[Owner.MapID];
  2104.                     if (Map.SelectCoordonates(ref X, ref Y))
  2105.                     {
  2106.                         MsgMapItem floorItem = new MsgMapItem(true);
  2107.                         floorItem.Item = new MsgItemInfo(true);
  2108.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2109.                         floorItem.Item.ID = b;
  2110.                         floorItem.Item.MobDropped = true;
  2111.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2112.                         floorItem.ItemID = b;
  2113.                         floorItem.MapID = Owner.MapID;
  2114.                         floorItem.MapObjType = MapObjectType.Item;
  2115.                         floorItem.X = X;
  2116.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2117.                        
  2118.                         floorItem.Type = MsgMapItem.Drop;
  2119.                         floorItem.OnFloor = Time32.Now;
  2120.                         floorItem.ItemColor = floorItem.Item.Color;
  2121.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2122.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2123.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2124.                         Map.AddFloorItem(floorItem);
  2125.                         SendScreenSpawn(floorItem);
  2126.                     }
  2127.                 }
  2128.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2129.                 {
  2130.                     killer.SecoundQuestPoint += 4;
  2131.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2132.                 }
  2133.             }
  2134.             if (Name == "WhiteFiend")
  2135.             {
  2136.  
  2137.                 uint b = 0;
  2138.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2139.                 switch (ban)
  2140.                 {
  2141.                     case 1: b = 722739; break;
  2142.                     case 2: b = 722738; break;
  2143.                     case 3: b = 722737; break;
  2144.                     case 4: b = 0; break;
  2145.                     case 5: b = 722732; break;
  2146.                     case 6: b = 722733; break;
  2147.                     case 7: b = 722734; break;
  2148.                     case 8: b = 722735; break;
  2149.                     case 9: b = 722736; break;
  2150.                 }
  2151.                 ushort X = Owner.X, Y = Owner.Y;
  2152.                 Map Map = Kernel.Maps[Owner.MapID];
  2153.                 if (Map.SelectCoordonates(ref X, ref Y))
  2154.                 {
  2155.                     MsgMapItem floorItem = new MsgMapItem(true);
  2156.                     floorItem.Item = new MsgItemInfo(true);
  2157.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2158.                     floorItem.Item.ID = b;
  2159.                     floorItem.Item.MobDropped = true;
  2160.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2161.                     floorItem.ItemID = b;
  2162.                     floorItem.MapID = Owner.MapID;
  2163.                     floorItem.MapObjType = MapObjectType.Item;
  2164.                     floorItem.X = X;
  2165.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2166.                    
  2167.                     floorItem.Type = MsgMapItem.Drop;
  2168.                     floorItem.OnFloor = Time32.Now;
  2169.                     floorItem.ItemColor = floorItem.Item.Color;
  2170.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  2171.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2172.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2173.                     Map.AddFloorItem(floorItem);
  2174.                     SendScreenSpawn(floorItem);
  2175.                 }
  2176.  
  2177.             }
  2178.             #endregion
  2179.             #region FiendLord
  2180.             if (Name == "FiendLord")
  2181.             {
  2182.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2183.                 {
  2184.                     uint b = 0;
  2185.                     uint ban = (uint)Kernel.Random.Next(1, 6);
  2186.                     switch (ban)
  2187.                     {
  2188.                         case 1: b = 722723; break;
  2189.                         case 2: b = 0; break;
  2190.                         case 3: b = 722724; break;
  2191.                         case 4: b = 0; break;
  2192.                         case 5: b = 0; break;
  2193.                         case 6: b = 722725; break;
  2194.                         case 7: b = 0; break;
  2195.                         case 8: b = 722732; break;
  2196.                         case 9: b = 0; break;
  2197.                         case 10: b = 0; break;
  2198.                         case 11: b = 0; break;
  2199.                         case 12: b = 722733; break;
  2200.                         case 13: b = 0; break;
  2201.                         case 14: b = 0; break;
  2202.                         case 15: b = 722734; break;
  2203.                         case 16: b = 0; break;
  2204.                         case 17: b = 0; break;
  2205.                         case 18: b = 722735; break;
  2206.                         case 19: b = 0; break;
  2207.                         case 20: b = 0; break;
  2208.                         case 21: b = 722736; break;
  2209.                         case 22: b = 0; break;
  2210.                         case 23: b = 0; break;
  2211.                         case 24: b = 722737; break;
  2212.                         case 25: b = 0; break;
  2213.                         case 26: b = 0; break;
  2214.                         case 27: b = 722738; break;
  2215.                         case 28: b = 0; break;
  2216.                         case 29: b = 0; break;
  2217.                         case 30: b = 722739; break;
  2218.  
  2219.                     }
  2220.                     ushort X = Owner.X, Y = Owner.Y;
  2221.                     Map Map = Kernel.Maps[Owner.MapID];
  2222.                     if (Map.SelectCoordonates(ref X, ref Y))
  2223.                     {
  2224.                         MsgMapItem floorItem = new MsgMapItem(true);
  2225.                         floorItem.Item = new MsgItemInfo(true);
  2226.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2227.                         floorItem.Item.ID = b;
  2228.                         floorItem.Item.MobDropped = true;
  2229.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2230.                         floorItem.ItemID = b;
  2231.                         floorItem.MapID = Owner.MapID;
  2232.                         floorItem.MapObjType = MapObjectType.Item;
  2233.                         floorItem.X = X;
  2234.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2235.                        
  2236.                         floorItem.Type = MsgMapItem.Drop;
  2237.                         floorItem.OnFloor = Time32.Now;
  2238.                         floorItem.ItemColor = floorItem.Item.Color;
  2239.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2240.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2241.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2242.                         Map.AddFloorItem(floorItem);
  2243.                         SendScreenSpawn(floorItem);
  2244.                     }
  2245.                 }
  2246.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2247.                 {
  2248.                     killer.SecoundQuestPoint += 500;
  2249.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2250.                 }
  2251.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2252.                 {
  2253.                     ushort X = Owner.X, Y = Owner.Y;
  2254.                     Map Map = Kernel.Maps[Owner.MapID];
  2255.                     if (Map.SelectCoordonates(ref X, ref Y))
  2256.                     {
  2257.                         MsgMapItem floorItem = new MsgMapItem(true);
  2258.                         floorItem.Item = new MsgItemInfo(true);
  2259.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2260.                         floorItem.Item.ID = 722727;
  2261.                         floorItem.Item.MobDropped = true;
  2262.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2263.                         floorItem.ItemID = 722727;
  2264.                         floorItem.MapID = Owner.MapID;
  2265.                         floorItem.MapObjType = MapObjectType.Item;
  2266.                         floorItem.X = X;
  2267.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2268.                        
  2269.                         floorItem.Type = MsgMapItem.Drop;
  2270.                         floorItem.OnFloor = Time32.Now;
  2271.                         floorItem.ItemColor = floorItem.Item.Color;
  2272.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2273.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2274.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2275.                         Map.AddFloorItem(floorItem);
  2276.                         SendScreenSpawn(floorItem);
  2277.                     }
  2278.                 }
  2279.             }
  2280.             if (Name == "FiendLord")
  2281.             {
  2282.  
  2283.                 uint b = 0;
  2284.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2285.                 switch (ban)
  2286.                 {
  2287.                     case 1: b = 722739; break;
  2288.                     case 2: b = 722738; break;
  2289.                     case 3: b = 722737; break;
  2290.                     case 4: b = 0; break;
  2291.                     case 5: b = 722732; break;
  2292.                     case 6: b = 722733; break;
  2293.                     case 7: b = 722734; break;
  2294.                     case 8: b = 722735; break;
  2295.                     case 9: b = 722736; break;
  2296.                 }
  2297.                 ushort X = Owner.X, Y = Owner.Y;
  2298.                 Map Map = Kernel.Maps[Owner.MapID];
  2299.                 if (Map.SelectCoordonates(ref X, ref Y))
  2300.                 {
  2301.                     MsgMapItem floorItem = new MsgMapItem(true);
  2302.                     floorItem.Item = new MsgItemInfo(true);
  2303.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2304.                     floorItem.Item.ID = b;
  2305.                     floorItem.Item.MobDropped = true;
  2306.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2307.                     floorItem.ItemID = b;
  2308.                     floorItem.MapID = Owner.MapID;
  2309.                     floorItem.MapObjType = MapObjectType.Item;
  2310.                     floorItem.X = X;
  2311.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2312.                    
  2313.                     floorItem.Type = MsgMapItem.Drop;
  2314.                     floorItem.OnFloor = Time32.Now;
  2315.                     floorItem.ItemColor = floorItem.Item.Color;
  2316.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  2317.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2318.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2319.                     Map.AddFloorItem(floorItem);
  2320.                     SendScreenSpawn(floorItem);
  2321.                 }
  2322.  
  2323.             }
  2324.             #endregion
  2325.             #endregion
  2326.             #region Ape
  2327.             #region WindApe
  2328.             if (Name == "WindApe")
  2329.             {
  2330.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2331.                 {
  2332.                     uint b = 0;
  2333.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  2334.                     switch (ban)
  2335.                     {
  2336.                         case 1: b = 722723; break;
  2337.                         case 2: b = 0; break;
  2338.                         case 3: b = 722724; break;
  2339.                         case 4: b = 0; break;
  2340.                         case 5: b = 0; break;
  2341.                         case 6: b = 722725; break;
  2342.                         case 7: b = 0; break;
  2343.                         case 8: b = 722732; break;
  2344.                         case 9: b = 0; break;
  2345.                         case 10: b = 0; break;
  2346.                         case 11: b = 0; break;
  2347.                         case 12: b = 722733; break;
  2348.                         case 13: b = 0; break;
  2349.                         case 14: b = 0; break;
  2350.                         case 15: b = 722734; break;
  2351.                         case 16: b = 0; break;
  2352.                         case 17: b = 0; break;
  2353.                         case 18: b = 722735; break;
  2354.                         case 19: b = 0; break;
  2355.                         case 20: b = 0; break;
  2356.                         case 21: b = 722736; break;
  2357.                         case 22: b = 0; break;
  2358.                         case 23: b = 0; break;
  2359.                         case 24: b = 722737; break;
  2360.                         case 25: b = 0; break;
  2361.                         case 26: b = 0; break;
  2362.                         case 27: b = 722738; break;
  2363.                         case 28: b = 0; break;
  2364.                         case 29: b = 0; break;
  2365.                         case 30: b = 722739; break;
  2366.  
  2367.                     }
  2368.                     ushort X = Owner.X, Y = Owner.Y;
  2369.                     Map Map = Kernel.Maps[Owner.MapID];
  2370.                     if (Map.SelectCoordonates(ref X, ref Y))
  2371.                     {
  2372.                         MsgMapItem floorItem = new MsgMapItem(true);
  2373.                         floorItem.Item = new MsgItemInfo(true);
  2374.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2375.                         floorItem.Item.ID = b;
  2376.                         floorItem.Item.MobDropped = true;
  2377.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2378.                         floorItem.ItemID = b;
  2379.                         floorItem.MapID = Owner.MapID;
  2380.                         floorItem.MapObjType = MapObjectType.Item;
  2381.                         floorItem.X = X;
  2382.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2383.                        
  2384.                         floorItem.Type = MsgMapItem.Drop;
  2385.                         floorItem.OnFloor = Time32.Now;
  2386.                         floorItem.ItemColor = floorItem.Item.Color;
  2387.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2388.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2389.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2390.                         Map.AddFloorItem(floorItem);
  2391.                         SendScreenSpawn(floorItem);
  2392.                     }
  2393.                 }
  2394.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2395.                 {
  2396.                     killer.SecoundQuestPoint += 1;
  2397.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2398.                 }
  2399.             }
  2400.             if (Name == "WindApe")
  2401.             {
  2402.  
  2403.                 uint b = 0;
  2404.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2405.                 switch (ban)
  2406.                 {
  2407.                     case 1: b = 722739; break;
  2408.                     case 2: b = 722738; break;
  2409.                     case 3: b = 722737; break;
  2410.                     case 4: b = 0; break;
  2411.                     case 5: b = 722732; break;
  2412.                     case 6: b = 722733; break;
  2413.                     case 7: b = 722734; break;
  2414.                     case 8: b = 722735; break;
  2415.                     case 9: b = 722736; break;
  2416.                 }
  2417.                 ushort X = Owner.X, Y = Owner.Y;
  2418.                 Map Map = Kernel.Maps[Owner.MapID];
  2419.                 if (Map.SelectCoordonates(ref X, ref Y))
  2420.                 {
  2421.                     MsgMapItem floorItem = new MsgMapItem(true);
  2422.                     floorItem.Item = new MsgItemInfo(true);
  2423.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2424.                     floorItem.Item.ID = b;
  2425.                     floorItem.Item.MobDropped = true;
  2426.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2427.                     floorItem.ItemID = b;
  2428.                     floorItem.MapID = Owner.MapID;
  2429.                     floorItem.MapObjType = MapObjectType.Item;
  2430.                     floorItem.X = X;
  2431.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2432.                    
  2433.                     floorItem.Type = MsgMapItem.Drop;
  2434.                     floorItem.OnFloor = Time32.Now;
  2435.                     floorItem.ItemColor = floorItem.Item.Color;
  2436.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  2437.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2438.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2439.                     Map.AddFloorItem(floorItem);
  2440.                     SendScreenSpawn(floorItem);
  2441.                 }
  2442.  
  2443.             }
  2444.             #endregion
  2445.             #region RainApe
  2446.             if (Name == "RainApe")
  2447.             {
  2448.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2449.                 {
  2450.                     uint b = 0;
  2451.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  2452.                     switch (ban)
  2453.                     {
  2454.                         case 1: b = 722723; break;
  2455.                         case 2: b = 0; break;
  2456.                         case 3: b = 722724; break;
  2457.                         case 4: b = 0; break;
  2458.                         case 5: b = 0; break;
  2459.                         case 6: b = 722725; break;
  2460.                         case 7: b = 0; break;
  2461.                         case 8: b = 722732; break;
  2462.                         case 9: b = 0; break;
  2463.                         case 10: b = 0; break;
  2464.                         case 11: b = 0; break;
  2465.                         case 12: b = 722733; break;
  2466.                         case 13: b = 0; break;
  2467.                         case 14: b = 0; break;
  2468.                         case 15: b = 722734; break;
  2469.                         case 16: b = 0; break;
  2470.                         case 17: b = 0; break;
  2471.                         case 18: b = 722735; break;
  2472.                         case 19: b = 0; break;
  2473.                         case 20: b = 0; break;
  2474.                         case 21: b = 722736; break;
  2475.                         case 22: b = 0; break;
  2476.                         case 23: b = 0; break;
  2477.                         case 24: b = 722737; break;
  2478.                         case 25: b = 0; break;
  2479.                         case 26: b = 0; break;
  2480.                         case 27: b = 722738; break;
  2481.                         case 28: b = 0; break;
  2482.                         case 29: b = 0; break;
  2483.                         case 30: b = 722739; break;
  2484.  
  2485.                     }
  2486.                     ushort X = Owner.X, Y = Owner.Y;
  2487.                     Map Map = Kernel.Maps[Owner.MapID];
  2488.                     if (Map.SelectCoordonates(ref X, ref Y))
  2489.                     {
  2490.                         MsgMapItem floorItem = new MsgMapItem(true);
  2491.                         floorItem.Item = new MsgItemInfo(true);
  2492.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2493.                         floorItem.Item.ID = b;
  2494.                         floorItem.Item.MobDropped = true;
  2495.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2496.                         floorItem.ItemID = b;
  2497.                         floorItem.MapID = Owner.MapID;
  2498.                         floorItem.MapObjType = MapObjectType.Item;
  2499.                         floorItem.X = X;
  2500.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2501.                        
  2502.                         floorItem.Type = MsgMapItem.Drop;
  2503.                         floorItem.OnFloor = Time32.Now;
  2504.                         floorItem.ItemColor = floorItem.Item.Color;
  2505.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2506.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2507.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2508.                         Map.AddFloorItem(floorItem);
  2509.                         SendScreenSpawn(floorItem);
  2510.                     }
  2511.                 }
  2512.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2513.                 {
  2514.                     killer.SecoundQuestPoint += 2;
  2515.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2516.                 }
  2517.             }
  2518.             if (Name == "RainApe")
  2519.             {
  2520.  
  2521.                 uint b = 0;
  2522.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2523.                 switch (ban)
  2524.                 {
  2525.                     case 1: b = 722739; break;
  2526.                     case 2: b = 722738; break;
  2527.                     case 3: b = 722737; break;
  2528.                     case 4: b = 0; break;
  2529.                     case 5: b = 722732; break;
  2530.                     case 6: b = 722733; break;
  2531.                     case 7: b = 722734; break;
  2532.                     case 8: b = 722735; break;
  2533.                     case 9: b = 722736; break;
  2534.                 }
  2535.                 ushort X = Owner.X, Y = Owner.Y;
  2536.                 Map Map = Kernel.Maps[Owner.MapID];
  2537.                 if (Map.SelectCoordonates(ref X, ref Y))
  2538.                 {
  2539.                     MsgMapItem floorItem = new MsgMapItem(true);
  2540.                     floorItem.Item = new MsgItemInfo(true);
  2541.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2542.                     floorItem.Item.ID = b;
  2543.                     floorItem.Item.MobDropped = true;
  2544.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2545.                     floorItem.ItemID = b;
  2546.                     floorItem.MapID = Owner.MapID;
  2547.                     floorItem.MapObjType = MapObjectType.Item;
  2548.                     floorItem.X = X;
  2549.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2550.                    
  2551.                     floorItem.Type = MsgMapItem.Drop;
  2552.                     floorItem.OnFloor = Time32.Now;
  2553.                     floorItem.ItemColor = floorItem.Item.Color;
  2554.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  2555.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2556.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2557.                     Map.AddFloorItem(floorItem);
  2558.                     SendScreenSpawn(floorItem);
  2559.                 }
  2560.  
  2561.             }
  2562.             #endregion
  2563.             #region LightningApe
  2564.             if (Name == "LightningApe")
  2565.             {
  2566.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2567.                 {
  2568.                     uint b = 0;
  2569.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  2570.                     switch (ban)
  2571.                     {
  2572.                         case 1: b = 722723; break;
  2573.                         case 2: b = 0; break;
  2574.                         case 3: b = 722724; break;
  2575.                         case 4: b = 0; break;
  2576.                         case 5: b = 0; break;
  2577.                         case 6: b = 722725; break;
  2578.                         case 7: b = 0; break;
  2579.                         case 8: b = 722732; break;
  2580.                         case 9: b = 0; break;
  2581.                         case 10: b = 0; break;
  2582.                         case 11: b = 0; break;
  2583.                         case 12: b = 722733; break;
  2584.                         case 13: b = 0; break;
  2585.                         case 14: b = 0; break;
  2586.                         case 15: b = 722734; break;
  2587.                         case 16: b = 0; break;
  2588.                         case 17: b = 0; break;
  2589.                         case 18: b = 722735; break;
  2590.                         case 19: b = 0; break;
  2591.                         case 20: b = 0; break;
  2592.                         case 21: b = 722736; break;
  2593.                         case 22: b = 0; break;
  2594.                         case 23: b = 0; break;
  2595.                         case 24: b = 722737; break;
  2596.                         case 25: b = 0; break;
  2597.                         case 26: b = 0; break;
  2598.                         case 27: b = 722738; break;
  2599.                         case 28: b = 0; break;
  2600.                         case 29: b = 0; break;
  2601.                         case 30: b = 722739; break;
  2602.  
  2603.                     }
  2604.                     ushort X = Owner.X, Y = Owner.Y;
  2605.                     Map Map = Kernel.Maps[Owner.MapID];
  2606.                     if (Map.SelectCoordonates(ref X, ref Y))
  2607.                     {
  2608.                         MsgMapItem floorItem = new MsgMapItem(true);
  2609.                         floorItem.Item = new MsgItemInfo(true);
  2610.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2611.                         floorItem.Item.ID = b;
  2612.                         floorItem.Item.MobDropped = true;
  2613.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2614.                         floorItem.ItemID = b;
  2615.                         floorItem.MapID = Owner.MapID;
  2616.                         floorItem.MapObjType = MapObjectType.Item;
  2617.                         floorItem.X = X;
  2618.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2619.                        
  2620.                         floorItem.Type = MsgMapItem.Drop;
  2621.                         floorItem.OnFloor = Time32.Now;
  2622.                         floorItem.ItemColor = floorItem.Item.Color;
  2623.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2624.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2625.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2626.                         Map.AddFloorItem(floorItem);
  2627.                         SendScreenSpawn(floorItem);
  2628.                     }
  2629.                 }
  2630.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2631.                 {
  2632.                     killer.SecoundQuestPoint += 4;
  2633.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2634.                 }
  2635.             }
  2636.             if (Name == "LightningApe")
  2637.             {
  2638.  
  2639.                 uint b = 0;
  2640.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2641.                 switch (ban)
  2642.                 {
  2643.                     case 1: b = 722739; break;
  2644.                     case 2: b = 722738; break;
  2645.                     case 3: b = 722737; break;
  2646.                     case 4: b = 0; break;
  2647.                     case 5: b = 722732; break;
  2648.                     case 6: b = 722733; break;
  2649.                     case 7: b = 722734; break;
  2650.                     case 8: b = 722735; break;
  2651.                     case 9: b = 722736; break;
  2652.                 }
  2653.                 ushort X = Owner.X, Y = Owner.Y;
  2654.                 Map Map = Kernel.Maps[Owner.MapID];
  2655.                 if (Map.SelectCoordonates(ref X, ref Y))
  2656.                 {
  2657.                     MsgMapItem floorItem = new MsgMapItem(true);
  2658.                     floorItem.Item = new MsgItemInfo(true);
  2659.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2660.                     floorItem.Item.ID = b;
  2661.                     floorItem.Item.MobDropped = true;
  2662.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2663.                     floorItem.ItemID = b;
  2664.                     floorItem.MapID = Owner.MapID;
  2665.                     floorItem.MapObjType = MapObjectType.Item;
  2666.                     floorItem.X = X;
  2667.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2668.                    
  2669.                     floorItem.Type = MsgMapItem.Drop;
  2670.                     floorItem.OnFloor = Time32.Now;
  2671.                     floorItem.ItemColor = floorItem.Item.Color;
  2672.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  2673.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2674.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2675.                     Map.AddFloorItem(floorItem);
  2676.                     SendScreenSpawn(floorItem);
  2677.                 }
  2678.  
  2679.             }
  2680.             #endregion
  2681.             #region FuryApe
  2682.             if (Name == "FuryApe")
  2683.             {
  2684.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2685.                 {
  2686.                     uint b = 0;
  2687.                     uint ban = (uint)Kernel.Random.Next(1, 6);
  2688.                     switch (ban)
  2689.                     {
  2690.                         case 1: b = 722723; break;
  2691.                         case 2: b = 0; break;
  2692.                         case 3: b = 722724; break;
  2693.                         case 4: b = 0; break;
  2694.                         case 5: b = 0; break;
  2695.                         case 6: b = 722725; break;
  2696.                         case 7: b = 0; break;
  2697.                         case 8: b = 722732; break;
  2698.                         case 9: b = 0; break;
  2699.                         case 10: b = 0; break;
  2700.                         case 11: b = 0; break;
  2701.                         case 12: b = 722733; break;
  2702.                         case 13: b = 0; break;
  2703.                         case 14: b = 0; break;
  2704.                         case 15: b = 722734; break;
  2705.                         case 16: b = 0; break;
  2706.                         case 17: b = 0; break;
  2707.                         case 18: b = 722735; break;
  2708.                         case 19: b = 0; break;
  2709.                         case 20: b = 0; break;
  2710.                         case 21: b = 722736; break;
  2711.                         case 22: b = 0; break;
  2712.                         case 23: b = 0; break;
  2713.                         case 24: b = 722737; break;
  2714.                         case 25: b = 0; break;
  2715.                         case 26: b = 0; break;
  2716.                         case 27: b = 722738; break;
  2717.                         case 28: b = 0; break;
  2718.                         case 29: b = 0; break;
  2719.                         case 30: b = 722739; break;
  2720.  
  2721.                     }
  2722.                     ushort X = Owner.X, Y = Owner.Y;
  2723.                     Map Map = Kernel.Maps[Owner.MapID];
  2724.                     if (Map.SelectCoordonates(ref X, ref Y))
  2725.                     {
  2726.                         MsgMapItem floorItem = new MsgMapItem(true);
  2727.                         floorItem.Item = new MsgItemInfo(true);
  2728.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2729.                         floorItem.Item.ID = b;
  2730.                         floorItem.Item.MobDropped = true;
  2731.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2732.                         floorItem.ItemID = b;
  2733.                         floorItem.MapID = Owner.MapID;
  2734.                         floorItem.MapObjType = MapObjectType.Item;
  2735.                         floorItem.X = X;
  2736.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2737.                        
  2738.                         floorItem.Type = MsgMapItem.Drop;
  2739.                         floorItem.OnFloor = Time32.Now;
  2740.                         floorItem.ItemColor = floorItem.Item.Color;
  2741.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2742.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2743.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2744.                         Map.AddFloorItem(floorItem);
  2745.                         SendScreenSpawn(floorItem);
  2746.                     }
  2747.                 }
  2748.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2749.                 {
  2750.                     killer.SecoundQuestPoint += 500;
  2751.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2752.                 }
  2753.             }
  2754.             if (Name == "FuryApe")
  2755.             {
  2756.  
  2757.                 uint b = 0;
  2758.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2759.                 switch (ban)
  2760.                 {
  2761.                     case 1: b = 722739; break;
  2762.                     case 2: b = 722738; break;
  2763.                     case 3: b = 722737; break;
  2764.                     case 4: b = 0; break;
  2765.                     case 5: b = 722732; break;
  2766.                     case 6: b = 722733; break;
  2767.                     case 7: b = 722734; break;
  2768.                     case 8: b = 722735; break;
  2769.                     case 9: b = 722736; break;
  2770.                 }
  2771.                 ushort X = Owner.X, Y = Owner.Y;
  2772.                 Map Map = Kernel.Maps[Owner.MapID];
  2773.                 if (Map.SelectCoordonates(ref X, ref Y))
  2774.                 {
  2775.                     MsgMapItem floorItem = new MsgMapItem(true);
  2776.                     floorItem.Item = new MsgItemInfo(true);
  2777.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2778.                     floorItem.Item.ID = b;
  2779.                     floorItem.Item.MobDropped = true;
  2780.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2781.                     floorItem.ItemID = b;
  2782.                     floorItem.MapID = Owner.MapID;
  2783.                     floorItem.MapObjType = MapObjectType.Item;
  2784.                     floorItem.X = X;
  2785.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2786.                    
  2787.                     floorItem.Type = MsgMapItem.Drop;
  2788.                     floorItem.OnFloor = Time32.Now;
  2789.                     floorItem.ItemColor = floorItem.Item.Color;
  2790.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  2791.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2792.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2793.                     Map.AddFloorItem(floorItem);
  2794.                     SendScreenSpawn(floorItem);
  2795.                 }
  2796.  
  2797.             }
  2798.             #endregion
  2799.             #endregion
  2800.             #region Hades
  2801.             #region WoodHades
  2802.             if (Name == "WoodHades")
  2803.             {
  2804.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2805.                 {
  2806.                     uint b = 0;
  2807.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  2808.                     switch (ban)
  2809.                     {
  2810.                         case 1: b = 722723; break;
  2811.                         case 2: b = 0; break;
  2812.                         case 3: b = 722724; break;
  2813.                         case 4: b = 0; break;
  2814.                         case 5: b = 0; break;
  2815.                         case 6: b = 722725; break;
  2816.                         case 7: b = 0; break;
  2817.                         case 8: b = 722732; break;
  2818.                         case 9: b = 0; break;
  2819.                         case 10: b = 0; break;
  2820.                         case 11: b = 0; break;
  2821.                         case 12: b = 722733; break;
  2822.                         case 13: b = 0; break;
  2823.                         case 14: b = 0; break;
  2824.                         case 15: b = 722734; break;
  2825.                         case 16: b = 0; break;
  2826.                         case 17: b = 0; break;
  2827.                         case 18: b = 722735; break;
  2828.                         case 19: b = 0; break;
  2829.                         case 20: b = 0; break;
  2830.                         case 21: b = 722736; break;
  2831.                         case 22: b = 0; break;
  2832.                         case 23: b = 0; break;
  2833.                         case 24: b = 722737; break;
  2834.                         case 25: b = 0; break;
  2835.                         case 26: b = 0; break;
  2836.                         case 27: b = 722738; break;
  2837.                         case 28: b = 0; break;
  2838.                         case 29: b = 0; break;
  2839.                         case 30: b = 722739; break;
  2840.  
  2841.                     }
  2842.                     ushort X = Owner.X, Y = Owner.Y;
  2843.                     Map Map = Kernel.Maps[Owner.MapID];
  2844.                     if (Map.SelectCoordonates(ref X, ref Y))
  2845.                     {
  2846.                         MsgMapItem floorItem = new MsgMapItem(true);
  2847.                         floorItem.Item = new MsgItemInfo(true);
  2848.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2849.                         floorItem.Item.ID = b;
  2850.                         floorItem.Item.MobDropped = true;
  2851.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2852.                         floorItem.ItemID = b;
  2853.                         floorItem.MapID = Owner.MapID;
  2854.                         floorItem.MapObjType = MapObjectType.Item;
  2855.                         floorItem.X = X;
  2856.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2857.                        
  2858.                         floorItem.Type = MsgMapItem.Drop;
  2859.                         floorItem.OnFloor = Time32.Now;
  2860.                         floorItem.ItemColor = floorItem.Item.Color;
  2861.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2862.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2863.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2864.                         Map.AddFloorItem(floorItem);
  2865.                         SendScreenSpawn(floorItem);
  2866.                     }
  2867.                 }
  2868.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2869.                 {
  2870.                     killer.SecoundQuestPoint += 1;
  2871.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2872.                 }
  2873.             }
  2874.             if (Name == "WoodHades")
  2875.             {
  2876.  
  2877.                 uint b = 0;
  2878.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2879.                 switch (ban)
  2880.                 {
  2881.                     case 1: b = 722739; break;
  2882.                     case 2: b = 722738; break;
  2883.                     case 3: b = 722737; break;
  2884.                     case 4: b = 0; break;
  2885.                     case 5: b = 722732; break;
  2886.                     case 6: b = 722733; break;
  2887.                     case 7: b = 722734; break;
  2888.                     case 8: b = 722735; break;
  2889.                     case 9: b = 722736; break;
  2890.                 }
  2891.                 ushort X = Owner.X, Y = Owner.Y;
  2892.                 Map Map = Kernel.Maps[Owner.MapID];
  2893.                 if (Map.SelectCoordonates(ref X, ref Y))
  2894.                 {
  2895.                     MsgMapItem floorItem = new MsgMapItem(true);
  2896.                     floorItem.Item = new MsgItemInfo(true);
  2897.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2898.                     floorItem.Item.ID = b;
  2899.                     floorItem.Item.MobDropped = true;
  2900.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2901.                     floorItem.ItemID = b;
  2902.                     floorItem.MapID = Owner.MapID;
  2903.                     floorItem.MapObjType = MapObjectType.Item;
  2904.                     floorItem.X = X;
  2905.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2906.                    
  2907.                     floorItem.Type = MsgMapItem.Drop;
  2908.                     floorItem.OnFloor = Time32.Now;
  2909.                     floorItem.ItemColor = floorItem.Item.Color;
  2910.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  2911.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  2912.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2913.                     Map.AddFloorItem(floorItem);
  2914.                     SendScreenSpawn(floorItem);
  2915.                 }
  2916.  
  2917.             }
  2918.             #endregion
  2919.             #region WaterHades
  2920.             if (Name == "WaterHades")
  2921.             {
  2922.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  2923.                 {
  2924.                     uint b = 0;
  2925.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  2926.                     switch (ban)
  2927.                     {
  2928.                         case 1: b = 722723; break;
  2929.                         case 2: b = 0; break;
  2930.                         case 3: b = 722724; break;
  2931.                         case 4: b = 0; break;
  2932.                         case 5: b = 0; break;
  2933.                         case 6: b = 722725; break;
  2934.                         case 7: b = 0; break;
  2935.                         case 8: b = 722732; break;
  2936.                         case 9: b = 0; break;
  2937.                         case 10: b = 0; break;
  2938.                         case 11: b = 0; break;
  2939.                         case 12: b = 722733; break;
  2940.                         case 13: b = 0; break;
  2941.                         case 14: b = 0; break;
  2942.                         case 15: b = 722734; break;
  2943.                         case 16: b = 0; break;
  2944.                         case 17: b = 0; break;
  2945.                         case 18: b = 722735; break;
  2946.                         case 19: b = 0; break;
  2947.                         case 20: b = 0; break;
  2948.                         case 21: b = 722736; break;
  2949.                         case 22: b = 0; break;
  2950.                         case 23: b = 0; break;
  2951.                         case 24: b = 722737; break;
  2952.                         case 25: b = 0; break;
  2953.                         case 26: b = 0; break;
  2954.                         case 27: b = 722738; break;
  2955.                         case 28: b = 0; break;
  2956.                         case 29: b = 0; break;
  2957.                         case 30: b = 722739; break;
  2958.  
  2959.                     }
  2960.                     ushort X = Owner.X, Y = Owner.Y;
  2961.                     Map Map = Kernel.Maps[Owner.MapID];
  2962.                     if (Map.SelectCoordonates(ref X, ref Y))
  2963.                     {
  2964.                         MsgMapItem floorItem = new MsgMapItem(true);
  2965.                         floorItem.Item = new MsgItemInfo(true);
  2966.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  2967.                         floorItem.Item.ID = b;
  2968.                         floorItem.Item.MobDropped = true;
  2969.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  2970.                         floorItem.ItemID = b;
  2971.                         floorItem.MapID = Owner.MapID;
  2972.                         floorItem.MapObjType = MapObjectType.Item;
  2973.                         floorItem.X = X;
  2974.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  2975.                        
  2976.                         floorItem.Type = MsgMapItem.Drop;
  2977.                         floorItem.OnFloor = Time32.Now;
  2978.                         floorItem.ItemColor = floorItem.Item.Color;
  2979.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  2980.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  2981.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  2982.                         Map.AddFloorItem(floorItem);
  2983.                         SendScreenSpawn(floorItem);
  2984.                     }
  2985.                 }
  2986.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  2987.                 {
  2988.                     killer.SecoundQuestPoint += 2;
  2989.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  2990.                 }
  2991.             }
  2992.             if (Name == "WaterHades")
  2993.             {
  2994.  
  2995.                 uint b = 0;
  2996.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  2997.                 switch (ban)
  2998.                 {
  2999.                     case 1: b = 722739; break;
  3000.                     case 2: b = 722738; break;
  3001.                     case 3: b = 722737; break;
  3002.                     case 4: b = 0; break;
  3003.                     case 5: b = 722732; break;
  3004.                     case 6: b = 722733; break;
  3005.                     case 7: b = 722734; break;
  3006.                     case 8: b = 722735; break;
  3007.                     case 9: b = 722736; break;
  3008.                 }
  3009.                 ushort X = Owner.X, Y = Owner.Y;
  3010.                 Map Map = Kernel.Maps[Owner.MapID];
  3011.                 if (Map.SelectCoordonates(ref X, ref Y))
  3012.                 {
  3013.                     MsgMapItem floorItem = new MsgMapItem(true);
  3014.                     floorItem.Item = new MsgItemInfo(true);
  3015.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3016.                     floorItem.Item.ID = b;
  3017.                     floorItem.Item.MobDropped = true;
  3018.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3019.                     floorItem.ItemID = b;
  3020.                     floorItem.MapID = Owner.MapID;
  3021.                     floorItem.MapObjType = MapObjectType.Item;
  3022.                     floorItem.X = X;
  3023.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3024.                    
  3025.                     floorItem.Type = MsgMapItem.Drop;
  3026.                     floorItem.OnFloor = Time32.Now;
  3027.                     floorItem.ItemColor = floorItem.Item.Color;
  3028.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  3029.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  3030.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3031.                     Map.AddFloorItem(floorItem);
  3032.                     SendScreenSpawn(floorItem);
  3033.                 }
  3034.  
  3035.             }
  3036.             #endregion
  3037.             #region EarthHades
  3038.             if (Name == "EarthHades")
  3039.             {
  3040.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3041.                 {
  3042.                     uint b = 0;
  3043.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  3044.                     switch (ban)
  3045.                     {
  3046.                         case 1: b = 722723; break;
  3047.                         case 2: b = 0; break;
  3048.                         case 3: b = 722724; break;
  3049.                         case 4: b = 0; break;
  3050.                         case 5: b = 0; break;
  3051.                         case 6: b = 722725; break;
  3052.                         case 7: b = 0; break;
  3053.                         case 8: b = 722732; break;
  3054.                         case 9: b = 0; break;
  3055.                         case 10: b = 0; break;
  3056.                         case 11: b = 0; break;
  3057.                         case 12: b = 722733; break;
  3058.                         case 13: b = 0; break;
  3059.                         case 14: b = 0; break;
  3060.                         case 15: b = 722734; break;
  3061.                         case 16: b = 0; break;
  3062.                         case 17: b = 0; break;
  3063.                         case 18: b = 722735; break;
  3064.                         case 19: b = 0; break;
  3065.                         case 20: b = 0; break;
  3066.                         case 21: b = 722736; break;
  3067.                         case 22: b = 0; break;
  3068.                         case 23: b = 0; break;
  3069.                         case 24: b = 722737; break;
  3070.                         case 25: b = 0; break;
  3071.                         case 26: b = 0; break;
  3072.                         case 27: b = 722738; break;
  3073.                         case 28: b = 0; break;
  3074.                         case 29: b = 0; break;
  3075.                         case 30: b = 722739; break;
  3076.  
  3077.                     }
  3078.                     ushort X = Owner.X, Y = Owner.Y;
  3079.                     Map Map = Kernel.Maps[Owner.MapID];
  3080.                     if (Map.SelectCoordonates(ref X, ref Y))
  3081.                     {
  3082.                         MsgMapItem floorItem = new MsgMapItem(true);
  3083.                         floorItem.Item = new MsgItemInfo(true);
  3084.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3085.                         floorItem.Item.ID = b;
  3086.                         floorItem.Item.MobDropped = true;
  3087.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3088.                         floorItem.ItemID = b;
  3089.                         floorItem.MapID = Owner.MapID;
  3090.                         floorItem.MapObjType = MapObjectType.Item;
  3091.                         floorItem.X = X;
  3092.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3093.                        
  3094.                         floorItem.Type = MsgMapItem.Drop;
  3095.                         floorItem.OnFloor = Time32.Now;
  3096.                         floorItem.ItemColor = floorItem.Item.Color;
  3097.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3098.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3099.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3100.                         Map.AddFloorItem(floorItem);
  3101.                         SendScreenSpawn(floorItem);
  3102.                     }
  3103.                 }
  3104.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  3105.                 {
  3106.                     killer.SecoundQuestPoint += 4;
  3107.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  3108.                 }
  3109.             }
  3110.             if (Name == "EarthHades")
  3111.             {
  3112.  
  3113.                 uint b = 0;
  3114.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  3115.                 switch (ban)
  3116.                 {
  3117.                     case 1: b = 722739; break;
  3118.                     case 2: b = 722738; break;
  3119.                     case 3: b = 722737; break;
  3120.                     case 4: b = 0; break;
  3121.                     case 5: b = 722732; break;
  3122.                     case 6: b = 722733; break;
  3123.                     case 7: b = 722734; break;
  3124.                     case 8: b = 722735; break;
  3125.                     case 9: b = 722736; break;
  3126.                 }
  3127.                 ushort X = Owner.X, Y = Owner.Y;
  3128.                 Map Map = Kernel.Maps[Owner.MapID];
  3129.                 if (Map.SelectCoordonates(ref X, ref Y))
  3130.                 {
  3131.                     MsgMapItem floorItem = new MsgMapItem(true);
  3132.                     floorItem.Item = new MsgItemInfo(true);
  3133.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3134.                     floorItem.Item.ID = b;
  3135.                     floorItem.Item.MobDropped = true;
  3136.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3137.                     floorItem.ItemID = b;
  3138.                     floorItem.MapID = Owner.MapID;
  3139.                     floorItem.MapObjType = MapObjectType.Item;
  3140.                     floorItem.X = X;
  3141.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3142.                    
  3143.                     floorItem.Type = MsgMapItem.Drop;
  3144.                     floorItem.OnFloor = Time32.Now;
  3145.                     floorItem.ItemColor = floorItem.Item.Color;
  3146.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  3147.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  3148.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3149.                     Map.AddFloorItem(floorItem);
  3150.                     SendScreenSpawn(floorItem);
  3151.                 }
  3152.  
  3153.             }
  3154.             #endregion
  3155.             #region HadesLord
  3156.             if (Name == "HadesLord")
  3157.             {
  3158.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3159.                 {
  3160.                     uint b = 0;
  3161.                     uint ban = (uint)Kernel.Random.Next(1, 6);
  3162.                     switch (ban)
  3163.                     {
  3164.                         case 1: b = 722723; break;
  3165.                         case 2: b = 0; break;
  3166.                         case 3: b = 722724; break;
  3167.                         case 4: b = 0; break;
  3168.                         case 5: b = 0; break;
  3169.                         case 6: b = 722725; break;
  3170.                         case 7: b = 0; break;
  3171.                         case 8: b = 722732; break;
  3172.                         case 9: b = 0; break;
  3173.                         case 10: b = 0; break;
  3174.                         case 11: b = 0; break;
  3175.                         case 12: b = 722733; break;
  3176.                         case 13: b = 0; break;
  3177.                         case 14: b = 0; break;
  3178.                         case 15: b = 722734; break;
  3179.                         case 16: b = 0; break;
  3180.                         case 17: b = 0; break;
  3181.                         case 18: b = 722735; break;
  3182.                         case 19: b = 0; break;
  3183.                         case 20: b = 0; break;
  3184.                         case 21: b = 722736; break;
  3185.                         case 22: b = 0; break;
  3186.                         case 23: b = 0; break;
  3187.                         case 24: b = 722737; break;
  3188.                         case 25: b = 0; break;
  3189.                         case 26: b = 0; break;
  3190.                         case 27: b = 722738; break;
  3191.                         case 28: b = 0; break;
  3192.                         case 29: b = 0; break;
  3193.                         case 30: b = 722739; break;
  3194.  
  3195.                     }
  3196.                     ushort X = Owner.X, Y = Owner.Y;
  3197.                     Map Map = Kernel.Maps[Owner.MapID];
  3198.                     if (Map.SelectCoordonates(ref X, ref Y))
  3199.                     {
  3200.                         MsgMapItem floorItem = new MsgMapItem(true);
  3201.                         floorItem.Item = new MsgItemInfo(true);
  3202.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3203.                         floorItem.Item.ID = b;
  3204.                         floorItem.Item.MobDropped = true;
  3205.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3206.                         floorItem.ItemID = b;
  3207.                         floorItem.MapID = Owner.MapID;
  3208.                         floorItem.MapObjType = MapObjectType.Item;
  3209.                         floorItem.X = X;
  3210.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3211.                        
  3212.                         floorItem.Type = MsgMapItem.Drop;
  3213.                         floorItem.OnFloor = Time32.Now;
  3214.                         floorItem.ItemColor = floorItem.Item.Color;
  3215.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3216.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3217.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3218.                         Map.AddFloorItem(floorItem);
  3219.                         SendScreenSpawn(floorItem);
  3220.                     }
  3221.                 }
  3222.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  3223.                 {
  3224.                     killer.SecoundQuestPoint += 500;
  3225.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  3226.                 }
  3227.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3228.                 {
  3229.                     ushort X = Owner.X, Y = Owner.Y;
  3230.                     Map Map = Kernel.Maps[Owner.MapID];
  3231.                     if (Map.SelectCoordonates(ref X, ref Y))
  3232.                     {
  3233.                         MsgMapItem floorItem = new MsgMapItem(true);
  3234.                         floorItem.Item = new MsgItemInfo(true);
  3235.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3236.                         floorItem.Item.ID = 722727;
  3237.                         floorItem.Item.MobDropped = true;
  3238.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3239.                         floorItem.ItemID = 722727;
  3240.                         floorItem.MapID = Owner.MapID;
  3241.                         floorItem.MapObjType = MapObjectType.Item;
  3242.                         floorItem.X = X;
  3243.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3244.                        
  3245.                         floorItem.Type = MsgMapItem.Drop;
  3246.                         floorItem.OnFloor = Time32.Now;
  3247.                         floorItem.ItemColor = floorItem.Item.Color;
  3248.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3249.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3250.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3251.                         Map.AddFloorItem(floorItem);
  3252.                         SendScreenSpawn(floorItem);
  3253.                     }
  3254.                 }
  3255.             }
  3256.             if (Name == "HadesLord")
  3257.             {
  3258.  
  3259.                 uint b = 0;
  3260.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  3261.                 switch (ban)
  3262.                 {
  3263.                     case 1: b = 722739; break;
  3264.                     case 2: b = 722738; break;
  3265.                     case 3: b = 722737; break;
  3266.                     case 4: b = 0; break;
  3267.                     case 5: b = 722732; break;
  3268.                     case 6: b = 722733; break;
  3269.                     case 7: b = 722734; break;
  3270.                     case 8: b = 722735; break;
  3271.                     case 9: b = 722736; break;
  3272.                 }
  3273.                 ushort X = Owner.X, Y = Owner.Y;
  3274.                 Map Map = Kernel.Maps[Owner.MapID];
  3275.                 if (Map.SelectCoordonates(ref X, ref Y))
  3276.                 {
  3277.                     MsgMapItem floorItem = new MsgMapItem(true);
  3278.                     floorItem.Item = new MsgItemInfo(true);
  3279.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3280.                     floorItem.Item.ID = b;
  3281.                     floorItem.Item.MobDropped = true;
  3282.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3283.                     floorItem.ItemID = b;
  3284.                     floorItem.MapID = Owner.MapID;
  3285.                     floorItem.MapObjType = MapObjectType.Item;
  3286.                     floorItem.X = X;
  3287.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3288.                    
  3289.                     floorItem.Type = MsgMapItem.Drop;
  3290.                     floorItem.OnFloor = Time32.Now;
  3291.                     floorItem.ItemColor = floorItem.Item.Color;
  3292.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  3293.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  3294.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3295.                     Map.AddFloorItem(floorItem);
  3296.                     SendScreenSpawn(floorItem);
  3297.                 }
  3298.  
  3299.             }
  3300.             #endregion
  3301.             #endregion
  3302.             #region Bat
  3303.             #region FuryBat
  3304.             if (Name == "FuryBat")
  3305.             {
  3306.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3307.                 {
  3308.                     uint b = 0;
  3309.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  3310.                     switch (ban)
  3311.                     {
  3312.                         case 1: b = 722723; break;
  3313.                         case 2: b = 0; break;
  3314.                         case 3: b = 722724; break;
  3315.                         case 4: b = 0; break;
  3316.                         case 5: b = 0; break;
  3317.                         case 6: b = 722725; break;
  3318.                         case 7: b = 0; break;
  3319.                         case 8: b = 722732; break;
  3320.                         case 9: b = 0; break;
  3321.                         case 10: b = 0; break;
  3322.                         case 11: b = 0; break;
  3323.                         case 12: b = 722733; break;
  3324.                         case 13: b = 0; break;
  3325.                         case 14: b = 0; break;
  3326.                         case 15: b = 722734; break;
  3327.                         case 16: b = 0; break;
  3328.                         case 17: b = 0; break;
  3329.                         case 18: b = 722735; break;
  3330.                         case 19: b = 0; break;
  3331.                         case 20: b = 0; break;
  3332.                         case 21: b = 722736; break;
  3333.                         case 22: b = 0; break;
  3334.                         case 23: b = 0; break;
  3335.                         case 24: b = 722737; break;
  3336.                         case 25: b = 0; break;
  3337.                         case 26: b = 0; break;
  3338.                         case 27: b = 722738; break;
  3339.                         case 28: b = 0; break;
  3340.                         case 29: b = 0; break;
  3341.                         case 30: b = 722739; break;
  3342.  
  3343.                     }
  3344.                     ushort X = Owner.X, Y = Owner.Y;
  3345.                     Map Map = Kernel.Maps[Owner.MapID];
  3346.                     if (Map.SelectCoordonates(ref X, ref Y))
  3347.                     {
  3348.                         MsgMapItem floorItem = new MsgMapItem(true);
  3349.                         floorItem.Item = new MsgItemInfo(true);
  3350.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3351.                         floorItem.Item.ID = b;
  3352.                         floorItem.Item.MobDropped = true;
  3353.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3354.                         floorItem.ItemID = b;
  3355.                         floorItem.MapID = Owner.MapID;
  3356.                         floorItem.MapObjType = MapObjectType.Item;
  3357.                         floorItem.X = X;
  3358.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3359.                        
  3360.                         floorItem.Type = MsgMapItem.Drop;
  3361.                         floorItem.OnFloor = Time32.Now;
  3362.                         floorItem.ItemColor = floorItem.Item.Color;
  3363.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3364.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3365.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3366.                         Map.AddFloorItem(floorItem);
  3367.                         SendScreenSpawn(floorItem);
  3368.                     }
  3369.                 }
  3370.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  3371.                 {
  3372.                     killer.SecoundQuestPoint += 1;
  3373.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  3374.                 }
  3375.             }
  3376.             if (Name == "FuryBat")
  3377.             {
  3378.  
  3379.                 uint b = 0;
  3380.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  3381.                 switch (ban)
  3382.                 {
  3383.                     case 1: b = 722739; break;
  3384.                     case 2: b = 722738; break;
  3385.                     case 3: b = 722737; break;
  3386.                     case 4: b = 0; break;
  3387.                     case 5: b = 722732; break;
  3388.                     case 6: b = 722733; break;
  3389.                     case 7: b = 722734; break;
  3390.                     case 8: b = 722735; break;
  3391.                     case 9: b = 722736; break;
  3392.                 }
  3393.                 ushort X = Owner.X, Y = Owner.Y;
  3394.                 Map Map = Kernel.Maps[Owner.MapID];
  3395.                 if (Map.SelectCoordonates(ref X, ref Y))
  3396.                 {
  3397.                     MsgMapItem floorItem = new MsgMapItem(true);
  3398.                     floorItem.Item = new MsgItemInfo(true);
  3399.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3400.                     floorItem.Item.ID = b;
  3401.                     floorItem.Item.MobDropped = true;
  3402.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3403.                     floorItem.ItemID = b;
  3404.                     floorItem.MapID = Owner.MapID;
  3405.                     floorItem.MapObjType = MapObjectType.Item;
  3406.                     floorItem.X = X;
  3407.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3408.                    
  3409.                     floorItem.Type = MsgMapItem.Drop;
  3410.                     floorItem.OnFloor = Time32.Now;
  3411.                     floorItem.ItemColor = floorItem.Item.Color;
  3412.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  3413.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  3414.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3415.                     Map.AddFloorItem(floorItem);
  3416.                     SendScreenSpawn(floorItem);
  3417.                 }
  3418.  
  3419.             }
  3420.             #endregion
  3421.             #region CruelBat
  3422.             if (Name == "CruelBat")
  3423.             {
  3424.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3425.                 {
  3426.                     uint b = 0;
  3427.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  3428.                     switch (ban)
  3429.                     {
  3430.                         case 1: b = 722723; break;
  3431.                         case 2: b = 0; break;
  3432.                         case 3: b = 722724; break;
  3433.                         case 4: b = 0; break;
  3434.                         case 5: b = 0; break;
  3435.                         case 6: b = 722725; break;
  3436.                         case 7: b = 0; break;
  3437.                         case 8: b = 722732; break;
  3438.                         case 9: b = 0; break;
  3439.                         case 10: b = 0; break;
  3440.                         case 11: b = 0; break;
  3441.                         case 12: b = 722733; break;
  3442.                         case 13: b = 0; break;
  3443.                         case 14: b = 0; break;
  3444.                         case 15: b = 722734; break;
  3445.                         case 16: b = 0; break;
  3446.                         case 17: b = 0; break;
  3447.                         case 18: b = 722735; break;
  3448.                         case 19: b = 0; break;
  3449.                         case 20: b = 0; break;
  3450.                         case 21: b = 722736; break;
  3451.                         case 22: b = 0; break;
  3452.                         case 23: b = 0; break;
  3453.                         case 24: b = 722737; break;
  3454.                         case 25: b = 0; break;
  3455.                         case 26: b = 0; break;
  3456.                         case 27: b = 722738; break;
  3457.                         case 28: b = 0; break;
  3458.                         case 29: b = 0; break;
  3459.                         case 30: b = 722739; break;
  3460.  
  3461.                     }
  3462.                     ushort X = Owner.X, Y = Owner.Y;
  3463.                     Map Map = Kernel.Maps[Owner.MapID];
  3464.                     if (Map.SelectCoordonates(ref X, ref Y))
  3465.                     {
  3466.                         MsgMapItem floorItem = new MsgMapItem(true);
  3467.                         floorItem.Item = new MsgItemInfo(true);
  3468.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3469.                         floorItem.Item.ID = b;
  3470.                         floorItem.Item.MobDropped = true;
  3471.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3472.                         floorItem.ItemID = b;
  3473.                         floorItem.MapID = Owner.MapID;
  3474.                         floorItem.MapObjType = MapObjectType.Item;
  3475.                         floorItem.X = X;
  3476.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3477.                        
  3478.                         floorItem.Type = MsgMapItem.Drop;
  3479.                         floorItem.OnFloor = Time32.Now;
  3480.                         floorItem.ItemColor = floorItem.Item.Color;
  3481.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3482.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3483.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3484.                         Map.AddFloorItem(floorItem);
  3485.                         SendScreenSpawn(floorItem);
  3486.                     }
  3487.                 }
  3488.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  3489.                 {
  3490.                     killer.SecoundQuestPoint += 2;
  3491.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  3492.                 }
  3493.             }
  3494.             if (Name == "CruelBat")
  3495.             {
  3496.  
  3497.                 uint b = 0;
  3498.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  3499.                 switch (ban)
  3500.                 {
  3501.                     case 1: b = 722739; break;
  3502.                     case 2: b = 722738; break;
  3503.                     case 3: b = 722737; break;
  3504.                     case 4: b = 0; break;
  3505.                     case 5: b = 722732; break;
  3506.                     case 6: b = 722733; break;
  3507.                     case 7: b = 722734; break;
  3508.                     case 8: b = 722735; break;
  3509.                     case 9: b = 722736; break;
  3510.                 }
  3511.                 ushort X = Owner.X, Y = Owner.Y;
  3512.                 Map Map = Kernel.Maps[Owner.MapID];
  3513.                 if (Map.SelectCoordonates(ref X, ref Y))
  3514.                 {
  3515.                     MsgMapItem floorItem = new MsgMapItem(true);
  3516.                     floorItem.Item = new MsgItemInfo(true);
  3517.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3518.                     floorItem.Item.ID = b;
  3519.                     floorItem.Item.MobDropped = true;
  3520.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3521.                     floorItem.ItemID = b;
  3522.                     floorItem.MapID = Owner.MapID;
  3523.                     floorItem.MapObjType = MapObjectType.Item;
  3524.                     floorItem.X = X;
  3525.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3526.                    
  3527.                     floorItem.Type = MsgMapItem.Drop;
  3528.                     floorItem.OnFloor = Time32.Now;
  3529.                     floorItem.ItemColor = floorItem.Item.Color;
  3530.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  3531.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  3532.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3533.                     Map.AddFloorItem(floorItem);
  3534.                     SendScreenSpawn(floorItem);
  3535.                 }
  3536.  
  3537.             }
  3538.             #endregion
  3539.             #region ViciousBat
  3540.             if (Name == "ViciousBat")
  3541.             {
  3542.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3543.                 {
  3544.                     uint b = 0;
  3545.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  3546.                     switch (ban)
  3547.                     {
  3548.                         case 1: b = 722723; break;
  3549.                         case 2: b = 0; break;
  3550.                         case 3: b = 722724; break;
  3551.                         case 4: b = 0; break;
  3552.                         case 5: b = 0; break;
  3553.                         case 6: b = 722725; break;
  3554.                         case 7: b = 0; break;
  3555.                         case 8: b = 722732; break;
  3556.                         case 9: b = 0; break;
  3557.                         case 10: b = 0; break;
  3558.                         case 11: b = 0; break;
  3559.                         case 12: b = 722733; break;
  3560.                         case 13: b = 0; break;
  3561.                         case 14: b = 0; break;
  3562.                         case 15: b = 722734; break;
  3563.                         case 16: b = 0; break;
  3564.                         case 17: b = 0; break;
  3565.                         case 18: b = 722735; break;
  3566.                         case 19: b = 0; break;
  3567.                         case 20: b = 0; break;
  3568.                         case 21: b = 722736; break;
  3569.                         case 22: b = 0; break;
  3570.                         case 23: b = 0; break;
  3571.                         case 24: b = 722737; break;
  3572.                         case 25: b = 0; break;
  3573.                         case 26: b = 0; break;
  3574.                         case 27: b = 722738; break;
  3575.                         case 28: b = 0; break;
  3576.                         case 29: b = 0; break;
  3577.                         case 30: b = 722739; break;
  3578.  
  3579.                     }
  3580.                     ushort X = Owner.X, Y = Owner.Y;
  3581.                     Map Map = Kernel.Maps[Owner.MapID];
  3582.                     if (Map.SelectCoordonates(ref X, ref Y))
  3583.                     {
  3584.                         MsgMapItem floorItem = new MsgMapItem(true);
  3585.                         floorItem.Item = new MsgItemInfo(true);
  3586.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3587.                         floorItem.Item.ID = b;
  3588.                         floorItem.Item.MobDropped = true;
  3589.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3590.                         floorItem.ItemID = b;
  3591.                         floorItem.MapID = Owner.MapID;
  3592.                         floorItem.MapObjType = MapObjectType.Item;
  3593.                         floorItem.X = X;
  3594.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3595.                        
  3596.                         floorItem.Type = MsgMapItem.Drop;
  3597.                         floorItem.OnFloor = Time32.Now;
  3598.                         floorItem.ItemColor = floorItem.Item.Color;
  3599.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3600.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3601.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3602.                         Map.AddFloorItem(floorItem);
  3603.                         SendScreenSpawn(floorItem);
  3604.                     }
  3605.                 }
  3606.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  3607.                 {
  3608.                     killer.SecoundQuestPoint += 4;
  3609.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  3610.                 }
  3611.             }
  3612.             if (Name == "ViciousBat")
  3613.             {
  3614.  
  3615.                 uint b = 0;
  3616.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  3617.                 switch (ban)
  3618.                 {
  3619.                     case 1: b = 722739; break;
  3620.                     case 2: b = 722738; break;
  3621.                     case 3: b = 722737; break;
  3622.                     case 4: b = 0; break;
  3623.                     case 5: b = 722732; break;
  3624.                     case 6: b = 722733; break;
  3625.                     case 7: b = 722734; break;
  3626.                     case 8: b = 722735; break;
  3627.                     case 9: b = 722736; break;
  3628.                 }
  3629.                 ushort X = Owner.X, Y = Owner.Y;
  3630.                 Map Map = Kernel.Maps[Owner.MapID];
  3631.                 if (Map.SelectCoordonates(ref X, ref Y))
  3632.                 {
  3633.                     MsgMapItem floorItem = new MsgMapItem(true);
  3634.                     floorItem.Item = new MsgItemInfo(true);
  3635.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3636.                     floorItem.Item.ID = b;
  3637.                     floorItem.Item.MobDropped = true;
  3638.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3639.                     floorItem.ItemID = b;
  3640.                     floorItem.MapID = Owner.MapID;
  3641.                     floorItem.MapObjType = MapObjectType.Item;
  3642.                     floorItem.X = X;
  3643.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3644.                    
  3645.                     floorItem.Type = MsgMapItem.Drop;
  3646.                     floorItem.OnFloor = Time32.Now;
  3647.                     floorItem.ItemColor = floorItem.Item.Color;
  3648.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  3649.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  3650.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3651.                     Map.AddFloorItem(floorItem);
  3652.                     SendScreenSpawn(floorItem);
  3653.                 }
  3654.  
  3655.             }
  3656.             #endregion
  3657.             #region DemonBat
  3658.             if (Name == "DemonBat")
  3659.             {
  3660.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3661.                 {
  3662.                     uint b = 0;
  3663.                     uint ban = (uint)Kernel.Random.Next(1, 6);
  3664.                     switch (ban)
  3665.                     {
  3666.                         case 1: b = 722723; break;
  3667.                         case 2: b = 0; break;
  3668.                         case 3: b = 722724; break;
  3669.                         case 4: b = 0; break;
  3670.                         case 5: b = 0; break;
  3671.                         case 6: b = 722725; break;
  3672.                         case 7: b = 0; break;
  3673.                         case 8: b = 722732; break;
  3674.                         case 9: b = 0; break;
  3675.                         case 10: b = 0; break;
  3676.                         case 11: b = 0; break;
  3677.                         case 12: b = 722733; break;
  3678.                         case 13: b = 0; break;
  3679.                         case 14: b = 0; break;
  3680.                         case 15: b = 722734; break;
  3681.                         case 16: b = 0; break;
  3682.                         case 17: b = 0; break;
  3683.                         case 18: b = 722735; break;
  3684.                         case 19: b = 0; break;
  3685.                         case 20: b = 0; break;
  3686.                         case 21: b = 722736; break;
  3687.                         case 22: b = 0; break;
  3688.                         case 23: b = 0; break;
  3689.                         case 24: b = 722737; break;
  3690.                         case 25: b = 0; break;
  3691.                         case 26: b = 0; break;
  3692.                         case 27: b = 722738; break;
  3693.                         case 28: b = 0; break;
  3694.                         case 29: b = 0; break;
  3695.                         case 30: b = 722739; break;
  3696.  
  3697.                     }
  3698.                     ushort X = Owner.X, Y = Owner.Y;
  3699.                     Map Map = Kernel.Maps[Owner.MapID];
  3700.                     if (Map.SelectCoordonates(ref X, ref Y))
  3701.                     {
  3702.                         MsgMapItem floorItem = new MsgMapItem(true);
  3703.                         floorItem.Item = new MsgItemInfo(true);
  3704.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3705.                         floorItem.Item.ID = b;
  3706.                         floorItem.Item.MobDropped = true;
  3707.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3708.                         floorItem.ItemID = b;
  3709.                         floorItem.MapID = Owner.MapID;
  3710.                         floorItem.MapObjType = MapObjectType.Item;
  3711.                         floorItem.X = X;
  3712.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3713.                        
  3714.                         floorItem.Type = MsgMapItem.Drop;
  3715.                         floorItem.OnFloor = Time32.Now;
  3716.                         floorItem.ItemColor = floorItem.Item.Color;
  3717.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3718.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3719.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3720.                         Map.AddFloorItem(floorItem);
  3721.                         SendScreenSpawn(floorItem);
  3722.                     }
  3723.                 }
  3724.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  3725.                 {
  3726.                     killer.SecoundQuestPoint += 500;
  3727.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  3728.                 }
  3729.             }
  3730.             if (Name == "DemonBat")
  3731.             {
  3732.  
  3733.                 uint b = 0;
  3734.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  3735.                 switch (ban)
  3736.                 {
  3737.                     case 1: b = 722739; break;
  3738.                     case 2: b = 722738; break;
  3739.                     case 3: b = 722737; break;
  3740.                     case 4: b = 0; break;
  3741.                     case 5: b = 722732; break;
  3742.                     case 6: b = 722733; break;
  3743.                     case 7: b = 722734; break;
  3744.                     case 8: b = 722735; break;
  3745.                     case 9: b = 722736; break;
  3746.                 }
  3747.                 ushort X = Owner.X, Y = Owner.Y;
  3748.                 Map Map = Kernel.Maps[Owner.MapID];
  3749.                 if (Map.SelectCoordonates(ref X, ref Y))
  3750.                 {
  3751.                     MsgMapItem floorItem = new MsgMapItem(true);
  3752.                     floorItem.Item = new MsgItemInfo(true);
  3753.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3754.                     floorItem.Item.ID = b;
  3755.                     floorItem.Item.MobDropped = true;
  3756.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3757.                     floorItem.ItemID = b;
  3758.                     floorItem.MapID = Owner.MapID;
  3759.                     floorItem.MapObjType = MapObjectType.Item;
  3760.                     floorItem.X = X;
  3761.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3762.                  
  3763.                     floorItem.Type = MsgMapItem.Drop;
  3764.                     floorItem.OnFloor = Time32.Now;
  3765.                     floorItem.ItemColor = floorItem.Item.Color;
  3766.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  3767.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  3768.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3769.                     Map.AddFloorItem(floorItem);
  3770.                     SendScreenSpawn(floorItem);
  3771.                 }
  3772.  
  3773.             }
  3774.             #endregion
  3775.             #endregion
  3776.             #region Skeleton
  3777.             #region BoneSkeleton
  3778.             if (Name == "BoneSkeleton")
  3779.             {
  3780.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3781.                 {
  3782.                     uint b = 0;
  3783.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  3784.                     switch (ban)
  3785.                     {
  3786.                         case 1: b = 722723; break;
  3787.                         case 2: b = 0; break;
  3788.                         case 3: b = 722724; break;
  3789.                         case 4: b = 0; break;
  3790.                         case 5: b = 0; break;
  3791.                         case 6: b = 722725; break;
  3792.                         case 7: b = 0; break;
  3793.                         case 8: b = 722732; break;
  3794.                         case 9: b = 0; break;
  3795.                         case 10: b = 0; break;
  3796.                         case 11: b = 0; break;
  3797.                         case 12: b = 722733; break;
  3798.                         case 13: b = 0; break;
  3799.                         case 14: b = 0; break;
  3800.                         case 15: b = 722734; break;
  3801.                         case 16: b = 0; break;
  3802.                         case 17: b = 0; break;
  3803.                         case 18: b = 722735; break;
  3804.                         case 19: b = 0; break;
  3805.                         case 20: b = 0; break;
  3806.                         case 21: b = 722736; break;
  3807.                         case 22: b = 0; break;
  3808.                         case 23: b = 0; break;
  3809.                         case 24: b = 722737; break;
  3810.                         case 25: b = 0; break;
  3811.                         case 26: b = 0; break;
  3812.                         case 27: b = 722738; break;
  3813.                         case 28: b = 0; break;
  3814.                         case 29: b = 0; break;
  3815.                         case 30: b = 722739; break;
  3816.  
  3817.                     }
  3818.                     ushort X = Owner.X, Y = Owner.Y;
  3819.                     Map Map = Kernel.Maps[Owner.MapID];
  3820.                     if (Map.SelectCoordonates(ref X, ref Y))
  3821.                     {
  3822.                         MsgMapItem floorItem = new MsgMapItem(true);
  3823.                         floorItem.Item = new MsgItemInfo(true);
  3824.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3825.                         floorItem.Item.ID = b;
  3826.                         floorItem.Item.MobDropped = true;
  3827.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3828.                         floorItem.ItemID = b;
  3829.                         floorItem.MapID = Owner.MapID;
  3830.                         floorItem.MapObjType = MapObjectType.Item;
  3831.                         floorItem.X = X;
  3832.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3833.                        
  3834.                         floorItem.Type = MsgMapItem.Drop;
  3835.                         floorItem.OnFloor = Time32.Now;
  3836.                         floorItem.ItemColor = floorItem.Item.Color;
  3837.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3838.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3839.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3840.                         Map.AddFloorItem(floorItem);
  3841.                         SendScreenSpawn(floorItem);
  3842.                     }
  3843.                 }
  3844.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  3845.                 {
  3846.                     killer.SecoundQuestPoint += 1;
  3847.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  3848.                 }
  3849.             }
  3850.             if (Name == "BoneSkeleton")
  3851.             {
  3852.  
  3853.                 uint b = 0;
  3854.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  3855.                 switch (ban)
  3856.                 {
  3857.                     case 1: b = 722739; break;
  3858.                     case 2: b = 722738; break;
  3859.                     case 3: b = 722737; break;
  3860.                     case 4: b = 0; break;
  3861.                     case 5: b = 722732; break;
  3862.                     case 6: b = 722733; break;
  3863.                     case 7: b = 722734; break;
  3864.                     case 8: b = 722735; break;
  3865.                     case 9: b = 722736; break;
  3866.                 }
  3867.                 ushort X = Owner.X, Y = Owner.Y;
  3868.                 Map Map = Kernel.Maps[Owner.MapID];
  3869.                 if (Map.SelectCoordonates(ref X, ref Y))
  3870.                 {
  3871.                     MsgMapItem floorItem = new MsgMapItem(true);
  3872.                     floorItem.Item = new MsgItemInfo(true);
  3873.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3874.                     floorItem.Item.ID = b;
  3875.                     floorItem.Item.MobDropped = true;
  3876.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3877.                     floorItem.ItemID = b;
  3878.                     floorItem.MapID = Owner.MapID;
  3879.                     floorItem.MapObjType = MapObjectType.Item;
  3880.                     floorItem.X = X;
  3881.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3882.                    
  3883.                     floorItem.Type = MsgMapItem.Drop;
  3884.                     floorItem.OnFloor = Time32.Now;
  3885.                     floorItem.ItemColor = floorItem.Item.Color;
  3886.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  3887.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  3888.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3889.                     Map.AddFloorItem(floorItem);
  3890.                     SendScreenSpawn(floorItem);
  3891.                 }
  3892.  
  3893.             }
  3894.             #endregion
  3895.             #region LameSkeleton
  3896.             if (Name == "LameSkeleton")
  3897.             {
  3898.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  3899.                 {
  3900.                     uint b = 0;
  3901.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  3902.                     switch (ban)
  3903.                     {
  3904.                         case 1: b = 722723; break;
  3905.                         case 2: b = 0; break;
  3906.                         case 3: b = 722724; break;
  3907.                         case 4: b = 0; break;
  3908.                         case 5: b = 0; break;
  3909.                         case 6: b = 722725; break;
  3910.                         case 7: b = 0; break;
  3911.                         case 8: b = 722732; break;
  3912.                         case 9: b = 0; break;
  3913.                         case 10: b = 0; break;
  3914.                         case 11: b = 0; break;
  3915.                         case 12: b = 722733; break;
  3916.                         case 13: b = 0; break;
  3917.                         case 14: b = 0; break;
  3918.                         case 15: b = 722734; break;
  3919.                         case 16: b = 0; break;
  3920.                         case 17: b = 0; break;
  3921.                         case 18: b = 722735; break;
  3922.                         case 19: b = 0; break;
  3923.                         case 20: b = 0; break;
  3924.                         case 21: b = 722736; break;
  3925.                         case 22: b = 0; break;
  3926.                         case 23: b = 0; break;
  3927.                         case 24: b = 722737; break;
  3928.                         case 25: b = 0; break;
  3929.                         case 26: b = 0; break;
  3930.                         case 27: b = 722738; break;
  3931.                         case 28: b = 0; break;
  3932.                         case 29: b = 0; break;
  3933.                         case 30: b = 722739; break;
  3934.  
  3935.                     }
  3936.                     ushort X = Owner.X, Y = Owner.Y;
  3937.                     Map Map = Kernel.Maps[Owner.MapID];
  3938.                     if (Map.SelectCoordonates(ref X, ref Y))
  3939.                     {
  3940.                         MsgMapItem floorItem = new MsgMapItem(true);
  3941.                         floorItem.Item = new MsgItemInfo(true);
  3942.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3943.                         floorItem.Item.ID = b;
  3944.                         floorItem.Item.MobDropped = true;
  3945.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3946.                         floorItem.ItemID = b;
  3947.                         floorItem.MapID = Owner.MapID;
  3948.                         floorItem.MapObjType = MapObjectType.Item;
  3949.                         floorItem.X = X;
  3950.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  3951.                        
  3952.                         floorItem.Type = MsgMapItem.Drop;
  3953.                         floorItem.OnFloor = Time32.Now;
  3954.                         floorItem.ItemColor = floorItem.Item.Color;
  3955.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  3956.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  3957.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  3958.                         Map.AddFloorItem(floorItem);
  3959.                         SendScreenSpawn(floorItem);
  3960.                     }
  3961.                 }
  3962.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  3963.                 {
  3964.                     killer.SecoundQuestPoint += 2;
  3965.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  3966.                 }
  3967.             }
  3968.             if (Name == "LameSkeleton")
  3969.             {
  3970.  
  3971.                 uint b = 0;
  3972.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  3973.                 switch (ban)
  3974.                 {
  3975.                     case 1: b = 722739; break;
  3976.                     case 2: b = 722738; break;
  3977.                     case 3: b = 722737; break;
  3978.                     case 4: b = 0; break;
  3979.                     case 5: b = 722732; break;
  3980.                     case 6: b = 722733; break;
  3981.                     case 7: b = 722734; break;
  3982.                     case 8: b = 722735; break;
  3983.                     case 9: b = 722736; break;
  3984.                 }
  3985.                 ushort X = Owner.X, Y = Owner.Y;
  3986.                 Map Map = Kernel.Maps[Owner.MapID];
  3987.                 if (Map.SelectCoordonates(ref X, ref Y))
  3988.                 {
  3989.                     MsgMapItem floorItem = new MsgMapItem(true);
  3990.                     floorItem.Item = new MsgItemInfo(true);
  3991.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  3992.                     floorItem.Item.ID = b;
  3993.                     floorItem.Item.MobDropped = true;
  3994.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  3995.                     floorItem.ItemID = b;
  3996.                     floorItem.MapID = Owner.MapID;
  3997.                     floorItem.MapObjType = MapObjectType.Item;
  3998.                     floorItem.X = X;
  3999.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4000.                    
  4001.                     floorItem.Type = MsgMapItem.Drop;
  4002.                     floorItem.OnFloor = Time32.Now;
  4003.                     floorItem.ItemColor = floorItem.Item.Color;
  4004.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  4005.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  4006.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4007.                     Map.AddFloorItem(floorItem);
  4008.                     SendScreenSpawn(floorItem);
  4009.                 }
  4010.  
  4011.             }
  4012.             #endregion
  4013.             #region CarrionSkeleton
  4014.             if (Name == "CarrionSkeleton")
  4015.             {
  4016.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4017.                 {
  4018.                     uint b = 0;
  4019.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  4020.                     switch (ban)
  4021.                     {
  4022.                         case 1: b = 722723; break;
  4023.                         case 2: b = 0; break;
  4024.                         case 3: b = 722724; break;
  4025.                         case 4: b = 0; break;
  4026.                         case 5: b = 0; break;
  4027.                         case 6: b = 722725; break;
  4028.                         case 7: b = 0; break;
  4029.                         case 8: b = 722732; break;
  4030.                         case 9: b = 0; break;
  4031.                         case 10: b = 0; break;
  4032.                         case 11: b = 0; break;
  4033.                         case 12: b = 722733; break;
  4034.                         case 13: b = 0; break;
  4035.                         case 14: b = 0; break;
  4036.                         case 15: b = 722734; break;
  4037.                         case 16: b = 0; break;
  4038.                         case 17: b = 0; break;
  4039.                         case 18: b = 722735; break;
  4040.                         case 19: b = 0; break;
  4041.                         case 20: b = 0; break;
  4042.                         case 21: b = 722736; break;
  4043.                         case 22: b = 0; break;
  4044.                         case 23: b = 0; break;
  4045.                         case 24: b = 722737; break;
  4046.                         case 25: b = 0; break;
  4047.                         case 26: b = 0; break;
  4048.                         case 27: b = 722738; break;
  4049.                         case 28: b = 0; break;
  4050.                         case 29: b = 0; break;
  4051.                         case 30: b = 722739; break;
  4052.  
  4053.                     }
  4054.                     ushort X = Owner.X, Y = Owner.Y;
  4055.                     Map Map = Kernel.Maps[Owner.MapID];
  4056.                     if (Map.SelectCoordonates(ref X, ref Y))
  4057.                     {
  4058.                         MsgMapItem floorItem = new MsgMapItem(true);
  4059.                         floorItem.Item = new MsgItemInfo(true);
  4060.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4061.                         floorItem.Item.ID = b;
  4062.                         floorItem.Item.MobDropped = true;
  4063.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4064.                         floorItem.ItemID = b;
  4065.                         floorItem.MapID = Owner.MapID;
  4066.                         floorItem.MapObjType = MapObjectType.Item;
  4067.                         floorItem.X = X;
  4068.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4069.                        
  4070.                         floorItem.Type = MsgMapItem.Drop;
  4071.                         floorItem.OnFloor = Time32.Now;
  4072.                         floorItem.ItemColor = floorItem.Item.Color;
  4073.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4074.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4075.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4076.                         Map.AddFloorItem(floorItem);
  4077.                         SendScreenSpawn(floorItem);
  4078.                     }
  4079.                 }
  4080.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  4081.                 {
  4082.                     killer.SecoundQuestPoint += 4;
  4083.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  4084.                 }
  4085.             }
  4086.             if (Name == "CarrionSkeleton")
  4087.             {
  4088.  
  4089.                 uint b = 0;
  4090.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  4091.                 switch (ban)
  4092.                 {
  4093.                     case 1: b = 722739; break;
  4094.                     case 2: b = 722738; break;
  4095.                     case 3: b = 722737; break;
  4096.                     case 4: b = 0; break;
  4097.                     case 5: b = 722732; break;
  4098.                     case 6: b = 722733; break;
  4099.                     case 7: b = 722734; break;
  4100.                     case 8: b = 722735; break;
  4101.                     case 9: b = 722736; break;
  4102.                 }
  4103.                 ushort X = Owner.X, Y = Owner.Y;
  4104.                 Map Map = Kernel.Maps[Owner.MapID];
  4105.                 if (Map.SelectCoordonates(ref X, ref Y))
  4106.                 {
  4107.                     MsgMapItem floorItem = new MsgMapItem(true);
  4108.                     floorItem.Item = new MsgItemInfo(true);
  4109.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4110.                     floorItem.Item.ID = b;
  4111.                     floorItem.Item.MobDropped = true;
  4112.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4113.                     floorItem.ItemID = b;
  4114.                     floorItem.MapID = Owner.MapID;
  4115.                     floorItem.MapObjType = MapObjectType.Item;
  4116.                     floorItem.X = X;
  4117.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4118.                    
  4119.                     floorItem.Type = MsgMapItem.Drop;
  4120.                     floorItem.OnFloor = Time32.Now;
  4121.                     floorItem.ItemColor = floorItem.Item.Color;
  4122.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  4123.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  4124.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4125.                     Map.AddFloorItem(floorItem);
  4126.                     SendScreenSpawn(floorItem);
  4127.                 }
  4128.  
  4129.             }
  4130.             #endregion
  4131.             #region FurySkeleton
  4132.             if (Name == "FurySkeleton")
  4133.             {
  4134.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4135.                 {
  4136.                     uint b = 0;
  4137.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  4138.                     switch (ban)
  4139.                     {
  4140.                         case 1: b = 722723; break;
  4141.                         case 2: b = 0; break;
  4142.                         case 3: b = 722724; break;
  4143.                         case 4: b = 0; break;
  4144.                         case 5: b = 0; break;
  4145.                         case 6: b = 722725; break;
  4146.                         case 7: b = 0; break;
  4147.                         case 8: b = 722732; break;
  4148.                         case 9: b = 0; break;
  4149.                         case 10: b = 0; break;
  4150.                         case 11: b = 0; break;
  4151.                         case 12: b = 722733; break;
  4152.                         case 13: b = 0; break;
  4153.                         case 14: b = 0; break;
  4154.                         case 15: b = 722734; break;
  4155.                         case 16: b = 0; break;
  4156.                         case 17: b = 0; break;
  4157.                         case 18: b = 722735; break;
  4158.                         case 19: b = 0; break;
  4159.                         case 20: b = 0; break;
  4160.                         case 21: b = 722736; break;
  4161.                         case 22: b = 0; break;
  4162.                         case 23: b = 0; break;
  4163.                         case 24: b = 722737; break;
  4164.                         case 25: b = 0; break;
  4165.                         case 26: b = 0; break;
  4166.                         case 27: b = 722738; break;
  4167.                         case 28: b = 0; break;
  4168.                         case 29: b = 0; break;
  4169.                         case 30: b = 722739; break;
  4170.  
  4171.                     }
  4172.                     ushort X = Owner.X, Y = Owner.Y;
  4173.                     Map Map = Kernel.Maps[Owner.MapID];
  4174.                     if (Map.SelectCoordonates(ref X, ref Y))
  4175.                     {
  4176.                         MsgMapItem floorItem = new MsgMapItem(true);
  4177.                         floorItem.Item = new MsgItemInfo(true);
  4178.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4179.                         floorItem.Item.ID = b;
  4180.                         floorItem.Item.MobDropped = true;
  4181.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4182.                         floorItem.ItemID = b;
  4183.                         floorItem.MapID = Owner.MapID;
  4184.                         floorItem.MapObjType = MapObjectType.Item;
  4185.                         floorItem.X = X;
  4186.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4187.                        
  4188.                         floorItem.Type = MsgMapItem.Drop;
  4189.                         floorItem.OnFloor = Time32.Now;
  4190.                         floorItem.ItemColor = floorItem.Item.Color;
  4191.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4192.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4193.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4194.                         Map.AddFloorItem(floorItem);
  4195.                         SendScreenSpawn(floorItem);
  4196.                     }
  4197.                 }
  4198.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  4199.                 {
  4200.                     killer.SecoundQuestPoint += 500;
  4201.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  4202.                 }
  4203.             }
  4204.             if (Name == "FurySkeleton")
  4205.             {
  4206.  
  4207.                 uint b = 0;
  4208.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  4209.                 switch (ban)
  4210.                 {
  4211.                     case 1: b = 722739; break;
  4212.                     case 2: b = 722738; break;
  4213.                     case 3: b = 722737; break;
  4214.                     case 4: b = 0; break;
  4215.                     case 5: b = 722732; break;
  4216.                     case 6: b = 722733; break;
  4217.                     case 7: b = 722734; break;
  4218.                     case 8: b = 722735; break;
  4219.                     case 9: b = 722736; break;
  4220.                 }
  4221.                 ushort X = Owner.X, Y = Owner.Y;
  4222.                 Map Map = Kernel.Maps[Owner.MapID];
  4223.                 if (Map.SelectCoordonates(ref X, ref Y))
  4224.                 {
  4225.                     MsgMapItem floorItem = new MsgMapItem(true);
  4226.                     floorItem.Item = new MsgItemInfo(true);
  4227.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4228.                     floorItem.Item.ID = b;
  4229.                     floorItem.Item.MobDropped = true;
  4230.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4231.                     floorItem.ItemID = b;
  4232.                     floorItem.MapID = Owner.MapID;
  4233.                     floorItem.MapObjType = MapObjectType.Item;
  4234.                     floorItem.X = X;
  4235.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4236.                    
  4237.                     floorItem.Type = MsgMapItem.Drop;
  4238.                     floorItem.OnFloor = Time32.Now;
  4239.                     floorItem.ItemColor = floorItem.Item.Color;
  4240.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  4241.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  4242.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4243.                     Map.AddFloorItem(floorItem);
  4244.                     SendScreenSpawn(floorItem);
  4245.                 }
  4246.  
  4247.             }
  4248.             #endregion
  4249.             #endregion
  4250.             #region Beast
  4251.             #region AngryBeast
  4252.             if (Name == "AngryBeast")
  4253.             {
  4254.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4255.                 {
  4256.                     uint b = 0;
  4257.                     uint ban = (uint)Kernel.Random.Next(1, 30);
  4258.                     switch (ban)
  4259.                     {
  4260.                         case 1: b = 722723; break;
  4261.                         case 2: b = 0; break;
  4262.                         case 3: b = 722724; break;
  4263.                         case 4: b = 0; break;
  4264.                         case 5: b = 0; break;
  4265.                         case 6: b = 722725; break;
  4266.                         case 7: b = 0; break;
  4267.                         case 8: b = 722732; break;
  4268.                         case 9: b = 0; break;
  4269.                         case 10: b = 0; break;
  4270.                         case 11: b = 0; break;
  4271.                         case 12: b = 722733; break;
  4272.                         case 13: b = 0; break;
  4273.                         case 14: b = 0; break;
  4274.                         case 15: b = 722734; break;
  4275.                         case 16: b = 0; break;
  4276.                         case 17: b = 0; break;
  4277.                         case 18: b = 722735; break;
  4278.                         case 19: b = 0; break;
  4279.                         case 20: b = 0; break;
  4280.                         case 21: b = 722736; break;
  4281.                         case 22: b = 0; break;
  4282.                         case 23: b = 0; break;
  4283.                         case 24: b = 722737; break;
  4284.                         case 25: b = 0; break;
  4285.                         case 26: b = 0; break;
  4286.                         case 27: b = 722738; break;
  4287.                         case 28: b = 0; break;
  4288.                         case 29: b = 0; break;
  4289.                         case 30: b = 722739; break;
  4290.  
  4291.                     }
  4292.                     ushort X = Owner.X, Y = Owner.Y;
  4293.                     Map Map = Kernel.Maps[Owner.MapID];
  4294.                     if (Map.SelectCoordonates(ref X, ref Y))
  4295.                     {
  4296.                         MsgMapItem floorItem = new MsgMapItem(true);
  4297.                         floorItem.Item = new MsgItemInfo(true);
  4298.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4299.                         floorItem.Item.ID = b;
  4300.                         floorItem.Item.MobDropped = true;
  4301.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4302.                         floorItem.ItemID = b;
  4303.                         floorItem.MapID = Owner.MapID;
  4304.                         floorItem.MapObjType = MapObjectType.Item;
  4305.                         floorItem.X = X;
  4306.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4307.                         //floorItem.Owner = killer.Owner;
  4308.                         floorItem.Type = MsgMapItem.Drop;
  4309.                         floorItem.OnFloor = Time32.Now;
  4310.                         floorItem.ItemColor = floorItem.Item.Color;
  4311.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4312.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4313.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4314.                         Map.AddFloorItem(floorItem);
  4315.                         SendScreenSpawn(floorItem);
  4316.                     }
  4317.                 }
  4318.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  4319.                 {
  4320.                     killer.SecoundQuestPoint += 1;
  4321.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  4322.                 }
  4323.             }
  4324.             if (Name == "AngryBeast")
  4325.             {
  4326.  
  4327.                 uint b = 0;
  4328.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  4329.                 switch (ban)
  4330.                 {
  4331.                     case 1: b = 722739; break;
  4332.                     case 2: b = 722738; break;
  4333.                     case 3: b = 722737; break;
  4334.                     case 4: b = 0; break;
  4335.                     case 5: b = 722732; break;
  4336.                     case 6: b = 722733; break;
  4337.                     case 7: b = 722734; break;
  4338.                     case 8: b = 722735; break;
  4339.                     case 9: b = 722736; break;
  4340.                 }
  4341.                 ushort X = Owner.X, Y = Owner.Y;
  4342.                 Map Map = Kernel.Maps[Owner.MapID];
  4343.                 if (Map.SelectCoordonates(ref X, ref Y))
  4344.                 {
  4345.                     MsgMapItem floorItem = new MsgMapItem(true);
  4346.                     floorItem.Item = new MsgItemInfo(true);
  4347.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4348.                     floorItem.Item.ID = b;
  4349.                     floorItem.Item.MobDropped = true;
  4350.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4351.                     floorItem.ItemID = b;
  4352.                     floorItem.MapID = Owner.MapID;
  4353.                     floorItem.MapObjType = MapObjectType.Item;
  4354.                     floorItem.X = X;
  4355.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4356.                    
  4357.                     floorItem.Type = MsgMapItem.Drop;
  4358.                     floorItem.OnFloor = Time32.Now;
  4359.                     floorItem.ItemColor = floorItem.Item.Color;
  4360.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  4361.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  4362.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4363.                     Map.AddFloorItem(floorItem);
  4364.                     SendScreenSpawn(floorItem);
  4365.                 }
  4366.  
  4367.             }
  4368.             #endregion
  4369.             #region SensitiveBeast
  4370.             if (Name == "SensitiveBeast")
  4371.             {
  4372.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4373.                 {
  4374.                     uint b = 0;
  4375.                     uint ban = (uint)Kernel.Random.Next(1, 30);
  4376.                     switch (ban)
  4377.                     {
  4378.                         case 1: b = 722723; break;
  4379.                         case 2: b = 0; break;
  4380.                         case 3: b = 722724; break;
  4381.                         case 4: b = 0; break;
  4382.                         case 5: b = 0; break;
  4383.                         case 6: b = 722725; break;
  4384.                         case 7: b = 0; break;
  4385.                         case 8: b = 722732; break;
  4386.                         case 9: b = 0; break;
  4387.                         case 10: b = 0; break;
  4388.                         case 11: b = 0; break;
  4389.                         case 12: b = 722733; break;
  4390.                         case 13: b = 0; break;
  4391.                         case 14: b = 0; break;
  4392.                         case 15: b = 722734; break;
  4393.                         case 16: b = 0; break;
  4394.                         case 17: b = 0; break;
  4395.                         case 18: b = 722735; break;
  4396.                         case 19: b = 0; break;
  4397.                         case 20: b = 0; break;
  4398.                         case 21: b = 722736; break;
  4399.                         case 22: b = 0; break;
  4400.                         case 23: b = 0; break;
  4401.                         case 24: b = 722737; break;
  4402.                         case 25: b = 0; break;
  4403.                         case 26: b = 0; break;
  4404.                         case 27: b = 722738; break;
  4405.                         case 28: b = 0; break;
  4406.                         case 29: b = 0; break;
  4407.                         case 30: b = 722739; break;
  4408.  
  4409.                     }
  4410.                     ushort X = Owner.X, Y = Owner.Y;
  4411.                     Map Map = Kernel.Maps[Owner.MapID];
  4412.                     if (Map.SelectCoordonates(ref X, ref Y))
  4413.                     {
  4414.                         MsgMapItem floorItem = new MsgMapItem(true);
  4415.                         floorItem.Item = new MsgItemInfo(true);
  4416.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4417.                         floorItem.Item.ID = b;
  4418.                         floorItem.Item.MobDropped = true;
  4419.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4420.                         floorItem.ItemID = b;
  4421.                         floorItem.MapID = Owner.MapID;
  4422.                         floorItem.MapObjType = MapObjectType.Item;
  4423.                         floorItem.X = X;
  4424.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4425.                        
  4426.                         floorItem.Type = MsgMapItem.Drop;
  4427.                         floorItem.OnFloor = Time32.Now;
  4428.                         floorItem.ItemColor = floorItem.Item.Color;
  4429.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4430.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4431.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4432.                         Map.AddFloorItem(floorItem);
  4433.                         SendScreenSpawn(floorItem);
  4434.                     }
  4435.                 }
  4436.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  4437.                 {
  4438.                     killer.SecoundQuestPoint += 2;
  4439.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  4440.                 }
  4441.             }
  4442.             if (Name == "SensitiveBeast")
  4443.             {
  4444.  
  4445.                 uint b = 0;
  4446.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  4447.                 switch (ban)
  4448.                 {
  4449.                     case 1: b = 722739; break;
  4450.                     case 2: b = 722738; break;
  4451.                     case 3: b = 722737; break;
  4452.                     case 4: b = 0; break;
  4453.                     case 5: b = 722732; break;
  4454.                     case 6: b = 722733; break;
  4455.                     case 7: b = 722734; break;
  4456.                     case 8: b = 722735; break;
  4457.                     case 9: b = 722736; break;
  4458.                 }
  4459.                 ushort X = Owner.X, Y = Owner.Y;
  4460.                 Map Map = Kernel.Maps[Owner.MapID];
  4461.                 if (Map.SelectCoordonates(ref X, ref Y))
  4462.                 {
  4463.                     MsgMapItem floorItem = new MsgMapItem(true);
  4464.                     floorItem.Item = new MsgItemInfo(true);
  4465.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4466.                     floorItem.Item.ID = b;
  4467.                     floorItem.Item.MobDropped = true;
  4468.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4469.                     floorItem.ItemID = b;
  4470.                     floorItem.MapID = Owner.MapID;
  4471.                     floorItem.MapObjType = MapObjectType.Item;
  4472.                     floorItem.X = X;
  4473.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4474.                    
  4475.                     floorItem.Type = MsgMapItem.Drop;
  4476.                     floorItem.OnFloor = Time32.Now;
  4477.                     floorItem.ItemColor = floorItem.Item.Color;
  4478.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  4479.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  4480.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4481.                     Map.AddFloorItem(floorItem);
  4482.                     SendScreenSpawn(floorItem);
  4483.                 }
  4484.  
  4485.             }
  4486.             #endregion
  4487.             #region CrazyBeast
  4488.             if (Name == "CrazyBeast")
  4489.             {
  4490.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4491.                 {
  4492.                     uint b = 0;
  4493.                     uint ban = (uint)Kernel.Random.Next(1, 70);
  4494.                     switch (ban)
  4495.                     {
  4496.                         case 1: b = 722723; break;
  4497.                         case 2: b = 0; break;
  4498.                         case 3: b = 722724; break;
  4499.                         case 4: b = 0; break;
  4500.                         case 5: b = 0; break;
  4501.                         case 6: b = 722725; break;
  4502.                         case 7: b = 0; break;
  4503.                         case 8: b = 722732; break;
  4504.                         case 9: b = 0; break;
  4505.                         case 10: b = 0; break;
  4506.                         case 11: b = 0; break;
  4507.                         case 12: b = 722733; break;
  4508.                         case 13: b = 0; break;
  4509.                         case 14: b = 0; break;
  4510.                         case 15: b = 722734; break;
  4511.                         case 16: b = 0; break;
  4512.                         case 17: b = 0; break;
  4513.                         case 18: b = 722735; break;
  4514.                         case 19: b = 0; break;
  4515.                         case 20: b = 0; break;
  4516.                         case 21: b = 722736; break;
  4517.                         case 22: b = 0; break;
  4518.                         case 23: b = 0; break;
  4519.                         case 24: b = 722737; break;
  4520.                         case 25: b = 0; break;
  4521.                         case 26: b = 0; break;
  4522.                         case 27: b = 722738; break;
  4523.                         case 28: b = 0; break;
  4524.                         case 29: b = 0; break;
  4525.                         case 30: b = 722739; break;
  4526.  
  4527.                     }
  4528.                     ushort X = Owner.X, Y = Owner.Y;
  4529.                     Map Map = Kernel.Maps[Owner.MapID];
  4530.                     if (Map.SelectCoordonates(ref X, ref Y))
  4531.                     {
  4532.                         MsgMapItem floorItem = new MsgMapItem(true);
  4533.                         floorItem.Item = new MsgItemInfo(true);
  4534.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4535.                         floorItem.Item.ID = b;
  4536.                         floorItem.Item.MobDropped = true;
  4537.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4538.                         floorItem.ItemID = b;
  4539.                         floorItem.MapID = Owner.MapID;
  4540.                         floorItem.MapObjType = MapObjectType.Item;
  4541.                         floorItem.X = X;
  4542.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4543.                        
  4544.                         floorItem.Type = MsgMapItem.Drop;
  4545.                         floorItem.OnFloor = Time32.Now;
  4546.                         floorItem.ItemColor = floorItem.Item.Color;
  4547.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4548.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4549.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4550.                         Map.AddFloorItem(floorItem);
  4551.                         SendScreenSpawn(floorItem);
  4552.                     }
  4553.                 }
  4554.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  4555.                 {
  4556.                     killer.SecoundQuestPoint += 4;
  4557.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  4558.                 }
  4559.             }
  4560.             if (Name == "CrazyBeast")
  4561.             {
  4562.  
  4563.                 uint b = 0;
  4564.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  4565.                 switch (ban)
  4566.                 {
  4567.                     case 1: b = 722739; break;
  4568.                     case 2: b = 722738; break;
  4569.                     case 3: b = 722737; break;
  4570.                     case 4: b = 0; break;
  4571.                     case 5: b = 722732; break;
  4572.                     case 6: b = 722733; break;
  4573.                     case 7: b = 722734; break;
  4574.                     case 8: b = 722735; break;
  4575.                     case 9: b = 722736; break;
  4576.                 }
  4577.                 ushort X = Owner.X, Y = Owner.Y;
  4578.                 Map Map = Kernel.Maps[Owner.MapID];
  4579.                 if (Map.SelectCoordonates(ref X, ref Y))
  4580.                 {
  4581.                     MsgMapItem floorItem = new MsgMapItem(true);
  4582.                     floorItem.Item = new MsgItemInfo(true);
  4583.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4584.                     floorItem.Item.ID = b;
  4585.                     floorItem.Item.MobDropped = true;
  4586.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4587.                     floorItem.ItemID = b;
  4588.                     floorItem.MapID = Owner.MapID;
  4589.                     floorItem.MapObjType = MapObjectType.Item;
  4590.                     floorItem.X = X;
  4591.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4592.                    
  4593.                     floorItem.Type = MsgMapItem.Drop;
  4594.                     floorItem.OnFloor = Time32.Now;
  4595.                     floorItem.ItemColor = floorItem.Item.Color;
  4596.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  4597.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  4598.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4599.                     Map.AddFloorItem(floorItem);
  4600.                     SendScreenSpawn(floorItem);
  4601.                 }
  4602.  
  4603.             }
  4604.             #endregion
  4605.             #region FearlessBeast
  4606.             if (Name == "FearlessBeast")
  4607.             {
  4608.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4609.                 {
  4610.                     uint b = 0;
  4611.                     uint ban = (uint)Kernel.Random.Next(1, 6);
  4612.                     switch (ban)
  4613.                     {
  4614.                         case 1: b = 722723; break;
  4615.                         case 2: b = 0; break;
  4616.                         case 3: b = 722724; break;
  4617.                         case 4: b = 0; break;
  4618.                         case 5: b = 0; break;
  4619.                         case 6: b = 722725; break;
  4620.                         case 7: b = 0; break;
  4621.                         case 8: b = 722732; break;
  4622.                         case 9: b = 0; break;
  4623.                         case 10: b = 0; break;
  4624.                         case 11: b = 0; break;
  4625.                         case 12: b = 722733; break;
  4626.                         case 13: b = 0; break;
  4627.                         case 14: b = 0; break;
  4628.                         case 15: b = 722734; break;
  4629.                         case 16: b = 0; break;
  4630.                         case 17: b = 0; break;
  4631.                         case 18: b = 722735; break;
  4632.                         case 19: b = 0; break;
  4633.                         case 20: b = 0; break;
  4634.                         case 21: b = 722736; break;
  4635.                         case 22: b = 0; break;
  4636.                         case 23: b = 0; break;
  4637.                         case 24: b = 722737; break;
  4638.                         case 25: b = 0; break;
  4639.                         case 26: b = 0; break;
  4640.                         case 27: b = 722738; break;
  4641.                         case 28: b = 0; break;
  4642.                         case 29: b = 0; break;
  4643.                         case 30: b = 722739; break;
  4644.  
  4645.                     }
  4646.                     ushort X = Owner.X, Y = Owner.Y;
  4647.                     Map Map = Kernel.Maps[Owner.MapID];
  4648.                     if (Map.SelectCoordonates(ref X, ref Y))
  4649.                     {
  4650.                         MsgMapItem floorItem = new MsgMapItem(true);
  4651.                         floorItem.Item = new MsgItemInfo(true);
  4652.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4653.                         floorItem.Item.ID = b;
  4654.                         floorItem.Item.MobDropped = true;
  4655.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4656.                         floorItem.ItemID = b;
  4657.                         floorItem.MapID = Owner.MapID;
  4658.                         floorItem.MapObjType = MapObjectType.Item;
  4659.                         floorItem.X = X;
  4660.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4661.                        
  4662.                         floorItem.Type = MsgMapItem.Drop;
  4663.                         floorItem.OnFloor = Time32.Now;
  4664.                         floorItem.ItemColor = floorItem.Item.Color;
  4665.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4666.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4667.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4668.                         Map.AddFloorItem(floorItem);
  4669.                         SendScreenSpawn(floorItem);
  4670.                     }
  4671.                 }
  4672.                 else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
  4673.                 {
  4674.                     killer.SecoundQuestPoint += 500;
  4675.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
  4676.                 }
  4677.             }
  4678.             if (Name == "FearlessBeast")
  4679.             {
  4680.  
  4681.                 uint b = 0;
  4682.                 uint ban = (uint)Kernel.Random.Next(1, 9);
  4683.                 switch (ban)
  4684.                 {
  4685.                     case 1: b = 722739; break;
  4686.                     case 2: b = 722738; break;
  4687.                     case 3: b = 722737; break;
  4688.                     case 4: b = 0; break;
  4689.                     case 5: b = 722732; break;
  4690.                     case 6: b = 722733; break;
  4691.                     case 7: b = 722734; break;
  4692.                     case 8: b = 722735; break;
  4693.                     case 9: b = 722736; break;
  4694.                 }
  4695.                 ushort X = Owner.X, Y = Owner.Y;
  4696.                 Map Map = Kernel.Maps[Owner.MapID];
  4697.                 if (Map.SelectCoordonates(ref X, ref Y))
  4698.                 {
  4699.                     MsgMapItem floorItem = new MsgMapItem(true);
  4700.                     floorItem.Item = new MsgItemInfo(true);
  4701.                     floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4702.                     floorItem.Item.ID = b;
  4703.                     floorItem.Item.MobDropped = true;
  4704.                     floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4705.                     floorItem.ItemID = b;
  4706.                     floorItem.MapID = Owner.MapID;
  4707.                     floorItem.MapObjType = MapObjectType.Item;
  4708.                     floorItem.X = X;
  4709.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4710.                    
  4711.                     floorItem.Type = MsgMapItem.Drop;
  4712.                     floorItem.OnFloor = Time32.Now;
  4713.                     floorItem.ItemColor = floorItem.Item.Color;
  4714.                     floorItem.UID = MsgMapItem.FloorUID.Next;
  4715.                     while (Map.Npcs.ContainsKey(floorItem.UID))
  4716.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4717.                     Map.AddFloorItem(floorItem);
  4718.                     SendScreenSpawn(floorItem);
  4719.                 }
  4720.  
  4721.             }
  4722.             #endregion
  4723.  
  4724.             #endregion
  4725.             #region Theodore
  4726.             if (Name == "Theodore" || Name == "Wayne" || Name == "Victoria" || Name == "Daphne" || Name == "Timothy" || Name == "Philip" || Name == "Peter" || Name == "Andrew")
  4727.             {
  4728.  
  4729.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest5, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 75)
  4730.                 {
  4731.                     killer.SecoundQuestPoint++;
  4732.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest5, killer.SecoundQuestPoint);
  4733.                 }
  4734.             }
  4735.             #endregion
  4736.             #region HillSpirit
  4737.             if (Name == "HillSpirit")
  4738.             {
  4739.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4740.                 {
  4741.  
  4742.                     ushort X = Owner.X, Y = Owner.Y;
  4743.                     Map Map = Kernel.Maps[Owner.MapID];
  4744.                     if (Map.SelectCoordonates(ref X, ref Y))
  4745.                     {
  4746.                         MsgMapItem floorItem = new MsgMapItem(true);
  4747.                         floorItem.Item = new MsgItemInfo(true);
  4748.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4749.                         floorItem.Item.ID = 722722;
  4750.                         floorItem.Item.MobDropped = true;
  4751.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4752.                         floorItem.ItemID = 722722;
  4753.                         floorItem.MapID = Owner.MapID;
  4754.                         floorItem.MapObjType = MapObjectType.Item;
  4755.                         floorItem.X = X;
  4756.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4757.                        
  4758.                         floorItem.Type = MsgMapItem.Drop;
  4759.                         floorItem.OnFloor = Time32.Now;
  4760.                         floorItem.ItemColor = floorItem.Item.Color;
  4761.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4762.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4763.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4764.                         Map.AddFloorItem(floorItem);
  4765.                         SendScreenSpawn(floorItem);
  4766.                     }
  4767.                 }
  4768.  
  4769.             }
  4770.  
  4771.             #endregion
  4772.             #region SwiftDevil
  4773.             if (Name == "SwiftDevil")
  4774.             {
  4775.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4776.                 {
  4777.  
  4778.                     ushort X = Owner.X, Y = Owner.Y;
  4779.                     Map Map = Kernel.Maps[Owner.MapID];
  4780.                     if (Map.SelectCoordonates(ref X, ref Y))
  4781.                     {
  4782.                         MsgMapItem floorItem = new MsgMapItem(true);
  4783.                         floorItem.Item = new MsgItemInfo(true);
  4784.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4785.                         floorItem.Item.ID = 722726;
  4786.                         floorItem.Item.MobDropped = true;
  4787.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4788.                         floorItem.ItemID = 722726;
  4789.                         floorItem.MapID = Owner.MapID;
  4790.                         floorItem.MapObjType = MapObjectType.Item;
  4791.                         floorItem.X = X;
  4792.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4793.                        
  4794.                         floorItem.Type = MsgMapItem.Drop;
  4795.                         floorItem.OnFloor = Time32.Now;
  4796.                         floorItem.ItemColor = floorItem.Item.Color;
  4797.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4798.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4799.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4800.                         Map.AddFloorItem(floorItem);
  4801.                         SendScreenSpawn(floorItem);
  4802.                     }
  4803.                 }
  4804.  
  4805.             }
  4806.  
  4807.             #endregion
  4808.             #region Banshee
  4809.             if (Name == "Banshee")
  4810.             {
  4811.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4812.                 {
  4813.  
  4814.                     ushort X = Owner.X, Y = Owner.Y;
  4815.                     Map Map = Kernel.Maps[Owner.MapID];
  4816.                     if (Map.SelectCoordonates(ref X, ref Y))
  4817.                     {
  4818.                         MsgMapItem floorItem = new MsgMapItem(true);
  4819.                         floorItem.Item = new MsgItemInfo(true);
  4820.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4821.                         floorItem.Item.ID = 722729;
  4822.                         floorItem.Item.MobDropped = true;
  4823.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4824.                         floorItem.ItemID = 722729;
  4825.                         floorItem.MapID = Owner.MapID;
  4826.                         floorItem.MapObjType = MapObjectType.Item;
  4827.                         floorItem.X = X;
  4828.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4829.                        
  4830.                         floorItem.Type = MsgMapItem.Drop;
  4831.                         floorItem.OnFloor = Time32.Now;
  4832.                         floorItem.ItemColor = floorItem.Item.Color;
  4833.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4834.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4835.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4836.                         Map.AddFloorItem(floorItem);
  4837.                         SendScreenSpawn(floorItem);
  4838.                     }
  4839.                 }
  4840.  
  4841.             }
  4842.  
  4843.             #endregion
  4844.             #region CleansingDevil
  4845.             if (Name == "CleansingDevil")
  4846.             {
  4847.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4848.                 {
  4849.  
  4850.                     ushort X = Owner.X, Y = Owner.Y;
  4851.                     Map Map = Kernel.Maps[Owner.MapID];
  4852.                     if (Map.SelectCoordonates(ref X, ref Y))
  4853.                     {
  4854.                         MsgMapItem floorItem = new MsgMapItem(true);
  4855.                         floorItem.Item = new MsgItemInfo(true);
  4856.                         floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  4857.                         floorItem.Item.ID = 722731;
  4858.                         floorItem.Item.MobDropped = true;
  4859.                         floorItem.ValueType = MsgMapItem.FloorValueType.Item;
  4860.                         floorItem.ItemID = 722731;
  4861.                         floorItem.MapID = Owner.MapID;
  4862.                         floorItem.MapObjType = MapObjectType.Item;
  4863.                         floorItem.X = X;
  4864.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  4865.                        
  4866.                         floorItem.Type = MsgMapItem.Drop;
  4867.                         floorItem.OnFloor = Time32.Now;
  4868.                         floorItem.ItemColor = floorItem.Item.Color;
  4869.                         floorItem.UID = MsgMapItem.FloorUID.Next;
  4870.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  4871.                             floorItem.UID = MsgMapItem.FloorUID.Next;
  4872.                         Map.AddFloorItem(floorItem);
  4873.                         SendScreenSpawn(floorItem);
  4874.                     }
  4875.                 }
  4876.  
  4877.             }
  4878.  
  4879.             #endregion
  4880.             #region Satan
  4881.             if (Name == "Satan")
  4882.             {
  4883.                 if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  4884.                 {
  4885.                     killer.Owner.Quests.FinishQuest(QuestID.Secound_Quest6);
  4886.                     killer.SecoundQuestDone = true;
  4887.                     killer.Teleport(1036, 200, 200);
  4888.                     MsgName str = new MsgName(true);
  4889.                     str.UID = killer.UID;
  4890.                     str.TextsCount = 1;
  4891.                     str.Action = MsgName.Mode.Effect;
  4892.                     str.Texts.Add("end_task");
  4893.                     killer.Owner.SendScreen(str, true);
  4894.                     AboGamil.Kernel.SendWorldMessage(new AboGamil.Network.GamePackets.MsgTalk("Congratulations! " + killer.Name + " Has Finished Secound Quest .", System.Drawing.Color.Black, AboGamil.Network.GamePackets.MsgTalk.Center), Server.GamePool);
  4895.                 }
  4896.             }
  4897.  
  4898.             #endregion
  4899.             #endregion
  4900.             #region BrightFortune
  4901.             #region AngerRat
  4902.             if (Name == "AngerRat")
  4903.             {
  4904.                 #region AngerRat
  4905.                 if (killer.Owner.Quests.GetQuest(QuestID.BloodVengeance) != null && killer.Owner.Quests.GetQuest(QuestID.BloodVengeance).Kills < 10)
  4906.                 {
  4907.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.BloodVengeance, 1);
  4908.                 }
  4909.                 else if (killer.Owner.Quests.GetQuest(QuestID.BloodVengeance) != null && killer.Owner.Quests.GetQuest(QuestID.BloodVengeance).Kills >= 10)
  4910.                 {
  4911.                     killer.Owner.MessageBox("You`ve eliminated enough number of Anger Rats. Hurry and report back to Chong Yan Elder!",
  4912.                        p =>
  4913.                        {
  4914.                            MsgAction data = new MsgAction(true);
  4915.                            data.UID = p.Player.UID;
  4916.                            data.TimeStamp2 = 19162;
  4917.                            data.ID = (MsgAction.Mode)162;
  4918.                            data.wParam1 = 142;
  4919.                            data.wParam2 = 320;
  4920.                            p.Send(data);
  4921.                        }, null);
  4922.                 }
  4923.                 #endregion
  4924.             }
  4925.             #endregion
  4926.             #region FlameRockMonste
  4927.             if (Name.Contains("FlameRockMonste"))
  4928.             {
  4929.                 #region FlameRockMonste
  4930.                 if (killer.Owner.Inventory.Contains(3008752, 8))
  4931.                 {
  4932.  
  4933.                     killer.Owner.MessageBox("You`ve collected enough number of Rune Fragments. Go and try to complete the runes on the Forge Furnace.",
  4934.                         p =>
  4935.                         {
  4936.                             MsgAction data = new MsgAction(true);
  4937.                             data.UID = p.Player.UID;
  4938.                             data.TimeStamp2 = 19163;
  4939.                             data.ID = (MsgAction.Mode)162;
  4940.                             data.wParam1 = 311;
  4941.                             data.wParam2 = 449;
  4942.                             p.Send(data);
  4943.                         }, null);
  4944.                 }
  4945.                 else
  4946.                 {
  4947.                     if (Kernel.Rate(20))
  4948.                     {
  4949.  
  4950.                         killer.Owner.Inventory.Add(3008752, 0, 1);
  4951.                         MsgName str = new MsgName(true);
  4952.                         str.UID = killer.Owner.Player.UID;
  4953.                         str.TextsCount = 1;
  4954.                         str.Type = (int)MsgName.Mode.Effect;
  4955.                         str.Texts.Add("zf2-e123");
  4956.                         killer.Owner.SendScreen(str, true);
  4957.  
  4958.                     }
  4959.  
  4960.                 }
  4961.                 #endregion
  4962.             }
  4963.             #endregion
  4964.             #region VioletBatKing
  4965.             if (Name == "VioletBatKing")
  4966.             {
  4967.                 #region VioletBatKing
  4968.                 if (!killer.Owner.Inventory.Contains(3008750, 1) && killer.Owner.Quests.GetQuest(QuestID.SecretOfBright) != null)
  4969.                 {
  4970.                     killer.Owner.Inventory.Add(3008750, 0, 1);
  4971.                     killer.Owner.MessageBox("The Violet Bat King fell down and dropped an ancient-style hammer. Hurry and take this hammer to the Forge Furnace.",
  4972.                         p =>
  4973.                         {
  4974.                             MsgAction data = new MsgAction(true);
  4975.                             data.UID = p.Player.UID;
  4976.                             data.TimeStamp2 = 19163;
  4977.                             data.ID = (MsgAction.Mode)162;
  4978.                             data.wParam1 = 311;
  4979.                             data.wParam2 = 449;
  4980.                             p.Send(data);
  4981.                         }, null);
  4982.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.SecretOfBright, 1);
  4983.                 }
  4984.                 #endregion
  4985.             }
  4986.             #endregion
  4987.             #region LavaScorpion
  4988.             if (Name == "LavaScorpion")
  4989.             {
  4990.                 #region LavaScorpion
  4991.                 if (killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead) != null && killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead).Kills >= 15)
  4992.                 {
  4993.                     killer.Owner.MessageBox("You`ve defeated enough number of Lava Scorpions. Now, you can appease the sacrificed Bright people.",
  4994.                        p =>
  4995.                        {
  4996.                            MsgAction data = new MsgAction(true);
  4997.                            data.UID = p.Player.UID;
  4998.                            data.TimeStamp2 = 19164;
  4999.                            data.ID = (MsgAction.Mode)162;
  5000.                            data.wParam1 = 251;
  5001.                            data.wParam2 = 277;
  5002.                            p.Send(data);
  5003.                        }, null);
  5004.                 }
  5005.                 else if (killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead) != null && killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead).Kills1 < 15)
  5006.                 {
  5007.                     killer.Owner.Quests.IncreaseQuestKills5(QuestID.SacrificetotheDead, 1);
  5008.  
  5009.                 }
  5010.                 #endregion
  5011.             }
  5012.             #endregion
  5013.             #region RoaringSnake
  5014.             if (Name == "RoaringSnake")
  5015.             {
  5016.                 #region RoaringSnake
  5017.                 if (killer.Owner.Inventory.Contains(3008742, 50) && killer.Owner.Quests.GetQuest(QuestID.SorrowofDesolation) != null)
  5018.                 {
  5019.                     killer.Owner.MessageBox("You`ve collect enough number of Building Stones. Go and try to restore the ruined altar.",
  5020.                        p =>
  5021.                        {
  5022.                            MsgAction data = new MsgAction(true);
  5023.                            data.UID = p.Player.UID;
  5024.                            data.ID = (MsgAction.Mode)162;
  5025.                            data.wParam1 = 578;
  5026.                            data.wParam2 = 419;
  5027.                            p.Send(data);
  5028.                        }, null);
  5029.                 }
  5030.                 else
  5031.                 {
  5032.                     killer.Owner.Inventory.Add(3008742, 0, 1);
  5033.                 }
  5034.                 #endregion
  5035.             }
  5036.             #endregion
  5037.             #region ClawedRockDevil
  5038.             if (Name == "ClawedRockDevil")
  5039.             {
  5040.                 #region ClawedRockDevil
  5041.                 if (killer.Owner.Inventory.Contains(3008743, 1))
  5042.                 {
  5043.                 }
  5044.                 else
  5045.                 {
  5046.  
  5047.                     if (Kernel.Rate(40))
  5048.                     {
  5049.                         killer.Owner.Inventory.Add(3008743, 0, 1);
  5050.                         killer.Owner.MessageBox("You`ve retrieved the Wheel of Nature from the Clawed Rock Devil. Hurry and take the next action at the altar.",
  5051.                            p =>
  5052.                            {
  5053.                                MsgAction data = new MsgAction(true);
  5054.                                data.UID = p.Player.UID;
  5055.  
  5056.                                data.TimeStamp2 = 19165;
  5057.                                data.ID = (MsgAction.Mode)162;
  5058.                                data.wParam1 = 573;
  5059.                                data.wParam2 = 423;
  5060.                                p.Send(data);
  5061.                            }, null);
  5062.  
  5063.                     }
  5064.                 }
  5065.                 #endregion
  5066.             }
  5067.             #endregion
  5068.             #region HornedRockBeast
  5069.             if (Name == "HornedRockBeast")
  5070.             {
  5071.                 #region HornedRockBeast
  5072.                 if (!killer.Owner.Inventory.Contains(3008745, 1))
  5073.                 {
  5074.                     if (killer.Owner.Inventory.Contains(3008754, 5))
  5075.                     {
  5076.  
  5077.                         killer.Owner.Inventory.Add(3008745, 0, 1);
  5078.                         killer.Owner.Inventory.Remove(3008754, 5);
  5079.                         killer.Owner.MessageBox("You received the Earth Force! Hurry and transform it into Metal Force through the Wheel of Nature!",
  5080.                            p =>
  5081.                            {
  5082.                                MsgAction data = new MsgAction(true);
  5083.                                data.UID = p.Player.UID;
  5084.  
  5085.                                data.TimeStamp2 = 19165;
  5086.                                data.ID = (MsgAction.Mode)162;
  5087.                                data.wParam1 = 578;
  5088.                                data.wParam2 = 419;
  5089.                                p.Send(data);
  5090.                            }, null);
  5091.  
  5092.                     }
  5093.                     else
  5094.                     {
  5095.  
  5096.                         if (Kernel.Rate(40))
  5097.                         {
  5098.                             killer.Owner.Inventory.Add(3008754, 0, 1);
  5099.  
  5100.                         }
  5101.                     }
  5102.                 }
  5103.                 #endregion
  5104.             }
  5105.             #endregion
  5106.             #region HellfireBeast
  5107.             if (Name == "HellfireBeast")
  5108.             {
  5109.                 #region HellfireBeast
  5110.                 if (killer.Owner.Inventory.Contains(3008748, 100))
  5111.                 {
  5112.                     killer.Owner.MessageBox("You`ve collected enough number of Star Ores. Go and try to extract the Essence of Star at the altar.",
  5113.                        p =>
  5114.                        {
  5115.                            MsgAction data = new MsgAction(true);
  5116.                            data.UID = p.Player.UID;
  5117.                            data.TimeStamp2 = 19165;
  5118.                            data.ID = (MsgAction.Mode)162;
  5119.                            data.wParam1 = 571;
  5120.                            data.wParam2 = 424;
  5121.                            p.Send(data);
  5122.                        }, null);
  5123.  
  5124.                 }
  5125.                 else
  5126.                 {
  5127.                     killer.Owner.Inventory.Add(3008748, 0, 5);
  5128.  
  5129.                 }
  5130.                 #endregion
  5131.             }
  5132.             #endregion
  5133.             #endregion
  5134.             #region CrystalBounty
  5135.             if (killer.MapID == 3935)
  5136.             {
  5137.                 if (killer.Owner.Quests.CheckQuest(QuestID.CrystalBounty) != MsgTaskStatus.QuestData.QuestStatus.Finished)
  5138.                 {
  5139.                     if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty) == null || killer.Owner.Quests.CheckQuest(QuestID.CrystalBounty) == MsgTaskStatus.QuestData.QuestStatus.Available)
  5140.                         killer.Owner.Quests.Accept(QuestID.CrystalBounty);
  5141.                     if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty).Kills < 50)
  5142.                     {
  5143.                         int R = 5;
  5144.                         if (Name == "RealmSolider")
  5145.                         {
  5146.                             R = Kernel.Random.Next(1, 1);
  5147.                         }
  5148.                         if (Name.Contains("MilitaryOfficerofRealm"))
  5149.                         {
  5150.  
  5151.                             R = Kernel.Random.Next(1, 1);
  5152.                         }
  5153.                         if (Name == "KylinChariot")
  5154.                         {
  5155.                             R = Kernel.Random.Next(10, 10);
  5156.                         }
  5157.                         killer.Owner.Quests.CrystalBounty(QuestID.CrystalBounty, (uint)R);
  5158.                         if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty).Kills >= 50)
  5159.                         {
  5160.                             killer.Owner.Send(new MsgTalk("You've eliminated 50 enemies. Hurry and claim a bounty from the Realm Crystal.", System.Drawing.Color.Red, MsgTalk.System));
  5161.                         }
  5162.                     }
  5163.                     else
  5164.                     {
  5165.                         killer.Owner.Send(new MsgTalk("You've eliminated 50 enemies. Hurry and claim a bounty from the Realm Crystal.", System.Drawing.Color.Red, MsgTalk.System));
  5166.                     }
  5167.                 }
  5168.             }
  5169.             #endregion
  5170.             #region BeastsOfLegend
  5171.             if (killer.MapID == 3935)
  5172.             {
  5173.                 if (killer.Owner.Quests.GetQuest(QuestID.BeastsOfLegend) == null || killer.Owner.Quests.CheckQuest(QuestID.BeastsOfLegend) == MsgTaskStatus.QuestData.QuestStatus.Available)
  5174.                     killer.Owner.Quests.Accept(QuestID.BeastsOfLegend);
  5175.                 if (killer.Owner.Quests.GetQuest(QuestID.BeastsOfLegend).QItem.Status != MsgTaskStatus.QuestData.QuestStatus.Finished)
  5176.                 {
  5177.                     #region WhiteTigerDefender
  5178.                     if (Name.Contains("WhiteTigerDefender"))
  5179.                     {
  5180.                         if (!Kernel.WhiteTigerSpawn)
  5181.                         {
  5182.                             if (Kernel.Rate(30))
  5183.                             {
  5184.                                 Database.MonsterInformation monster = new Database.MonsterInformation();
  5185.                                 Kernel.WhiteTigerSpawn = true;
  5186.                                 monster.Hitpoints = 500000;
  5187.                                 monster.Level = 140;
  5188.  
  5189.  
  5190.  
  5191.                                 monster.Mesh = 709;
  5192.                                 monster.Name = "WhiteTiger";
  5193.                                 monster.ID = 7886;
  5194.  
  5195.  
  5196.                                 monster.MaxAttack = 2100;
  5197.                                 monster.AttackRange = 3;
  5198.                                 monster.AttackType = 2;
  5199.                                 monster.AttackSpeed = 1000;
  5200.                                 monster.ViewRange = 20;
  5201.                                 monster.MoveSpeed = 1000;
  5202.                                 monster.RunSpeed = 1000;
  5203.                                 monster.MinAttack = 1000;
  5204.                                 Game.Player entity = new Game.Player(Game.PlayerFlag.Monster, false);
  5205.                                 entity.MapObjType = Game.MapObjectType.Monster;
  5206.                                 entity.MonsterInfo = monster;
  5207.                                 entity.MonsterInfo.Owner = entity;
  5208.                                 entity.Name = monster.Name;
  5209.                                 entity.MinAttack = monster.MinAttack;
  5210.                                 entity.MaxAttack = entity.MagicAttack = monster.MaxAttack;
  5211.                                 entity.Hitpoints = entity.MaxHitpoints = monster.Hitpoints;
  5212.                                 entity.Body = monster.Mesh;
  5213.                                 entity.Level = monster.Level;
  5214.                                 entity.Defence = 90;
  5215.                                 entity.X = killer.X;
  5216.                                 entity.Y = killer.Y;
  5217.                                 entity.UID = Kernel.Maps[3935].EntityUIDCounter.Next;
  5218.                                 entity.MapID = 3935;
  5219.                                 entity.SendUpdates = true;
  5220.                                 killer.Owner.Map.RemoveEntity(entity);
  5221.                                 killer.Owner.Map.AddEntity(entity);
  5222.                                 killer.Owner.Screen.Reload(null);
  5223.                             }
  5224.                         }
  5225.                     }
  5226.                     #endregion
  5227.                     #region BlackTurtleDefender
  5228.                     if (Name.Contains("BlackTurtleDefender"))
  5229.                     {
  5230.                         if (Kernel.BlackTurtleSpawn==false)
  5231.                         {
  5232.                             if (Kernel.Rate(30))
  5233.                             {
  5234.                                 Database.MonsterInformation monster = new Database.MonsterInformation();
  5235.  
  5236.                                 monster.Hitpoints = 500000;
  5237.                                 monster.Level = 140;
  5238.                                 monster.Mesh = 712;
  5239.                                 monster.Name = "BlackTurtle";
  5240.                                 monster.ID = 7888;
  5241.                                
  5242.                                 monster.MaxAttack = 2100;
  5243.                                 monster.AttackRange = 3;
  5244.                                 monster.AttackType = 2;
  5245.                                 monster.AttackSpeed = 1000;
  5246.                                 monster.ViewRange = 20;
  5247.                                 monster.MoveSpeed = 1000;
  5248.                                 monster.RunSpeed = 1000;
  5249.                                 monster.MinAttack = 1000;
  5250.                                 Game.Player entity = new Game.Player(Game.PlayerFlag.Monster, false);
  5251.                                 entity.MapObjType = Game.MapObjectType.Monster;
  5252.                                 entity.MonsterInfo = monster;
  5253.                                 entity.MonsterInfo.Owner = entity;
  5254.                                 entity.Name = monster.Name;
  5255.                                 entity.MinAttack = monster.MinAttack;
  5256.                                 entity.MaxAttack = entity.MagicAttack = monster.MaxAttack;
  5257.                                 entity.Hitpoints = entity.MaxHitpoints = monster.Hitpoints;
  5258.                                 entity.Body = monster.Mesh;
  5259.                                 entity.Level = monster.Level;
  5260.                                 entity.Defence = 90;
  5261.                                 entity.X = killer.X;
  5262.                                 entity.Y = killer.Y;
  5263.                                 entity.UID = Kernel.Maps[3935].EntityUIDCounter.Next;
  5264.                                 entity.MapID = 3935;
  5265.                                 entity.SendUpdates = true;
  5266.                                 killer.Owner.Map.RemoveEntity(entity);
  5267.                                 killer.Owner.Map.AddEntity(entity);
  5268.                                 killer.Owner.Screen.Reload(null);
  5269.                                 Kernel.BlackTurtleSpawn = true;
  5270.                             }
  5271.                         }
  5272.                     }
  5273.                     #endregion
  5274.                     #region VermilionBirdDefender
  5275.                     if (Name.Contains("VermilionBirdDefender"))
  5276.                     {
  5277.                         if(! Kernel.VermilionBirdDefenderSpawn)
  5278.                         {
  5279.                         if (Kernel.Rate(30))
  5280.                         {
  5281.                             Database.MonsterInformation monster = new Database.MonsterInformation();
  5282.  
  5283.                             monster.Hitpoints = 500000;
  5284.                             monster.Level = 140;
  5285.                             monster.Mesh = 710;
  5286.                             monster.Name = "VermilionBird";
  5287.                             monster.ID = 7887;
  5288.                             monster.MaxAttack = 2100;
  5289.                             monster.AttackRange = 3;
  5290.                             monster.AttackType = 2;
  5291.                             monster.AttackSpeed = 1000;
  5292.                             monster.ViewRange = 20;
  5293.                             monster.MoveSpeed = 1000;
  5294.                             monster.RunSpeed = 1000;
  5295.                             monster.MinAttack = 1000;
  5296.                             Game.Player entity = new Game.Player(Game.PlayerFlag.Monster, false);
  5297.                             entity.MapObjType = Game.MapObjectType.Monster;
  5298.                             entity.MonsterInfo = monster;
  5299.                             entity.MonsterInfo.Owner = entity;
  5300.                             entity.Name = monster.Name;
  5301.                             entity.MinAttack = monster.MinAttack;
  5302.                             entity.MaxAttack = entity.MagicAttack = monster.MaxAttack;
  5303.                             entity.Hitpoints = entity.MaxHitpoints = monster.Hitpoints;
  5304.                             entity.Body = monster.Mesh;
  5305.                             entity.Level = monster.Level;
  5306.                             entity.Defence = 90;
  5307.                             entity.X = killer.X;
  5308.                             entity.Y = killer.Y;
  5309.                             entity.UID = Kernel.Maps[3935].EntityUIDCounter.Next;
  5310.                             entity.MapID = 3935;
  5311.                             entity.SendUpdates = true;
  5312.                             killer.Owner.Map.RemoveEntity(entity);
  5313.                             killer.Owner.Map.AddEntity(entity);
  5314.                             Kernel.VermilionBirdDefenderSpawn = true;
  5315.                             killer.Owner.Screen.Reload(null);
  5316.                         }
  5317.                     }
  5318.                     }
  5319.                     #endregion
  5320.                     #region AzureDragonDefender
  5321.                     if (Name.Contains("AzureDragonDefender"))
  5322.                     {
  5323.                         if (!Kernel.AzureDragonDefenderSpawn)
  5324.                         {
  5325.                             if (Kernel.Rate(30))
  5326.                             {
  5327.                                 Database.MonsterInformation monster = new Database.MonsterInformation();
  5328.  
  5329.                                 monster.Hitpoints = 500000;
  5330.                                 monster.Level = 140;
  5331.                                 Kernel.AzureDragonDefenderSpawn = true;
  5332.                                 monster.Mesh = 711;
  5333.                                 monster.Name = "AzureDragon";
  5334.                                 monster.ID = 7885;
  5335.                                 monster.MaxAttack = 2100;
  5336.                                 monster.AttackRange = 3;
  5337.                                 monster.AttackType = 2;
  5338.                                 monster.AttackSpeed = 1000;
  5339.                                 monster.ViewRange = 20;
  5340.                                 monster.MoveSpeed = 1000;
  5341.                                 monster.RunSpeed = 1000;
  5342.                                 monster.MinAttack = 1000;
  5343.                                 Game.Player entity = new Game.Player(Game.PlayerFlag.Monster, false);
  5344.                                 entity.MapObjType = Game.MapObjectType.Monster;
  5345.                                 entity.MonsterInfo = monster;
  5346.                                 entity.MonsterInfo.Owner = entity;
  5347.                                 entity.Name = monster.Name;
  5348.                                 entity.MinAttack = monster.MinAttack;
  5349.                                 entity.MaxAttack = entity.MagicAttack = monster.MaxAttack;
  5350.                                 entity.Hitpoints = entity.MaxHitpoints = monster.Hitpoints;
  5351.                                 entity.Body = monster.Mesh;
  5352.                                 entity.Level = monster.Level;
  5353.                                 entity.Defence = 90;
  5354.                                 entity.X = killer.X;
  5355.                                 entity.Y = killer.Y;
  5356.                                 entity.UID = Kernel.Maps[3935].EntityUIDCounter.Next;
  5357.                                 entity.MapID = 3935;
  5358.                                 entity.SendUpdates = true;
  5359.                                 killer.Owner.Map.RemoveEntity(entity);
  5360.                                 killer.Owner.Map.AddEntity(entity);
  5361.                                 killer.Owner.Screen.Reload(null);
  5362.                             }
  5363.                         }
  5364.                     }
  5365.                     #endregion
  5366.                     if (Name == "AzureDragon" || Name == "WhiteTiger" || Name == "BlackTurtle" || Name == "VermilionBird")
  5367.                     {
  5368.                         if (Name == "AzureDragon")
  5369.                         {
  5370.                             Kernel.AzureDragonDefenderSpawn = false;
  5371.                         }
  5372.                         if (Name == "VermilionBird")
  5373.                         {
  5374.                             Kernel.VermilionBirdDefenderSpawn = false;
  5375.                         }
  5376.                         if (Name == "WhiteTiger")
  5377.                         {
  5378.                             Kernel.WhiteTigerSpawn = false;
  5379.                         }
  5380.                         if (Name == "BlackTurtle")
  5381.                         {
  5382.                             Kernel.BlackTurtleSpawn = false;
  5383.                         }
  5384.                         if (killer.Owner.Quests.GetQuest(QuestID.BeastsOfLegend).Kills == 0)
  5385.                         {
  5386.                             killer.Owner.Quests.IncreaseQuestKills(QuestID.BeastsOfLegend, 1);
  5387.                             killer.Owner.MessageBox("You`ve defeated the divine beast. Hurry and claim your reward from the Kingdom Mission Envoy!");
  5388.                         }
  5389.                        
  5390.                         MsgName str = new MsgName(true);
  5391.                         str.UID = killer.UID;
  5392.                         str.TextsCount = 1;
  5393.                         str.Action = MsgName.Mode.Effect;
  5394.                         str.Texts.Add("end_task");
  5395.                         killer.Owner.SendScreen(str.ToArray(), true);
  5396.                         killer.Owner.Screen.Reload(null);
  5397.  
  5398.                     }
  5399.                 }
  5400.             }
  5401.             #endregion
  5402.             #region BattleFields
  5403.             #region L93Brigand
  5404.             if (Name == "L93Brigand")
  5405.             {
  5406.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  5407.                 {
  5408.                     killer.BattleFieldsLv90++;
  5409.                     if (killer.BattleFieldsLv90 < 301)
  5410.                     {
  5411.  
  5412.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv90);
  5413.                     }
  5414.                 }
  5415.                 if (!Player.BattleField.ContainsKey(killer.UID))
  5416.                 {
  5417.                     Player.BattleField.Add(killer.UID, killer.Owner);
  5418.                 }
  5419.                 killer.CalculateBattleFieldRankLv90();
  5420.                 if (Kernel.Rate(10))
  5421.                 {
  5422.                     uint b = 0;
  5423.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  5424.                     switch (ban)
  5425.                     {
  5426.                         case 1: b = 729700; break;//PotencyPotion
  5427.                         case 2: b = 0; break;
  5428.                         case 3: b = 729694; break;//5*AttackPotion
  5429.                         case 4: b = 0; break;
  5430.                         case 5: b = 0; break;
  5431.                         case 6: b = 729695; break;//BosterPoition
  5432.                         case 7: b = 0; break;
  5433.                         case 8: b = 729696; break;
  5434.                         case 9: b = 0; break;
  5435.                         case 10: b = 0; break;
  5436.                         case 11: b = 0; break;
  5437.                         case 12: b = 729697; break;
  5438.                         case 13: b = 0; break;
  5439.                         case 14: b = 0; break;
  5440.                         case 15: b = 729698; break;
  5441.                         case 16: b = 0; break;
  5442.                         case 17: b = 0; break;
  5443.                         case 18: b = 729698; break;
  5444.                         case 19: b = 0; break;
  5445.                         case 20: b = 0; break;
  5446.                         case 21: b = 0; break;
  5447.                         case 22: b = 0; break;
  5448.                         case 23: b = 0; break;
  5449.                         case 24: b = 729700; break;
  5450.                         case 25: b = 0; break;
  5451.                         case 26: b = 0; break;
  5452.                         case 27: b = 729701; break;
  5453.                         case 28: b = 0; break;
  5454.                         case 29: b = 0; break;
  5455.  
  5456.  
  5457.                     }
  5458.                     ushort X = Owner.X, Y = Owner.Y;
  5459.                     Map Map = Kernel.Maps[Owner.MapID];
  5460.                     if (Map.SelectCoordonates(ref X, ref Y))
  5461.                     {
  5462.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  5463.                         MsgMapItem.Item = new MsgItemInfo(true);
  5464.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  5465.                         MsgMapItem.Item.ID = b;
  5466.                         MsgMapItem.Item.MobDropped = true;
  5467.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  5468.                         MsgMapItem.ItemID = b;
  5469.                         MsgMapItem.MapID = Owner.MapID;
  5470.                         MsgMapItem.MapObjType = MapObjectType.Item;
  5471.                         MsgMapItem.X = X;
  5472.                         MsgMapItem.Y = Y;
  5473.                         MsgMapItem.Owner = killer.Owner;
  5474.                         MsgMapItem.Type = MsgMapItem.Drop;
  5475.                         MsgMapItem.OnFloor = Time32.Now;
  5476.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  5477.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5478.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  5479.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5480.                         Map.AddFloorItem(MsgMapItem);
  5481.                         SendScreenSpawn(MsgMapItem);
  5482.  
  5483.  
  5484.                     }
  5485.                 }
  5486.  
  5487.             }
  5488.  
  5489.  
  5490.  
  5491.             #endregion
  5492.             #region L98Robber
  5493.             if (Name == "L98Robber")
  5494.             {
  5495.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  5496.                 {
  5497.                     killer.BattleFieldsLv90++;
  5498.                     if (killer.BattleFieldsLv90 < 301)
  5499.                     {
  5500.  
  5501.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv90);
  5502.                     }
  5503.                 }
  5504.                 if (!Player.BattleField.ContainsKey(killer.UID))
  5505.                 {
  5506.                     Player.BattleField.Add(killer.UID, killer.Owner);
  5507.                 }
  5508.                 killer.CalculateBattleFieldRankLv90();
  5509.                 if (Kernel.Rate(10))
  5510.                 {
  5511.                     uint b = 0;
  5512.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  5513.                     switch (ban)
  5514.                     {
  5515.                         case 1: b = 729700; break;//PotencyPotion
  5516.                         case 2: b = 0; break;
  5517.                         case 3: b = 729694; break;//5*AttackPotion
  5518.                         case 4: b = 0; break;
  5519.                         case 5: b = 0; break;
  5520.                         case 6: b = 729695; break;//BosterPoition
  5521.                         case 7: b = 0; break;
  5522.                         case 8: b = 729696; break;
  5523.                         case 9: b = 0; break;
  5524.                         case 10: b = 0; break;
  5525.                         case 11: b = 0; break;
  5526.                         case 12: b = 729697; break;
  5527.                         case 13: b = 0; break;
  5528.                         case 14: b = 0; break;
  5529.                         case 15: b = 729698; break;
  5530.                         case 16: b = 0; break;
  5531.                         case 17: b = 0; break;
  5532.                         case 18: b = 729698; break;
  5533.                         case 19: b = 0; break;
  5534.                         case 20: b = 0; break;
  5535.                         case 21: b = 0; break;
  5536.                         case 22: b = 0; break;
  5537.                         case 23: b = 0; break;
  5538.                         case 24: b = 729700; break;
  5539.                         case 25: b = 0; break;
  5540.                         case 26: b = 0; break;
  5541.                         case 27: b = 729701; break;
  5542.                         case 28: b = 0; break;
  5543.                         case 29: b = 0; break;
  5544.  
  5545.  
  5546.                     }
  5547.                     ushort X = Owner.X, Y = Owner.Y;
  5548.                     Map Map = Kernel.Maps[Owner.MapID];
  5549.                     if (Map.SelectCoordonates(ref X, ref Y))
  5550.                     {
  5551.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  5552.                         MsgMapItem.Item = new MsgItemInfo(true);
  5553.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  5554.                         MsgMapItem.Item.ID = b;
  5555.                         MsgMapItem.Item.MobDropped = true;
  5556.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  5557.                         MsgMapItem.ItemID = b;
  5558.                         MsgMapItem.MapID = Owner.MapID;
  5559.                         MsgMapItem.MapObjType = MapObjectType.Item;
  5560.                         MsgMapItem.X = X;
  5561.                         MsgMapItem.Y = Y;
  5562.                         MsgMapItem.Owner = killer.Owner;
  5563.                         MsgMapItem.Type = MsgMapItem.Drop;
  5564.                         MsgMapItem.OnFloor = Time32.Now;
  5565.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  5566.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5567.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  5568.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5569.                         Map.AddFloorItem(MsgMapItem);
  5570.                         SendScreenSpawn(MsgMapItem);
  5571.  
  5572.  
  5573.                     }
  5574.                 }
  5575.  
  5576.             }
  5577.  
  5578.  
  5579.  
  5580.             #endregion
  5581.             #region L103Aggressor
  5582.             if (Name == "L103Aggressor")
  5583.             {
  5584.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  5585.                 {
  5586.                     killer.BattleFieldsLv102++;
  5587.                     if (killer.BattleFieldsLv102 < 301)
  5588.                     {
  5589.  
  5590.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv102);
  5591.                     }
  5592.                 }
  5593.                 if (!Player.BattleField.ContainsKey(killer.UID))
  5594.                 {
  5595.                     Player.BattleField.Add(killer.UID, killer.Owner);
  5596.                 }
  5597.                 killer.CalculateBattleFieldRankLv101();
  5598.                 if (Kernel.Rate(10))
  5599.                 {
  5600.                     uint b = 0;
  5601.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  5602.                     switch (ban)
  5603.                     {
  5604.                         case 1: b = 729700; break;//PotencyPotion
  5605.                         case 2: b = 0; break;
  5606.                         case 3: b = 729694; break;//5*AttackPotion
  5607.                         case 4: b = 0; break;
  5608.                         case 5: b = 0; break;
  5609.                         case 6: b = 729695; break;//BosterPoition
  5610.                         case 7: b = 0; break;
  5611.                         case 8: b = 729696; break;
  5612.                         case 9: b = 0; break;
  5613.                         case 10: b = 0; break;
  5614.                         case 11: b = 0; break;
  5615.                         case 12: b = 729697; break;
  5616.                         case 13: b = 0; break;
  5617.                         case 14: b = 0; break;
  5618.                         case 15: b = 729698; break;
  5619.                         case 16: b = 0; break;
  5620.                         case 17: b = 0; break;
  5621.                         case 18: b = 729698; break;
  5622.                         case 19: b = 0; break;
  5623.                         case 20: b = 0; break;
  5624.                         case 21: b = 0; break;
  5625.                         case 22: b = 0; break;
  5626.                         case 23: b = 0; break;
  5627.                         case 24: b = 729700; break;
  5628.                         case 25: b = 0; break;
  5629.                         case 26: b = 0; break;
  5630.                         case 27: b = 729701; break;
  5631.                         case 28: b = 0; break;
  5632.                         case 29: b = 0; break;
  5633.  
  5634.  
  5635.                     }
  5636.                     ushort X = Owner.X, Y = Owner.Y;
  5637.                     Map Map = Kernel.Maps[Owner.MapID];
  5638.                     if (Map.SelectCoordonates(ref X, ref Y))
  5639.                     {
  5640.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  5641.                         MsgMapItem.Item = new MsgItemInfo(true);
  5642.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  5643.                         MsgMapItem.Item.ID = b;
  5644.                         MsgMapItem.Item.MobDropped = true;
  5645.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  5646.                         MsgMapItem.ItemID = b;
  5647.                         MsgMapItem.MapID = Owner.MapID;
  5648.                         MsgMapItem.MapObjType = MapObjectType.Item;
  5649.                         MsgMapItem.X = X;
  5650.                         MsgMapItem.Y = Y;
  5651.                         MsgMapItem.Owner = killer.Owner;
  5652.                         MsgMapItem.Type = MsgMapItem.Drop;
  5653.                         MsgMapItem.OnFloor = Time32.Now;
  5654.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  5655.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5656.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  5657.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5658.                         Map.AddFloorItem(MsgMapItem);
  5659.                         SendScreenSpawn(MsgMapItem);
  5660.  
  5661.  
  5662.                     }
  5663.                 }
  5664.  
  5665.             }
  5666.  
  5667.  
  5668.  
  5669.             #endregion
  5670.             #region L108Robot
  5671.             if (Name == "L108Robot")
  5672.             {
  5673.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  5674.                 {
  5675.                     killer.BattleFieldsLv102++;
  5676.                     if (killer.BattleFieldsLv102 < 301)
  5677.                     {
  5678.  
  5679.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv102);
  5680.                     }
  5681.                 }
  5682.                 if (!Player.BattleField.ContainsKey(killer.UID))
  5683.                 {
  5684.                     Player.BattleField.Add(killer.UID, killer.Owner);
  5685.                 }
  5686.                 killer.CalculateBattleFieldRankLv101();
  5687.                 if (Kernel.Rate(10))
  5688.                 {
  5689.                     uint b = 0;
  5690.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  5691.                     switch (ban)
  5692.                     {
  5693.                         case 1: b = 729700; break;//PotencyPotion
  5694.                         case 2: b = 0; break;
  5695.                         case 3: b = 729694; break;//5*AttackPotion
  5696.                         case 4: b = 0; break;
  5697.                         case 5: b = 0; break;
  5698.                         case 6: b = 729695; break;//BosterPoition
  5699.                         case 7: b = 0; break;
  5700.                         case 8: b = 729696; break;
  5701.                         case 9: b = 0; break;
  5702.                         case 10: b = 0; break;
  5703.                         case 11: b = 0; break;
  5704.                         case 12: b = 729697; break;
  5705.                         case 13: b = 0; break;
  5706.                         case 14: b = 0; break;
  5707.                         case 15: b = 729698; break;
  5708.                         case 16: b = 0; break;
  5709.                         case 17: b = 0; break;
  5710.                         case 18: b = 729698; break;
  5711.                         case 19: b = 0; break;
  5712.                         case 20: b = 0; break;
  5713.                         case 21: b = 0; break;
  5714.                         case 22: b = 0; break;
  5715.                         case 23: b = 0; break;
  5716.                         case 24: b = 729700; break;
  5717.                         case 25: b = 0; break;
  5718.                         case 26: b = 0; break;
  5719.                         case 27: b = 729701; break;
  5720.                         case 28: b = 0; break;
  5721.                         case 29: b = 0; break;
  5722.  
  5723.  
  5724.                     }
  5725.                     ushort X = Owner.X, Y = Owner.Y;
  5726.                     Map Map = Kernel.Maps[Owner.MapID];
  5727.                     if (Map.SelectCoordonates(ref X, ref Y))
  5728.                     {
  5729.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  5730.                         MsgMapItem.Item = new MsgItemInfo(true);
  5731.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  5732.                         MsgMapItem.Item.ID = b;
  5733.                         MsgMapItem.Item.MobDropped = true;
  5734.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  5735.                         MsgMapItem.ItemID = b;
  5736.                         MsgMapItem.MapID = Owner.MapID;
  5737.                         MsgMapItem.MapObjType = MapObjectType.Item;
  5738.                         MsgMapItem.X = X;
  5739.                         MsgMapItem.Y = Y;
  5740.                         MsgMapItem.Owner = killer.Owner;
  5741.                         MsgMapItem.Type = MsgMapItem.Drop;
  5742.                         MsgMapItem.OnFloor = Time32.Now;
  5743.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  5744.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5745.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  5746.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5747.                         Map.AddFloorItem(MsgMapItem);
  5748.                         SendScreenSpawn(MsgMapItem);
  5749.  
  5750.  
  5751.                     }
  5752.                 }
  5753.  
  5754.             }
  5755.  
  5756.  
  5757.  
  5758.             #endregion
  5759.             #region L113BloodPirate
  5760.             if (Name == "L113BloodPirate")
  5761.             {
  5762.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  5763.                 {
  5764.                     killer.BattleFieldsLv111++;
  5765.                     if (killer.BattleFieldsLv111 < 301)
  5766.                     {
  5767.  
  5768.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv111);
  5769.                     }
  5770.                 }
  5771.                 if (!Player.BattleField.ContainsKey(killer.UID))
  5772.                 {
  5773.                     Player.BattleField.Add(killer.UID, killer.Owner);
  5774.                 }
  5775.                 killer.CalculateBattleFieldRankLv111();
  5776.                 if (Kernel.Rate(10))
  5777.                 {
  5778.                     uint b = 0;
  5779.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  5780.                     switch (ban)
  5781.                     {
  5782.                         case 1: b = 729700; break;//PotencyPotion
  5783.                         case 2: b = 0; break;
  5784.                         case 3: b = 729694; break;//5*AttackPotion
  5785.                         case 4: b = 0; break;
  5786.                         case 5: b = 0; break;
  5787.                         case 6: b = 729695; break;//BosterPoition
  5788.                         case 7: b = 0; break;
  5789.                         case 8: b = 729696; break;
  5790.                         case 9: b = 0; break;
  5791.                         case 10: b = 0; break;
  5792.                         case 11: b = 0; break;
  5793.                         case 12: b = 729697; break;
  5794.                         case 13: b = 0; break;
  5795.                         case 14: b = 0; break;
  5796.                         case 15: b = 729698; break;
  5797.                         case 16: b = 0; break;
  5798.                         case 17: b = 0; break;
  5799.                         case 18: b = 729698; break;
  5800.                         case 19: b = 0; break;
  5801.                         case 20: b = 0; break;
  5802.                         case 21: b = 0; break;
  5803.                         case 22: b = 0; break;
  5804.                         case 23: b = 0; break;
  5805.                         case 24: b = 729700; break;
  5806.                         case 25: b = 0; break;
  5807.                         case 26: b = 0; break;
  5808.                         case 27: b = 729701; break;
  5809.                         case 28: b = 0; break;
  5810.                         case 29: b = 0; break;
  5811.  
  5812.  
  5813.                     }
  5814.                     ushort X = Owner.X, Y = Owner.Y;
  5815.                     Map Map = Kernel.Maps[Owner.MapID];
  5816.                     if (Map.SelectCoordonates(ref X, ref Y))
  5817.                     {
  5818.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  5819.                         MsgMapItem.Item = new MsgItemInfo(true);
  5820.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  5821.                         MsgMapItem.Item.ID = b;
  5822.                         MsgMapItem.Item.MobDropped = true;
  5823.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  5824.                         MsgMapItem.ItemID = b;
  5825.                         MsgMapItem.MapID = Owner.MapID;
  5826.                         MsgMapItem.MapObjType = MapObjectType.Item;
  5827.                         MsgMapItem.X = X;
  5828.                         MsgMapItem.Y = Y;
  5829.                         MsgMapItem.Owner = killer.Owner;
  5830.                         MsgMapItem.Type = MsgMapItem.Drop;
  5831.                         MsgMapItem.OnFloor = Time32.Now;
  5832.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  5833.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5834.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  5835.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5836.                         Map.AddFloorItem(MsgMapItem);
  5837.                         SendScreenSpawn(MsgMapItem);
  5838.  
  5839.  
  5840.                     }
  5841.                 }
  5842.  
  5843.             }
  5844.  
  5845.  
  5846.  
  5847.             #endregion
  5848.             #region L118CruelPirate
  5849.             if (Name == "L118CruelPirate")
  5850.             {
  5851.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  5852.                 {
  5853.                     killer.BattleFieldsLv111++;
  5854.                     if (killer.BattleFieldsLv111 < 301)
  5855.                     {
  5856.  
  5857.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv111);
  5858.                     }
  5859.                 }
  5860.                 if (!Player.BattleField.ContainsKey(killer.UID))
  5861.                 {
  5862.                     Player.BattleField.Add(killer.UID, killer.Owner);
  5863.                 }
  5864.                 killer.CalculateBattleFieldRankLv111();
  5865.                 if (Kernel.Rate(10))
  5866.                 {
  5867.                     uint b = 0;
  5868.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  5869.                     switch (ban)
  5870.                     {
  5871.                         case 1: b = 729700; break;//PotencyPotion
  5872.                         case 2: b = 0; break;
  5873.                         case 3: b = 729694; break;//5*AttackPotion
  5874.                         case 4: b = 0; break;
  5875.                         case 5: b = 0; break;
  5876.                         case 6: b = 729695; break;//BosterPoition
  5877.                         case 7: b = 0; break;
  5878.                         case 8: b = 729696; break;
  5879.                         case 9: b = 0; break;
  5880.                         case 10: b = 0; break;
  5881.                         case 11: b = 0; break;
  5882.                         case 12: b = 729697; break;
  5883.                         case 13: b = 0; break;
  5884.                         case 14: b = 0; break;
  5885.                         case 15: b = 729698; break;
  5886.                         case 16: b = 0; break;
  5887.                         case 17: b = 0; break;
  5888.                         case 18: b = 729698; break;
  5889.                         case 19: b = 0; break;
  5890.                         case 20: b = 0; break;
  5891.                         case 21: b = 0; break;
  5892.                         case 22: b = 0; break;
  5893.                         case 23: b = 0; break;
  5894.                         case 24: b = 729700; break;
  5895.                         case 25: b = 0; break;
  5896.                         case 26: b = 0; break;
  5897.                         case 27: b = 729701; break;
  5898.                         case 28: b = 0; break;
  5899.                         case 29: b = 0; break;
  5900.  
  5901.  
  5902.                     }
  5903.                     ushort X = Owner.X, Y = Owner.Y;
  5904.                     Map Map = Kernel.Maps[Owner.MapID];
  5905.                     if (Map.SelectCoordonates(ref X, ref Y))
  5906.                     {
  5907.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  5908.                         MsgMapItem.Item = new MsgItemInfo(true);
  5909.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  5910.                         MsgMapItem.Item.ID = b;
  5911.                         MsgMapItem.Item.MobDropped = true;
  5912.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  5913.                         MsgMapItem.ItemID = b;
  5914.                         MsgMapItem.MapID = Owner.MapID;
  5915.                         MsgMapItem.MapObjType = MapObjectType.Item;
  5916.                         MsgMapItem.X = X;
  5917.                         MsgMapItem.Y = Y;
  5918.                         MsgMapItem.Owner = killer.Owner;
  5919.                         MsgMapItem.Type = MsgMapItem.Drop;
  5920.                         MsgMapItem.OnFloor = Time32.Now;
  5921.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  5922.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5923.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  5924.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  5925.                         Map.AddFloorItem(MsgMapItem);
  5926.                         SendScreenSpawn(MsgMapItem);
  5927.  
  5928.  
  5929.                     }
  5930.                 }
  5931.  
  5932.             }
  5933.  
  5934.  
  5935.  
  5936.             #endregion
  5937.             #region L123FierceRonin
  5938.             if (Name == "L123FierceRonin")
  5939.             {
  5940.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  5941.                 {
  5942.                     killer.BattleFieldsLv121++;
  5943.                     if (killer.BattleFieldsLv121 < 301)
  5944.                     {
  5945.  
  5946.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv121);
  5947.                     }
  5948.                 }
  5949.                 if (!Player.BattleField.ContainsKey(killer.UID))
  5950.                 {
  5951.                     Player.BattleField.Add(killer.UID, killer.Owner);
  5952.                 }
  5953.                 killer.CalculateBattleFieldRankLv121();
  5954.                 if (Kernel.Rate(10))
  5955.                 {
  5956.                     uint b = 0;
  5957.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  5958.                     switch (ban)
  5959.                     {
  5960.                         case 1: b = 729700; break;//PotencyPotion
  5961.                         case 2: b = 0; break;
  5962.                         case 3: b = 729694; break;//5*AttackPotion
  5963.                         case 4: b = 0; break;
  5964.                         case 5: b = 0; break;
  5965.                         case 6: b = 729695; break;//BosterPoition
  5966.                         case 7: b = 0; break;
  5967.                         case 8: b = 729696; break;
  5968.                         case 9: b = 0; break;
  5969.                         case 10: b = 0; break;
  5970.                         case 11: b = 0; break;
  5971.                         case 12: b = 729697; break;
  5972.                         case 13: b = 0; break;
  5973.                         case 14: b = 0; break;
  5974.                         case 15: b = 729698; break;
  5975.                         case 16: b = 0; break;
  5976.                         case 17: b = 0; break;
  5977.                         case 18: b = 729698; break;
  5978.                         case 19: b = 0; break;
  5979.                         case 20: b = 0; break;
  5980.                         case 21: b = 0; break;
  5981.                         case 22: b = 0; break;
  5982.                         case 23: b = 0; break;
  5983.                         case 24: b = 729700; break;
  5984.                         case 25: b = 0; break;
  5985.                         case 26: b = 0; break;
  5986.                         case 27: b = 729701; break;
  5987.                         case 28: b = 0; break;
  5988.                         case 29: b = 0; break;
  5989.  
  5990.  
  5991.                     }
  5992.                     ushort X = Owner.X, Y = Owner.Y;
  5993.                     Map Map = Kernel.Maps[Owner.MapID];
  5994.                     if (Map.SelectCoordonates(ref X, ref Y))
  5995.                     {
  5996.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  5997.                         MsgMapItem.Item = new MsgItemInfo(true);
  5998.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  5999.                         MsgMapItem.Item.ID = b;
  6000.                         MsgMapItem.Item.MobDropped = true;
  6001.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  6002.                         MsgMapItem.ItemID = b;
  6003.                         MsgMapItem.MapID = Owner.MapID;
  6004.                         MsgMapItem.MapObjType = MapObjectType.Item;
  6005.                         MsgMapItem.X = X;
  6006.                         MsgMapItem.Y = Y;
  6007.                         MsgMapItem.Owner = killer.Owner;
  6008.                         MsgMapItem.Type = MsgMapItem.Drop;
  6009.                         MsgMapItem.OnFloor = Time32.Now;
  6010.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6011.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6012.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6013.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6014.                         Map.AddFloorItem(MsgMapItem);
  6015.                         SendScreenSpawn(MsgMapItem);
  6016.  
  6017.  
  6018.                     }
  6019.                 }
  6020.  
  6021.             }
  6022.  
  6023.  
  6024.  
  6025.             #endregion
  6026.             #region L128FuryRonin
  6027.             if (Name == "L128FuryRonin")
  6028.             {
  6029.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  6030.                 {
  6031.                     killer.BattleFieldsLv121++;
  6032.                     if (killer.BattleFieldsLv121 < 301)
  6033.                     {
  6034.  
  6035.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv121);
  6036.                     }
  6037.                 }
  6038.                 if (!Player.BattleField.ContainsKey(killer.UID))
  6039.                 {
  6040.                     Player.BattleField.Add(killer.UID, killer.Owner);
  6041.                 }
  6042.                 killer.CalculateBattleFieldRankLv121();
  6043.                 if (Kernel.Rate(10))
  6044.                 {
  6045.                     uint b = 0;
  6046.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  6047.                     switch (ban)
  6048.                     {
  6049.                         case 1: b = 729700; break;//PotencyPotion
  6050.                         case 2: b = 0; break;
  6051.                         case 3: b = 729694; break;//5*AttackPotion
  6052.                         case 4: b = 0; break;
  6053.                         case 5: b = 0; break;
  6054.                         case 6: b = 729695; break;//BosterPoition
  6055.                         case 7: b = 0; break;
  6056.                         case 8: b = 729696; break;
  6057.                         case 9: b = 0; break;
  6058.                         case 10: b = 0; break;
  6059.                         case 11: b = 0; break;
  6060.                         case 12: b = 729697; break;
  6061.                         case 13: b = 0; break;
  6062.                         case 14: b = 0; break;
  6063.                         case 15: b = 729698; break;
  6064.                         case 16: b = 0; break;
  6065.                         case 17: b = 0; break;
  6066.                         case 18: b = 729698; break;
  6067.                         case 19: b = 0; break;
  6068.                         case 20: b = 0; break;
  6069.                         case 21: b = 0; break;
  6070.                         case 22: b = 0; break;
  6071.                         case 23: b = 0; break;
  6072.                         case 24: b = 729700; break;
  6073.                         case 25: b = 0; break;
  6074.                         case 26: b = 0; break;
  6075.                         case 27: b = 729701; break;
  6076.                         case 28: b = 0; break;
  6077.                         case 29: b = 0; break;
  6078.  
  6079.  
  6080.                     }
  6081.                     ushort X = Owner.X, Y = Owner.Y;
  6082.                     Map Map = Kernel.Maps[Owner.MapID];
  6083.                     if (Map.SelectCoordonates(ref X, ref Y))
  6084.                     {
  6085.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  6086.                         MsgMapItem.Item = new MsgItemInfo(true);
  6087.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  6088.                         MsgMapItem.Item.ID = b;
  6089.                         MsgMapItem.Item.MobDropped = true;
  6090.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  6091.                         MsgMapItem.ItemID = b;
  6092.                         MsgMapItem.MapID = Owner.MapID;
  6093.                         MsgMapItem.MapObjType = MapObjectType.Item;
  6094.                         MsgMapItem.X = X;
  6095.                         MsgMapItem.Y = Y;
  6096.                         MsgMapItem.Owner = killer.Owner;
  6097.                         MsgMapItem.Type = MsgMapItem.Drop;
  6098.                         MsgMapItem.OnFloor = Time32.Now;
  6099.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6100.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6101.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6102.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6103.                         Map.AddFloorItem(MsgMapItem);
  6104.                         SendScreenSpawn(MsgMapItem);
  6105.  
  6106.  
  6107.                     }
  6108.                 }
  6109.  
  6110.             }
  6111.  
  6112.  
  6113.  
  6114.             #endregion
  6115.             #region L132Puppet
  6116.             if (Name == "L132Puppet")
  6117.             {
  6118.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  6119.                 {
  6120.                     killer.BattleFieldsLv131++;
  6121.                     if (killer.BattleFieldsLv131 < 301)
  6122.                     {
  6123.  
  6124.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv131);
  6125.                     }
  6126.                 }
  6127.                 if (!Player.BattleField.ContainsKey(killer.UID))
  6128.                 {
  6129.                     Player.BattleField.Add(killer.UID, killer.Owner);
  6130.                 }
  6131.                 killer.CalculateBattleFieldRankLv131();
  6132.                 if (Kernel.Rate(10))
  6133.                 {
  6134.                     uint b = 0;
  6135.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  6136.                     switch (ban)
  6137.                     {
  6138.                         case 1: b = 729700; break;//PotencyPotion
  6139.                         case 2: b = 0; break;
  6140.                         case 3: b = 729694; break;//5*AttackPotion
  6141.                         case 4: b = 0; break;
  6142.                         case 5: b = 0; break;
  6143.                         case 6: b = 729695; break;//BosterPoition
  6144.                         case 7: b = 0; break;
  6145.                         case 8: b = 729696; break;
  6146.                         case 9: b = 0; break;
  6147.                         case 10: b = 0; break;
  6148.                         case 11: b = 0; break;
  6149.                         case 12: b = 729697; break;
  6150.                         case 13: b = 0; break;
  6151.                         case 14: b = 0; break;
  6152.                         case 15: b = 729698; break;
  6153.                         case 16: b = 0; break;
  6154.                         case 17: b = 0; break;
  6155.                         case 18: b = 729698; break;
  6156.                         case 19: b = 0; break;
  6157.                         case 20: b = 0; break;
  6158.                         case 21: b = 0; break;
  6159.                         case 22: b = 0; break;
  6160.                         case 23: b = 0; break;
  6161.                         case 24: b = 729700; break;
  6162.                         case 25: b = 0; break;
  6163.                         case 26: b = 0; break;
  6164.                         case 27: b = 729701; break;
  6165.                         case 28: b = 0; break;
  6166.                         case 29: b = 0; break;
  6167.  
  6168.  
  6169.                     }
  6170.                     ushort X = Owner.X, Y = Owner.Y;
  6171.                     Map Map = Kernel.Maps[Owner.MapID];
  6172.                     if (Map.SelectCoordonates(ref X, ref Y))
  6173.                     {
  6174.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  6175.                         MsgMapItem.Item = new MsgItemInfo(true);
  6176.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  6177.                         MsgMapItem.Item.ID = b;
  6178.                         MsgMapItem.Item.MobDropped = true;
  6179.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  6180.                         MsgMapItem.ItemID = b;
  6181.                         MsgMapItem.MapID = Owner.MapID;
  6182.                         MsgMapItem.MapObjType = MapObjectType.Item;
  6183.                         MsgMapItem.X = X;
  6184.                         MsgMapItem.Y = Y;
  6185.                         MsgMapItem.Owner = killer.Owner;
  6186.                         MsgMapItem.Type = MsgMapItem.Drop;
  6187.                         MsgMapItem.OnFloor = Time32.Now;
  6188.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6189.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6190.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6191.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6192.                         Map.AddFloorItem(MsgMapItem);
  6193.                         SendScreenSpawn(MsgMapItem);
  6194.  
  6195.  
  6196.                     }
  6197.                 }
  6198.  
  6199.             }
  6200.  
  6201.  
  6202.  
  6203.             #endregion
  6204.             #region L135SoulWarrior
  6205.             if (Name == "L135SoulWarrior")
  6206.             {
  6207.                 if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  6208.                 {
  6209.                     killer.BattleFieldsLv131++;
  6210.                     if (killer.BattleFieldsLv131 < 301)
  6211.                     {
  6212.  
  6213.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv131);
  6214.                     }
  6215.                 }
  6216.                 if (!Player.BattleField.ContainsKey(killer.UID))
  6217.                 {
  6218.                     Player.BattleField.Add(killer.UID, killer.Owner);
  6219.                 }
  6220.                 killer.CalculateBattleFieldRankLv131();
  6221.                 if (Kernel.Rate(10))
  6222.                 {
  6223.                     uint b = 0;
  6224.                     uint ban = (uint)Kernel.Random.Next(1, 29);
  6225.                     switch (ban)
  6226.                     {
  6227.                         case 1: b = 729700; break;//PotencyPotion
  6228.                         case 2: b = 0; break;
  6229.                         case 3: b = 729694; break;//5*AttackPotion
  6230.                         case 4: b = 0; break;
  6231.                         case 5: b = 0; break;
  6232.                         case 6: b = 729695; break;//BosterPoition
  6233.                         case 7: b = 0; break;
  6234.                         case 8: b = 729696; break;
  6235.                         case 9: b = 0; break;
  6236.                         case 10: b = 0; break;
  6237.                         case 11: b = 0; break;
  6238.                         case 12: b = 729697; break;
  6239.                         case 13: b = 0; break;
  6240.                         case 14: b = 0; break;
  6241.                         case 15: b = 729698; break;
  6242.                         case 16: b = 0; break;
  6243.                         case 17: b = 0; break;
  6244.                         case 18: b = 729698; break;
  6245.                         case 19: b = 0; break;
  6246.                         case 20: b = 0; break;
  6247.                         case 21: b = 0; break;
  6248.                         case 22: b = 0; break;
  6249.                         case 23: b = 0; break;
  6250.                         case 24: b = 729700; break;
  6251.                         case 25: b = 0; break;
  6252.                         case 26: b = 0; break;
  6253.                         case 27: b = 729701; break;
  6254.                         case 28: b = 0; break;
  6255.                         case 29: b = 0; break;
  6256.  
  6257.  
  6258.                     }
  6259.                     ushort X = Owner.X, Y = Owner.Y;
  6260.                     Map Map = Kernel.Maps[Owner.MapID];
  6261.                     if (Map.SelectCoordonates(ref X, ref Y))
  6262.                     {
  6263.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  6264.                         MsgMapItem.Item = new MsgItemInfo(true);
  6265.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  6266.                         MsgMapItem.Item.ID = b;
  6267.                         MsgMapItem.Item.MobDropped = true;
  6268.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  6269.                         MsgMapItem.ItemID = b;
  6270.                         MsgMapItem.MapID = Owner.MapID;
  6271.                         MsgMapItem.MapObjType = MapObjectType.Item;
  6272.                         MsgMapItem.X = X;
  6273.                         MsgMapItem.Y = Y;
  6274.                         MsgMapItem.Owner = killer.Owner;
  6275.                         MsgMapItem.Type = MsgMapItem.Drop;
  6276.                         MsgMapItem.OnFloor = Time32.Now;
  6277.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6278.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6279.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6280.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6281.                         Map.AddFloorItem(MsgMapItem);
  6282.                         SendScreenSpawn(MsgMapItem);
  6283.  
  6284.  
  6285.                     }
  6286.                 }
  6287.  
  6288.             }
  6289.  
  6290.  
  6291.  
  6292.             #endregion
  6293.             #endregion
  6294.             #region CloudSaint`sJar
  6295.             if (ID == killer.kilid)
  6296.             {
  6297.                 if (killer.Owner.Inventory.Contains(750000, 1))
  6298.                 {
  6299.                     killer.Status4 += 1;
  6300.                 }
  6301.             }
  6302.             #endregion
  6303.             #region ChestDemon
  6304.             uint ran1 = (uint)AboGamil.Kernel.Random.Next(1, 22);
  6305.             if (ran1 > 15)
  6306.             {
  6307.                 if (this.Name == "ChestDemon")
  6308.                 {
  6309.                     if (killer.Name.Contains("Guard"))
  6310.                         return;
  6311.  
  6312.                     uint Uid = 0;
  6313.                     Random R = new Random();
  6314.                     //int Nr = R.Next(1, 1);
  6315.                     switch (((byte)Kernel.Random.Next(1, 8)))
  6316.                     {
  6317.                         case 1:
  6318.                             Uid = 3000625;
  6319.                             break;
  6320.  
  6321.  
  6322.                         case 2:
  6323.                             Uid = 3000626;
  6324.                             break;
  6325.  
  6326.  
  6327.                         case 3:
  6328.                             Uid = 3000627;
  6329.                             break;
  6330.                     }
  6331.  
  6332.                     if (Uid != 0)
  6333.                     {
  6334.                         ushort X = Owner.X, Y = Owner.Y;
  6335.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  6336.                         if (Map.SelectCoordonates(ref X, ref Y))
  6337.                         {
  6338.                             Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  6339.                             floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
  6340.                             floorItem.Item.Color = (AboGamil.Game.Enums.Color)Kernel.Random.Next(4, 8);
  6341.                             floorItem.Item.ID = Uid;
  6342.                             floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
  6343.                             floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  6344.                             floorItem.ItemID = Uid;
  6345.                             floorItem.MapID = Owner.MapID;
  6346.                             floorItem.MapObjType = Game.MapObjectType.Item;
  6347.                             floorItem.X = X;
  6348.                             floorItem.Y = Y;
  6349.                             floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  6350.                             floorItem.OnFloor = Time32.Now;
  6351.                             floorItem.ItemColor = floorItem.Item.Color;
  6352.                             floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6353.                             while (Map.Npcs.ContainsKey(floorItem.UID))
  6354.                                 floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6355.                             Map.AddFloorItem(floorItem);
  6356.                             SendScreenSpawn(floorItem);
  6357.                         }
  6358.                     }
  6359.                 }
  6360.             }
  6361.             #endregion
  6362.             #region Big Monster
  6363.             #region SwordMaster
  6364.             if (Name == "SwordMaster")
  6365.             {
  6366.                 uint ItemID = 0;
  6367.                 byte type1 = 11;
  6368.                 for (int i = 0; i < 5; i++)
  6369.                 {
  6370.                     type1 = (byte)Kernel.Random.Next(1, 11);
  6371.                     switch (type1)
  6372.                     {
  6373.                         case 1:
  6374.                             ItemID = 3004181;
  6375.                             break;
  6376.                         case 2:
  6377.                             ItemID = 3004181;
  6378.                             break;
  6379.                         case 3:
  6380.                             ItemID = 3004181;
  6381.                             break;
  6382.                         case 4:
  6383.                             ItemID = 3009002;
  6384.                             break;
  6385.                         case 5:
  6386.                             ItemID = 3009002;
  6387.                             break;
  6388.                         case 6:
  6389.                             ItemID = 3008727;
  6390.                             break;
  6391.                         case 7:
  6392.                             ItemID = 3008727;
  6393.                             break;
  6394.                         case 8:
  6395.                             ItemID = 3009002;
  6396.                             break;
  6397.                         case 9:
  6398.                             ItemID = 3008727;
  6399.                             break;
  6400.                         case 10:
  6401.                             ItemID = 720731;
  6402.                             break;
  6403.                     }
  6404.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  6405.                     ushort X = Owner.X, Y = Owner.Y;
  6406.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  6407.                     if (Map.SelectCoordonates(ref X, ref Y))
  6408.                     {
  6409.                         Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  6410.                         MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  6411.                         MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  6412.                         MsgMapItem.Item.ID = ItemID;
  6413.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  6414.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  6415.                         MsgMapItem.Item.Durability = infos.Durability;
  6416.                         MsgMapItem.Item.MobDropped = true;
  6417.                         MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  6418.                         MsgMapItem.ItemID = ItemID;
  6419.                         MsgMapItem.MapID = Owner.MapID;
  6420.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  6421.                         MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
  6422.                         MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
  6423.                         MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  6424.                         MsgMapItem.OnFloor = Time32.Now;
  6425.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6426.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6427.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6428.  
  6429.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6430.  
  6431.                         Map.AddFloorItem(MsgMapItem);
  6432.  
  6433.                         SendScreenSpawn(MsgMapItem);
  6434.                     }
  6435.                 }
  6436.                 return;
  6437.             }
  6438.             #endregion
  6439.             #region PurpleBanshee
  6440.             if (Name == "PurpleBanshee")
  6441.             {
  6442.                 uint ItemID = 0;
  6443.                 byte type1 = 11;
  6444.                 for (int i = 0; i < 5; i++)
  6445.                 {
  6446.                     type1 = (byte)Kernel.Random.Next(1, 11);
  6447.                     switch (type1)
  6448.                     {
  6449.                         case 1:
  6450.                             ItemID = 3004181;
  6451.                             break;
  6452.                         case 2:
  6453.                             ItemID = 3004181;
  6454.                             break;
  6455.                         case 3:
  6456.                             ItemID = 3004181;
  6457.                             break;
  6458.                         case 4:
  6459.                             ItemID = 3009002;
  6460.                             break;
  6461.                         case 5:
  6462.                             ItemID = 3009002;
  6463.                             break;
  6464.                         case 6:
  6465.                             ItemID = 3008727;
  6466.                             break;
  6467.                         case 7:
  6468.                             ItemID = 3008727;
  6469.                             break;
  6470.                         case 8:
  6471.                             ItemID = 3009002;
  6472.                             break;
  6473.                         case 9:
  6474.                             ItemID = 3008727;
  6475.                             break;
  6476.                         case 10:
  6477.                             ItemID = 720731;
  6478.                             break;
  6479.                     }
  6480.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  6481.                     ushort X = Owner.X, Y = Owner.Y;
  6482.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  6483.                     if (Map.SelectCoordonates(ref X, ref Y))
  6484.                     {
  6485.                         Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  6486.                         MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  6487.                         MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  6488.                         MsgMapItem.Item.ID = ItemID;
  6489.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  6490.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  6491.                         MsgMapItem.Item.Durability = infos.Durability;
  6492.                         MsgMapItem.Item.MobDropped = true;
  6493.                         MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  6494.                         MsgMapItem.ItemID = ItemID;
  6495.                         MsgMapItem.MapID = Owner.MapID;
  6496.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  6497.                         MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
  6498.                         MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
  6499.                         MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  6500.                         MsgMapItem.OnFloor = Time32.Now;
  6501.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6502.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6503.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6504.  
  6505.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6506.  
  6507.                         Map.AddFloorItem(MsgMapItem);
  6508.  
  6509.                         SendScreenSpawn(MsgMapItem);
  6510.                     }
  6511.                 }
  6512.                // killer.ConquerPoints += 50000;
  6513.                // killer.BoundCps += 5000;
  6514.                // killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated PurpleBanshee on home and got 50,000 ConquerPoints && 5,000 BoundCps.", System.Drawing.Color.Azure, MsgTalk.Center));
  6515.                 return;
  6516.             }
  6517.             #endregion
  6518.             #region TeratoDragon
  6519.             if (Name == "TeratoDragon")
  6520.             {
  6521.                 uint Uid = 0;
  6522.                 byte type = 51;
  6523.                 for (int i = 0; i < 3; i++)
  6524.                 {
  6525.                     type = (byte)Kernel.Random.Next(1, 51);
  6526.                     switch (type)
  6527.                     {
  6528.                         case 1:
  6529.                             Uid = 800320;
  6530.                             break;
  6531.  
  6532.                         case 2:
  6533.                             Uid = 822054;
  6534.                             break;
  6535.  
  6536.                         case 3:
  6537.                             Uid = 800110;
  6538.                             break;
  6539.  
  6540.                         case 4:
  6541.                             Uid = 820056;
  6542.                             break;
  6543.  
  6544.                         case 5:
  6545.                             Uid = 822056;
  6546.                             break;
  6547.  
  6548.                         case 6:
  6549.                             Uid = 822057;
  6550.                             break;
  6551.  
  6552.                         case 7:
  6553.                             Uid = 822053;
  6554.                             break;
  6555.  
  6556.                         case 8:
  6557.                             Uid = 800019;
  6558.                             break;
  6559.  
  6560.                         case 9:
  6561.                             Uid = 800050;
  6562.                             break;
  6563.  
  6564.                         case 10:
  6565.                             Uid = 800015;
  6566.                             break;
  6567.  
  6568.                         case 11:
  6569.                             Uid = 800090;
  6570.                             break;
  6571.  
  6572.                         case 12:
  6573.                             Uid = 800513;
  6574.                             break;
  6575.  
  6576.                         case 13:
  6577.                             Uid = 800017;
  6578.                             break;
  6579.  
  6580.                         case 14:
  6581.                             Uid = 800071;
  6582.                             break;
  6583.  
  6584.                         case 15:
  6585.                             Uid = 800016;
  6586.                             break;
  6587.  
  6588.                         case 16:
  6589.                             Uid = 823051;
  6590.                             break;
  6591.  
  6592.                         case 17:
  6593.                             Uid = 800130;
  6594.                             break;
  6595.  
  6596.                         case 18:
  6597.                             Uid = 800140;
  6598.                             break;
  6599.  
  6600.                         case 19:
  6601.                             Uid = 800141;
  6602.                             break;
  6603.  
  6604.                         case 20:
  6605.                             Uid = 800200;
  6606.                             break;
  6607.  
  6608.                         case 21:
  6609.                             Uid = 800310;
  6610.                             break;
  6611.  
  6612.                         case 22:
  6613.                             Uid = 800014;
  6614.                             break;
  6615.  
  6616.                         case 23:
  6617.                             Uid = 800214;
  6618.                             break;
  6619.  
  6620.                         case 24:
  6621.                             Uid = 800230;
  6622.                             break;
  6623.  
  6624.                         case 25:
  6625.                             Uid = 800414;
  6626.                             break;
  6627.  
  6628.                         case 26:
  6629.                             Uid = 822052;
  6630.                             break;
  6631.  
  6632.                         case 27:
  6633.                             Uid = 800420;
  6634.                             break;
  6635.  
  6636.                         case 28:
  6637.                             Uid = 800401;
  6638.                             break;
  6639.  
  6640.                         case 29:
  6641.                             Uid = 800512;
  6642.                             break;
  6643.  
  6644.                         case 30:
  6645.                             Uid = 823043;
  6646.                             break;
  6647.  
  6648.                         case 31:
  6649.                             Uid = 800514;
  6650.                             break;
  6651.  
  6652.                         case 32:
  6653.                             Uid = 800520;
  6654.                             break;
  6655.  
  6656.                         case 33:
  6657.                             Uid = 800521;
  6658.                             break;
  6659.  
  6660.                         case 34:
  6661.                             Uid = 800613;
  6662.                             break;
  6663.  
  6664.                         case 35:
  6665.                             Uid = 800614;
  6666.                             break;
  6667.  
  6668.                         case 36:
  6669.                             Uid = 800615;
  6670.                             break;
  6671.  
  6672.                         case 37:
  6673.                             Uid = 824001;
  6674.                             break;
  6675.  
  6676.                         case 38:
  6677.                             Uid = 800617;
  6678.                             break;
  6679.  
  6680.                         case 39:
  6681.                             Uid = 800720;
  6682.                             break;
  6683.  
  6684.                         case 40:
  6685.                             Uid = 800721;
  6686.                             break;
  6687.  
  6688.                         case 41:
  6689.                             Uid = 800070;
  6690.                             break;
  6691.  
  6692.                         case 42:
  6693.                             Uid = 800723;
  6694.                             break;
  6695.  
  6696.                         case 43:
  6697.                             Uid = 800724;
  6698.                             break;
  6699.  
  6700.                         case 44:
  6701.                             Uid = 800018;
  6702.                             break;
  6703.  
  6704.                         case 45:
  6705.                             Uid = 820001;
  6706.                             break;
  6707.  
  6708.                         case 46:
  6709.                             Uid = 820052;
  6710.                             break;
  6711.  
  6712.                         case 47:
  6713.                             Uid = 820053;
  6714.                             break;
  6715.  
  6716.                         case 48:
  6717.                             Uid = 820054;
  6718.                             break;
  6719.  
  6720.                         case 49:
  6721.                             Uid = 820055;
  6722.                             break;
  6723.  
  6724.                         case 50:
  6725.                             Uid = 800722;
  6726.                             break;
  6727.                         case 51:
  6728.                             Uid = 821028;
  6729.                             break;
  6730.  
  6731.                         case 52:
  6732.                             Uid = 824015;
  6733.                             break;
  6734.  
  6735.                         case 53:
  6736.                             Uid = 824016;
  6737.                             break;
  6738.                         case 54:
  6739.                             Uid = 3007108;
  6740.                             break;
  6741.  
  6742.                     }
  6743.                     var infos = Database.ConquerItemInformation.BaseInformations[Uid];
  6744.                     ushort X = Owner.X, Y = Owner.Y;
  6745.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  6746.                     if (Map.SelectCoordonates(ref X, ref Y))
  6747.                     {
  6748.                         MsgMapItem MsgMapItem = new MsgMapItem(true);
  6749.                         MsgMapItem.Item = new MsgItemInfo(true);
  6750.                         MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  6751.                         MsgMapItem.Item.ID = Uid;
  6752.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  6753.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  6754.                         MsgMapItem.Item.Durability = infos.Durability;
  6755.                         MsgMapItem.Item.MobDropped = true;
  6756.                         MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  6757.                         MsgMapItem.ItemID = Uid;
  6758.                         MsgMapItem.MapID = Owner.MapID;
  6759.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  6760.                         MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
  6761.                         MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
  6762.                         MsgMapItem.Type = MsgMapItem.Drop;
  6763.                         MsgMapItem.OnFloor = Time32.Now;
  6764.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6765.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6766.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6767.                             MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  6768.                         Map.AddFloorItem(MsgMapItem);
  6769.                         SendScreenSpawn(MsgMapItem);
  6770.                         Kernel.Spawn = false;
  6771.                         Kernel.SpawnDragon = false;
  6772.                     }
  6773.                 }
  6774.                 if (Owner.MonsterInfo.ID == 4152)
  6775.                 {
  6776.                     if (Owner.MapID == 1002)
  6777.                     {
  6778.                         if (Kernel.Maps[1002].Dragon[180810] != null)
  6779.                         {
  6780.                             Kernel.Maps[1002].AddNpc(Kernel.Maps[1002].Dragon[180810]);
  6781.                             Kernel.Maps[1002].Dragon.Remove(180810);
  6782.                             var n = Kernel.Maps[1002].Npcs[180810] as Interfaces.IMapObject;
  6783.                             killer.Owner.SendScreen(new MsgAction(true)
  6784.                             {
  6785.                                 UID = 180810,
  6786.                                 ID = MsgAction.Mode.SpawnEffect
  6787.                             }, true);
  6788.                         }
  6789.                     }
  6790.                     foreach (var Ownerr in Server.GamePool)
  6791.                     {
  6792.                         if (Ownerr.Player.MapID == 1002)
  6793.                         {
  6794.                             foreach (Interfaces.INpc npc in Kernel.Maps[1002].Npcs.Values)
  6795.                             {
  6796.                                 if (npc != null)
  6797.                                 {
  6798.                                     if (npc.UID == 180810)
  6799.                                     {
  6800.                                         if (Kernel.GetDistance(npc.X, npc.Y, Ownerr.Player.X, Ownerr.Player.Y) < 16)
  6801.                                         {
  6802.                                             npc.SendSpawn(Ownerr, false);
  6803.                                         }
  6804.                                     }
  6805.                                 }
  6806.  
  6807.                             }
  6808.                         }
  6809.                     }
  6810.                 }
  6811.                 return;
  6812.             }
  6813.             #endregion
  6814.             #region ChillingSpook
  6815.             if (Name == "ChillingSpook")
  6816.                 {
  6817.                     uint ItemID = 0;
  6818.                     byte type1 = 11;
  6819.                     for (int i = 0; i < 5; i++)
  6820.                     {
  6821.                         type1 = (byte)Kernel.Random.Next(1, 11);
  6822.                         switch (type1)
  6823.                         {
  6824.                             case 1:
  6825.                                 ItemID = 3004181;
  6826.                                 break;
  6827.                             case 2:
  6828.                                 ItemID = 3004181;
  6829.                                 break;
  6830.                             case 3:
  6831.                                 ItemID = 3004181;
  6832.                                 break;
  6833.                             case 4:
  6834.                                 ItemID = 3009002;
  6835.                                 break;
  6836.                             case 5:
  6837.                                 ItemID = 3009002;
  6838.                                 break;
  6839.                             case 6:
  6840.                                 ItemID = 3008727;
  6841.                                 break;
  6842.                             case 7:
  6843.                                 ItemID = 3008727;
  6844.                                 break;
  6845.                             case 8:
  6846.                                 ItemID = 3009002;
  6847.                                 break;
  6848.                             case 9:
  6849.                                 ItemID = 3008727;
  6850.                                 break;
  6851.                             case 10:
  6852.                                 ItemID = 720731;
  6853.                                 break;
  6854.                         }
  6855.                         var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  6856.                         ushort X = Owner.X, Y = Owner.Y;
  6857.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  6858.                         if (Map.SelectCoordonates(ref X, ref Y))
  6859.                         {
  6860.                             Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  6861.                             MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  6862.                             MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  6863.                             MsgMapItem.Item.ID = ItemID;
  6864.                             MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  6865.                             MsgMapItem.Item.MaximDurability = infos.Durability;
  6866.                             MsgMapItem.Item.Durability = infos.Durability;
  6867.                             MsgMapItem.Item.MobDropped = true;
  6868.                             MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  6869.                             MsgMapItem.ItemID = ItemID;
  6870.                             MsgMapItem.MapID = 10137;
  6871.                             MsgMapItem.MapObjType = Game.MapObjectType.Item;
  6872.                             MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
  6873.                             MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
  6874.                             MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  6875.                             MsgMapItem.OnFloor = Time32.Now;
  6876.                             MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6877.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6878.                             while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6879.  
  6880.                                 MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6881.  
  6882.                             Map.AddFloorItem(MsgMapItem);
  6883.  
  6884.                             SendScreenSpawn(MsgMapItem);
  6885.                         }
  6886.                     }
  6887.                     //killer.ConquerPoints += 80000;
  6888.                    // killer.BoundCps += 10000;
  6889.                     MonsterSpwonBoss.ChillingSpook = false;
  6890.                     //killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated ChillingSpook and got 80,000 ConquerPoints && 10,000 BoundCps.", System.Drawing.Color.Azure, MsgTalk.Center));
  6891.                     return;
  6892.                 }
  6893.             #endregion
  6894.             #region BloodyBanshee
  6895.             if (Name == "BloodyBanshee")
  6896.             {
  6897.                 uint ItemID = 0;
  6898.                 byte type1 = 11;
  6899.                 for (int i = 0; i < 5; i++)
  6900.                 {
  6901.                     type1 = (byte)Kernel.Random.Next(1, 11);
  6902.                     switch (type1)
  6903.                     {
  6904.                         case 1:
  6905.                             ItemID = 3004181;
  6906.                             break;
  6907.                         case 2:
  6908.                             ItemID = 3004181;
  6909.                             break;
  6910.                         case 3:
  6911.                             ItemID = 3004181;
  6912.                             break;
  6913.                         case 4:
  6914.                             ItemID = 3009002;
  6915.                             break;
  6916.                         case 5:
  6917.                             ItemID = 3009002;
  6918.                             break;
  6919.                         case 6:
  6920.                             ItemID = 3008727;
  6921.                             break;
  6922.                         case 7:
  6923.                             ItemID = 3008727;
  6924.                             break;
  6925.                         case 8:
  6926.                             ItemID = 3009002;
  6927.                             break;
  6928.                         case 9:
  6929.                             ItemID = 3008727;
  6930.                             break;
  6931.                         case 10:
  6932.                             ItemID = 720731;
  6933.                             break;
  6934.                     }
  6935.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  6936.                     ushort X = Owner.X, Y = Owner.Y;
  6937.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  6938.                     if (Map.SelectCoordonates(ref X, ref Y))
  6939.                     {
  6940.                         Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  6941.                         MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  6942.                         MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  6943.                         MsgMapItem.Item.ID = ItemID;
  6944.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  6945.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  6946.                         MsgMapItem.Item.Durability = infos.Durability;
  6947.                         MsgMapItem.Item.MobDropped = true;
  6948.                         MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  6949.                         MsgMapItem.ItemID = ItemID;
  6950.                         MsgMapItem.MapID = 10137;
  6951.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  6952.                         MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
  6953.                         MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
  6954.                         MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  6955.                         MsgMapItem.OnFloor = Time32.Now;
  6956.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  6957.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6958.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  6959.  
  6960.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  6961.  
  6962.                         Map.AddFloorItem(MsgMapItem);
  6963.  
  6964.                         SendScreenSpawn(MsgMapItem);
  6965.                     }
  6966.                 }
  6967.                // killer.ConquerPoints += 80000;
  6968.                // killer.BoundCps += 10000;
  6969.                 MonsterSpwonBoss.BloodyBanshee = false;
  6970.               //  killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated BloodyBanshee and got 80,000 ConquerPoints && 10,000 BoundCps.", System.Drawing.Color.Azure, MsgTalk.Center));
  6971.                 return;
  6972.             }
  6973.             #endregion
  6974.             #region DragonWraith
  6975.             if (Name == "DragonWraith")
  6976.             {
  6977.                 uint ItemID = 0;
  6978.                 byte type1 = 11;
  6979.                 for (int i = 0; i < 5; i++)
  6980.                 {
  6981.                     type1 = (byte)Kernel.Random.Next(1, 11);
  6982.                     switch (type1)
  6983.                     {
  6984.                         case 1:
  6985.                             ItemID = 3004181;
  6986.                             break;
  6987.                         case 2:
  6988.                             ItemID = 3004181;
  6989.                             break;
  6990.                         case 3:
  6991.                             ItemID = 3004181;
  6992.                             break;
  6993.                         case 4:
  6994.                             ItemID = 3009002;
  6995.                             break;
  6996.                         case 5:
  6997.                             ItemID = 3009002;
  6998.                             break;
  6999.                         case 6:
  7000.                             ItemID = 3008727;
  7001.                             break;
  7002.                         case 7:
  7003.                             ItemID = 3008727;
  7004.                             break;
  7005.                         case 8:
  7006.                             ItemID = 3009002;
  7007.                             break;
  7008.                         case 9:
  7009.                             ItemID = 3008727;
  7010.                             break;
  7011.                         case 10:
  7012.                             ItemID = 720731;
  7013.                             break;
  7014.                     }
  7015.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  7016.                     ushort X = Owner.X, Y = Owner.Y;
  7017.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  7018.                     if (Map.SelectCoordonates(ref X, ref Y))
  7019.                     {
  7020.                         Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  7021.                         MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  7022.                         MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  7023.                         MsgMapItem.Item.ID = ItemID;
  7024.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  7025.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  7026.                         MsgMapItem.Item.Durability = infos.Durability;
  7027.                         MsgMapItem.Item.MobDropped = true;
  7028.                         MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  7029.                         MsgMapItem.ItemID = ItemID;
  7030.                         MsgMapItem.MapID = 10137;
  7031.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  7032.                         MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
  7033.                         MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
  7034.                         MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7035.                         MsgMapItem.OnFloor = Time32.Now;
  7036.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  7037.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7038.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  7039.  
  7040.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7041.  
  7042.                         Map.AddFloorItem(MsgMapItem);
  7043.  
  7044.                         SendScreenSpawn(MsgMapItem);
  7045.                     }
  7046.                 }
  7047.                 //killer.ConquerPoints += 80000;
  7048.                 //killer.BoundCps += 10000;
  7049.                 //killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated DragonWraith and got 80,000 ConquerPoints && 10,000 BoundCps.", System.Drawing.Color.Azure, MsgTalk.Center));
  7050.                 MonsterSpwonBoss.DragonWraith = false;
  7051.                 return;
  7052.             }
  7053.             #endregion
  7054.             #region QueenofEvil
  7055.             if (Name == "QueenofEvil")
  7056.                 {
  7057.                     uint ItemID = 0;
  7058.                     byte type1 = 11;
  7059.                     for (int i = 0; i < 10; i++)
  7060.                     {
  7061.                         type1 = (byte)Kernel.Random.Next(1, 11);
  7062.                         switch (type1)
  7063.                         {
  7064.                             case 1:
  7065.                                 ItemID = 3004181;
  7066.                                 break;
  7067.                             case 2:
  7068.                                 ItemID = 3004181;
  7069.                                 break;
  7070.                             case 3:
  7071.                                 ItemID = 3004181;
  7072.                                 break;
  7073.                             case 4:
  7074.                                 ItemID = 3009002;
  7075.                                 break;
  7076.                             case 5:
  7077.                                 ItemID = 3009002;
  7078.                                 break;
  7079.                             case 6:
  7080.                                 ItemID = 3008727;
  7081.                                 break;
  7082.                             case 7:
  7083.                                 ItemID = 3008727;
  7084.                                 break;
  7085.                             case 8:
  7086.                                 ItemID = 3009002;
  7087.                                 break;
  7088.                             case 9:
  7089.                                 ItemID = 3008727;
  7090.                                 break;
  7091.                             case 10:
  7092.                                 ItemID = 720731;
  7093.                                 break;
  7094.                         }
  7095.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  7096.                     ushort X = Owner.X, Y = Owner.Y;
  7097.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  7098.                     if (Map.SelectCoordonates(ref X, ref Y))
  7099.                     {
  7100.                         Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  7101.                         MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  7102.                         MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  7103.                         MsgMapItem.Item.ID = ItemID;
  7104.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  7105.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  7106.                         MsgMapItem.Item.Durability = infos.Durability;
  7107.                         MsgMapItem.Item.MobDropped = true;
  7108.                         MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  7109.                         MsgMapItem.ItemID = ItemID;
  7110.                         MsgMapItem.MapID = 10137;
  7111.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  7112.                         MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
  7113.                         MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
  7114.                         MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7115.                         MsgMapItem.OnFloor = Time32.Now;
  7116.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  7117.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7118.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  7119.  
  7120.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7121.  
  7122.                         Map.AddFloorItem(MsgMapItem);
  7123.  
  7124.                         SendScreenSpawn(MsgMapItem);
  7125.                     }
  7126.                     }
  7127.                       killer.ConquerPoints += 500000;
  7128.                       killer.BoundCps += 50000;
  7129.                     MonsterSpwonBoss.QueenofEvil = false;
  7130.                      killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated QueenofEvil and got 500,000 ConquerPoints && 50,000 BoundCps.", System.Drawing.Color.Azure, MsgTalk.Center));
  7131.                     return;
  7132.                 }
  7133.             #endregion
  7134.             #region NetherTyrant
  7135.                 if (Name == "NetherTyrant")
  7136.             {
  7137.                 uint ItemID = 0;
  7138.                 byte type1 = 11;
  7139.                 for (int i = 0; i < 5; i++)
  7140.                 {
  7141.                     type1 = (byte)Kernel.Random.Next(1, 11);
  7142.                     switch (type1)
  7143.                     {
  7144.                         case 1:
  7145.                             ItemID = 3004181;
  7146.                             break;
  7147.                         case 2:
  7148.                             ItemID = 3004181;
  7149.                             break;
  7150.                         case 3:
  7151.                             ItemID = 3004181;
  7152.                             break;
  7153.                         case 4:
  7154.                             ItemID = 3009002;
  7155.                             break;
  7156.                         case 5:
  7157.                             ItemID = 3009002;
  7158.                             break;
  7159.                         case 6:
  7160.                             ItemID = 3008727;
  7161.                             break;
  7162.                         case 7:
  7163.                             ItemID = 3008727;
  7164.                             break;
  7165.                         case 8:
  7166.                             ItemID = 3009002;
  7167.                             break;
  7168.                         case 9:
  7169.                             ItemID = 3008727;
  7170.                             break;
  7171.                         case 10:
  7172.                             ItemID = 720731;
  7173.                             break;
  7174.                     }
  7175.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  7176.                     ushort X = Owner.X, Y = Owner.Y;
  7177.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  7178.                     if (Map.SelectCoordonates(ref X, ref Y))
  7179.                     {
  7180.                         Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  7181.                         MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  7182.                         MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  7183.                         MsgMapItem.Item.ID = ItemID;
  7184.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  7185.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  7186.                         MsgMapItem.Item.Durability = infos.Durability;
  7187.                         MsgMapItem.Item.MobDropped = true;
  7188.                         MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  7189.                         MsgMapItem.ItemID = ItemID;
  7190.                         MsgMapItem.MapID = 10137;
  7191.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  7192.                         MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
  7193.                         MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
  7194.                         MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7195.                         MsgMapItem.OnFloor = Time32.Now;
  7196.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  7197.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7198.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  7199.  
  7200.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7201.  
  7202.                         Map.AddFloorItem(MsgMapItem);
  7203.  
  7204.                         SendScreenSpawn(MsgMapItem);
  7205.                     }
  7206.                 }
  7207.                // killer.ConquerPoints += 80000;
  7208.                // killer.BoundCps += 10000;
  7209.               //  killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated NetherTyrant and got 80,000 ConquerPoints && 10,000 BoundCps.", System.Drawing.Color.Azure, MsgTalk.Center));
  7210.                 MonsterSpwonBoss.NetherTyrant = false;
  7211.                 return;
  7212.             }
  7213.             #endregion
  7214.             #region ThunderDragon
  7215.             if (Name == "ThunderDragon")
  7216.             {
  7217.                 uint ItemID = 0;
  7218.                 byte type1 = 19;
  7219.                 for (int i = 0; i < 5; i++)
  7220.                 {
  7221.                     type1 = (byte)Kernel.Random.Next(1, 19);
  7222.                     switch (type1)
  7223.                     {
  7224.                         case 1:
  7225.                             ItemID = 3309945;
  7226.                             break;
  7227.                         case 2:
  7228.                             ItemID = 3309946;
  7229.                             break;
  7230.                         case 3:
  7231.                             ItemID = 3309947;
  7232.                             break;
  7233.                         case 4:
  7234.                             ItemID = 3309948;
  7235.                             break;
  7236.                         case 5:
  7237.                             ItemID = 3309949;
  7238.                             break;
  7239.                         case 6:
  7240.                             ItemID = 3309950;
  7241.                             break;
  7242.                         case 7:
  7243.                             ItemID = 3309951;
  7244.                             break;
  7245.                         case 8:
  7246.                             ItemID = 3309952;
  7247.                             break;
  7248.                         case 9:
  7249.                             ItemID = 3309953;
  7250.                             break;
  7251.                         case 10:
  7252.                             ItemID = 3309954;
  7253.                             break;
  7254.                         case 11:
  7255.                             ItemID = 3309955;
  7256.                             break;
  7257.                         case 12:
  7258.                             ItemID = 3309956;
  7259.                             break;
  7260.                         case 13:
  7261.                             ItemID = 3309957;
  7262.                             break;
  7263.                         case 14:
  7264.                             ItemID = 3309958;
  7265.                             break;
  7266.                         case 15:
  7267.                             ItemID = 3309959;
  7268.                             break;
  7269.                         case 16:
  7270.                             ItemID = 3309960;
  7271.                             break;
  7272.                         case 17:
  7273.                             ItemID = 3309961;
  7274.                             break;
  7275.  
  7276.                               }
  7277.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  7278.                     ushort X = Owner.X, Y = Owner.Y;
  7279.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  7280.                     if (Map.SelectCoordonates(ref X, ref Y))
  7281.                     {
  7282.                         Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  7283.                         MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  7284.                         MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  7285.                         MsgMapItem.Item.ID = ItemID;
  7286.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  7287.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  7288.                         MsgMapItem.Item.Durability = infos.Durability;
  7289.                         MsgMapItem.Item.MobDropped = true;
  7290.                         MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  7291.                         MsgMapItem.ItemID = ItemID;
  7292.                         MsgMapItem.MapID = 10137;
  7293.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  7294.                         MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 9));
  7295.                         MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 8));
  7296.                         MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7297.                         MsgMapItem.OnFloor = Time32.Now;
  7298.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  7299.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7300.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  7301.  
  7302.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7303.  
  7304.                         Map.AddFloorItem(MsgMapItem);
  7305.  
  7306.                         SendScreenSpawn(MsgMapItem);
  7307.                     }
  7308.                 }
  7309.  
  7310.                 if (Kernel.Rate(25))
  7311.                 {
  7312.                     for (int i = 0; i < 1; i++)
  7313.                     {
  7314.                         type1 = (byte)Kernel.Random.Next(1, 4);
  7315.                         switch (type1)
  7316.                         {
  7317.                             case 1:
  7318.                                 ItemID = 3300053;
  7319.                                 break;
  7320.                             case 2:
  7321.                                 ItemID = 3300054;
  7322.                                 break;
  7323.                             case 3:
  7324.                                 ItemID = 3300055;
  7325.                                 break;
  7326.  
  7327.                         }
  7328.                         var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  7329.                         ushort X = Owner.X, Y = Owner.Y;
  7330.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  7331.                         if (Map.SelectCoordonates(ref X, ref Y))
  7332.                         {
  7333.                             Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  7334.                             MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  7335.                             MsgMapItem.Item.Color = (AboGamil.Game.Enums.Color)Kernel.Random.Next(4, 8);
  7336.                             MsgMapItem.Item.ID = ItemID;
  7337.                             //MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  7338.                             MsgMapItem.Item.MaximDurability = infos.Durability;
  7339.                             MsgMapItem.Item.Durability = infos.Durability;
  7340.                             MsgMapItem.Item.MobDropped = true;
  7341.                             MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  7342.                             MsgMapItem.ItemID = ItemID;
  7343.                             MsgMapItem.MapID = 10137;
  7344.                             MsgMapItem.MapObjType = Game.MapObjectType.Item;
  7345.                             MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 10));
  7346.                             MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 8));
  7347.                             MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7348.                             MsgMapItem.OnFloor = Time32.Now;
  7349.                             MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  7350.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7351.                             while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  7352.  
  7353.                                 MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7354.  
  7355.                             Map.AddFloorItem(MsgMapItem);
  7356.  
  7357.                             SendScreenSpawn(MsgMapItem);
  7358.                         }
  7359.                     }
  7360.                 }
  7361.                // killer.ConquerPoints += 100000;
  7362.                // killer.BoundCps += 30000;
  7363.                // killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated ThunderDragon and got 100,000 ConquerPoints && 30,000 BoundCps.", System.Drawing.Color.Azure, MsgTalk.Center));
  7364.                 MonsterSpwonBoss.ThunderDragon = false;
  7365.                 return;
  7366.             }
  7367.             #endregion
  7368.             #region GoldBox Money
  7369.             if (Name == "GoldBox")
  7370.             {
  7371.  
  7372.                 uint amount = (uint)Kernel.Random.Next((int)MinMoneyDropAmount, (int)MaxMoneyDropAmount);
  7373.                 amount *= Constants.MoneyDropMultiple;
  7374.                 if (amount > 2000)
  7375.                     amount = 1000;
  7376.                 if (amount == 0) return;
  7377.                 uint ItemID = ItemHandler.MoneyItemID(amount);
  7378.  
  7379.                 ushort X = Owner.X, Y = Owner.Y;
  7380.                 Game.Map Map = Kernel.Maps[Owner.MapID];
  7381.                 if (Map.SelectCoordonates(ref X, ref Y))
  7382.                 {
  7383.                     Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  7384.                     MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
  7385.                     MsgMapItem.Value = amount;
  7386.                     MsgMapItem.ItemID = ItemID;
  7387.                     MsgMapItem.MapID = Owner.MapID;
  7388.                     MsgMapItem.MapObjType = Game.MapObjectType.Item;
  7389.                     MsgMapItem.X = X;
  7390.                     MsgMapItem.Y = Y;
  7391.                     MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7392.                     MsgMapItem.OnFloor = Time32.Now;
  7393.                     MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7394.                     while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  7395.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7396.                     Map.AddFloorItem(MsgMapItem);
  7397.                     SendScreenSpawn(MsgMapItem);
  7398.                 }
  7399.             }
  7400.  
  7401.  
  7402.             #endregion
  7403.             #region GoldBox
  7404.             if (Name == "GoldBox")
  7405.             {
  7406.                 uint ItemID = 0;
  7407.                 byte type1 = 11;
  7408.                 for (int i = 0; i < 2; i++)
  7409.                 {
  7410.                     type1 = (byte)Kernel.Random.Next(1, 6);
  7411.                     switch (type1)
  7412.                     {
  7413.                         case 1:
  7414.                             ItemID = 3004233;//AntiBreak
  7415.                             break;
  7416.  
  7417.                         case 2:
  7418.                             ItemID = 3004234;//Immunity
  7419.                             break;
  7420.  
  7421.                         case 3:
  7422.                             ItemID = 3004233;//AntiBreak
  7423.                             break;
  7424.  
  7425.                         case 4:
  7426.                             ItemID = 3004234;//Immunity
  7427.                             break;
  7428.                         case 5:
  7429.                             ItemID = 3004233;//AntiBreak
  7430.                             break;
  7431.  
  7432.                         case 6:
  7433.                             ItemID = 3004234;//Immunity
  7434.                             break;
  7435.                     }
  7436.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  7437.                     ushort X = Owner.X, Y = Owner.Y;
  7438.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  7439.                     if (Map.SelectCoordonates(ref X, ref Y))
  7440.                     {
  7441.                         Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
  7442.                         MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
  7443.                         MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(2, 4);
  7444.                         MsgMapItem.Item.ID = ItemID;
  7445.                         MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
  7446.                         MsgMapItem.Item.MaximDurability = infos.Durability;
  7447.                         MsgMapItem.Item.Durability = infos.Durability;
  7448.                         MsgMapItem.Item.MobDropped = true;
  7449.  
  7450.                         MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  7451.                         MsgMapItem.ItemID = ItemID;
  7452.                         MsgMapItem.MapID = Owner.MapID;
  7453.                         MsgMapItem.MapObjType = Game.MapObjectType.Item;
  7454.                         MsgMapItem.X = X;
  7455.                         MsgMapItem.Y = Y;
  7456.                         MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7457.                         MsgMapItem.OnFloor = Time32.Now;
  7458.                         MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  7459.                         MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7460.                         while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  7461.  
  7462.                             MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7463.  
  7464.                         Map.AddFloorItem(MsgMapItem);
  7465.  
  7466.                         SendScreenSpawn(MsgMapItem);
  7467.  
  7468.  
  7469.                     }
  7470.                 }
  7471.  
  7472.                 #region Place Messge
  7473.                 if (Database.MonsterSpawn.mapxy == 1)
  7474.                 {
  7475.                     killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(291,349)!");
  7476.                 }
  7477.                 if (Database.MonsterSpawn.mapxy == 2)
  7478.                 {
  7479.                     killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(164,270)!");
  7480.                 }
  7481.                 if (Database.MonsterSpawn.mapxy == 3)
  7482.                 {
  7483.                     killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(118,181)!");
  7484.                 }
  7485.                 if (Database.MonsterSpawn.mapxy == 4)
  7486.                 {
  7487.                     killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(137,088)!");
  7488.                 }
  7489.                 if (Database.MonsterSpawn.mapxy == 5)
  7490.                 {
  7491.                     killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(229,106)!");
  7492.                 }
  7493.                 #endregion
  7494.                 Kernel.goldbox = false;
  7495.                 if (killer.Owner.Quests.HasQuest(QuestID.GoldBox))
  7496.                 {
  7497.                     if ((killer.Owner.Quests.CheckQuest(QuestID.GoldBox) == AboGamil.Network.GamePackets.MsgTaskStatus.QuestData.QuestStatus.Accepted))
  7498.                     {
  7499.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.GoldBox, 1);
  7500.                         killer.Owner.Player.GoldBox = 1;
  7501.                     }
  7502.                 }
  7503.                 killer.Owner.Inventory.AddTime(3004296);
  7504.                 killer.Owner.Inventory.AddTime(3004296);
  7505.                 return;
  7506.             }
  7507.  
  7508.             #endregion        
  7509.             #region LavaBeast
  7510.             if (Name == "LavaBeast")
  7511.             {
  7512.                 killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated LavaBeast and got random of materials.", System.Drawing.Color.Azure, MsgTalk.Center));
  7513.                 uint ItemID = 0;
  7514.                 byte type1 = 27;
  7515.                 for (int i = 0; i < 1; i++)
  7516.                 {
  7517.                     type1 = (byte)Kernel.Random.Next(1, 27);
  7518.                     switch (type1)
  7519.                     {
  7520.                         case 1:
  7521.                             ItemID = 724352;
  7522.                             break;
  7523.                         case 2:
  7524.                             ItemID = 724357;
  7525.                             break;
  7526.                         case 3:
  7527.                             ItemID = 724362;
  7528.                             break;
  7529.                         case 4:
  7530.                             ItemID = 724367;
  7531.                             break;
  7532.                         case 5:
  7533.                             ItemID = 724372;
  7534.                             break;
  7535.                         case 6:
  7536.                             ItemID = 724377;
  7537.                             break;
  7538.                         case 7:
  7539.                             ItemID = 724384;
  7540.                             break;
  7541.                         case 8:
  7542.                             ItemID = 724389;
  7543.                             break;
  7544.                         case 9:
  7545.                             ItemID = 724394;
  7546.                             break;
  7547.                         case 10:
  7548.                             ItemID = 724404;
  7549.                             break;
  7550.                         case 11:
  7551.                             ItemID = 724409;
  7552.                             break;
  7553.                         case 12:
  7554.                             ItemID = 724414;
  7555.                             break;
  7556.                         case 13:
  7557.                             ItemID = 724419;
  7558.                             break;
  7559.                         case 14:
  7560.                             ItemID = 724424;
  7561.                             break;
  7562.                         case 15:
  7563.                             ItemID = 724429;
  7564.                             break;
  7565.                         case 16:
  7566.                             ItemID = 724434;
  7567.                             break;
  7568.                         case 17:
  7569.                             ItemID = 724439;
  7570.                             break;
  7571.                         case 18:
  7572.                             ItemID = 724444;
  7573.                             break;
  7574.                         case 19:
  7575.                             ItemID = 724453;
  7576.                             break;
  7577.                         case 20:
  7578.                             ItemID = 724458;
  7579.                             break;
  7580.                         case 21:
  7581.                             ItemID = 724463;
  7582.                             break;
  7583.                         case 22:
  7584.                             ItemID = 724477;
  7585.                             break;
  7586.                         case 23:
  7587.                             ItemID = 724482;
  7588.                             break;
  7589.                         case 24:
  7590.                             ItemID = 724487;
  7591.                             break;
  7592.                         case 25:
  7593.                             ItemID = 724492;
  7594.                             break;
  7595.                         case 26:
  7596.                             ItemID = 724497;
  7597.                             break;
  7598.                         case 27:
  7599.                             ItemID = 724502;
  7600.                             break;
  7601.                     }
  7602.                     var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  7603.                     ushort X = Owner.X, Y = Owner.Y;
  7604.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  7605.                     if (Map.SelectCoordonates(ref X, ref Y))
  7606.                     {
  7607.                         Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  7608.                         floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
  7609.                         floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  7610.                         floorItem.Item.ID = ItemID;
  7611.                         floorItem.Item.Plus = floorItem.Item.Plus;
  7612.                         floorItem.Item.MaximDurability = infos.Durability;
  7613.                         floorItem.Item.StackSize = 1;
  7614.                         floorItem.Item.MaxStackSize = infos.StackSize;
  7615.                         floorItem.Item.Durability = infos.Durability;
  7616.                         floorItem.Item.MobDropped = true;
  7617.                        
  7618.                         floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  7619.                         floorItem.ItemID = ItemID;
  7620.                         floorItem.MapID = Owner.MapID;
  7621.                         floorItem.MapObjType = Game.MapObjectType.Item;
  7622.                         floorItem.X = X;
  7623.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  7624.                        
  7625.                         floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7626.                         floorItem.OnFloor = Time32.Now;
  7627.                         floorItem.ItemColor = floorItem.Item.Color;
  7628.                         floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7629.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  7630.  
  7631.                             floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7632.  
  7633.                         Map.AddFloorItem(floorItem);
  7634.  
  7635.                         SendScreenSpawn(floorItem);
  7636.                     }
  7637.                 }
  7638.             }
  7639.             #endregion            
  7640.             #region Ganoderma and titan
  7641.             if (Name.Contains("Ganoderma") || Name.Contains("Titan"))
  7642.             {
  7643.                 killer.DoubleExperienceTime = 3600;
  7644.             }
  7645.             #endregion
  7646.             #endregion            
  7647.             #region BrightFortune
  7648.             #region AngerRat
  7649.             if (Name == "AngerRat")
  7650.             {
  7651.  
  7652.                 #region AngerRat
  7653.                 killer.Owner.Quests.IncreaseQuestKills(QuestID.BloodVengeance, 1);
  7654.                 if (killer.Owner.Quests.GetQuest(QuestID.BloodVengeance) != null && killer.Owner.Quests.GetQuest(QuestID.BloodVengeance).Kills < 10)
  7655.                 {
  7656.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.BloodVengeance, 1);
  7657.                 }
  7658.                 else if (killer.Owner.Quests.GetQuest(QuestID.BloodVengeance) != null && killer.Owner.Quests.GetQuest(QuestID.BloodVengeance).Kills >= 10)
  7659.                 {
  7660.                     killer.Owner.MessageBox("You`ve eliminated enough number of Anger Rats. Hurry and report back to Chong Yan Elder!",
  7661.                        p =>
  7662.                        {
  7663.                            MsgAction data = new MsgAction(true);
  7664.                            data.UID = p.Player.UID;
  7665.                            data.TimeStamp2 = 19163;
  7666.                            data.ID = (MsgAction.Mode)162;
  7667.                            data.wParam1 = 142;
  7668.                            data.wParam2 = 320;
  7669.                            p.Send(data);
  7670.                        }, null);
  7671.                 }
  7672.                 #endregion
  7673.             }
  7674.             #endregion
  7675.             #region FlameRockMonste
  7676.             if (Name.Contains("FlameRockMonste"))
  7677.             {
  7678.                 #region FlameRockMonste
  7679.                 if (killer.Owner.Inventory.Contains(3008752, 8))
  7680.                 {
  7681.  
  7682.                     killer.Owner.MessageBox("You`ve collected enough number of Rune Fragments. Go and try to complete the runes on the Forge Furnace.",
  7683.                         p =>
  7684.                         {
  7685.                             MsgAction data = new MsgAction(true);
  7686.                             data.UID = p.Player.UID;
  7687.                             data.TimeStamp2 = 19163;
  7688.                             data.ID = (MsgAction.Mode)162;
  7689.                             data.wParam1 = 311;
  7690.                             data.wParam2 = 449;
  7691.                             p.Send(data);
  7692.                         }, null);
  7693.                 }
  7694.                 else
  7695.                 {
  7696.                     if (Kernel.Rate(20))
  7697.                     {
  7698.  
  7699.                         killer.Owner.Inventory.Add(3008752, 0, 1);
  7700.                         MsgName str = new MsgName(true);
  7701.                         str.UID = killer.Owner.Player.UID;
  7702.                         str.TextsCount = 1;
  7703.                         str.Type = (int)MsgName.Mode.Effect;
  7704.                         str.Texts.Add("zf2-e123");
  7705.                         killer.Owner.SendScreen(str, true);
  7706.  
  7707.                     }
  7708.  
  7709.                 }
  7710.                 #endregion
  7711.             }
  7712.             #endregion
  7713.             #region VioletBatKing
  7714.             if (Name == "VioletBatKing")
  7715.             {
  7716.                 #region VioletBatKing
  7717.                 if (!killer.Owner.Inventory.Contains(3008750, 1) && killer.Owner.Quests.GetQuest(QuestID.SecretOfBright) != null)
  7718.                 {
  7719.                     killer.Owner.Inventory.Add(3008750, 0, 1);
  7720.                     killer.Owner.MessageBox("The Violet Bat King fell down and dropped an ancient-style hammer. Hurry and take this hammer to the Forge Furnace.",
  7721.                         p =>
  7722.                         {
  7723.                             MsgAction data = new MsgAction(true);
  7724.                             data.UID = p.Player.UID;
  7725.                             data.TimeStamp2 = 19165;
  7726.                             data.ID = (MsgAction.Mode)162;
  7727.                             data.wParam1 = 311;
  7728.                             data.wParam2 = 449;
  7729.                             p.Send(data);
  7730.                         }, null);
  7731.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.SecretOfBright, 1);
  7732.                 }
  7733.                 #endregion
  7734.             }
  7735.             #endregion
  7736.             #region LavaScorpion
  7737.             if (Name == "LavaScorpion")
  7738.             {
  7739.                 #region LavaScorpion
  7740.                 if (killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead) != null && killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead).Kills >= 15)
  7741.                 {
  7742.                     killer.Owner.MessageBox("You`ve defeated enough number of Lava Scorpions. Now, you can appease the sacrificed Bright people.",
  7743.                        p =>
  7744.                        {
  7745.                            MsgAction data = new MsgAction(true);
  7746.                            data.UID = p.Player.UID;
  7747.                            data.TimeStamp2 = 19165;
  7748.                            data.ID = (MsgAction.Mode)162;
  7749.                            data.wParam1 = 251;
  7750.                            data.wParam2 = 277;
  7751.                            p.Send(data);
  7752.                        }, null);
  7753.                 }
  7754.                 else if (killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead) != null && killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead).Kills1 < 15)
  7755.                 {
  7756.                     killer.Owner.Quests.IncreaseQuestKills5(QuestID.SacrificetotheDead, 1);
  7757.  
  7758.                 }
  7759.                 #endregion
  7760.             }
  7761.             #endregion
  7762.             #region RoaringSnake
  7763.             if (Name == "RoaringSnake")
  7764.             {
  7765.                 #region RoaringSnake
  7766.                 if (killer.Owner.Inventory.Contains(3008742, 50) && killer.Owner.Quests.GetQuest(QuestID.SorrowofDesolation) != null)
  7767.                 {
  7768.                     killer.Owner.MessageBox("You`ve collect enough number of Building Stones. Go and try to restore the ruined altar.",
  7769.                        p =>
  7770.                        {
  7771.                            MsgAction data = new MsgAction(true);
  7772.                            data.UID = p.Player.UID;
  7773.                            data.TimeStamp2 = 19165;
  7774.                            data.ID = (MsgAction.Mode)162;
  7775.                            data.wParam1 = 578;
  7776.                            data.wParam2 = 419;
  7777.                            p.Send(data);
  7778.                        }, null);
  7779.                 }
  7780.                 else
  7781.                 {
  7782.                     killer.Owner.Inventory.Add(3008742, 0, 1);
  7783.                 }
  7784.                 #endregion
  7785.             }
  7786.             #endregion
  7787.             #region ClawedRockDevil
  7788.             if (Name == "ClawedRockDevil")
  7789.             {
  7790.                 #region ClawedRockDevil
  7791.                 if (killer.Owner.Inventory.Contains(3008743, 1))
  7792.                 {
  7793.                 }
  7794.                 else
  7795.                 {
  7796.  
  7797.                     if (Kernel.Rate(40))
  7798.                     {
  7799.                         killer.Owner.Inventory.Add(3008743, 0, 1);
  7800.                         killer.Owner.MessageBox("You`ve retrieved the Wheel of Nature from the Clawed Rock Devil. Hurry and take the next action at the altar.",
  7801.                            p =>
  7802.                            {
  7803.                                MsgAction data = new MsgAction(true);
  7804.                                data.UID = p.Player.UID;
  7805.                                data.TimeStamp2 = 19165;
  7806.                                data.ID = (MsgAction.Mode)162;
  7807.                                data.wParam1 = 573;
  7808.                                data.wParam2 = 423;
  7809.                                p.Send(data);
  7810.                            }, null);
  7811.  
  7812.                     }
  7813.                 }
  7814.                 #endregion
  7815.             }
  7816.             #endregion
  7817.             #region HornedRockBeast
  7818.             if (Name == "HornedRockBeast")
  7819.             {
  7820.                 #region HornedRockBeast
  7821.                 if (!killer.Owner.Inventory.Contains(3008745, 1))
  7822.                 {
  7823.                     if (killer.Owner.Inventory.Contains(3008754, 5))
  7824.                     {
  7825.  
  7826.                         killer.Owner.Inventory.Add(3008745, 0, 1);
  7827.                         killer.Owner.Inventory.Remove(3008754, 5);
  7828.                         killer.Owner.MessageBox("You received the Earth Force! Hurry and transform it into Metal Force through the Wheel of Nature!",
  7829.                            p =>
  7830.                            {
  7831.                                MsgAction data = new MsgAction(true);
  7832.                                data.UID = p.Player.UID;
  7833.                                data.TimeStamp2 = 19165;
  7834.                                data.ID = (MsgAction.Mode)162;
  7835.                                data.wParam1 = 578;
  7836.                                data.wParam2 = 419;
  7837.                                p.Send(data);
  7838.                            }, null);
  7839.  
  7840.                     }
  7841.                     else
  7842.                     {
  7843.  
  7844.                         if (Kernel.Rate(40))
  7845.                         {
  7846.                             killer.Owner.Inventory.Add(3008754, 0, 1);
  7847.  
  7848.                         }
  7849.                     }
  7850.                 }
  7851.                 #endregion
  7852.             }
  7853.             #endregion
  7854.             #region HellfireBeast
  7855.             if (Name == "HellfireBeast")
  7856.             {
  7857.                 #region HellfireBeast
  7858.                 if (killer.Owner.Inventory.Contains(3008748, 100))
  7859.                 {
  7860.                     killer.Owner.MessageBox("You`ve collected enough number of Star Ores. Go and try to extract the Essence of Star at the altar.",
  7861.                        p =>
  7862.                        {
  7863.                            MsgAction data = new MsgAction(true);
  7864.                            data.UID = p.Player.UID;
  7865.                            data.TimeStamp2 = 19165;
  7866.                            data.ID = (MsgAction.Mode)162;
  7867.                            data.wParam1 = 571;
  7868.                            data.wParam2 = 424;
  7869.                            p.Send(data);
  7870.                        }, null);
  7871.  
  7872.                 }
  7873.                 else
  7874.                 {
  7875.                     killer.Owner.Inventory.Add(3008748, 0, 5);
  7876.  
  7877.                 }
  7878.                 #endregion
  7879.             }
  7880.             #endregion
  7881.             #endregion
  7882.             #region Treasure In The Blue
  7883.             if (Name == "CoinsStealer")
  7884.             {
  7885.                 if (Kernel.Rate(6))
  7886.                 {
  7887.                     killer.Owner.Inventory.AddTime(711611, 60);
  7888.                     killer.Owner.Send(new MsgTalk("You activated CopperCoin.", System.Drawing.Color.Red, MsgTalk.TopLeft));
  7889.                 }
  7890.                 else if (Kernel.Rate(3))
  7891.                 {
  7892.                     killer.Owner.Inventory.AddTime(711610, 60);
  7893.                     killer.Owner.Send(new MsgTalk("You activated SilverCoin.", System.Drawing.Color.Red, MsgTalk.TopLeft));
  7894.                 }
  7895.                 else if (Kernel.Rate(1))
  7896.                 {
  7897.                     killer.Owner.Inventory.AddTime(711609, 60);
  7898.                     killer.Owner.Send(new MsgTalk("You activated GoldCoin.", System.Drawing.Color.Red, MsgTalk.TopLeft));
  7899.                 }
  7900.             }
  7901.             if (Name == "SilverOctopus")
  7902.             {
  7903.                 if (Kernel.Rate(50))
  7904.                 {
  7905.                     killer.Owner.Inventory.AddTime(711610, 60);
  7906.                     killer.Owner.Send(new MsgTalk("You activated SilverCoin.", System.Drawing.Color.Red, MsgTalk.TopLeft));
  7907.                 }
  7908.             }
  7909.             if (Name == "GoldenOctopus")
  7910.             {
  7911.                 killer.Owner.Inventory.AddTime(711609, 60);
  7912.                 int r = Kernel.Random.Next(1, 5);
  7913.                 uint ItemID = 0;
  7914.                 if (r == 1)
  7915.                     ItemID = 723700;
  7916.                 if (r == 2)
  7917.                     ItemID = 723727;
  7918.                 if (r == 3)
  7919.                     ItemID = 710212;
  7920.                 if (r == 4)
  7921.                     ItemID = 723341;
  7922.                 if (r == 5)
  7923.                     ItemID = 1088001;
  7924.                 var infoss = Database.ConquerItemInformation.BaseInformations[ItemID];
  7925.                 ushort XX = Owner.X, YY = Owner.Y;
  7926.                 Game.Map MMap = Kernel.Maps[Owner.MapID];
  7927.                 if (MMap.SelectCoordonates(ref XX, ref YY))
  7928.                 {
  7929.                     Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  7930.                     floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
  7931.                     floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
  7932.                     floorItem.Item.ID = ItemID;
  7933.                     floorItem.Item.Plus = floorItem.Item.Plus;
  7934.                     floorItem.Item.MaximDurability = infoss.Durability;
  7935.                     floorItem.Item.Durability = infoss.Durability;
  7936.                     floorItem.Item.MobDropped = true;
  7937.                     floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  7938.                     floorItem.ItemID = ItemID;
  7939.                     floorItem.MapID = Owner.MapID;
  7940.  
  7941.                     floorItem.Item.StackSize = 1;
  7942.                     floorItem.Item.MaxStackSize = infoss.StackSize;
  7943.                     floorItem.MapObjType = Game.MapObjectType.Item;
  7944.                     floorItem.X = XX;
  7945.  
  7946.                     floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = YY;
  7947.  
  7948.                     floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  7949.                     floorItem.OnFloor = Time32.Now;
  7950.                     floorItem.ItemColor = floorItem.Item.Color;
  7951.                     floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7952.                     while (MMap.Npcs.ContainsKey(floorItem.UID))
  7953.                         floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  7954.                     MMap.AddFloorItem(floorItem);
  7955.                     SendScreenSpawn(floorItem);
  7956.                 }
  7957.             }
  7958.             #endregion
  7959.             #region Scramble
  7960.             if (killer.MapID == 3935)
  7961.             {
  7962.                 if (killer.Owner.Quests.GetQuest(QuestID.ScrambleforJustice) == null || killer.Owner.Quests.CheckQuest(QuestID.ScrambleforJustice) == MsgTaskStatus.QuestData.QuestStatus.Available)
  7963.                     killer.Owner.Quests.Accept(QuestID.ScrambleforJustice);
  7964.                 if (killer.Owner.Quests.GetQuest(QuestID.ScrambleforJustice).QItem.Status != MsgTaskStatus.QuestData.QuestStatus.Finished)
  7965.                 {
  7966.                     if (Name == "AlluringWitch")
  7967.                     {
  7968.                         killer.Owner.MessageBox("You`ve defeated the AlluringWitch! Here's your reward!");
  7969.                         killer.Owner.Quests.FinishQuest(QuestID.ScrambleforJustice);
  7970.                         killer.Owner.Inventory.Add("SavageBone");
  7971.                     }
  7972.                 }
  7973.             }
  7974.             #endregion
  7975.             #region DailyQuest
  7976.             if (Name == "Pheasant")
  7977.             {
  7978.                 if (killer.PheasantPoint < 11 && killer.Owner.Quests.CheckQuest(QuestID.First_Stab_2, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  7979.                     killer.PheasantPoint++;
  7980.                 if (killer.PheasantPoint >= 10 && killer.Owner.Quests.CheckQuest(QuestID.First_Stab_2, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  7981.                 {
  7982.  
  7983.                     killer.Owner.Quests.SendPathFinding("You~have~killed~10~Pheasants.~Now~report~back~to~the~TC~Captain.", 1002, 309, 340, 2001);
  7984.                 }
  7985.                 if (killer.Owner.Quests.HasQuest(QuestID.First_Stab_2))
  7986.                 {
  7987.                     switch (killer.Owner.Quests.CheckQuest(QuestID.First_Stab_2))
  7988.                     {
  7989.                         case MsgTaskStatus.QuestData.QuestStatus.Accepted:
  7990.                             {
  7991.                                 var quest = killer.Owner.Quests.GetQuest(QuestID.First_Stab_2);
  7992.  
  7993.  
  7994.                                 killer.Owner.Quests.IncreaseQuestKills(quest.QItem.UID, killer.PheasantPoint);
  7995.  
  7996.                                 break;
  7997.                             }
  7998.                     }
  7999.                 }
  8000.             }
  8001.             if (Name == "Turtledove")
  8002.             {
  8003.                 if (killer.Owner.Quests.CheckQuest(QuestID.Letter_Delivery_2, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  8004.                 {
  8005.  
  8006.                     if (killer.Owner.Inventory.Count <= 39)
  8007.                     {
  8008.                         killer.Owner.Inventory.Add(711236, 0, 1);
  8009.                         killer.Owner.Quests.SendPathFinding("Hurry and deliver the Plume Letter to Xu Liang, on the Wind Plain. If you lost the letter, you can claim another one from", 1002, 384, 251, 7991);
  8010.                     }
  8011.                 }
  8012.             }
  8013.             if (Name == "Robin")
  8014.             {
  8015.                 if (killer.Owner.Quests.CheckQuest(QuestID.Robin_Elimination, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  8016.                 {
  8017.                     killer.PheasantPoint++;
  8018.                     if (killer.PheasantPoint < 11)
  8019.                     {
  8020.  
  8021.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Robin_Elimination, killer.PheasantPoint);
  8022.  
  8023.                     }
  8024.                     if (killer.PheasantPoint >= 10)
  8025.                     {
  8026.                         killer.Owner.Quests.SendPathFinding("Hurry and take the prize From Xu Liang, on the Wind Plain", 1002, 453, 436, 7992);
  8027.                     }
  8028.                 }
  8029.                 if (killer.Owner.Quests.CheckQuest(QuestID.Feather_Collection, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  8030.                 {
  8031.  
  8032.                     if (killer.Owner.Inventory.Contains(711238, 10))
  8033.                     {
  8034.  
  8035.                         killer.Owner.Quests.SendPathFinding("Hurry and take the prize From ArtisanLuo, on the Wind Plain", 1002, 439, 433, 4467);
  8036.  
  8037.                     }
  8038.                     if (killer.Owner.Inventory.Count <= 39)
  8039.                     {
  8040.  
  8041.                         killer.Owner.Inventory.Add(711238, 0, 1);
  8042.  
  8043.                     }
  8044.                     else
  8045.                     {
  8046.                         killer.Owner.Quests.SendPathFinding("ArtisanLuo is lack of materials to make arrows. Go help him hunt Robins and bring back 10 Robin Feathers", 1002, 442, 431, 4467);
  8047.                     }
  8048.                 }
  8049.             }
  8050.             if (Name == "Poltergeist" || Name == "Apparition")
  8051.             {
  8052.                 if (killer.Owner.Quests.CheckQuest(QuestID.Love_Confession_3, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  8053.                 {
  8054.  
  8055.                     if (killer.Owner.Inventory.Count <= 39)
  8056.                     {
  8057.  
  8058.                         killer.Owner.Inventory.Add(711241, 0, 1);
  8059.  
  8060.                     }
  8061.                     if (killer.Owner.Inventory.Contains(711241, 1))
  8062.                     {
  8063.  
  8064.                         killer.Owner.Quests.SendPathFinding("Hurry and take the prize From RuHua, on the Wind Plain", 1002, 417, 511, 7993);
  8065.  
  8066.                     }
  8067.                 }
  8068.                 if (killer.Owner.Quests.CheckQuest(QuestID.Ghostly_Secrets_III, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  8069.                 {
  8070.  
  8071.                     if (killer.Owner.Inventory.Count <= 39)
  8072.                     {
  8073.  
  8074.                         killer.Owner.Inventory.Add(720776, 0, 1);
  8075.  
  8076.                     }
  8077.                     if (killer.Owner.Inventory.Contains(720776, 5))
  8078.                     {
  8079.  
  8080.                         killer.Owner.Quests.SendPathFinding("Hurry and take the prize From MasterHao, on the Wind Plain", 1002, 419, 523, 7994);
  8081.  
  8082.                     }
  8083.                 }
  8084.                 if (killer.Owner.Quests.CheckQuest(QuestID.Ghostly_Secrets_I, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  8085.                 {
  8086.  
  8087.                     if (killer.Owner.Inventory.Count <= 39)
  8088.                     {
  8089.  
  8090.                         killer.Owner.Inventory.Add(711244, 0, 1);
  8091.  
  8092.                     }
  8093.                     if (killer.Owner.Inventory.Contains(711244, 1))
  8094.                     {
  8095.  
  8096.                         killer.Owner.Quests.SendPathFinding("Hurry and take the prize From MasterHao, on the Wind Plain", 1002, 419, 523, 7994);
  8097.  
  8098.                     }
  8099.                 }
  8100.                 if (killer.Owner.Quests.CheckQuest(QuestID.Capture_Spirit_I, MsgTaskStatus.QuestData.QuestStatus.Accepted))
  8101.                 {
  8102.  
  8103.                     if (killer.PheasantPoint < 11)
  8104.                     {
  8105.                         killer.PheasantPoint++;
  8106.                         killer.Owner.Quests.IncreaseQuestKills(QuestID.Capture_Spirit_I, killer.PheasantPoint);
  8107.                     }
  8108.                     if (killer.PheasantPoint >= 10)
  8109.                     {
  8110.  
  8111.                         killer.Owner.Quests.SendPathFinding("Hurry and take the prize From Fortuneteller, on the Wind Plain", 1002, 412, 512, 600050);
  8112.  
  8113.                     }
  8114.                 }
  8115.             }
  8116.             #endregion
  8117.             #region Gold Drop
  8118.             if (Kernel.Rate(Constants.MoneyDropRate))
  8119.             {
  8120.                 if (Kernel.Rate(30))
  8121.                 {
  8122.                     if (killer.MapID == 2102 || killer.MapID == 3935) return;
  8123.                     uint amount = (uint)Kernel.Random.Next(Level * 2, Level * 6);
  8124.                     if (Level >= 0 && Level <= 5)
  8125.                         amount = (uint)Kernel.Random.Next(100, 100);
  8126.                     if (amount > 1000000)
  8127.                         amount = 6000000;
  8128.                     uint ItemID = ItemHandler.MoneyItemID(amount);
  8129.                     ushort X = Owner.X, Y = Owner.Y;
  8130.                     Game.Map Map = Kernel.Maps[Owner.MapID];
  8131.                     if (Map.SelectCoordonates(ref X, ref Y))
  8132.                     {
  8133.                         Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  8134.                         floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
  8135.                         floorItem.Value = amount;
  8136.                         floorItem.ItemID = ItemID;
  8137.                         floorItem.MapID = Owner.MapID;
  8138.                         floorItem.MapObjType = Game.MapObjectType.Item;
  8139.                         floorItem.X = X;
  8140.                         floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  8141.                         floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  8142.                         floorItem.OnFloor = Time32.Now;
  8143.                         floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  8144.                         while (Map.Npcs.ContainsKey(floorItem.UID))
  8145.                             floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  8146.                         Map.AddFloorItem(floorItem);
  8147.                         SendScreenSpawn(floorItem);
  8148.                     }
  8149.                 }
  8150.                 else
  8151.                 {
  8152.                     if (Kernel.Rate(8))
  8153.                     {
  8154.                         if (killer.MapID == 2102 || killer.MapID == 3935) return;
  8155.                         int r = Kernel.Random.Next(1, 5);
  8156.                         for (int x = 0; x < r; x++)
  8157.                         {
  8158.                             uint amount = (uint)Kernel.Random.Next(Level * 2, Level * 6);
  8159.                             if (Level >= 0 && Level <= 5)
  8160.                                 amount = (uint)Kernel.Random.Next(100, 100);
  8161.                             if (amount > 1000000)
  8162.                                 amount = 6000000;
  8163.                             uint ItemID = ItemHandler.MoneyItemID(amount);
  8164.                             ushort X = Owner.X, Y = Owner.Y;
  8165.                             Game.Map Map = Kernel.Maps[Owner.MapID];
  8166.                             if (Map.SelectCoordonates(ref X, ref Y))
  8167.                             {
  8168.                                 Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
  8169.                                 floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
  8170.                                 floorItem.Value = amount;
  8171.                                 floorItem.ItemID = ItemID;
  8172.                                 floorItem.MapID = Owner.MapID;
  8173.                                 floorItem.MapObjType = Game.MapObjectType.Item;
  8174.                                 floorItem.X = X;
  8175.                                 floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
  8176.                                 floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
  8177.                                 floorItem.OnFloor = Time32.Now;
  8178.                                 floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  8179.                                 while (Map.Npcs.ContainsKey(floorItem.UID))
  8180.                                     floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  8181.                                 Map.AddFloorItem(floorItem);
  8182.                                 SendScreenSpawn(floorItem);
  8183.                             }
  8184.                         }
  8185.                     }
  8186.                 }
  8187.             }
  8188.             #endregion
  8189.             #region Mobs Drop
  8190.             if (Kernel.Rate(20))
  8191.             {
  8192.                 {
  8193.                     uint amount = (uint)Kernel.Random.Next(20, 100);
  8194.                     killer.ConquerPoints += amount;
  8195.                     if (killer.InHangUp)
  8196.                         killer.ConquerPoints -= amount * 20 / 100;
  8197.                     if (killer.InHangUp)
  8198.                         killer.Owner.Send(new MsgTalk(Name + " You get [ " + amount * 20 / 100 + " ].", System.Drawing.Color.Yellow, MsgTalk.TopLeft));
  8199.                     else
  8200.                         killer.Owner.Send(new MsgTalk(Name + " You get [ " + amount + " ].", System.Drawing.Color.Yellow, MsgTalk.TopLeft));
  8201.  
  8202.                 }
  8203.                 if (killer.InHangUp)
  8204.                 {
  8205.                     uint amount = (uint)Kernel.Random.Next(1, 50);
  8206.                     killer.ConquerPoints += amount;
  8207.                     if (killer.InHangUp)
  8208.                         killer.ConquerPoints -= amount * 1 / 50;
  8209.                     if (killer.InHangUp)
  8210.                         killer.Owner.Send(new MsgTalk(Name + " You get [ " + amount * 1 / 50 + " ] Cps", System.Drawing.Color.Yellow, MsgTalk.TopLeft));
  8211.                     else
  8212.                         killer.Owner.Send(new MsgTalk(Name + " You get [ " + amount + " ] Cps", System.Drawing.Color.Yellow, MsgTalk.TopLeft));
  8213.  
  8214.                 }
  8215.             }
  8216.             #endregion
  8217.             #region Mobs Drop Item
  8218.             if (killer.PlayerFlag == PlayerFlag.Player)
  8219.             {
  8220.                 if (Kernel.Rate(5))
  8221.                 {
  8222.                     uint ItemID = 0;
  8223.                     byte type1 = 1;
  8224.                     for (int i = 0; i < 1; i++)
  8225.                     {
  8226.                         type1 = (byte)Kernel.Random.Next(1, 3);
  8227.                         switch (type1)
  8228.                         {
  8229.                             case 1:
  8230.                                 ItemID = 3008226;
  8231.                                 break;
  8232.                             case 2:
  8233.                                 ItemID = 3305426;
  8234.                                 break;
  8235.                         }
  8236.                         var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
  8237.                         ushort X = Owner.X, Y = Owner.Y;
  8238.                         Game.Map Map = Kernel.Maps[Owner.MapID];
  8239.                         if (Map.SelectCoordonates(ref X, ref Y))
  8240.                         {
  8241.                             Network.GamePackets.MsgMapItem Floor = new Network.GamePackets.MsgMapItem(true);
  8242.                             Floor.Item = new Network.GamePackets.MsgItemInfo(true);
  8243.                             Floor.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  8244.                             Floor.Item.ID = ItemID;
  8245.                             Floor.Item.Plus = Floor.Item.Plus;
  8246.                             Floor.Item.MaximDurability = infos.Durability;
  8247.                             Floor.Item.Durability = infos.Durability;
  8248.                             Floor.Item.MobDropped = true;
  8249.                             Floor.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
  8250.                             Floor.ItemID = ItemID;
  8251.                             Floor.MapID = Owner.MapID;
  8252.                             Floor.MapObjType = Game.MapObjectType.Item;
  8253.                             Floor.X = X;
  8254.                             Floor.Y = Y;
  8255.                             Floor.Type = Network.GamePackets.MsgMapItem.Drop;
  8256.                             Floor.OnFloor = Time32.Now;
  8257.                             Floor.ItemColor = Floor.Item.Color;
  8258.                             Floor.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  8259.                             while (Map.Npcs.ContainsKey(Floor.UID))
  8260.                                 Floor.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
  8261.                             Map.AddFloorItem(Floor);
  8262.                             SendScreenSpawn(Floor);
  8263.                         }
  8264.                     }
  8265.                 }
  8266.                 return;
  8267.             }
  8268.             #endregion
  8269.             #region DisCity
  8270.  
  8271.             if (Name == "Naga")
  8272.             {
  8273.                 killer.DisKO += 1;
  8274.                 killer.Owner.Send(new MsgTalk("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Red, MsgTalk.TopLeft));
  8275.                 return;
  8276.             }
  8277.             if (Name == "Temptress")
  8278.             {
  8279.                 killer.DisKO += 1;
  8280.                 killer.Owner.Send(new MsgTalk("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Red, MsgTalk.TopLeft));
  8281.                 return;
  8282.             }
  8283.             if (Name == "Centicore")
  8284.             {
  8285.                 killer.DisKO += 1;
  8286.                 killer.Owner.Send(new MsgTalk("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Red, MsgTalk.TopLeft));
  8287.                 return;
  8288.             }
  8289.             if (Name == "HellTroll")
  8290.             {
  8291.                 killer.DisKO += 3;
  8292.                 killer.Owner.Send(new MsgTalk("Congratulations! You have got 3 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Red, MsgTalk.TopLeft));
  8293.                 return;
  8294.             }
  8295.             #endregion
  8296.             #region Labirinth
  8297.             #region Slinger-GoldGhost
  8298.             if (Name == "Slinger" || Name == "GoldGhost")
  8299.             {
  8300.                 uint Uid = 0;
  8301.                 byte type = (byte)Kernel.Random.Next(1, 45);
  8302.                 switch (type)
  8303.                 {
  8304.                     case 5:
  8305.                     case 4:
  8306.                     case 6:
  8307.                     case 8:
  8308.                         if (!killer.Owner.Inventory.Contains(3007529, 5))
  8309.                         {
  8310.                             killer.Owner.Inventory.Add(3007529, 0, 1);
  8311.                         }
  8312.                         break;
  8313.                     case 32:
  8314.                     case 30:
  8315.                         if (killer.Owner.Inventory.Contains(3007528, 5))
  8316.                             return;
  8317.                         killer.Owner.Inventory.Add(3007528, 0, 1);
  8318.                         killer.Update(MsgName.Mode.Effect, "waybee", true);
  8319.                         break;
  8320.                     case 25:
  8321.                     case 24:
  8322.                         if (!killer.Owner.Inventory.Contains(721537, 5))
  8323.                         {
  8324.                             killer.Owner.Inventory.Add(721537, 0, 1);
  8325.                         }
  8326.                         break;
  8327.                     case 2:
  8328.                     case 7:
  8329.                     case 9:
  8330.                         Uid = 721533;
  8331.                         killer.Owner.Send(Constants.DroppedItem(Database.ConquerItemInformation.BaseInformations[721533].Name));
  8332.                         break;
  8333.                     case 19:
  8334.                     case 20:
  8335.                     case 21:
  8336.                     case 22:
  8337.                     case 23:
  8338.                         killer.CycloneStamp = Time32.Now;
  8339.                         killer.CycloneTime = 20;
  8340.                         killer.AddFlag((ulong)MsgUpdate.Flags.Cyclone);
  8341.                         killer.Owner.Send(new MsgTalk("You received Storm effect!", System.Drawing.Color.CadetBlue, MsgTalk.System));
  8342.                         break;
  8343.                 }
  8344.                 if (Uid != 0)
  8345.                 {
  8346.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  8347.                 }
  8348.             }
  8349.             #endregion
  8350.             #region Bladeling-AgileRat
  8351.             if (Name == "Bladeling" || Name == "AgileRat")
  8352.             {
  8353.                 uint Uid = 0;
  8354.                 byte type = (byte)Kernel.Random.Next(1, 45);
  8355.                 switch (type)
  8356.                 {
  8357.                     case 5:
  8358.                     case 6:
  8359.                     case 8:
  8360.                     case 4:
  8361.                         if (!killer.Owner.Inventory.Contains(3007529, 5))
  8362.                             killer.Owner.Inventory.Add(3007529, 0, 1);
  8363.                         break;
  8364.  
  8365.                     case 30:
  8366.                     case 32:
  8367.                         if (!killer.Owner.Inventory.Contains(3007528, 5))
  8368.                         {
  8369.                             killer.Owner.Inventory.Add(3007528, 0, 1);
  8370.                             killer.Update(MsgName.Mode.Effect, "waybee", true);
  8371.                         }
  8372.                         break;
  8373.                     case 24:
  8374.                         if (!killer.Owner.Inventory.Contains(721538, 5))
  8375.                             killer.Owner.Inventory.Add(721538, 0, 1);
  8376.                         break;
  8377.                     case 25:
  8378.                         if (!killer.Owner.Inventory.Contains(721538, 5))
  8379.                             killer.Owner.Inventory.Add(721538, 0, 1);
  8380.                         break;
  8381.                     case 2:
  8382.                     case 7:
  8383.                     case 9:
  8384.                         Uid = 721534;
  8385.                         break;
  8386.                     case 19:
  8387.                     case 20:
  8388.                     case 21:
  8389.                     case 22:
  8390.                     case 23:
  8391.                         killer.CycloneStamp = Time32.Now;
  8392.                         killer.CycloneTime = 20;
  8393.                         killer.AddFlag((ulong)MsgUpdate.Flags.Cyclone);
  8394.                         killer.Owner.Send(new MsgTalk("You received Storm effect!", System.Drawing.Color.CadetBlue, MsgTalk.System));
  8395.                         break;
  8396.                 }
  8397.  
  8398.                 if (Uid != 0)
  8399.                 {
  8400.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  8401.                 }
  8402.             }
  8403.             #endregion
  8404.             #region FiendBat-BlueBird
  8405.             if (Name == "FiendBat" || Name == "BlueBird")
  8406.             {
  8407.                 uint Uid = 0;
  8408.                 byte type = (byte)Kernel.Random.Next(1, 45);
  8409.                 switch (type)
  8410.                 {
  8411.                     case 5:
  8412.                     case 4:
  8413.                     case 6:
  8414.                     case 8:
  8415.                         if (!killer.Owner.Inventory.Contains(3007529, 5))
  8416.                             killer.Owner.Inventory.Add(3007529, 0, 1);
  8417.                         break;
  8418.                     case 30:
  8419.                     case 32:
  8420.                         if (!killer.Owner.Inventory.Contains(3007528, 5))
  8421.                         {
  8422.                             killer.Owner.Inventory.Add(3007528, 0, 1);
  8423.                             killer.Update(MsgName.Mode.Effect, "waybee", true);
  8424.                         }
  8425.                         break;
  8426.                     case 24:
  8427.                     case 25:
  8428.                         if (killer.Owner.Inventory.Contains(721539, 5))
  8429.                             killer.Owner.Inventory.Add(721539, 0, 1);
  8430.                         break;
  8431.                     case 2:
  8432.                     case 7:
  8433.                     case 9:
  8434.                         Uid = 721535;
  8435.                         break;
  8436.                     case 19:
  8437.                     case 20:
  8438.                     case 21:
  8439.                     case 22:
  8440.                     case 23:
  8441.                         killer.CycloneStamp = Time32.Now;
  8442.                         killer.CycloneTime = 20;
  8443.                         killer.AddFlag((ulong)MsgUpdate.Flags.Cyclone);
  8444.                         killer.Owner.Send(new MsgTalk("You received Storm effect!", System.Drawing.Color.CadetBlue, MsgTalk.System));
  8445.                         break;
  8446.                 }
  8447.  
  8448.                 if (Uid != 0)
  8449.                 {
  8450.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  8451.                 }
  8452.             }
  8453.             #endregion
  8454.             #region MinotaurL120
  8455.             if (Name == "MinotaurL120")
  8456.             {
  8457.                 uint Uid = 0;
  8458.                 byte type = (byte)Kernel.Random.Next(1, 45);
  8459.                 switch (type)
  8460.                 {
  8461.                     case 5:
  8462.                     case 4:
  8463.                     case 6:
  8464.                     case 8:
  8465.                         if (!killer.Owner.Inventory.Contains(3007529, 5))
  8466.                             killer.Owner.Inventory.Add(3007529, 0, 1);
  8467.                         break;
  8468.                     case 30:
  8469.                     case 32:
  8470.                         if (!killer.Owner.Inventory.Contains(3007528, 5))
  8471.                         {
  8472.                             killer.Owner.Inventory.Add(3007528, 0, 1);
  8473.                             killer.Update(MsgName.Mode.Effect, "waybee", true);
  8474.                         }
  8475.                         break;
  8476.                     case 2:
  8477.                     case 7:
  8478.                     case 9:
  8479.                         Uid = 721536;
  8480.                         break;
  8481.                     case 19:
  8482.                     case 20:
  8483.                     case 21:
  8484.                     case 22:
  8485.                     case 23:
  8486.                         killer.CycloneStamp = Time32.Now;
  8487.                         killer.CycloneTime = 20;
  8488.                         killer.AddFlag((ulong)MsgUpdate.Flags.Cyclone);
  8489.                         killer.Owner.Send(new MsgTalk("You received Storm effect!", System.Drawing.Color.CadetBlue, MsgTalk.System));
  8490.                         break;
  8491.                 }
  8492.  
  8493.                 if (Uid != 0)
  8494.                 {
  8495.                     killer.Owner.Inventory.Add(Uid, 0, 1);
  8496.                 }
  8497.             }
  8498.             #endregion
  8499.             #endregion
  8500.             #region Warrior Quest
  8501.             if (Name == "SealingStele")
  8502.             {
  8503.                 {
  8504.  
  8505.                     INpc npc = new Network.GamePackets.NpcSpawn();
  8506.  
  8507.                     killer.Owner.Map.Npcs[npc.UID = 19257].X = 51;
  8508.                     killer.Owner.Map.Npcs[npc.UID = 19257].Y = 43;
  8509.  
  8510.                     killer.Owner.Screen.FullWipe();
  8511.                     killer.Owner.Screen.Reload(null);
  8512.                     MsgName str = new MsgName(true);
  8513.                     str.Type = 10;
  8514.                     str.UID = killer.UID;
  8515.                     str.Texts.Add("cantask");
  8516.  
  8517.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Mind_of_Evil, 1);
  8518.  
  8519.                 }
  8520.             }
  8521.             if (Name == "TinyMindofEvil")
  8522.             {
  8523.                 {
  8524.  
  8525.                     INpc npc = new Network.GamePackets.NpcSpawn();
  8526.  
  8527.                     killer.Owner.Map.Npcs[npc.UID = 19259].X = 40;
  8528.                     killer.Owner.Map.Npcs[npc.UID = 19259].Y = 45;
  8529.  
  8530.                     killer.Owner.Screen.FullWipe();
  8531.                     killer.Owner.Screen.Reload(null);
  8532.                     MsgName str = new MsgName(true);
  8533.                     str.Type = 10;
  8534.                     str.UID = killer.UID;
  8535.                     str.Texts.Add("cantask");
  8536.  
  8537.                     killer.Owner.Quests.IncreaseQuestKills(QuestID.Weird_Formation, 1);
  8538.  
  8539.                 }
  8540.             }
  8541.             #endregion
  8542.             #region Grotto
  8543.             #region DarkElf
  8544.             if (Name == "DarkElf" && Kernel.Rate(90))
  8545.             {
  8546.  
  8547.                 uint b = 0;
  8548.                 uint ban = (uint)Kernel.Random.Next(1, 29);
  8549.                 switch (ban)
  8550.                 {
  8551.                     case 1: b = 721347; break;
  8552.                     case 2: b = 0; break;
  8553.                     case 3: b = 721347; break;
  8554.                     case 4: b = 0; break;
  8555.                     case 5: b = 0; break;
  8556.                     case 6: b = 721347; break;
  8557.                     case 7: b = 0; break;
  8558.                     case 8: b = 0; break;
  8559.                     case 9: b = 0; break;
  8560.                     case 10: b = 0; break;
  8561.                     case 11: b = 0; break;
  8562.                     case 12: b = 0; break;
  8563.                     case 13: b = 0; break;
  8564.                     case 14: b = 0; break;
  8565.                     case 15: b = 0; break;
  8566.                     case 16: b = 0; break;
  8567.                     case 17: b = 0; break;
  8568.                     case 18: b = 0; break;
  8569.                     case 19: b = 0; break;
  8570.                     case 20: b = 0; break;
  8571.                     case 21: b = 721347; break;
  8572.                     case 22: b = 0; break;
  8573.                     case 23: b = 0; break;
  8574.                     case 24: b = 0; break;
  8575.                     case 25: b = 0; break;
  8576.                     case 26: b = 0; break;
  8577.                     case 27: b = 0; break;
  8578.                     case 28: b = 0; break;
  8579.                     case 29: b = 0; break;
  8580.  
  8581.  
  8582.                 }
  8583.                 ushort X = Owner.X, Y = Owner.Y;
  8584.                 Map Map = Kernel.Maps[Owner.MapID];
  8585.                 if (Map.SelectCoordonates(ref X, ref Y))
  8586.                 {
  8587.                     MsgMapItem MsgMapItem = new MsgMapItem(true);
  8588.                     MsgMapItem.Item = new MsgItemInfo(true);
  8589.                     MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  8590.                     MsgMapItem.Item.ID = b;
  8591.                     MsgMapItem.Item.MobDropped = true;
  8592.                     MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  8593.                     MsgMapItem.ItemID = b;
  8594.                     MsgMapItem.MapID = Owner.MapID;
  8595.                     MsgMapItem.MapObjType = MapObjectType.Item;
  8596.                     MsgMapItem.X = X;
  8597.                     MsgMapItem.Y = Y;
  8598.                     MsgMapItem.Owner = killer.Owner;
  8599.                     MsgMapItem.Type = MsgMapItem.Drop;
  8600.                     MsgMapItem.OnFloor = Time32.Now;
  8601.                     MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  8602.                     MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  8603.                     while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  8604.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  8605.                     Map.AddFloorItem(MsgMapItem);
  8606.                     SendScreenSpawn(MsgMapItem);
  8607.                 }
  8608.  
  8609.             }
  8610.             #endregion
  8611.             #region GrottoLady
  8612.             if (Name == "GrottoLady" && Kernel.Rate(90))
  8613.             {
  8614.  
  8615.                 uint b = 0;
  8616.                 uint ban = (uint)Kernel.Random.Next(1, 29);
  8617.                 switch (ban)
  8618.                 {
  8619.                     case 1: b = 721347; break;
  8620.                     case 2: b = 0; break;
  8621.                     case 3: b = 721347; break;
  8622.                     case 4: b = 0; break;
  8623.                     case 5: b = 0; break;
  8624.                     case 6: b = 721347; break;
  8625.                     case 7: b = 0; break;
  8626.                     case 8: b = 0; break;
  8627.                     case 9: b = 0; break;
  8628.                     case 10: b = 0; break;
  8629.                     case 11: b = 0; break;
  8630.                     case 12: b = 0; break;
  8631.                     case 13: b = 0; break;
  8632.                     case 14: b = 0; break;
  8633.                     case 15: b = 0; break;
  8634.                     case 16: b = 0; break;
  8635.                     case 17: b = 0; break;
  8636.                     case 18: b = 0; break;
  8637.                     case 19: b = 0; break;
  8638.                     case 20: b = 0; break;
  8639.                     case 21: b = 721347; break;
  8640.                     case 22: b = 0; break;
  8641.                     case 23: b = 0; break;
  8642.                     case 24: b = 0; break;
  8643.                     case 25: b = 0; break;
  8644.                     case 26: b = 0; break;
  8645.                     case 27: b = 0; break;
  8646.                     case 28: b = 0; break;
  8647.                     case 29: b = 0; break;
  8648.  
  8649.  
  8650.                 }
  8651.                 ushort X = Owner.X, Y = Owner.Y;
  8652.                 Map Map = Kernel.Maps[Owner.MapID];
  8653.                 if (Map.SelectCoordonates(ref X, ref Y))
  8654.                 {
  8655.                     MsgMapItem MsgMapItem = new MsgMapItem(true);
  8656.                     MsgMapItem.Item = new MsgItemInfo(true);
  8657.                     MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
  8658.                     MsgMapItem.Item.ID = b;
  8659.                     MsgMapItem.Item.MobDropped = true;
  8660.                     MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
  8661.                     MsgMapItem.ItemID = b;
  8662.                     MsgMapItem.MapID = Owner.MapID;
  8663.                     MsgMapItem.MapObjType = MapObjectType.Item;
  8664.                     MsgMapItem.X = X;
  8665.                     MsgMapItem.Y = Y;
  8666.                     MsgMapItem.Owner = killer.Owner;
  8667.                     MsgMapItem.Type = MsgMapItem.Drop;
  8668.                     MsgMapItem.OnFloor = Time32.Now;
  8669.                     MsgMapItem.ItemColor = MsgMapItem.Item.Color;
  8670.                     MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  8671.                     while (Map.Npcs.ContainsKey(MsgMapItem.UID))
  8672.                         MsgMapItem.UID = MsgMapItem.FloorUID.Next;
  8673.                     Map.AddFloorItem(MsgMapItem);
  8674.                     SendScreenSpawn(MsgMapItem);
  8675.                 }
  8676.             }
  8677.             }
  8678.             #endregion
  8679.             #endregion
  8680.      
  8681.         public void SendScreen(byte[] buffer)
  8682.         {
  8683.             foreach (Client.GameState client in Server.GamePool)
  8684.             {
  8685.                 if (client != null)
  8686.                 {
  8687.                     if (client.Player != null)
  8688.                     {
  8689.                         if (client.Player.UID != ExcludeFromSend)
  8690.                         {
  8691.                             if (Kernel.GetDistance(client.Player.X, client.Player.Y, Owner.X, Owner.Y) > 18)//
  8692.                             {
  8693.                                 continue;
  8694.                             }
  8695.                             client.Send(buffer);
  8696.                         }
  8697.                     }
  8698.                 }
  8699.             }
  8700.         }
  8701.         public static bool ChanceSuccess(double Chance)
  8702.         {
  8703.             int num = Kernel.Random.Next(10000000);
  8704.             double num2 = (double)num / 10000000.0 * 100.0;//100.0
  8705.             return Chance >= num2;
  8706.         }
  8707.         public void SendScreen(Interfaces.IPacket buffer)
  8708.         {
  8709.             SendScreen(buffer.ToArray());
  8710.         }
  8711.         public void SendScreenSpawn(Interfaces.IMapObject _object)
  8712.         {
  8713.             foreach (Client.GameState client in Server.GamePool)
  8714.             {
  8715.                 if (client != null)
  8716.                 {
  8717.                     if (client.Player != null)
  8718.                     {
  8719.                         if (client.Player.UID != ExcludeFromSend)
  8720.                         {
  8721.                             if (client.Map.ID == Owner.MapID)
  8722.                             {
  8723.                                 if (Kernel.GetDistance(client.Player.X, client.Player.Y, Owner.X, Owner.Y) > 25)//25
  8724.                                 {
  8725.                                     continue;
  8726.                                 }
  8727.                                 _object.SendSpawn(client, false);
  8728.                             }
  8729.                         }
  8730.                     }
  8731.                 }
  8732.             }
  8733.         }
  8734.         public static void GainSpirits(byte MobLevel, Player attacker)
  8735.         {
  8736.             try
  8737.             {
  8738.                 uint Spirt = 0;
  8739.                 if (MobLevel <= 70)
  8740.                 {
  8741.                     Spirt += 1;
  8742.                 }
  8743.                 else if (MobLevel >= 70 && MobLevel <= 99)
  8744.                 {
  8745.                     Spirt += 2;
  8746.                 }
  8747.                 else if (MobLevel >= 100 && MobLevel <= 119)
  8748.                 {
  8749.                     Spirt += 3;
  8750.                 }
  8751.                 else if (MobLevel >= 120 && MobLevel <= 140)
  8752.                 {
  8753.                     Spirt += 4;
  8754.                 }
  8755.                 attacker.spiritBeadsCount += Spirt;
  8756.                 attacker.Owner.Send(new MsgTalk("You received " + Spirt + " spirit!", System.Drawing.Color.Red, 2007));
  8757.                 if (attacker.spiritBeadsCount >= 2500 && attacker.Owner.Inventory.Contains(729611, 1))
  8758.                 {
  8759.                     attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
  8760.                 }
  8761.                 if (attacker.spiritBeadsCount >= 2000 && attacker.Owner.Inventory.Contains(729612, 1))
  8762.                 {
  8763.                     attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
  8764.                 }
  8765.                 if (attacker.spiritBeadsCount >= 1500 && attacker.Owner.Inventory.Contains(729613, 1))
  8766.                 {
  8767.                     attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
  8768.                 }
  8769.                 if (attacker.spiritBeadsCount >= 1000 && attacker.Owner.Inventory.Contains(729614, 1))
  8770.                 {
  8771.                     attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
  8772.                 }
  8773.                 if (attacker.spiritBeadsCount >= 500 && attacker.Owner.Inventory.Contains(729703, 1))
  8774.                 {
  8775.                     attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
  8776.                 }
  8777.             }
  8778.             catch (Exception line)
  8779.             {
  8780.                 Console.WriteLine(line);
  8781.             }
  8782.         }
  8783.  
  8784.         public bool IsRespawnAble { get; set; }
  8785.     }
  8786. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement