Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using AboGamil.Game;
- using System.Text;
- using System.Collections.Generic;
- using AboGamil.Network.GamePackets;
- using AboGamil.Interfaces;
- using MagicOnline;
- namespace AboGamil.Database
- {
- public unsafe class MonsterInformation
- {
- #region Definitions
- public Dictionary<uint, Client.GameState> boardscore = new Dictionary<uint, Client.GameState>(10000);
- public Dictionary<Game.Player, uint> Score = new Dictionary<Game.Player, uint>();
- public static SafeDictionary<uint, MonsterInformation> MonsterInformations = new SafeDictionary<uint, MonsterInformation>(8000);
- public Game.Player Owner;
- public Time32 Lastpop;
- public uint ExcludeFromSend = 0;
- private bool LabirinthDrop = false;
- public bool Guard, Reviver;
- public uint ID;
- public ushort Mesh;
- public byte Level;
- public uint Type;
- public string Name;
- public uint Hitpoints;
- public ushort Defence;
- public ushort ViewRange;
- public ushort AttackRange;
- public int RespawnTime;
- public uint MinAttack, MaxAttack;
- public byte AttackType;
- public ushort SpellID;
- public uint InSight;
- public bool Boss;
- public Time32 LastMove;
- public int MoveSpeed;
- public int RunSpeed;
- public int OwnItemID, OwnItemRate;
- public int HPPotionID, MPPotionID;
- public int AttackSpeed;
- public static byte NumAboGamil = 0;
- public int MinimumSpeed
- {
- get
- {
- int min = 10000000;
- if (min > MoveSpeed)
- min = MoveSpeed;
- if (min > RunSpeed)
- min = RunSpeed;
- if (min > AttackSpeed)
- min = AttackSpeed;
- return min;
- }
- }
- public uint ExtraExperience;
- public uint MinMoneyDropAmount;
- public uint MaxMoneyDropAmount;
- public ushort BoundX, BoundY;
- public ushort BoundCX, BoundCY;
- public const int ReviverID = 9879;
- #endregion
- public static void Load()
- {
- using (var command = new MySqlCommand(MySqlCommandType.SELECT))
- {
- command.Select("monsterinfos");
- using (var reader = command.CreateReader())
- {
- Console.Write("Loading Monster information... ");
- while (reader.Read())
- {
- Console.Write("\b{0}", Loading.NextChar());
- MonsterInformation mf = new MonsterInformation();
- mf.ID = reader.ReadUInt32("id");
- mf.Name = reader.ReadString("name");
- mf.Type = reader.ReadUInt32("type");
- mf.Mesh = reader.ReadUInt16("lookface");
- mf.Level = reader.ReadByte("level");
- mf.Hitpoints = reader.ReadUInt32("life");
- IniFile IniFile = new IniFile(Constants.MonstersPath);
- if (IniFile.ReadString(mf.Name, "MaxLife") != "")
- {
- if (uint.Parse(IniFile.ReadString(mf.Name, "MaxLife")) != 0)
- {
- mf.Hitpoints = uint.Parse(IniFile.ReadString(mf.Name, "MaxLife"));
- byte boss = byte.Parse(IniFile.ReadString(mf.Name, "Boss"));
- if (boss == 0)
- mf.Boss = false;
- else mf.Boss = true;
- }
- }
- mf.Guard = mf.Name.Contains("Guard1");
- mf.Reviver = mf.ID == ReviverID;
- mf.ViewRange = reader.ReadUInt16("view_range");
- mf.AttackRange = reader.ReadUInt16("attack_range");
- mf.Defence = reader.ReadUInt16("defence");
- mf.AttackType = reader.ReadByte("attack_user");
- mf.MinAttack = reader.ReadUInt32("attack_min");
- mf.MaxAttack = reader.ReadUInt32("attack_max");
- mf.SpellID = reader.ReadUInt16("magic_type");
- mf.MoveSpeed = reader.ReadInt32("move_speed");
- mf.RunSpeed = reader.ReadInt32("run_speed");
- mf.OwnItemID = reader.ReadInt32("ownitem");
- mf.OwnItemRate = reader.ReadInt32("ownitemrate");
- mf.AttackSpeed = reader.ReadInt32("attack_speed");
- mf.ExtraExperience = reader.ReadUInt32("extra_exp");
- uint MoneyDropAmount = reader.ReadUInt16("level");
- if (MoneyDropAmount != 0)
- {
- mf.MaxMoneyDropAmount = MoneyDropAmount * 100;
- if (mf.MaxMoneyDropAmount != 0)
- mf.MinMoneyDropAmount = 1;
- }
- if (mf.MoveSpeed <= 500)
- mf.MoveSpeed += 500;
- if (mf.AttackSpeed <= 500)
- mf.AttackSpeed += 500;
- MonsterInformations.Add(mf.ID, mf);
- byte lvl = mf.Level;
- if (mf.Name == "Slinger" || mf.Name == "GoldGhost" ||
- mf.Name == "GoldenOctopus" || mf.Name == "AgileRat" ||
- mf.Name == "Bladeling" || mf.Name == "BlueBird" ||
- mf.Name == "BlueFiend" || mf.Name == "MinotaurL120")
- {
- mf.LabirinthDrop = true;
- lvl = 20;
- }
- }
- }
- }
- Console.WriteLine("Ok!");
- }
- public MonsterInformation Copy()
- {
- MonsterInformation mf = new MonsterInformation();
- mf.ID = this.ID;
- mf.Name = this.Name;
- mf.Mesh = this.Mesh;
- mf.Level = this.Level;
- mf.Hitpoints = this.Hitpoints;
- mf.ViewRange = this.ViewRange;
- mf.AttackRange = this.AttackRange;
- mf.AttackType = this.AttackType;
- mf.MinAttack = this.MinAttack;
- mf.MaxAttack = this.MaxAttack;
- mf.SpellID = this.SpellID;
- mf.MoveSpeed = this.MoveSpeed;
- mf.RunSpeed = this.RunSpeed;
- mf.AttackSpeed = this.AttackSpeed;
- mf.BoundX = this.BoundX;
- mf.BoundY = this.BoundY;
- mf.BoundCX = this.BoundCX;
- mf.BoundCY = this.BoundCY;
- mf.RespawnTime = this.RespawnTime;
- mf.ExtraExperience = this.ExtraExperience;
- mf.MaxMoneyDropAmount = this.MaxMoneyDropAmount;
- mf.MinMoneyDropAmount = this.MinMoneyDropAmount;
- mf.OwnItemID = this.OwnItemID;
- mf.HPPotionID = this.HPPotionID;
- mf.MPPotionID = this.MPPotionID;
- mf.OwnItemRate = this.OwnItemRate;
- mf.LabirinthDrop = this.LabirinthDrop;
- mf.Boss = this.Boss;
- mf.Guard = this.Guard;
- //mf.boardscore = this.boardscore;
- mf.Defence = this.Defence;
- mf.Reviver = this.Reviver;
- return mf;
- }
- #region DropItem
- public byte GetItemBless()
- {
- if (Kernel.Rate(1))
- return 1;
- else if (Kernel.Rate(1))
- return 3;
- return 0;
- }
- public byte GetItemPlus()
- {
- if (Kernel.Rate(1))
- return 1;
- else if (Kernel.Rate(1))
- return 2;
- return 0;
- }
- public uint GetItem()
- {
- try
- {
- int Normal = System.Convert.ToInt32(Constants.ItemDropQualityRates[0]);
- int Refined = System.Convert.ToInt32(Constants.ItemDropQualityRates[1]);
- int Unique = System.Convert.ToInt32(Constants.ItemDropQualityRates[2]);
- int Elite = System.Convert.ToInt32(Constants.ItemDropQualityRates[3]);
- int Super = System.Convert.ToInt32(Constants.ItemDropQualityRates[4]);
- int RRR = Kernel.Random.Next(1, 9);
- uint ItemIDD = 0;
- foreach (var item in Database.ConquerItemInformation.BaseInformations.Values)
- {
- if (item == null || item.ID == 0)
- continue;
- #region Hat
- if (RRR == 5)
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Head)
- {
- ItemIDD = (uint)Kernel.Random.Next(111000, 118999);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- #endregion
- #region Necklace
- else if (RRR == 6)
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Necklace)
- {
- ItemIDD = (uint)Kernel.Random.Next(120000, 121000);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- #endregion
- #region Armor
- else if (RRR == 2)
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Armor)
- {
- ItemIDD = (uint)Kernel.Random.Next(130000, 137000);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- #endregion
- #region Ring
- else if (RRR == 8)
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Ring)
- {
- ItemIDD = (uint)Kernel.Random.Next(150000, 152000);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- #endregion
- #region Boots
- else if (RRR == 3)
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Boots)
- {
- ItemIDD = (uint)Kernel.Random.Next(160013, 160249);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- #endregion
- #region Fan
- else if (RRR == 9)
- {
- if (Kernel.Rate(1))
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.AttackTalisman)
- {
- ItemIDD = (uint)Kernel.Random.Next(201001, 201009);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- }
- #endregion
- #region Tower
- else if (RRR == 4)
- {
- if (Kernel.Rate(1))
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.DefenceTalisman)
- {
- ItemIDD = (uint)Kernel.Random.Next(202001, 202009);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- }
- #endregion
- #region Crop
- else if (RRR == 7)
- {
- if (Kernel.Rate(1))
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.SteedTalisman)
- {
- ItemIDD = (uint)Kernel.Random.Next(203001, 203009);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- }
- #endregion
- #region Wing
- else if (RRR == 1)
- {
- if (Kernel.Rate(1))
- {
- if (ItemHandler.GetPositionFromID(item.ID) == ItemHandler.Positions.Wing)
- {
- ItemIDD = (uint)Kernel.Random.Next(204001, 204009);
- if (ItemIDD % 10 == 9)
- if (!Kernel.Rate(Super))
- return 0;
- if (ItemIDD % 10 == 8)
- if (!Kernel.Rate(Elite))
- return 0;
- if (ItemIDD % 10 == 7)
- if (!Kernel.Rate(Unique))
- return 0;
- if (ItemIDD % 10 == 6)
- if (!Kernel.Rate(Refined))
- return 0;
- if (Database.ConquerItemInformation.BaseInformations[ItemIDD].Level >= 120 && Kernel.Rate(99))
- return 0;
- return ItemIDD;
- }
- }
- }
- #endregion
- }
- return ItemIDD;
- }
- catch (Exception)
- {
- }
- return 0;
- }
- #endregion
- private bool changed = false;
- private bool sendscore = false;
- private string[] scoreMessages = null;
- public void AddScore(MonsterInformation mt, Client.GameState user)
- {
- if (user != null)
- {
- changed = true;
- if (!mt.boardscore.ContainsKey(user.Player.UID))
- {
- sendscore = true;
- mt.boardscore.Add(user.Player.UID, user);
- }
- SendScores(mt);
- }
- }
- public Client.GameState CurrentTopLeader;
- public void SendScores(MonsterInformation mt)
- {
- if (scoreMessages == null)
- scoreMessages = new string[0];
- Kernel.SendWorldMessage(new MsgTalk("[Top 5 ScoreBoard " + mt.Name + "]", MsgTalk.FirstRightCorner), Server.GamePool, mt.Owner.MapID);
- foreach (var p in Kernel.GamePool.Values)
- {
- if (p.Player.MapID == mt.Owner.MapID && p.Player.ScoreBoard.ContainsKey((uint)mt.Owner.UID))
- {
- MsgTalk msg1 = new MsgTalk("->> Your Score: " + p.Player.ScoreBoard[(uint)mt.Owner.UID] + " <<-", MsgTalk.ContinueRightCorner);
- MsgTalk msg2 = new MsgTalk("[Rank] -- [Name] ----------- [Score]", MsgTalk.ContinueRightCorner);
- p.Send(msg1);
- p.Send(msg2);
- }
- }
- if (mt.boardscore.Count == 0)
- return;
- if (changed)
- SortScores(mt, out CurrentTopLeader);
- for (int c = 0; c < scoreMessages.Length; c++)
- {
- MsgTalk msg = new MsgTalk(scoreMessages[c], System.Drawing.Color.Red, MsgTalk.ContinueRightCorner);
- Kernel.SendWorldMessage(msg, Server.GamePool, mt.Owner.MapID);
- }
- }
- public static List<string> BossMonster = new List<string>()
- {
- "TeratoDragon","ChillingSpook","BloodyBanshee","DragonWraith","NetherTyrant","ThunderDragon","SwordMaster","PurpleBanshee"
- };
- public void CheckScore(MonsterInformation mt, Client.GameState user, uint point)
- {
- if (BossMonster.Contains(mt.Name))
- {
- if (!user.Player.ScoreBoard.ContainsKey((uint)mt.Owner.UID))
- {
- user.Player.ScoreBoard.Add((uint)mt.Owner.UID, 0);
- }
- else
- {
- user.Player.ScoreBoard[(uint)mt.Owner.UID] += point;
- AddScore(mt, user);
- }
- }
- }
- private void SortScores(MonsterInformation mt, out Client.GameState user)
- {
- user = null;
- List<string> ret = new List<string>();
- int Place = 0;
- string str = "";
- foreach (Client.GameState p in mt.boardscore.Values.OrderByDescending((p) => p.Player.ScoreBoard[(uint)mt.Owner.UID]))
- {
- if (Place == 0)
- user = p;
- str = "No. " + (Place + 1).ToString() + "- " + p.Player.Name + " Hits [" + p.Player.ScoreBoard[(uint)mt.Owner.UID] + "]";
- ret.Add(str);
- Place++;
- if (Place == 5)
- break;
- }
- changed = false;
- scoreMessages = ret.ToArray();
- }
- public Dictionary<uint, Client.GameState> reward;
- public Client.GameState[] winner()
- {
- return (from rd in reward.Values
- orderby rd.Player.ScoreBoard[this.Owner.UID]
- descending select rd).ToArray();
- }
- public void Drop(Player killer)
- {
- if (killer.PlayerFlag == PlayerFlag.Monster)
- {
- return;
- }
- reward = new Dictionary<uint, Client.GameState>(1000);
- foreach (var user in Kernel.GamePool.Values)
- {
- if (user.Player.MapID == this.Owner.MapID)
- {
- if (user.Player.ScoreBoard.ContainsKey(this.Owner.UID))
- {
- reward.Add(user.Player.UID, user);
- }
- }
- }
- if (reward.Count > 0)
- {
- var dbase = winner();
- for (int i = 0; i < dbase.Length; i++)
- {
- if (i <= 4)
- {
- int rank = i + 1;
- switch (rank)
- {
- case 1:
- {
- dbase[i].Player.ConquerPoints += 50000;
- 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));
- break;
- }
- case 2:
- {
- dbase[i].Player.ConquerPoints += 40000;
- 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));
- break;
- }
- case 3:
- {
- dbase[i].Player.ConquerPoints += 30000;
- 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));
- break;
- }
- case 4:
- {
- dbase[i].Player.ConquerPoints += 20000;
- 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));
- break;
- }
- case 5:
- {
- dbase[i].Player.ConquerPoints += 10000;
- 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));
- break;
- }
- }
- dbase[i].Player.ConquerPoints += (ulong)(0 * rank);
- }
- }
- }
- // if (user.Player.ScoreBoard.ContainsKey((uint)this.Owner.UID))
- // user.Player.ScoreBoard.Remove((uint)this.Owner.UID);
- if (this.boardscore.Count > 0)
- this.boardscore.Clear();
- if (this.sendscore)
- {
- //// Rank Reward
- this.sendscore = false;
- this.changed = false;
- this.scoreMessages = null;
- }
- if (Name == "DarkSidra")
- {
- if (killer.Owner.Team != null)
- foreach (var team in killer.Owner.Team.Teammates)
- team.Player.SubProStages.StudyPoints += 1000;
- killer.TeamXorOrasPoints += 1250;
- 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);
- }
- if (Name == "Genzo")
- {
- if (killer.Owner.Team != null)
- foreach (var team in killer.Owner.Team.Teammates)
- team.Player.SubProStages.StudyPoints += 1000;
- killer.TeamXorOrasPoints += 600;
- 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);
- }
- if (Name.Contains("ChestDemon"))
- {
- killer.ChestDemonkill += 1;
- killer.Owner.Send(new MsgTalk("You have killed ChestDemon!", System.Drawing.Color.Azure, MsgTalk.Center));
- }
- #region WeedBug
- if (Name == "WeedBug")
- {
- if (killer.Owner.Player.PeachManager >= 10)
- {
- killer.Owner.MessageBox("You`ve finished clearing the Peach Garden. Go and claim a bottle of Power Liquor from the Peach Manager.",
- (p) =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 18484;
- data.ID = MsgAction.Mode.PathFinding;
- data.wParam1 = 35;
- data.wParam2 = 31;
- killer.Owner.Send(data);
- p.Send(data);
- }, null);
- 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));
- }
- else
- {
- killer.Owner.Player.WeedBug -= 1;
- killer.Owner.Player.PeachManager += 1;
- 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));
- }
- }
- #endregion
- #region ThunderStrike
- if (killer.MapID == 3935)
- {
- if (killer.Owner.Quests.GetQuest(QuestID.ThunderStrike) == null || killer.Owner.Quests.CheckQuest(QuestID.ThunderStrike) == MsgTaskStatus.QuestData.QuestStatus.Available)
- killer.Owner.Quests.Accept(QuestID.ThunderStrike);
- if (killer.TodayStrikePoints != 500)
- {
- if (killer.Owner.Quests.GetQuest(QuestID.ThunderStrike).Kills < 300)
- {
- int R = 5;
- if (Name == "RealmSoldier")
- {
- R = Kernel.Random.Next(1, 5);
- }
- if (Name.Contains("MilitaryOfficerofRealm"))
- {
- 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));
- R = Kernel.Random.Next(20, 20);
- }
- if (Name == "KylinChariot")
- {
- R = Kernel.Random.Next(50, 50);
- }
- killer.TodayStrikePoints += (uint)R;
- killer.StrikePoints += (uint)R;
- killer.Owner.Quests.ThunderStrike(QuestID.ThunderStrike, (uint)R);
- if (killer.TodayStrikePoints >= 300)
- {
- killer.StrikePoints = 300;
- killer.TodayStrikePoints = 300;
- }
- killer.Owner.Send(new MsgTalk("You've received " + killer.StrikePoints + " Strike Points", System.Drawing.Color.Red, MsgTalk.System));
- }
- else
- {
- killer.Owner.MessageBox("You`ve completed the [Thunder Strike] mission in the realm. Report back to the Kingdom Mission Envoy to claim your reward.");
- 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));
- }
- }
- }
- #endregion
- #region CrystalBounty
- if (killer.MapID == 3935)
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.CrystalBounty) != MsgTaskStatus.QuestData.QuestStatus.Finished)
- {
- if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty) == null || killer.Owner.Quests.CheckQuest(QuestID.CrystalBounty) == MsgTaskStatus.QuestData.QuestStatus.Available)
- killer.Owner.Quests.Accept(QuestID.CrystalBounty);
- if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty).Kills < 50)
- {
- int R = 5;
- if (Name == "RealmSolider")
- {
- R = Kernel.Random.Next(1, 1);
- }
- if (Name.Contains("MilitaryOfficerofRealm"))
- {
- R = Kernel.Random.Next(1, 1);
- }
- if (Name == "KylinChariot")
- {
- R = Kernel.Random.Next(10, 10);
- }
- killer.Owner.Quests.CrystalBounty(QuestID.CrystalBounty, (uint)R);
- if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty).Kills >= 50)
- {
- 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));
- }
- }
- else
- {
- 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));
- }
- }
- }
- #endregion
- #region DragonIsland(AnniversaryStar)
- if (killer.MapID == 5000)
- {
- if (Kernel.Rate(1))
- {
- var infoss = Database.ConquerItemInformation.BaseInformations[3303191];
- ushort XX = Owner.X, YY = Owner.Y;
- Game.Map MMap = Kernel.Maps[Owner.MapID];
- if (MMap.SelectCoordonates(ref XX, ref YY))
- {
- Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
- floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
- floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 3303191;
- floorItem.Item.Plus = floorItem.Item.Plus;
- floorItem.Item.MaximDurability = infoss.Durability;
- floorItem.Item.Durability = infoss.Durability;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 3303191;
- floorItem.MapID = Owner.MapID;
- floorItem.Item.StackSize = 1;
- floorItem.Item.MaxStackSize = infoss.StackSize;
- floorItem.MapObjType = Game.MapObjectType.Item;
- floorItem.X = XX;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = YY;
- floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (MMap.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- MMap.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- #endregion
- #region Realm
- if (killer.MapID == 3935)
- return;
- #endregion
- #region ProtectionPill
- if (Kernel.Rate(1, 200) && killer.PKMode == Game.Enums.PKMode.Kongfu)
- {
- var infoss = Database.ConquerItemInformation.BaseInformations[3002029];
- ushort XX = Owner.X, YY = Owner.Y;
- Game.Map MMap = Kernel.Maps[Owner.MapID];
- if (MMap.SelectCoordonates(ref XX, ref YY))
- {
- Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
- floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
- floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 3002029;
- floorItem.Item.Plus = floorItem.Item.Plus;
- floorItem.Item.MaximDurability = infoss.Durability;
- floorItem.Item.Durability = infoss.Durability;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 3002029;
- floorItem.MapID = Owner.MapID;
- floorItem.Item.StackSize = 1;
- floorItem.Item.MaxStackSize = infoss.StackSize;
- floorItem.MapObjType = Game.MapObjectType.Item;
- floorItem.X = XX;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = YY;
- floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (MMap.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- MMap.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region No Drob Monster
- if (killer.Name.Contains("Guard1")) return;
- if (Owner.Name.Contains("Guard1")) return;
- #endregion
- #region Secound Quest
- #region Demons
- #region ValeDemon
- if (Name == "ValeDemon")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 1;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "ValeDemon")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 25);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region MudDemon
- if (Name == "MudDemon")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 2;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "MudDemon")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region AbyssDemon
- if (Name == "AbyssDemon")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 4;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "AbyssDemon")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region DemonLord
- if (Name == "DemonLord")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 6);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 500;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 722727;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 722727;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- if (Name == "DemonLord")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #endregion
- #region Serpent
- #region SingingSerpent
- if (Name == "SingingSerpent")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 1;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "SingingSerpent")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region RoaringSerpent
- if (Name == "RoaringSerpent")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 2;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "RoaringSerpent")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region CryingSerpent
- if (Name == "CryingSerpent")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 4;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "CryingSerpent")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region SerpentSpirit
- if (Name == "SerpentSpirit")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 500;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 722727;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 722727;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- if (Name == "SerpentSpirit")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #endregion
- #region Fiend
- #region BlueFiend
- if (Name == "BlueFiend")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 1;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "BlueFiend")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region RedFiend
- if (Name == "RedFiend")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 2;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "RedFiend")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region WhiteFiend
- if (Name == "WhiteFiend")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 4;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "WhiteFiend")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region FiendLord
- if (Name == "FiendLord")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 6);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 500;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 722727;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 722727;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- if (Name == "FiendLord")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #endregion
- #region Ape
- #region WindApe
- if (Name == "WindApe")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 1;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "WindApe")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region RainApe
- if (Name == "RainApe")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 2;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "RainApe")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region LightningApe
- if (Name == "LightningApe")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 4;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "LightningApe")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region FuryApe
- if (Name == "FuryApe")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 6);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 500;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "FuryApe")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #endregion
- #region Hades
- #region WoodHades
- if (Name == "WoodHades")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 1;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "WoodHades")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region WaterHades
- if (Name == "WaterHades")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 2;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "WaterHades")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region EarthHades
- if (Name == "EarthHades")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 4;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "EarthHades")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region HadesLord
- if (Name == "HadesLord")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 6);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 500;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 722727;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 722727;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- if (Name == "HadesLord")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #endregion
- #region Bat
- #region FuryBat
- if (Name == "FuryBat")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 1;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "FuryBat")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region CruelBat
- if (Name == "CruelBat")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 2;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "CruelBat")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region ViciousBat
- if (Name == "ViciousBat")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 4;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "ViciousBat")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region DemonBat
- if (Name == "DemonBat")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 6);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 500;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "DemonBat")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #endregion
- #region Skeleton
- #region BoneSkeleton
- if (Name == "BoneSkeleton")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 1;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "BoneSkeleton")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region LameSkeleton
- if (Name == "LameSkeleton")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 2;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "LameSkeleton")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region CarrionSkeleton
- if (Name == "CarrionSkeleton")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 4;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "CarrionSkeleton")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region FurySkeleton
- if (Name == "FurySkeleton")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 500;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "FurySkeleton")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #endregion
- #region Beast
- #region AngryBeast
- if (Name == "AngryBeast")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 30);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- //floorItem.Owner = killer.Owner;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 1;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "AngryBeast")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region SensitiveBeast
- if (Name == "SensitiveBeast")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 30);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 2;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "SensitiveBeast")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region CrazyBeast
- if (Name == "CrazyBeast")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 70);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 4;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "CrazyBeast")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region FearlessBeast
- if (Name == "FearlessBeast")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 6);
- switch (ban)
- {
- case 1: b = 722723; break;
- case 2: b = 0; break;
- case 3: b = 722724; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 722725; break;
- case 7: b = 0; break;
- case 8: b = 722732; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 722733; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 722734; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 722735; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 722736; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 722737; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 722738; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- case 30: b = 722739; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest3, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 40001)
- {
- killer.SecoundQuestPoint += 500;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest3, killer.SecoundQuestPoint);
- }
- }
- if (Name == "FearlessBeast")
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 9);
- switch (ban)
- {
- case 1: b = 722739; break;
- case 2: b = 722738; break;
- case 3: b = 722737; break;
- case 4: b = 0; break;
- case 5: b = 722732; break;
- case 6: b = 722733; break;
- case 7: b = 722734; break;
- case 8: b = 722735; break;
- case 9: b = 722736; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = b;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = b;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #endregion
- #region Theodore
- if (Name == "Theodore" || Name == "Wayne" || Name == "Victoria" || Name == "Daphne" || Name == "Timothy" || Name == "Philip" || Name == "Peter" || Name == "Andrew")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest5, MsgTaskStatus.QuestData.QuestStatus.Accepted) && killer.SecoundQuestPoint < 75)
- {
- killer.SecoundQuestPoint++;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Secound_Quest5, killer.SecoundQuestPoint);
- }
- }
- #endregion
- #region HillSpirit
- if (Name == "HillSpirit")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 722722;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 722722;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- #endregion
- #region SwiftDevil
- if (Name == "SwiftDevil")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 722726;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 722726;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- #endregion
- #region Banshee
- if (Name == "Banshee")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 722729;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 722729;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- #endregion
- #region CleansingDevil
- if (Name == "CleansingDevil")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem floorItem = new MsgMapItem(true);
- floorItem.Item = new MsgItemInfo(true);
- floorItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = 722731;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = 722731;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- #endregion
- #region Satan
- if (Name == "Satan")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Secound_Quest6, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.Owner.Quests.FinishQuest(QuestID.Secound_Quest6);
- killer.SecoundQuestDone = true;
- killer.Teleport(1036, 200, 200);
- MsgName str = new MsgName(true);
- str.UID = killer.UID;
- str.TextsCount = 1;
- str.Action = MsgName.Mode.Effect;
- str.Texts.Add("end_task");
- killer.Owner.SendScreen(str, true);
- 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);
- }
- }
- #endregion
- #endregion
- #region BrightFortune
- #region AngerRat
- if (Name == "AngerRat")
- {
- #region AngerRat
- if (killer.Owner.Quests.GetQuest(QuestID.BloodVengeance) != null && killer.Owner.Quests.GetQuest(QuestID.BloodVengeance).Kills < 10)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.BloodVengeance, 1);
- }
- else if (killer.Owner.Quests.GetQuest(QuestID.BloodVengeance) != null && killer.Owner.Quests.GetQuest(QuestID.BloodVengeance).Kills >= 10)
- {
- killer.Owner.MessageBox("You`ve eliminated enough number of Anger Rats. Hurry and report back to Chong Yan Elder!",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19162;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 142;
- data.wParam2 = 320;
- p.Send(data);
- }, null);
- }
- #endregion
- }
- #endregion
- #region FlameRockMonste
- if (Name.Contains("FlameRockMonste"))
- {
- #region FlameRockMonste
- if (killer.Owner.Inventory.Contains(3008752, 8))
- {
- killer.Owner.MessageBox("You`ve collected enough number of Rune Fragments. Go and try to complete the runes on the Forge Furnace.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19163;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 311;
- data.wParam2 = 449;
- p.Send(data);
- }, null);
- }
- else
- {
- if (Kernel.Rate(20))
- {
- killer.Owner.Inventory.Add(3008752, 0, 1);
- MsgName str = new MsgName(true);
- str.UID = killer.Owner.Player.UID;
- str.TextsCount = 1;
- str.Type = (int)MsgName.Mode.Effect;
- str.Texts.Add("zf2-e123");
- killer.Owner.SendScreen(str, true);
- }
- }
- #endregion
- }
- #endregion
- #region VioletBatKing
- if (Name == "VioletBatKing")
- {
- #region VioletBatKing
- if (!killer.Owner.Inventory.Contains(3008750, 1) && killer.Owner.Quests.GetQuest(QuestID.SecretOfBright) != null)
- {
- killer.Owner.Inventory.Add(3008750, 0, 1);
- killer.Owner.MessageBox("The Violet Bat King fell down and dropped an ancient-style hammer. Hurry and take this hammer to the Forge Furnace.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19163;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 311;
- data.wParam2 = 449;
- p.Send(data);
- }, null);
- killer.Owner.Quests.IncreaseQuestKills(QuestID.SecretOfBright, 1);
- }
- #endregion
- }
- #endregion
- #region LavaScorpion
- if (Name == "LavaScorpion")
- {
- #region LavaScorpion
- if (killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead) != null && killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead).Kills >= 15)
- {
- killer.Owner.MessageBox("You`ve defeated enough number of Lava Scorpions. Now, you can appease the sacrificed Bright people.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19164;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 251;
- data.wParam2 = 277;
- p.Send(data);
- }, null);
- }
- else if (killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead) != null && killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead).Kills1 < 15)
- {
- killer.Owner.Quests.IncreaseQuestKills5(QuestID.SacrificetotheDead, 1);
- }
- #endregion
- }
- #endregion
- #region RoaringSnake
- if (Name == "RoaringSnake")
- {
- #region RoaringSnake
- if (killer.Owner.Inventory.Contains(3008742, 50) && killer.Owner.Quests.GetQuest(QuestID.SorrowofDesolation) != null)
- {
- killer.Owner.MessageBox("You`ve collect enough number of Building Stones. Go and try to restore the ruined altar.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 578;
- data.wParam2 = 419;
- p.Send(data);
- }, null);
- }
- else
- {
- killer.Owner.Inventory.Add(3008742, 0, 1);
- }
- #endregion
- }
- #endregion
- #region ClawedRockDevil
- if (Name == "ClawedRockDevil")
- {
- #region ClawedRockDevil
- if (killer.Owner.Inventory.Contains(3008743, 1))
- {
- }
- else
- {
- if (Kernel.Rate(40))
- {
- killer.Owner.Inventory.Add(3008743, 0, 1);
- killer.Owner.MessageBox("You`ve retrieved the Wheel of Nature from the Clawed Rock Devil. Hurry and take the next action at the altar.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 573;
- data.wParam2 = 423;
- p.Send(data);
- }, null);
- }
- }
- #endregion
- }
- #endregion
- #region HornedRockBeast
- if (Name == "HornedRockBeast")
- {
- #region HornedRockBeast
- if (!killer.Owner.Inventory.Contains(3008745, 1))
- {
- if (killer.Owner.Inventory.Contains(3008754, 5))
- {
- killer.Owner.Inventory.Add(3008745, 0, 1);
- killer.Owner.Inventory.Remove(3008754, 5);
- killer.Owner.MessageBox("You received the Earth Force! Hurry and transform it into Metal Force through the Wheel of Nature!",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 578;
- data.wParam2 = 419;
- p.Send(data);
- }, null);
- }
- else
- {
- if (Kernel.Rate(40))
- {
- killer.Owner.Inventory.Add(3008754, 0, 1);
- }
- }
- }
- #endregion
- }
- #endregion
- #region HellfireBeast
- if (Name == "HellfireBeast")
- {
- #region HellfireBeast
- if (killer.Owner.Inventory.Contains(3008748, 100))
- {
- killer.Owner.MessageBox("You`ve collected enough number of Star Ores. Go and try to extract the Essence of Star at the altar.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 571;
- data.wParam2 = 424;
- p.Send(data);
- }, null);
- }
- else
- {
- killer.Owner.Inventory.Add(3008748, 0, 5);
- }
- #endregion
- }
- #endregion
- #endregion
- #region CrystalBounty
- if (killer.MapID == 3935)
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.CrystalBounty) != MsgTaskStatus.QuestData.QuestStatus.Finished)
- {
- if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty) == null || killer.Owner.Quests.CheckQuest(QuestID.CrystalBounty) == MsgTaskStatus.QuestData.QuestStatus.Available)
- killer.Owner.Quests.Accept(QuestID.CrystalBounty);
- if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty).Kills < 50)
- {
- int R = 5;
- if (Name == "RealmSolider")
- {
- R = Kernel.Random.Next(1, 1);
- }
- if (Name.Contains("MilitaryOfficerofRealm"))
- {
- R = Kernel.Random.Next(1, 1);
- }
- if (Name == "KylinChariot")
- {
- R = Kernel.Random.Next(10, 10);
- }
- killer.Owner.Quests.CrystalBounty(QuestID.CrystalBounty, (uint)R);
- if (killer.Owner.Quests.GetQuest(QuestID.CrystalBounty).Kills >= 50)
- {
- 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));
- }
- }
- else
- {
- 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));
- }
- }
- }
- #endregion
- #region BeastsOfLegend
- if (killer.MapID == 3935)
- {
- if (killer.Owner.Quests.GetQuest(QuestID.BeastsOfLegend) == null || killer.Owner.Quests.CheckQuest(QuestID.BeastsOfLegend) == MsgTaskStatus.QuestData.QuestStatus.Available)
- killer.Owner.Quests.Accept(QuestID.BeastsOfLegend);
- if (killer.Owner.Quests.GetQuest(QuestID.BeastsOfLegend).QItem.Status != MsgTaskStatus.QuestData.QuestStatus.Finished)
- {
- #region WhiteTigerDefender
- if (Name.Contains("WhiteTigerDefender"))
- {
- if (!Kernel.WhiteTigerSpawn)
- {
- if (Kernel.Rate(30))
- {
- Database.MonsterInformation monster = new Database.MonsterInformation();
- Kernel.WhiteTigerSpawn = true;
- monster.Hitpoints = 500000;
- monster.Level = 140;
- monster.Mesh = 709;
- monster.Name = "WhiteTiger";
- monster.ID = 7886;
- monster.MaxAttack = 2100;
- monster.AttackRange = 3;
- monster.AttackType = 2;
- monster.AttackSpeed = 1000;
- monster.ViewRange = 20;
- monster.MoveSpeed = 1000;
- monster.RunSpeed = 1000;
- monster.MinAttack = 1000;
- Game.Player entity = new Game.Player(Game.PlayerFlag.Monster, false);
- entity.MapObjType = Game.MapObjectType.Monster;
- entity.MonsterInfo = monster;
- entity.MonsterInfo.Owner = entity;
- entity.Name = monster.Name;
- entity.MinAttack = monster.MinAttack;
- entity.MaxAttack = entity.MagicAttack = monster.MaxAttack;
- entity.Hitpoints = entity.MaxHitpoints = monster.Hitpoints;
- entity.Body = monster.Mesh;
- entity.Level = monster.Level;
- entity.Defence = 90;
- entity.X = killer.X;
- entity.Y = killer.Y;
- entity.UID = Kernel.Maps[3935].EntityUIDCounter.Next;
- entity.MapID = 3935;
- entity.SendUpdates = true;
- killer.Owner.Map.RemoveEntity(entity);
- killer.Owner.Map.AddEntity(entity);
- killer.Owner.Screen.Reload(null);
- }
- }
- }
- #endregion
- #region BlackTurtleDefender
- if (Name.Contains("BlackTurtleDefender"))
- {
- if (Kernel.BlackTurtleSpawn==false)
- {
- if (Kernel.Rate(30))
- {
- Database.MonsterInformation monster = new Database.MonsterInformation();
- monster.Hitpoints = 500000;
- monster.Level = 140;
- monster.Mesh = 712;
- monster.Name = "BlackTurtle";
- monster.ID = 7888;
- monster.MaxAttack = 2100;
- monster.AttackRange = 3;
- monster.AttackType = 2;
- monster.AttackSpeed = 1000;
- monster.ViewRange = 20;
- monster.MoveSpeed = 1000;
- monster.RunSpeed = 1000;
- monster.MinAttack = 1000;
- Game.Player entity = new Game.Player(Game.PlayerFlag.Monster, false);
- entity.MapObjType = Game.MapObjectType.Monster;
- entity.MonsterInfo = monster;
- entity.MonsterInfo.Owner = entity;
- entity.Name = monster.Name;
- entity.MinAttack = monster.MinAttack;
- entity.MaxAttack = entity.MagicAttack = monster.MaxAttack;
- entity.Hitpoints = entity.MaxHitpoints = monster.Hitpoints;
- entity.Body = monster.Mesh;
- entity.Level = monster.Level;
- entity.Defence = 90;
- entity.X = killer.X;
- entity.Y = killer.Y;
- entity.UID = Kernel.Maps[3935].EntityUIDCounter.Next;
- entity.MapID = 3935;
- entity.SendUpdates = true;
- killer.Owner.Map.RemoveEntity(entity);
- killer.Owner.Map.AddEntity(entity);
- killer.Owner.Screen.Reload(null);
- Kernel.BlackTurtleSpawn = true;
- }
- }
- }
- #endregion
- #region VermilionBirdDefender
- if (Name.Contains("VermilionBirdDefender"))
- {
- if(! Kernel.VermilionBirdDefenderSpawn)
- {
- if (Kernel.Rate(30))
- {
- Database.MonsterInformation monster = new Database.MonsterInformation();
- monster.Hitpoints = 500000;
- monster.Level = 140;
- monster.Mesh = 710;
- monster.Name = "VermilionBird";
- monster.ID = 7887;
- monster.MaxAttack = 2100;
- monster.AttackRange = 3;
- monster.AttackType = 2;
- monster.AttackSpeed = 1000;
- monster.ViewRange = 20;
- monster.MoveSpeed = 1000;
- monster.RunSpeed = 1000;
- monster.MinAttack = 1000;
- Game.Player entity = new Game.Player(Game.PlayerFlag.Monster, false);
- entity.MapObjType = Game.MapObjectType.Monster;
- entity.MonsterInfo = monster;
- entity.MonsterInfo.Owner = entity;
- entity.Name = monster.Name;
- entity.MinAttack = monster.MinAttack;
- entity.MaxAttack = entity.MagicAttack = monster.MaxAttack;
- entity.Hitpoints = entity.MaxHitpoints = monster.Hitpoints;
- entity.Body = monster.Mesh;
- entity.Level = monster.Level;
- entity.Defence = 90;
- entity.X = killer.X;
- entity.Y = killer.Y;
- entity.UID = Kernel.Maps[3935].EntityUIDCounter.Next;
- entity.MapID = 3935;
- entity.SendUpdates = true;
- killer.Owner.Map.RemoveEntity(entity);
- killer.Owner.Map.AddEntity(entity);
- Kernel.VermilionBirdDefenderSpawn = true;
- killer.Owner.Screen.Reload(null);
- }
- }
- }
- #endregion
- #region AzureDragonDefender
- if (Name.Contains("AzureDragonDefender"))
- {
- if (!Kernel.AzureDragonDefenderSpawn)
- {
- if (Kernel.Rate(30))
- {
- Database.MonsterInformation monster = new Database.MonsterInformation();
- monster.Hitpoints = 500000;
- monster.Level = 140;
- Kernel.AzureDragonDefenderSpawn = true;
- monster.Mesh = 711;
- monster.Name = "AzureDragon";
- monster.ID = 7885;
- monster.MaxAttack = 2100;
- monster.AttackRange = 3;
- monster.AttackType = 2;
- monster.AttackSpeed = 1000;
- monster.ViewRange = 20;
- monster.MoveSpeed = 1000;
- monster.RunSpeed = 1000;
- monster.MinAttack = 1000;
- Game.Player entity = new Game.Player(Game.PlayerFlag.Monster, false);
- entity.MapObjType = Game.MapObjectType.Monster;
- entity.MonsterInfo = monster;
- entity.MonsterInfo.Owner = entity;
- entity.Name = monster.Name;
- entity.MinAttack = monster.MinAttack;
- entity.MaxAttack = entity.MagicAttack = monster.MaxAttack;
- entity.Hitpoints = entity.MaxHitpoints = monster.Hitpoints;
- entity.Body = monster.Mesh;
- entity.Level = monster.Level;
- entity.Defence = 90;
- entity.X = killer.X;
- entity.Y = killer.Y;
- entity.UID = Kernel.Maps[3935].EntityUIDCounter.Next;
- entity.MapID = 3935;
- entity.SendUpdates = true;
- killer.Owner.Map.RemoveEntity(entity);
- killer.Owner.Map.AddEntity(entity);
- killer.Owner.Screen.Reload(null);
- }
- }
- }
- #endregion
- if (Name == "AzureDragon" || Name == "WhiteTiger" || Name == "BlackTurtle" || Name == "VermilionBird")
- {
- if (Name == "AzureDragon")
- {
- Kernel.AzureDragonDefenderSpawn = false;
- }
- if (Name == "VermilionBird")
- {
- Kernel.VermilionBirdDefenderSpawn = false;
- }
- if (Name == "WhiteTiger")
- {
- Kernel.WhiteTigerSpawn = false;
- }
- if (Name == "BlackTurtle")
- {
- Kernel.BlackTurtleSpawn = false;
- }
- if (killer.Owner.Quests.GetQuest(QuestID.BeastsOfLegend).Kills == 0)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.BeastsOfLegend, 1);
- killer.Owner.MessageBox("You`ve defeated the divine beast. Hurry and claim your reward from the Kingdom Mission Envoy!");
- }
- MsgName str = new MsgName(true);
- str.UID = killer.UID;
- str.TextsCount = 1;
- str.Action = MsgName.Mode.Effect;
- str.Texts.Add("end_task");
- killer.Owner.SendScreen(str.ToArray(), true);
- killer.Owner.Screen.Reload(null);
- }
- }
- }
- #endregion
- #region BattleFields
- #region L93Brigand
- if (Name == "L93Brigand")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv90++;
- if (killer.BattleFieldsLv90 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv90);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv90();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L98Robber
- if (Name == "L98Robber")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv90++;
- if (killer.BattleFieldsLv90 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv90);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv90();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L103Aggressor
- if (Name == "L103Aggressor")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv102++;
- if (killer.BattleFieldsLv102 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv102);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv101();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L108Robot
- if (Name == "L108Robot")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv102++;
- if (killer.BattleFieldsLv102 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv102);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv101();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L113BloodPirate
- if (Name == "L113BloodPirate")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv111++;
- if (killer.BattleFieldsLv111 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv111);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv111();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L118CruelPirate
- if (Name == "L118CruelPirate")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv111++;
- if (killer.BattleFieldsLv111 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv111);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv111();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L123FierceRonin
- if (Name == "L123FierceRonin")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv121++;
- if (killer.BattleFieldsLv121 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv121);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv121();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L128FuryRonin
- if (Name == "L128FuryRonin")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv121++;
- if (killer.BattleFieldsLv121 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv121);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv121();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L132Puppet
- if (Name == "L132Puppet")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv131++;
- if (killer.BattleFieldsLv131 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv131);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv131();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #region L135SoulWarrior
- if (Name == "L135SoulWarrior")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Battlefield_Heroes, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.BattleFieldsLv131++;
- if (killer.BattleFieldsLv131 < 301)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Battlefield_Heroes, (uint)killer.BattleFieldsLv131);
- }
- }
- if (!Player.BattleField.ContainsKey(killer.UID))
- {
- Player.BattleField.Add(killer.UID, killer.Owner);
- }
- killer.CalculateBattleFieldRankLv131();
- if (Kernel.Rate(10))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 729700; break;//PotencyPotion
- case 2: b = 0; break;
- case 3: b = 729694; break;//5*AttackPotion
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 729695; break;//BosterPoition
- case 7: b = 0; break;
- case 8: b = 729696; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 729697; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 729698; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 729698; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 0; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 729700; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 729701; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #endregion
- #region CloudSaint`sJar
- if (ID == killer.kilid)
- {
- if (killer.Owner.Inventory.Contains(750000, 1))
- {
- killer.Status4 += 1;
- }
- }
- #endregion
- #region ChestDemon
- uint ran1 = (uint)AboGamil.Kernel.Random.Next(1, 22);
- if (ran1 > 15)
- {
- if (this.Name == "ChestDemon")
- {
- if (killer.Name.Contains("Guard"))
- return;
- uint Uid = 0;
- Random R = new Random();
- //int Nr = R.Next(1, 1);
- switch (((byte)Kernel.Random.Next(1, 8)))
- {
- case 1:
- Uid = 3000625;
- break;
- case 2:
- Uid = 3000626;
- break;
- case 3:
- Uid = 3000627;
- break;
- }
- if (Uid != 0)
- {
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
- floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
- floorItem.Item.Color = (AboGamil.Game.Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = Uid;
- floorItem.Item.MaximDurability = floorItem.Item.Durability = 65535;
- floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = Uid;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = Game.MapObjectType.Item;
- floorItem.X = X;
- floorItem.Y = Y;
- floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- }
- #endregion
- #region Big Monster
- #region SwordMaster
- if (Name == "SwordMaster")
- {
- uint ItemID = 0;
- byte type1 = 11;
- for (int i = 0; i < 5; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 11);
- switch (type1)
- {
- case 1:
- ItemID = 3004181;
- break;
- case 2:
- ItemID = 3004181;
- break;
- case 3:
- ItemID = 3004181;
- break;
- case 4:
- ItemID = 3009002;
- break;
- case 5:
- ItemID = 3009002;
- break;
- case 6:
- ItemID = 3008727;
- break;
- case 7:
- ItemID = 3008727;
- break;
- case 8:
- ItemID = 3009002;
- break;
- case 9:
- ItemID = 3008727;
- break;
- case 10:
- ItemID = 720731;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- return;
- }
- #endregion
- #region PurpleBanshee
- if (Name == "PurpleBanshee")
- {
- uint ItemID = 0;
- byte type1 = 11;
- for (int i = 0; i < 5; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 11);
- switch (type1)
- {
- case 1:
- ItemID = 3004181;
- break;
- case 2:
- ItemID = 3004181;
- break;
- case 3:
- ItemID = 3004181;
- break;
- case 4:
- ItemID = 3009002;
- break;
- case 5:
- ItemID = 3009002;
- break;
- case 6:
- ItemID = 3008727;
- break;
- case 7:
- ItemID = 3008727;
- break;
- case 8:
- ItemID = 3009002;
- break;
- case 9:
- ItemID = 3008727;
- break;
- case 10:
- ItemID = 720731;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- // killer.ConquerPoints += 50000;
- // killer.BoundCps += 5000;
- // 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));
- return;
- }
- #endregion
- #region TeratoDragon
- if (Name == "TeratoDragon")
- {
- uint Uid = 0;
- byte type = 51;
- for (int i = 0; i < 3; i++)
- {
- type = (byte)Kernel.Random.Next(1, 51);
- switch (type)
- {
- case 1:
- Uid = 800320;
- break;
- case 2:
- Uid = 822054;
- break;
- case 3:
- Uid = 800110;
- break;
- case 4:
- Uid = 820056;
- break;
- case 5:
- Uid = 822056;
- break;
- case 6:
- Uid = 822057;
- break;
- case 7:
- Uid = 822053;
- break;
- case 8:
- Uid = 800019;
- break;
- case 9:
- Uid = 800050;
- break;
- case 10:
- Uid = 800015;
- break;
- case 11:
- Uid = 800090;
- break;
- case 12:
- Uid = 800513;
- break;
- case 13:
- Uid = 800017;
- break;
- case 14:
- Uid = 800071;
- break;
- case 15:
- Uid = 800016;
- break;
- case 16:
- Uid = 823051;
- break;
- case 17:
- Uid = 800130;
- break;
- case 18:
- Uid = 800140;
- break;
- case 19:
- Uid = 800141;
- break;
- case 20:
- Uid = 800200;
- break;
- case 21:
- Uid = 800310;
- break;
- case 22:
- Uid = 800014;
- break;
- case 23:
- Uid = 800214;
- break;
- case 24:
- Uid = 800230;
- break;
- case 25:
- Uid = 800414;
- break;
- case 26:
- Uid = 822052;
- break;
- case 27:
- Uid = 800420;
- break;
- case 28:
- Uid = 800401;
- break;
- case 29:
- Uid = 800512;
- break;
- case 30:
- Uid = 823043;
- break;
- case 31:
- Uid = 800514;
- break;
- case 32:
- Uid = 800520;
- break;
- case 33:
- Uid = 800521;
- break;
- case 34:
- Uid = 800613;
- break;
- case 35:
- Uid = 800614;
- break;
- case 36:
- Uid = 800615;
- break;
- case 37:
- Uid = 824001;
- break;
- case 38:
- Uid = 800617;
- break;
- case 39:
- Uid = 800720;
- break;
- case 40:
- Uid = 800721;
- break;
- case 41:
- Uid = 800070;
- break;
- case 42:
- Uid = 800723;
- break;
- case 43:
- Uid = 800724;
- break;
- case 44:
- Uid = 800018;
- break;
- case 45:
- Uid = 820001;
- break;
- case 46:
- Uid = 820052;
- break;
- case 47:
- Uid = 820053;
- break;
- case 48:
- Uid = 820054;
- break;
- case 49:
- Uid = 820055;
- break;
- case 50:
- Uid = 800722;
- break;
- case 51:
- Uid = 821028;
- break;
- case 52:
- Uid = 824015;
- break;
- case 53:
- Uid = 824016;
- break;
- case 54:
- Uid = 3007108;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[Uid];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = Uid;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = Uid;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- Kernel.Spawn = false;
- Kernel.SpawnDragon = false;
- }
- }
- if (Owner.MonsterInfo.ID == 4152)
- {
- if (Owner.MapID == 1002)
- {
- if (Kernel.Maps[1002].Dragon[180810] != null)
- {
- Kernel.Maps[1002].AddNpc(Kernel.Maps[1002].Dragon[180810]);
- Kernel.Maps[1002].Dragon.Remove(180810);
- var n = Kernel.Maps[1002].Npcs[180810] as Interfaces.IMapObject;
- killer.Owner.SendScreen(new MsgAction(true)
- {
- UID = 180810,
- ID = MsgAction.Mode.SpawnEffect
- }, true);
- }
- }
- foreach (var Ownerr in Server.GamePool)
- {
- if (Ownerr.Player.MapID == 1002)
- {
- foreach (Interfaces.INpc npc in Kernel.Maps[1002].Npcs.Values)
- {
- if (npc != null)
- {
- if (npc.UID == 180810)
- {
- if (Kernel.GetDistance(npc.X, npc.Y, Ownerr.Player.X, Ownerr.Player.Y) < 16)
- {
- npc.SendSpawn(Ownerr, false);
- }
- }
- }
- }
- }
- }
- }
- return;
- }
- #endregion
- #region ChillingSpook
- if (Name == "ChillingSpook")
- {
- uint ItemID = 0;
- byte type1 = 11;
- for (int i = 0; i < 5; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 11);
- switch (type1)
- {
- case 1:
- ItemID = 3004181;
- break;
- case 2:
- ItemID = 3004181;
- break;
- case 3:
- ItemID = 3004181;
- break;
- case 4:
- ItemID = 3009002;
- break;
- case 5:
- ItemID = 3009002;
- break;
- case 6:
- ItemID = 3008727;
- break;
- case 7:
- ItemID = 3008727;
- break;
- case 8:
- ItemID = 3009002;
- break;
- case 9:
- ItemID = 3008727;
- break;
- case 10:
- ItemID = 720731;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = 10137;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- //killer.ConquerPoints += 80000;
- // killer.BoundCps += 10000;
- MonsterSpwonBoss.ChillingSpook = false;
- //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));
- return;
- }
- #endregion
- #region BloodyBanshee
- if (Name == "BloodyBanshee")
- {
- uint ItemID = 0;
- byte type1 = 11;
- for (int i = 0; i < 5; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 11);
- switch (type1)
- {
- case 1:
- ItemID = 3004181;
- break;
- case 2:
- ItemID = 3004181;
- break;
- case 3:
- ItemID = 3004181;
- break;
- case 4:
- ItemID = 3009002;
- break;
- case 5:
- ItemID = 3009002;
- break;
- case 6:
- ItemID = 3008727;
- break;
- case 7:
- ItemID = 3008727;
- break;
- case 8:
- ItemID = 3009002;
- break;
- case 9:
- ItemID = 3008727;
- break;
- case 10:
- ItemID = 720731;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = 10137;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- // killer.ConquerPoints += 80000;
- // killer.BoundCps += 10000;
- MonsterSpwonBoss.BloodyBanshee = false;
- // 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));
- return;
- }
- #endregion
- #region DragonWraith
- if (Name == "DragonWraith")
- {
- uint ItemID = 0;
- byte type1 = 11;
- for (int i = 0; i < 5; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 11);
- switch (type1)
- {
- case 1:
- ItemID = 3004181;
- break;
- case 2:
- ItemID = 3004181;
- break;
- case 3:
- ItemID = 3004181;
- break;
- case 4:
- ItemID = 3009002;
- break;
- case 5:
- ItemID = 3009002;
- break;
- case 6:
- ItemID = 3008727;
- break;
- case 7:
- ItemID = 3008727;
- break;
- case 8:
- ItemID = 3009002;
- break;
- case 9:
- ItemID = 3008727;
- break;
- case 10:
- ItemID = 720731;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = 10137;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- //killer.ConquerPoints += 80000;
- //killer.BoundCps += 10000;
- //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));
- MonsterSpwonBoss.DragonWraith = false;
- return;
- }
- #endregion
- #region QueenofEvil
- if (Name == "QueenofEvil")
- {
- uint ItemID = 0;
- byte type1 = 11;
- for (int i = 0; i < 10; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 11);
- switch (type1)
- {
- case 1:
- ItemID = 3004181;
- break;
- case 2:
- ItemID = 3004181;
- break;
- case 3:
- ItemID = 3004181;
- break;
- case 4:
- ItemID = 3009002;
- break;
- case 5:
- ItemID = 3009002;
- break;
- case 6:
- ItemID = 3008727;
- break;
- case 7:
- ItemID = 3008727;
- break;
- case 8:
- ItemID = 3009002;
- break;
- case 9:
- ItemID = 3008727;
- break;
- case 10:
- ItemID = 720731;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = 10137;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- killer.ConquerPoints += 500000;
- killer.BoundCps += 50000;
- MonsterSpwonBoss.QueenofEvil = false;
- 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));
- return;
- }
- #endregion
- #region NetherTyrant
- if (Name == "NetherTyrant")
- {
- uint ItemID = 0;
- byte type1 = 11;
- for (int i = 0; i < 5; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 11);
- switch (type1)
- {
- case 1:
- ItemID = 3004181;
- break;
- case 2:
- ItemID = 3004181;
- break;
- case 3:
- ItemID = 3004181;
- break;
- case 4:
- ItemID = 3009002;
- break;
- case 5:
- ItemID = 3009002;
- break;
- case 6:
- ItemID = 3008727;
- break;
- case 7:
- ItemID = 3008727;
- break;
- case 8:
- ItemID = 3009002;
- break;
- case 9:
- ItemID = 3008727;
- break;
- case 10:
- ItemID = 720731;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = 10137;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 7));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- // killer.ConquerPoints += 80000;
- // killer.BoundCps += 10000;
- // 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));
- MonsterSpwonBoss.NetherTyrant = false;
- return;
- }
- #endregion
- #region ThunderDragon
- if (Name == "ThunderDragon")
- {
- uint ItemID = 0;
- byte type1 = 19;
- for (int i = 0; i < 5; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 19);
- switch (type1)
- {
- case 1:
- ItemID = 3309945;
- break;
- case 2:
- ItemID = 3309946;
- break;
- case 3:
- ItemID = 3309947;
- break;
- case 4:
- ItemID = 3309948;
- break;
- case 5:
- ItemID = 3309949;
- break;
- case 6:
- ItemID = 3309950;
- break;
- case 7:
- ItemID = 3309951;
- break;
- case 8:
- ItemID = 3309952;
- break;
- case 9:
- ItemID = 3309953;
- break;
- case 10:
- ItemID = 3309954;
- break;
- case 11:
- ItemID = 3309955;
- break;
- case 12:
- ItemID = 3309956;
- break;
- case 13:
- ItemID = 3309957;
- break;
- case 14:
- ItemID = 3309958;
- break;
- case 15:
- ItemID = 3309959;
- break;
- case 16:
- ItemID = 3309960;
- break;
- case 17:
- ItemID = 3309961;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = 10137;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 9));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- if (Kernel.Rate(25))
- {
- for (int i = 0; i < 1; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 4);
- switch (type1)
- {
- case 1:
- ItemID = 3300053;
- break;
- case 2:
- ItemID = 3300054;
- break;
- case 3:
- ItemID = 3300055;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (AboGamil.Game.Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = ItemID;
- //MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = 10137;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = (ushort)(X + Kernel.Random.Next((ushort)0, 10));
- MsgMapItem.Y = (ushort)(Y + Kernel.Random.Next((ushort)0, 8));
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- // killer.ConquerPoints += 100000;
- // killer.BoundCps += 30000;
- // 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));
- MonsterSpwonBoss.ThunderDragon = false;
- return;
- }
- #endregion
- #region GoldBox Money
- if (Name == "GoldBox")
- {
- uint amount = (uint)Kernel.Random.Next((int)MinMoneyDropAmount, (int)MaxMoneyDropAmount);
- amount *= Constants.MoneyDropMultiple;
- if (amount > 2000)
- amount = 1000;
- if (amount == 0) return;
- uint ItemID = ItemHandler.MoneyItemID(amount);
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
- MsgMapItem.Value = amount;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- #endregion
- #region GoldBox
- if (Name == "GoldBox")
- {
- uint ItemID = 0;
- byte type1 = 11;
- for (int i = 0; i < 2; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 6);
- switch (type1)
- {
- case 1:
- ItemID = 3004233;//AntiBreak
- break;
- case 2:
- ItemID = 3004234;//Immunity
- break;
- case 3:
- ItemID = 3004233;//AntiBreak
- break;
- case 4:
- ItemID = 3004234;//Immunity
- break;
- case 5:
- ItemID = 3004233;//AntiBreak
- break;
- case 6:
- ItemID = 3004234;//Immunity
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem MsgMapItem = new Network.GamePackets.MsgMapItem(true);
- MsgMapItem.Item = new Network.GamePackets.MsgItemInfo(true);
- MsgMapItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(2, 4);
- MsgMapItem.Item.ID = ItemID;
- MsgMapItem.Item.Plus = MsgMapItem.Item.Plus;
- MsgMapItem.Item.MaximDurability = infos.Durability;
- MsgMapItem.Item.Durability = infos.Durability;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = ItemID;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = Game.MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Type = Network.GamePackets.MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- #region Place Messge
- if (Database.MonsterSpawn.mapxy == 1)
- {
- killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(291,349)!");
- }
- if (Database.MonsterSpawn.mapxy == 2)
- {
- killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(164,270)!");
- }
- if (Database.MonsterSpawn.mapxy == 3)
- {
- killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(118,181)!");
- }
- if (Database.MonsterSpawn.mapxy == 4)
- {
- killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(137,088)!");
- }
- if (Database.MonsterSpawn.mapxy == 5)
- {
- killer.Owner.MessageBox("The~Nemesis~Tyrant~is~about~to~show~up~in~the~Bloodshed~Sea~(229,106)!");
- }
- #endregion
- Kernel.goldbox = false;
- if (killer.Owner.Quests.HasQuest(QuestID.GoldBox))
- {
- if ((killer.Owner.Quests.CheckQuest(QuestID.GoldBox) == AboGamil.Network.GamePackets.MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.GoldBox, 1);
- killer.Owner.Player.GoldBox = 1;
- }
- }
- killer.Owner.Inventory.AddTime(3004296);
- killer.Owner.Inventory.AddTime(3004296);
- return;
- }
- #endregion
- #region LavaBeast
- if (Name == "LavaBeast")
- {
- killer.Owner.Send(new MsgTalk("Congratulations! " + killer.Name + " has defeated LavaBeast and got random of materials.", System.Drawing.Color.Azure, MsgTalk.Center));
- uint ItemID = 0;
- byte type1 = 27;
- for (int i = 0; i < 1; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 27);
- switch (type1)
- {
- case 1:
- ItemID = 724352;
- break;
- case 2:
- ItemID = 724357;
- break;
- case 3:
- ItemID = 724362;
- break;
- case 4:
- ItemID = 724367;
- break;
- case 5:
- ItemID = 724372;
- break;
- case 6:
- ItemID = 724377;
- break;
- case 7:
- ItemID = 724384;
- break;
- case 8:
- ItemID = 724389;
- break;
- case 9:
- ItemID = 724394;
- break;
- case 10:
- ItemID = 724404;
- break;
- case 11:
- ItemID = 724409;
- break;
- case 12:
- ItemID = 724414;
- break;
- case 13:
- ItemID = 724419;
- break;
- case 14:
- ItemID = 724424;
- break;
- case 15:
- ItemID = 724429;
- break;
- case 16:
- ItemID = 724434;
- break;
- case 17:
- ItemID = 724439;
- break;
- case 18:
- ItemID = 724444;
- break;
- case 19:
- ItemID = 724453;
- break;
- case 20:
- ItemID = 724458;
- break;
- case 21:
- ItemID = 724463;
- break;
- case 22:
- ItemID = 724477;
- break;
- case 23:
- ItemID = 724482;
- break;
- case 24:
- ItemID = 724487;
- break;
- case 25:
- ItemID = 724492;
- break;
- case 26:
- ItemID = 724497;
- break;
- case 27:
- ItemID = 724502;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
- floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
- floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = ItemID;
- floorItem.Item.Plus = floorItem.Item.Plus;
- floorItem.Item.MaximDurability = infos.Durability;
- floorItem.Item.StackSize = 1;
- floorItem.Item.MaxStackSize = infos.StackSize;
- floorItem.Item.Durability = infos.Durability;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = ItemID;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = Game.MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- #endregion
- #region Ganoderma and titan
- if (Name.Contains("Ganoderma") || Name.Contains("Titan"))
- {
- killer.DoubleExperienceTime = 3600;
- }
- #endregion
- #endregion
- #region BrightFortune
- #region AngerRat
- if (Name == "AngerRat")
- {
- #region AngerRat
- killer.Owner.Quests.IncreaseQuestKills(QuestID.BloodVengeance, 1);
- if (killer.Owner.Quests.GetQuest(QuestID.BloodVengeance) != null && killer.Owner.Quests.GetQuest(QuestID.BloodVengeance).Kills < 10)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.BloodVengeance, 1);
- }
- else if (killer.Owner.Quests.GetQuest(QuestID.BloodVengeance) != null && killer.Owner.Quests.GetQuest(QuestID.BloodVengeance).Kills >= 10)
- {
- killer.Owner.MessageBox("You`ve eliminated enough number of Anger Rats. Hurry and report back to Chong Yan Elder!",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19163;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 142;
- data.wParam2 = 320;
- p.Send(data);
- }, null);
- }
- #endregion
- }
- #endregion
- #region FlameRockMonste
- if (Name.Contains("FlameRockMonste"))
- {
- #region FlameRockMonste
- if (killer.Owner.Inventory.Contains(3008752, 8))
- {
- killer.Owner.MessageBox("You`ve collected enough number of Rune Fragments. Go and try to complete the runes on the Forge Furnace.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19163;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 311;
- data.wParam2 = 449;
- p.Send(data);
- }, null);
- }
- else
- {
- if (Kernel.Rate(20))
- {
- killer.Owner.Inventory.Add(3008752, 0, 1);
- MsgName str = new MsgName(true);
- str.UID = killer.Owner.Player.UID;
- str.TextsCount = 1;
- str.Type = (int)MsgName.Mode.Effect;
- str.Texts.Add("zf2-e123");
- killer.Owner.SendScreen(str, true);
- }
- }
- #endregion
- }
- #endregion
- #region VioletBatKing
- if (Name == "VioletBatKing")
- {
- #region VioletBatKing
- if (!killer.Owner.Inventory.Contains(3008750, 1) && killer.Owner.Quests.GetQuest(QuestID.SecretOfBright) != null)
- {
- killer.Owner.Inventory.Add(3008750, 0, 1);
- killer.Owner.MessageBox("The Violet Bat King fell down and dropped an ancient-style hammer. Hurry and take this hammer to the Forge Furnace.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 311;
- data.wParam2 = 449;
- p.Send(data);
- }, null);
- killer.Owner.Quests.IncreaseQuestKills(QuestID.SecretOfBright, 1);
- }
- #endregion
- }
- #endregion
- #region LavaScorpion
- if (Name == "LavaScorpion")
- {
- #region LavaScorpion
- if (killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead) != null && killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead).Kills >= 15)
- {
- killer.Owner.MessageBox("You`ve defeated enough number of Lava Scorpions. Now, you can appease the sacrificed Bright people.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 251;
- data.wParam2 = 277;
- p.Send(data);
- }, null);
- }
- else if (killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead) != null && killer.Owner.Quests.GetQuest(QuestID.SacrificetotheDead).Kills1 < 15)
- {
- killer.Owner.Quests.IncreaseQuestKills5(QuestID.SacrificetotheDead, 1);
- }
- #endregion
- }
- #endregion
- #region RoaringSnake
- if (Name == "RoaringSnake")
- {
- #region RoaringSnake
- if (killer.Owner.Inventory.Contains(3008742, 50) && killer.Owner.Quests.GetQuest(QuestID.SorrowofDesolation) != null)
- {
- killer.Owner.MessageBox("You`ve collect enough number of Building Stones. Go and try to restore the ruined altar.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 578;
- data.wParam2 = 419;
- p.Send(data);
- }, null);
- }
- else
- {
- killer.Owner.Inventory.Add(3008742, 0, 1);
- }
- #endregion
- }
- #endregion
- #region ClawedRockDevil
- if (Name == "ClawedRockDevil")
- {
- #region ClawedRockDevil
- if (killer.Owner.Inventory.Contains(3008743, 1))
- {
- }
- else
- {
- if (Kernel.Rate(40))
- {
- killer.Owner.Inventory.Add(3008743, 0, 1);
- killer.Owner.MessageBox("You`ve retrieved the Wheel of Nature from the Clawed Rock Devil. Hurry and take the next action at the altar.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 573;
- data.wParam2 = 423;
- p.Send(data);
- }, null);
- }
- }
- #endregion
- }
- #endregion
- #region HornedRockBeast
- if (Name == "HornedRockBeast")
- {
- #region HornedRockBeast
- if (!killer.Owner.Inventory.Contains(3008745, 1))
- {
- if (killer.Owner.Inventory.Contains(3008754, 5))
- {
- killer.Owner.Inventory.Add(3008745, 0, 1);
- killer.Owner.Inventory.Remove(3008754, 5);
- killer.Owner.MessageBox("You received the Earth Force! Hurry and transform it into Metal Force through the Wheel of Nature!",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 578;
- data.wParam2 = 419;
- p.Send(data);
- }, null);
- }
- else
- {
- if (Kernel.Rate(40))
- {
- killer.Owner.Inventory.Add(3008754, 0, 1);
- }
- }
- }
- #endregion
- }
- #endregion
- #region HellfireBeast
- if (Name == "HellfireBeast")
- {
- #region HellfireBeast
- if (killer.Owner.Inventory.Contains(3008748, 100))
- {
- killer.Owner.MessageBox("You`ve collected enough number of Star Ores. Go and try to extract the Essence of Star at the altar.",
- p =>
- {
- MsgAction data = new MsgAction(true);
- data.UID = p.Player.UID;
- data.TimeStamp2 = 19165;
- data.ID = (MsgAction.Mode)162;
- data.wParam1 = 571;
- data.wParam2 = 424;
- p.Send(data);
- }, null);
- }
- else
- {
- killer.Owner.Inventory.Add(3008748, 0, 5);
- }
- #endregion
- }
- #endregion
- #endregion
- #region Treasure In The Blue
- if (Name == "CoinsStealer")
- {
- if (Kernel.Rate(6))
- {
- killer.Owner.Inventory.AddTime(711611, 60);
- killer.Owner.Send(new MsgTalk("You activated CopperCoin.", System.Drawing.Color.Red, MsgTalk.TopLeft));
- }
- else if (Kernel.Rate(3))
- {
- killer.Owner.Inventory.AddTime(711610, 60);
- killer.Owner.Send(new MsgTalk("You activated SilverCoin.", System.Drawing.Color.Red, MsgTalk.TopLeft));
- }
- else if (Kernel.Rate(1))
- {
- killer.Owner.Inventory.AddTime(711609, 60);
- killer.Owner.Send(new MsgTalk("You activated GoldCoin.", System.Drawing.Color.Red, MsgTalk.TopLeft));
- }
- }
- if (Name == "SilverOctopus")
- {
- if (Kernel.Rate(50))
- {
- killer.Owner.Inventory.AddTime(711610, 60);
- killer.Owner.Send(new MsgTalk("You activated SilverCoin.", System.Drawing.Color.Red, MsgTalk.TopLeft));
- }
- }
- if (Name == "GoldenOctopus")
- {
- killer.Owner.Inventory.AddTime(711609, 60);
- int r = Kernel.Random.Next(1, 5);
- uint ItemID = 0;
- if (r == 1)
- ItemID = 723700;
- if (r == 2)
- ItemID = 723727;
- if (r == 3)
- ItemID = 710212;
- if (r == 4)
- ItemID = 723341;
- if (r == 5)
- ItemID = 1088001;
- var infoss = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort XX = Owner.X, YY = Owner.Y;
- Game.Map MMap = Kernel.Maps[Owner.MapID];
- if (MMap.SelectCoordonates(ref XX, ref YY))
- {
- Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
- floorItem.Item = new Network.GamePackets.MsgItemInfo(true);
- floorItem.Item.Color = (Game.Enums.Color)Kernel.Random.Next(4, 8);
- floorItem.Item.ID = ItemID;
- floorItem.Item.Plus = floorItem.Item.Plus;
- floorItem.Item.MaximDurability = infoss.Durability;
- floorItem.Item.Durability = infoss.Durability;
- floorItem.Item.MobDropped = true;
- floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- floorItem.ItemID = ItemID;
- floorItem.MapID = Owner.MapID;
- floorItem.Item.StackSize = 1;
- floorItem.Item.MaxStackSize = infoss.StackSize;
- floorItem.MapObjType = Game.MapObjectType.Item;
- floorItem.X = XX;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = YY;
- floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.ItemColor = floorItem.Item.Color;
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (MMap.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- MMap.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- #endregion
- #region Scramble
- if (killer.MapID == 3935)
- {
- if (killer.Owner.Quests.GetQuest(QuestID.ScrambleforJustice) == null || killer.Owner.Quests.CheckQuest(QuestID.ScrambleforJustice) == MsgTaskStatus.QuestData.QuestStatus.Available)
- killer.Owner.Quests.Accept(QuestID.ScrambleforJustice);
- if (killer.Owner.Quests.GetQuest(QuestID.ScrambleforJustice).QItem.Status != MsgTaskStatus.QuestData.QuestStatus.Finished)
- {
- if (Name == "AlluringWitch")
- {
- killer.Owner.MessageBox("You`ve defeated the AlluringWitch! Here's your reward!");
- killer.Owner.Quests.FinishQuest(QuestID.ScrambleforJustice);
- killer.Owner.Inventory.Add("SavageBone");
- }
- }
- }
- #endregion
- #region DailyQuest
- if (Name == "Pheasant")
- {
- if (killer.PheasantPoint < 11 && killer.Owner.Quests.CheckQuest(QuestID.First_Stab_2, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- killer.PheasantPoint++;
- if (killer.PheasantPoint >= 10 && killer.Owner.Quests.CheckQuest(QuestID.First_Stab_2, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.Owner.Quests.SendPathFinding("You~have~killed~10~Pheasants.~Now~report~back~to~the~TC~Captain.", 1002, 309, 340, 2001);
- }
- if (killer.Owner.Quests.HasQuest(QuestID.First_Stab_2))
- {
- switch (killer.Owner.Quests.CheckQuest(QuestID.First_Stab_2))
- {
- case MsgTaskStatus.QuestData.QuestStatus.Accepted:
- {
- var quest = killer.Owner.Quests.GetQuest(QuestID.First_Stab_2);
- killer.Owner.Quests.IncreaseQuestKills(quest.QItem.UID, killer.PheasantPoint);
- break;
- }
- }
- }
- }
- if (Name == "Turtledove")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Letter_Delivery_2, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- if (killer.Owner.Inventory.Count <= 39)
- {
- killer.Owner.Inventory.Add(711236, 0, 1);
- 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);
- }
- }
- }
- if (Name == "Robin")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Robin_Elimination, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- killer.PheasantPoint++;
- if (killer.PheasantPoint < 11)
- {
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Robin_Elimination, killer.PheasantPoint);
- }
- if (killer.PheasantPoint >= 10)
- {
- killer.Owner.Quests.SendPathFinding("Hurry and take the prize From Xu Liang, on the Wind Plain", 1002, 453, 436, 7992);
- }
- }
- if (killer.Owner.Quests.CheckQuest(QuestID.Feather_Collection, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- if (killer.Owner.Inventory.Contains(711238, 10))
- {
- killer.Owner.Quests.SendPathFinding("Hurry and take the prize From ArtisanLuo, on the Wind Plain", 1002, 439, 433, 4467);
- }
- if (killer.Owner.Inventory.Count <= 39)
- {
- killer.Owner.Inventory.Add(711238, 0, 1);
- }
- else
- {
- 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);
- }
- }
- }
- if (Name == "Poltergeist" || Name == "Apparition")
- {
- if (killer.Owner.Quests.CheckQuest(QuestID.Love_Confession_3, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- if (killer.Owner.Inventory.Count <= 39)
- {
- killer.Owner.Inventory.Add(711241, 0, 1);
- }
- if (killer.Owner.Inventory.Contains(711241, 1))
- {
- killer.Owner.Quests.SendPathFinding("Hurry and take the prize From RuHua, on the Wind Plain", 1002, 417, 511, 7993);
- }
- }
- if (killer.Owner.Quests.CheckQuest(QuestID.Ghostly_Secrets_III, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- if (killer.Owner.Inventory.Count <= 39)
- {
- killer.Owner.Inventory.Add(720776, 0, 1);
- }
- if (killer.Owner.Inventory.Contains(720776, 5))
- {
- killer.Owner.Quests.SendPathFinding("Hurry and take the prize From MasterHao, on the Wind Plain", 1002, 419, 523, 7994);
- }
- }
- if (killer.Owner.Quests.CheckQuest(QuestID.Ghostly_Secrets_I, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- if (killer.Owner.Inventory.Count <= 39)
- {
- killer.Owner.Inventory.Add(711244, 0, 1);
- }
- if (killer.Owner.Inventory.Contains(711244, 1))
- {
- killer.Owner.Quests.SendPathFinding("Hurry and take the prize From MasterHao, on the Wind Plain", 1002, 419, 523, 7994);
- }
- }
- if (killer.Owner.Quests.CheckQuest(QuestID.Capture_Spirit_I, MsgTaskStatus.QuestData.QuestStatus.Accepted))
- {
- if (killer.PheasantPoint < 11)
- {
- killer.PheasantPoint++;
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Capture_Spirit_I, killer.PheasantPoint);
- }
- if (killer.PheasantPoint >= 10)
- {
- killer.Owner.Quests.SendPathFinding("Hurry and take the prize From Fortuneteller, on the Wind Plain", 1002, 412, 512, 600050);
- }
- }
- }
- #endregion
- #region Gold Drop
- if (Kernel.Rate(Constants.MoneyDropRate))
- {
- if (Kernel.Rate(30))
- {
- if (killer.MapID == 2102 || killer.MapID == 3935) return;
- uint amount = (uint)Kernel.Random.Next(Level * 2, Level * 6);
- if (Level >= 0 && Level <= 5)
- amount = (uint)Kernel.Random.Next(100, 100);
- if (amount > 1000000)
- amount = 6000000;
- uint ItemID = ItemHandler.MoneyItemID(amount);
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
- floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
- floorItem.Value = amount;
- floorItem.ItemID = ItemID;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = Game.MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- else
- {
- if (Kernel.Rate(8))
- {
- if (killer.MapID == 2102 || killer.MapID == 3935) return;
- int r = Kernel.Random.Next(1, 5);
- for (int x = 0; x < r; x++)
- {
- uint amount = (uint)Kernel.Random.Next(Level * 2, Level * 6);
- if (Level >= 0 && Level <= 5)
- amount = (uint)Kernel.Random.Next(100, 100);
- if (amount > 1000000)
- amount = 6000000;
- uint ItemID = ItemHandler.MoneyItemID(amount);
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem floorItem = new Network.GamePackets.MsgMapItem(true);
- floorItem.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Money;
- floorItem.Value = amount;
- floorItem.ItemID = ItemID;
- floorItem.MapID = Owner.MapID;
- floorItem.MapObjType = Game.MapObjectType.Item;
- floorItem.X = X;
- floorItem.Owner = killer.Owner; floorItem.OwnerUID = killer.UID; floorItem.Y = Y;
- floorItem.Type = Network.GamePackets.MsgMapItem.Drop;
- floorItem.OnFloor = Time32.Now;
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(floorItem.UID))
- floorItem.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(floorItem);
- SendScreenSpawn(floorItem);
- }
- }
- }
- }
- }
- #endregion
- #region Mobs Drop
- if (Kernel.Rate(20))
- {
- {
- uint amount = (uint)Kernel.Random.Next(20, 100);
- killer.ConquerPoints += amount;
- if (killer.InHangUp)
- killer.ConquerPoints -= amount * 20 / 100;
- if (killer.InHangUp)
- killer.Owner.Send(new MsgTalk(Name + " You get [ " + amount * 20 / 100 + " ].", System.Drawing.Color.Yellow, MsgTalk.TopLeft));
- else
- killer.Owner.Send(new MsgTalk(Name + " You get [ " + amount + " ].", System.Drawing.Color.Yellow, MsgTalk.TopLeft));
- }
- if (killer.InHangUp)
- {
- uint amount = (uint)Kernel.Random.Next(1, 50);
- killer.ConquerPoints += amount;
- if (killer.InHangUp)
- killer.ConquerPoints -= amount * 1 / 50;
- if (killer.InHangUp)
- killer.Owner.Send(new MsgTalk(Name + " You get [ " + amount * 1 / 50 + " ] Cps", System.Drawing.Color.Yellow, MsgTalk.TopLeft));
- else
- killer.Owner.Send(new MsgTalk(Name + " You get [ " + amount + " ] Cps", System.Drawing.Color.Yellow, MsgTalk.TopLeft));
- }
- }
- #endregion
- #region Mobs Drop Item
- if (killer.PlayerFlag == PlayerFlag.Player)
- {
- if (Kernel.Rate(5))
- {
- uint ItemID = 0;
- byte type1 = 1;
- for (int i = 0; i < 1; i++)
- {
- type1 = (byte)Kernel.Random.Next(1, 3);
- switch (type1)
- {
- case 1:
- ItemID = 3008226;
- break;
- case 2:
- ItemID = 3305426;
- break;
- }
- var infos = Database.ConquerItemInformation.BaseInformations[ItemID];
- ushort X = Owner.X, Y = Owner.Y;
- Game.Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- Network.GamePackets.MsgMapItem Floor = new Network.GamePackets.MsgMapItem(true);
- Floor.Item = new Network.GamePackets.MsgItemInfo(true);
- Floor.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- Floor.Item.ID = ItemID;
- Floor.Item.Plus = Floor.Item.Plus;
- Floor.Item.MaximDurability = infos.Durability;
- Floor.Item.Durability = infos.Durability;
- Floor.Item.MobDropped = true;
- Floor.ValueType = Network.GamePackets.MsgMapItem.FloorValueType.Item;
- Floor.ItemID = ItemID;
- Floor.MapID = Owner.MapID;
- Floor.MapObjType = Game.MapObjectType.Item;
- Floor.X = X;
- Floor.Y = Y;
- Floor.Type = Network.GamePackets.MsgMapItem.Drop;
- Floor.OnFloor = Time32.Now;
- Floor.ItemColor = Floor.Item.Color;
- Floor.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(Floor.UID))
- Floor.UID = Network.GamePackets.MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(Floor);
- SendScreenSpawn(Floor);
- }
- }
- }
- return;
- }
- #endregion
- #region DisCity
- if (Name == "Naga")
- {
- killer.DisKO += 1;
- killer.Owner.Send(new MsgTalk("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Red, MsgTalk.TopLeft));
- return;
- }
- if (Name == "Temptress")
- {
- killer.DisKO += 1;
- killer.Owner.Send(new MsgTalk("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Red, MsgTalk.TopLeft));
- return;
- }
- if (Name == "Centicore")
- {
- killer.DisKO += 1;
- killer.Owner.Send(new MsgTalk("Congratulations! You have got 1 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Red, MsgTalk.TopLeft));
- return;
- }
- if (Name == "HellTroll")
- {
- killer.DisKO += 3;
- killer.Owner.Send(new MsgTalk("Congratulations! You have got 3 Kill you have Now " + killer.DisKO + " DisKo Points", System.Drawing.Color.Red, MsgTalk.TopLeft));
- return;
- }
- #endregion
- #region Labirinth
- #region Slinger-GoldGhost
- if (Name == "Slinger" || Name == "GoldGhost")
- {
- uint Uid = 0;
- byte type = (byte)Kernel.Random.Next(1, 45);
- switch (type)
- {
- case 5:
- case 4:
- case 6:
- case 8:
- if (!killer.Owner.Inventory.Contains(3007529, 5))
- {
- killer.Owner.Inventory.Add(3007529, 0, 1);
- }
- break;
- case 32:
- case 30:
- if (killer.Owner.Inventory.Contains(3007528, 5))
- return;
- killer.Owner.Inventory.Add(3007528, 0, 1);
- killer.Update(MsgName.Mode.Effect, "waybee", true);
- break;
- case 25:
- case 24:
- if (!killer.Owner.Inventory.Contains(721537, 5))
- {
- killer.Owner.Inventory.Add(721537, 0, 1);
- }
- break;
- case 2:
- case 7:
- case 9:
- Uid = 721533;
- killer.Owner.Send(Constants.DroppedItem(Database.ConquerItemInformation.BaseInformations[721533].Name));
- break;
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- killer.CycloneStamp = Time32.Now;
- killer.CycloneTime = 20;
- killer.AddFlag((ulong)MsgUpdate.Flags.Cyclone);
- killer.Owner.Send(new MsgTalk("You received Storm effect!", System.Drawing.Color.CadetBlue, MsgTalk.System));
- break;
- }
- if (Uid != 0)
- {
- killer.Owner.Inventory.Add(Uid, 0, 1);
- }
- }
- #endregion
- #region Bladeling-AgileRat
- if (Name == "Bladeling" || Name == "AgileRat")
- {
- uint Uid = 0;
- byte type = (byte)Kernel.Random.Next(1, 45);
- switch (type)
- {
- case 5:
- case 6:
- case 8:
- case 4:
- if (!killer.Owner.Inventory.Contains(3007529, 5))
- killer.Owner.Inventory.Add(3007529, 0, 1);
- break;
- case 30:
- case 32:
- if (!killer.Owner.Inventory.Contains(3007528, 5))
- {
- killer.Owner.Inventory.Add(3007528, 0, 1);
- killer.Update(MsgName.Mode.Effect, "waybee", true);
- }
- break;
- case 24:
- if (!killer.Owner.Inventory.Contains(721538, 5))
- killer.Owner.Inventory.Add(721538, 0, 1);
- break;
- case 25:
- if (!killer.Owner.Inventory.Contains(721538, 5))
- killer.Owner.Inventory.Add(721538, 0, 1);
- break;
- case 2:
- case 7:
- case 9:
- Uid = 721534;
- break;
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- killer.CycloneStamp = Time32.Now;
- killer.CycloneTime = 20;
- killer.AddFlag((ulong)MsgUpdate.Flags.Cyclone);
- killer.Owner.Send(new MsgTalk("You received Storm effect!", System.Drawing.Color.CadetBlue, MsgTalk.System));
- break;
- }
- if (Uid != 0)
- {
- killer.Owner.Inventory.Add(Uid, 0, 1);
- }
- }
- #endregion
- #region FiendBat-BlueBird
- if (Name == "FiendBat" || Name == "BlueBird")
- {
- uint Uid = 0;
- byte type = (byte)Kernel.Random.Next(1, 45);
- switch (type)
- {
- case 5:
- case 4:
- case 6:
- case 8:
- if (!killer.Owner.Inventory.Contains(3007529, 5))
- killer.Owner.Inventory.Add(3007529, 0, 1);
- break;
- case 30:
- case 32:
- if (!killer.Owner.Inventory.Contains(3007528, 5))
- {
- killer.Owner.Inventory.Add(3007528, 0, 1);
- killer.Update(MsgName.Mode.Effect, "waybee", true);
- }
- break;
- case 24:
- case 25:
- if (killer.Owner.Inventory.Contains(721539, 5))
- killer.Owner.Inventory.Add(721539, 0, 1);
- break;
- case 2:
- case 7:
- case 9:
- Uid = 721535;
- break;
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- killer.CycloneStamp = Time32.Now;
- killer.CycloneTime = 20;
- killer.AddFlag((ulong)MsgUpdate.Flags.Cyclone);
- killer.Owner.Send(new MsgTalk("You received Storm effect!", System.Drawing.Color.CadetBlue, MsgTalk.System));
- break;
- }
- if (Uid != 0)
- {
- killer.Owner.Inventory.Add(Uid, 0, 1);
- }
- }
- #endregion
- #region MinotaurL120
- if (Name == "MinotaurL120")
- {
- uint Uid = 0;
- byte type = (byte)Kernel.Random.Next(1, 45);
- switch (type)
- {
- case 5:
- case 4:
- case 6:
- case 8:
- if (!killer.Owner.Inventory.Contains(3007529, 5))
- killer.Owner.Inventory.Add(3007529, 0, 1);
- break;
- case 30:
- case 32:
- if (!killer.Owner.Inventory.Contains(3007528, 5))
- {
- killer.Owner.Inventory.Add(3007528, 0, 1);
- killer.Update(MsgName.Mode.Effect, "waybee", true);
- }
- break;
- case 2:
- case 7:
- case 9:
- Uid = 721536;
- break;
- case 19:
- case 20:
- case 21:
- case 22:
- case 23:
- killer.CycloneStamp = Time32.Now;
- killer.CycloneTime = 20;
- killer.AddFlag((ulong)MsgUpdate.Flags.Cyclone);
- killer.Owner.Send(new MsgTalk("You received Storm effect!", System.Drawing.Color.CadetBlue, MsgTalk.System));
- break;
- }
- if (Uid != 0)
- {
- killer.Owner.Inventory.Add(Uid, 0, 1);
- }
- }
- #endregion
- #endregion
- #region Warrior Quest
- if (Name == "SealingStele")
- {
- {
- INpc npc = new Network.GamePackets.NpcSpawn();
- killer.Owner.Map.Npcs[npc.UID = 19257].X = 51;
- killer.Owner.Map.Npcs[npc.UID = 19257].Y = 43;
- killer.Owner.Screen.FullWipe();
- killer.Owner.Screen.Reload(null);
- MsgName str = new MsgName(true);
- str.Type = 10;
- str.UID = killer.UID;
- str.Texts.Add("cantask");
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Mind_of_Evil, 1);
- }
- }
- if (Name == "TinyMindofEvil")
- {
- {
- INpc npc = new Network.GamePackets.NpcSpawn();
- killer.Owner.Map.Npcs[npc.UID = 19259].X = 40;
- killer.Owner.Map.Npcs[npc.UID = 19259].Y = 45;
- killer.Owner.Screen.FullWipe();
- killer.Owner.Screen.Reload(null);
- MsgName str = new MsgName(true);
- str.Type = 10;
- str.UID = killer.UID;
- str.Texts.Add("cantask");
- killer.Owner.Quests.IncreaseQuestKills(QuestID.Weird_Formation, 1);
- }
- }
- #endregion
- #region Grotto
- #region DarkElf
- if (Name == "DarkElf" && Kernel.Rate(90))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 721347; break;
- case 2: b = 0; break;
- case 3: b = 721347; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 721347; break;
- case 7: b = 0; break;
- case 8: b = 0; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 0; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 0; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 0; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 721347; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 0; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 0; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- #endregion
- #region GrottoLady
- if (Name == "GrottoLady" && Kernel.Rate(90))
- {
- uint b = 0;
- uint ban = (uint)Kernel.Random.Next(1, 29);
- switch (ban)
- {
- case 1: b = 721347; break;
- case 2: b = 0; break;
- case 3: b = 721347; break;
- case 4: b = 0; break;
- case 5: b = 0; break;
- case 6: b = 721347; break;
- case 7: b = 0; break;
- case 8: b = 0; break;
- case 9: b = 0; break;
- case 10: b = 0; break;
- case 11: b = 0; break;
- case 12: b = 0; break;
- case 13: b = 0; break;
- case 14: b = 0; break;
- case 15: b = 0; break;
- case 16: b = 0; break;
- case 17: b = 0; break;
- case 18: b = 0; break;
- case 19: b = 0; break;
- case 20: b = 0; break;
- case 21: b = 721347; break;
- case 22: b = 0; break;
- case 23: b = 0; break;
- case 24: b = 0; break;
- case 25: b = 0; break;
- case 26: b = 0; break;
- case 27: b = 0; break;
- case 28: b = 0; break;
- case 29: b = 0; break;
- }
- ushort X = Owner.X, Y = Owner.Y;
- Map Map = Kernel.Maps[Owner.MapID];
- if (Map.SelectCoordonates(ref X, ref Y))
- {
- MsgMapItem MsgMapItem = new MsgMapItem(true);
- MsgMapItem.Item = new MsgItemInfo(true);
- MsgMapItem.Item.Color = (Enums.Color)Kernel.Random.Next(4, 8);
- MsgMapItem.Item.ID = b;
- MsgMapItem.Item.MobDropped = true;
- MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
- MsgMapItem.ItemID = b;
- MsgMapItem.MapID = Owner.MapID;
- MsgMapItem.MapObjType = MapObjectType.Item;
- MsgMapItem.X = X;
- MsgMapItem.Y = Y;
- MsgMapItem.Owner = killer.Owner;
- MsgMapItem.Type = MsgMapItem.Drop;
- MsgMapItem.OnFloor = Time32.Now;
- MsgMapItem.ItemColor = MsgMapItem.Item.Color;
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- while (Map.Npcs.ContainsKey(MsgMapItem.UID))
- MsgMapItem.UID = MsgMapItem.FloorUID.Next;
- Map.AddFloorItem(MsgMapItem);
- SendScreenSpawn(MsgMapItem);
- }
- }
- }
- #endregion
- #endregion
- public void SendScreen(byte[] buffer)
- {
- foreach (Client.GameState client in Server.GamePool)
- {
- if (client != null)
- {
- if (client.Player != null)
- {
- if (client.Player.UID != ExcludeFromSend)
- {
- if (Kernel.GetDistance(client.Player.X, client.Player.Y, Owner.X, Owner.Y) > 18)//
- {
- continue;
- }
- client.Send(buffer);
- }
- }
- }
- }
- }
- public static bool ChanceSuccess(double Chance)
- {
- int num = Kernel.Random.Next(10000000);
- double num2 = (double)num / 10000000.0 * 100.0;//100.0
- return Chance >= num2;
- }
- public void SendScreen(Interfaces.IPacket buffer)
- {
- SendScreen(buffer.ToArray());
- }
- public void SendScreenSpawn(Interfaces.IMapObject _object)
- {
- foreach (Client.GameState client in Server.GamePool)
- {
- if (client != null)
- {
- if (client.Player != null)
- {
- if (client.Player.UID != ExcludeFromSend)
- {
- if (client.Map.ID == Owner.MapID)
- {
- if (Kernel.GetDistance(client.Player.X, client.Player.Y, Owner.X, Owner.Y) > 25)//25
- {
- continue;
- }
- _object.SendSpawn(client, false);
- }
- }
- }
- }
- }
- }
- public static void GainSpirits(byte MobLevel, Player attacker)
- {
- try
- {
- uint Spirt = 0;
- if (MobLevel <= 70)
- {
- Spirt += 1;
- }
- else if (MobLevel >= 70 && MobLevel <= 99)
- {
- Spirt += 2;
- }
- else if (MobLevel >= 100 && MobLevel <= 119)
- {
- Spirt += 3;
- }
- else if (MobLevel >= 120 && MobLevel <= 140)
- {
- Spirt += 4;
- }
- attacker.spiritBeadsCount += Spirt;
- attacker.Owner.Send(new MsgTalk("You received " + Spirt + " spirit!", System.Drawing.Color.Red, 2007));
- if (attacker.spiritBeadsCount >= 2500 && attacker.Owner.Inventory.Contains(729611, 1))
- {
- attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
- }
- if (attacker.spiritBeadsCount >= 2000 && attacker.Owner.Inventory.Contains(729612, 1))
- {
- attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
- }
- if (attacker.spiritBeadsCount >= 1500 && attacker.Owner.Inventory.Contains(729613, 1))
- {
- attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
- }
- if (attacker.spiritBeadsCount >= 1000 && attacker.Owner.Inventory.Contains(729614, 1))
- {
- attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
- }
- if (attacker.spiritBeadsCount >= 500 && attacker.Owner.Inventory.Contains(729703, 1))
- {
- attacker.Owner.Send(new MsgTalk("You have collected enough spirit beads, Right click the item for your reward.", System.Drawing.Color.Red, 2007));
- }
- }
- catch (Exception line)
- {
- Console.WriteLine(line);
- }
- }
- public bool IsRespawnAble { get; set; }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement