Guest User

Untitled

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