|
المشاركات 72 |
+التقييم 0.04 |
تاريخ التسجيل Jul 2019 |
الاقامة |
نظام التشغيل |
رقم العضوية 430 |
public static void StartNetherTyrant(GameState client)
{
if (!Kernel.Maps[10166].Npcs.ContainsKey(44999))
{
Kernel.DragonWraith = true;
Kernel.DragonWraith2 = true;
NpcSpawn npc = new NpcSpawn();
npc.UID = 44999;
npc.Mesh = 30797;
npc.X = 257;
npc.Y = 136;
npc.MapID = 10166;
npc.Type = Enums.NpcType.Talker;
Kernel.Maps[10166].Npcs.Add(44999, npc);
npc.SendSpawn(client);
client.MessageBox("NetherTyrant has appeared ? Teleport me?", (p) => p.Player.Teleport(10166, 257, 133), null, 60);
Kernel.SendWorldMessage(new MsgTalk("The Nether~Tyrant appeared in Supply~Station (257,136)! Defeat it!", Color.White, MsgTalk.System));
}
}
public static void StartDragonWraith(GameState client)
{
if (!Kernel.Maps[10166].Npcs.ContainsKey(43999))
{
Kernel.DragonWraith = true;
Kernel.DragonWraith2 = true;
NpcSpawn npc = new NpcSpawn();
npc.UID = 43999;
npc.Mesh = 29937;
npc.X = 204;
npc.Y = 138;
npc.MapID = 10166;
npc.Type = Enums.NpcType.Talker;
Kernel.Maps[10166].Npcs.Add(43999, npc);
npc.SendSpawn(client);
client.MessageBox("DragonWraith has appeared ? Teleport me?", (p) => p.Player.Teleport(10166, 204, 134), null, 60);
Kernel.SendWorldMessage(new MsgTalk("The Dragon~Wraith appeared in Supply~Station (204,138)! Defeat it!", Color.White, MsgTalk.System));
}
}
public static void StartChillingSpook(GameState client)
{
if (!Kernel.Maps[10166].Npcs.ContainsKey(42999))
{
Kernel.QueenofEvil = true;
Kernel.QueenofEvil2 = true;
NpcSpawn npc = new NpcSpawn();
npc.UID = 42999;
npc.Mesh = 19267;
npc.X = 214;
npc.Y = 96;
npc.MapID = 10166;
npc.Type = Enums.NpcType.Talker;
Kernel.Maps[10166].Npcs.Add(42999, npc);
npc.SendSpawn(client);
client.MessageBox("ChillingSpook has appeared ? Teleport me?", (p) => p.Player.Teleport(10166, 214, 93), null, 60);
Kernel.SendWorldMessage(new MsgTalk("The Chilling~Spook appeared in Supply~Station (214,96)! Defeat it!", Color.White, MsgTalk.System));
}
}
public static void StartQueenofEvil(GameState client)
{
if (!Kernel.Maps[10166].Npcs.ContainsKey(41999))
{
Kernel.QueenofEvil = true;
Kernel.QueenofEvil2 = true;
NpcSpawn npc = new NpcSpawn();
npc.UID = 41999;
npc.Mesh = 47527;
npc.X = 286;
npc.Y = 158;
npc.MapID = 10166;
npc.Type = Enums.NpcType.Talker;
Kernel.Maps[10166].Npcs.Add(41999, npc);
npc.SendSpawn(client);
client.MessageBox("QueenofEvil has appeared ? Teleport me?", (p) => p.Player.Teleport(10166, 286, 154), null, 60);
Kernel.SendWorldMessage(new MsgTalk("The Queenof~Evil appeared in Supply~Station (286,158)! Defeat it!", Color.White, MsgTalk.System));
}
}
#region Supply~Station
#region QueenofEvil
if (Name.Contains("QueenofEvil"))
{
//killer.ConquerPoints += 5000;
killer.SubProStages.StudyPoints += 500;
SubProStages.UpdateStundyPoints(killer.Owner, 500);
killer.Owner.Player.Update(MsgName.Mode.Effect, "zf2-e300", true);
uint ItemID = 0;
byte type1 = 27;
if (Kernel.Rate(100))
{
if (killer.MapID == 2102) return;
uint b = 0;
uint ban = (uint)Kernel.Random.Next(1, 12);
switch (ban)
{
case 1: b = 15000000; break;
case 2: b = 15000000 * 2; break;
case 3: b = 15000000 * 3; break;
case 4: b = 15000000 * 4; break;
case 5: b = 10000000; break;
case 6: b = 10000000 * 2; break;
case 7: b = 10000000 * 3; break;
case 8: b = 10000000 * 4; break;
case 9: b = 5000000; break;
case 10: b = 5000000 * 2; break;
case 11: b = 5000000 * 3; break;
case 12: b = 5000000 * 4; break;
}
uint ItemID2 = ItemHandler.MoneyItemID(b);
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 = b;
MsgMapItem.ItemID = ItemID2;
MsgMapItem.MapID = 10137;
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);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(2, 2);
switch (type1)
{
case 1:
ItemID = 730003;//DraginBall
break;
case 2:
ItemID = 730002;
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 = (COServer.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 = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
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(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(1, 1);
switch (type1)
{
case 1:
ItemID = 720891;//DraginBall
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 = (COServer.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 = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
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);
}
}
}
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(5, 27);
switch (type1)
{
case 1:
ItemID = 1088000;
break;
case 2:
ItemID = 800913;
break;
case 3:
ItemID = 824015;
break;
case 4:
ItemID = 800720;
break;
case 5:
ItemID = 822053;
break;
case 6:
ItemID = 822055;
break;
case 7:
ItemID = 820071;
break;
case 8:
ItemID = 820072;
break;
case 9:
ItemID = 823055;
break;
case 10:
ItemID = 823056;
break;
case 11:
ItemID = 823057;
break;
case 12:
ItemID = 821031;
break;
case 13:
ItemID = 821032;
break;
case 14:
ItemID = 800000;
break;
case 15:
ItemID = 824017;
break;
case 16:
ItemID = 800421;
break;
case 17:
ItemID = 800110;
break;
case 18:
ItemID = 800017;
break;
case 19:
ItemID = 800254;
break;
case 20:
ItemID = 800513;
break;
case 21:
ItemID = 800320;
break;
case 22:
ItemID = 800722;
break;
case 23:
ItemID = 800616;
break;
case 24:
ItemID = 800809;
break;
case 25:
ItemID = 800804;
break;
case 26:
ItemID = 800916;
break;
case 27:
ItemID = 3007108;
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 = (COServer.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 = 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);
}
}
}
Kernel.QueenofEvil = false;
return;
}
#endregion
#region ChillingSpook
if (Name.Contains("ChillingSpook"))
{
//killer.ConquerPoints += 5000;
killer.SubProStages.StudyPoints += 500;
SubProStages.UpdateStundyPoints(killer.Owner, 500);
killer.Owner.Player.Update(MsgName.Mode.Effect, "zf2-e300", true);
uint ItemID = 0;
byte type1 = 27;
if (Kernel.Rate(100))
{
if (killer.MapID == 2102) return;
uint b = 0;
uint ban = (uint)Kernel.Random.Next(1, 12);
switch (ban)
{
case 1: b = 15000000; break;
case 2: b = 15000000 * 2; break;
case 3: b = 15000000 * 3; break;
case 4: b = 15000000 * 4; break;
case 5: b = 10000000; break;
case 6: b = 10000000 * 2; break;
case 7: b = 10000000 * 3; break;
case 8: b = 10000000 * 4; break;
case 9: b = 5000000; break;
case 10: b = 5000000 * 2; break;
case 11: b = 5000000 * 3; break;
case 12: b = 5000000 * 4; break;
}
uint ItemID2 = ItemHandler.MoneyItemID(b);
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 = b;
MsgMapItem.ItemID = ItemID2;
MsgMapItem.MapID = 10137;
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);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(2, 2);
switch (type1)
{
case 1:
ItemID = 730003;//DraginBall
break;
case 2:
ItemID = 730002;
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 = (COServer.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 = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
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(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(1, 1);
switch (type1)
{
case 1:
ItemID = 720891;//DraginBall
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 = (COServer.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 = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
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);
}
}
}
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(5, 27);
switch (type1)
{
case 1:
ItemID = 1088000;
break;
case 2:
ItemID = 800913;
break;
case 3:
ItemID = 824015;
break;
case 4:
ItemID = 800720;
break;
case 5:
ItemID = 822053;
break;
case 6:
ItemID = 822055;
break;
case 7:
ItemID = 820071;
break;
case 8:
ItemID = 820072;
break;
case 9:
ItemID = 823055;
break;
case 10:
ItemID = 823056;
break;
case 11:
ItemID = 823057;
break;
case 12:
ItemID = 821031;
break;
case 13:
ItemID = 821032;
break;
case 14:
ItemID = 800000;
break;
case 15:
ItemID = 824017;
break;
case 16:
ItemID = 800421;
break;
case 17:
ItemID = 800110;
break;
case 18:
ItemID = 800017;
break;
case 19:
ItemID = 800254;
break;
case 20:
ItemID = 800513;
break;
case 21:
ItemID = 800320;
break;
case 22:
ItemID = 800722;
break;
case 23:
ItemID = 800616;
break;
case 24:
ItemID = 800809;
break;
case 25:
ItemID = 800804;
break;
case 26:
ItemID = 800916;
break;
case 27:
ItemID = 3007108;
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 = (COServer.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 = 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);
}
}
}
Kernel.ChillingSpook = false;
return;
}
#endregion
#region DragonWraith
if (Name.Contains("DragonWraith"))
{
//killer.ConquerPoints += 5000;
killer.SubProStages.StudyPoints += 500;
SubProStages.UpdateStundyPoints(killer.Owner, 500);
killer.Owner.Player.Update(MsgName.Mode.Effect, "zf2-e300", true);
uint ItemID = 0;
byte type1 = 27;
if (Kernel.Rate(100))
{
if (killer.MapID == 2102) return;
uint b = 0;
uint ban = (uint)Kernel.Random.Next(1, 12);
switch (ban)
{
case 1: b = 15000000; break;
case 2: b = 15000000 * 2; break;
case 3: b = 15000000 * 3; break;
case 4: b = 15000000 * 4; break;
case 5: b = 10000000; break;
case 6: b = 10000000 * 2; break;
case 7: b = 10000000 * 3; break;
case 8: b = 10000000 * 4; break;
case 9: b = 5000000; break;
case 10: b = 5000000 * 2; break;
case 11: b = 5000000 * 3; break;
case 12: b = 5000000 * 4; break;
}
uint ItemID2 = ItemHandler.MoneyItemID(b);
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 = b;
MsgMapItem.ItemID = ItemID2;
MsgMapItem.MapID = 10137;
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);
}
}
if (Kernel.Rate(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(2, 2);
switch (type1)
{
case 1:
ItemID = 730003;//DraginBall
break;
case 2:
ItemID = 730002;
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 = (COServer.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 = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
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(100))
{
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(1, 1);
switch (type1)
{
case 1:
ItemID = 720891;//DraginBall
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 = (COServer.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 = X;
MsgMapItem.Y = Y;
if (MsgMapItem.Item.ID == 730002)
MsgMapItem.Item.Plus = 2;
if (MsgMapItem.Item.ID == 730003)
MsgMapItem.Item.Plus = 3;
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);
}
}
}
for (int i = 0; i < 1; i++)
{
type1 = (byte)Kernel.Random.Next(5, 27);
switch (type1)
{
case 1:
ItemID = 1088000;
break;
case 2:
ItemID = 800913;
break;
case 3:
ItemID = 824015;
break;
case 4:
ItemID = 800720;
break;
case 5:
ItemID = 822053;
break;
case 6:
ItemID = 822055;
break;
case 7:
ItemID = 820071;
break;
case 8:
ItemID = 820072;
break;
case 9:
ItemID = 823055;
break;
case 10:
ItemID = 823056;
break;
case 11:
ItemID = 823057;
break;
case 12:
ItemID = 821031;
break;
case 13:
ItemID = 821032;
break;
case 14:
ItemID = 800000;
break;
case 15:
ItemID = 824017;
break;
case 16:
ItemID = 800421;
break;
case 17:
ItemID = 800110;
break;
case 18:
ItemID = 800017;
break;
case 19:
ItemID = 800254;
break;
case 20:
ItemID = 800513;
break;
case 21:
ItemID = 800320;
break;
case 22:
ItemID = 800722;
break;
case 23:
ItemID = 800616;
break;
case 24:
ItemID = 800809;
break;
case 25:
ItemID = 800804;
break;
case 26:
ItemID = 800916;
break;
case 27:
ItemID = 3007108;
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 = (COServer.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 = 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);
}
}
}
Kernel.DragonWraith = false;
return;
}
#endregion
#region NetherTyrant
if (Name == "NetherTyrant")
{
uint ItemID = 0;
byte type1 = 15;
for (int i = 0; i < 15; i++)
{
type1 = (byte)Kernel.Random.Next(1, 3);
switch (type1)
{
case 1:
ItemID = 3004181;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 720027;
ItemID = 720027;
ItemID = 720027;
ItemID = 728232;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
break;
case 2:
ItemID = 3004181;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 720027;
ItemID = 720027;
ItemID = 720027;
ItemID = 728232;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
break;
case 3:
ItemID = 3004249;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 3004181;
ItemID = 720027;
ItemID = 720027;
ItemID = 720027;
ItemID = 728232;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
ItemID = 3004257;
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 = 10166;
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);
if (killer.Owner.Team != null)
{
foreach (COServer.Client.GameState teammate in killer.Owner.Team.Teammates)
{
teammate.Player.SubProStages.StudyPoints += (ushort)150;
// killer.MonsterPoints += 50U;
}
}
else
{
killer.SubProStages.StudyPoints += (ushort)150;
// killer.MonsterPoints += 50U;
}
Kernel.SendWorldMessage((IPacket)new MsgTalk(killer.Name + " defeated the Nether Tyrant and found its grand treasures!", 2012U));
}
}
#region Replace y , x
/*
if (Database.MonsterSpawn.mapxy == 1)
{
Database.MonsterSpawn.mapxy = 2;
}
if (Database.MonsterSpawn.mapxy == 2)
{
Database.MonsterSpawn.mapxy = 3;
}
if (Database.MonsterSpawn.mapxy == 3)
{
Database.MonsterSpawn.mapxy = 4;
}
if (Database.MonsterSpawn.mapxy == 4)
{
Database.MonsterSpawn.mapxy = 5;
}
if (Database.MonsterSpawn.mapxy == 5)
{
Database.MonsterSpawn.mapxy = 1;
}
*/
#endregion
Kernel.SendWorldMessage(new MsgTalk("Congratulations " + killer.Name + " has defeated The NetherTyrant.", System.Drawing.Color.Red, MsgTalk.TopLeft));
Kernel.NetherTyrant = false;
return;
}
#endregion
#region Drop: ??
if (Name.Contains("EvilScout") || Name.Contains("EviExecutioner") || Name.Contains("EvilCenturion"))
{
uint ItemID = 0;
if (Kernel.Rate(30, 5000))
{
ItemID = 3301223;//Joyful+1StonePack
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3301224;//Joyful+2StonePack
}
else if (Kernel.Rate(20, 10000))
{
ItemID = 3301225;//Joyful+3StonePack
}
else if (Kernel.Rate(15, 10000))
{
ItemID = 3301226;//Joyful+4StonePack
}
else if (Kernel.Rate(10, 10000))
{
ItemID = 3301227;//Joyful+5StonePack
}
else if (Kernel.Rate(6, 100))
{
ItemID = 3303483;//ChaosBead
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303484;//ChaosBeadPack
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303476;//HuntingEvilInvitation
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303477;//ArmorSoulWheel
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303478;//WeaponSoulWheel
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303479;//RefineryMaterialWheel
}
else if (Kernel.Rate(25, 10000))
{
ItemID = 3303480;//ChasmStarStonePack
}
else if (Kernel.Rate(50, 10000))
{
killer.Owner.Inventory.AddTime33(3303481, 3600, true);//TemporaryPenitenceAmulet
}
else if (Kernel.Rate(50, 1000))
{
ItemID = 3303482;//ChasmWishingGate
}
else if (Kernel.Rate(50, 1000))
{
ItemID = 1088001;//Meteor
}
else if (Kernel.Rate(50, 10000))
{
ItemID = 3303519;//KnowledgePillScrap
}
else if (Kernel.Rate(50, 10000))
{
ItemID = 3303520;//ChasmSlayerPack
}
else if (Kernel.Rate(50, 10000))
{
ItemID = 3303521;//ChasmVanquisherPack
}
#region Item
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 = ItemID;
MsgMapItem.Item.MobDropped = true;
MsgMapItem.ValueType = MsgMapItem.FloorValueType.Item;
MsgMapItem.ItemID = ItemID;
MsgMapItem.MapID = Owner.MapID;
MsgMapItem.MapObjType = MapObjectType.Item;
if (ItemID == 3301223 || ItemID == 3301224 || ItemID == 3301225 || ItemID == 3301226 || ItemID == 3301227
|| ItemID == 3303484 || ItemID == 3303476 || ItemID == 3303477 || ItemID == 3303478 || ItemID == 3303479
|| ItemID == 3303480 || ItemID == 3303481 || ItemID == 3303482 || ItemID == 1088001
|| ItemID == 3303519 || ItemID == 3303520 || ItemID == 3303521)
{
killer.Owner.Send(new MsgTalk("" + Name + "~Th~at~you~kiled~droped~1~" + Database.ConquerItemInformation.BaseInformations[MsgMapItem.Item.ID].Name + "(s)!", System.Drawing.Color.Red, 2007));
}
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
#endregion
if (Attacker.Name == "ThrillingSpook"
if (Attacker.Name == "NemesisTyrant" || Attacker.Name == "QueenofEvil" || Attacker.Name == "NetherTyrant")
{
if (Kernel.Rate((float)Attacked.MetalResistance / 100f))
{
Packet.Effect |= MsgInteract.InteractEffects.MetalResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
else if (Kernel.Rate((float)Attacked.FireResistance / 100f))
{
Packet.Effect |= MsgInteract.InteractEffects.FireResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
else if (Kernel.Rate((float)Attacked.EarthResistance / 100f))
{
Packet.Effect2 |= MsgInteract.InteractEffects2.EarthResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
else if (Kernel.Rate((float)Attacked.WaterResistance / 100f))
{
Packet.Effect |= MsgInteract.InteractEffects.WaterResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
else if (Kernel.Rate((float)Attacked.WoodResistance / 100f))
{
Packet.Effect |= MsgInteract.InteractEffects.WoodResist;
Damage = (Int32)Math.Floor((float)Damage * 1.1);
}
}
}
#region NemesisTyrant
#region NemesisTyrant
if (attacker.Name == "NemesisTyrant" || attacker.Name == "QueenofEvil" || attacker.Name == "NetherTyrant")
{
if (Time32.Now < attacker.AttackStamp.AddMilliseconds(25000)) return;
attacker.AttackStamp = Time32.Now;
uint rand = (uint)Kernel.Random.Next(1, 22);
switch (rand)
{
case 1:
attacker.MonsterInfo.SpellID = 10001;
break;
case 2:
attacker.MonsterInfo.SpellID = 30010;
break;
case 3:
attacker.MonsterInfo.SpellID = 10001;
break;
case 4:
attacker.MonsterInfo.SpellID = 30010;
break;
case 5:
attacker.MonsterInfo.SpellID = 30011;
break;
case 6:
attacker.MonsterInfo.SpellID = 30012;
break;
case 7:
attacker.MonsterInfo.SpellID = 7014;
break;
case 8:
attacker.MonsterInfo.SpellID = 7017;
break;
case 9:
attacker.MonsterInfo.SpellID = 7017;
break;
case 10:
attacker.MonsterInfo.SpellID = 7012;
break;
case 11:
attacker.MonsterInfo.SpellID = 7013;
break;
case 12:
attacker.MonsterInfo.SpellID = 7015;
break;
case 13:
attacker.MonsterInfo.SpellID = 7016;
break;
case 14:
attacker.MonsterInfo.SpellID = 10502;
break;
case 15:
attacker.MonsterInfo.SpellID = 10504;
break;
case 16:
attacker.MonsterInfo.SpellID = 10506;
break;
case 17:
attacker.MonsterInfo.SpellID = 10505;
break;
case 18:
attacker.MonsterInfo.SpellID = 10500;
break;
case 19:
attacker.MonsterInfo.SpellID = 10363;
break;
case 20:
attacker.MonsterInfo.SpellID = 10360;
attacked.AddFlag((ulong)MsgUpdate.Flags.Stun);
attacked.ShockStamp = Time32.Now;
attacked.Shock = 5;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Dizzy, 0, 5);
attacked.Owner.SendScreen(upd, true);
break;
case 21:
attacker.MonsterInfo.SpellID = 10361;
attacked.AddFlag((ulong)MsgUpdate.Flags.Stun);
attacked.ShockStamp = Time32.Now;
attacked.Shock = 5;
var upd1 = new MsgRaceTrackStatus(true);
upd1.UID = attacked.UID;
upd1.Add(MsgRaceTrackStatus.Dizzy, 0, 5);
attacked.Owner.SendScreen(upd1, true);
break;
case 22:
attacker.MonsterInfo.SpellID = 10362;
break;
}
#region IceThrom AngerCop
if (attacker.MonsterInfo.SpellID == 30010 || attacker.MonsterInfo.SpellID == 10001)
{
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
attacked.Owner.SendScreen(suse, true);
}
#endregion
#region Chill
if (attacker.MonsterInfo.SpellID == 30011)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Flustered, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.ChaosCycle);
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 14))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Flustered, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.ChaosCycle);
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
#endregion
#region AngerCrop
if (attacker.MonsterInfo.SpellID == 30012)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.Player.FrozenStamp = Time32.Now;
attacked.Owner.Player.FrozenTime = 5;
MsgRaceTrackStatus update = new MsgRaceTrackStatus(true);
update.UID = attacked.UID;
update.Add(MsgRaceTrackStatus.Freeze, 0, 5);
attacked.Owner.SendScreen(update, true);
attacked.AddFlag((ulong)MsgUpdate.Flags.Freeze);
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 10))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.Player.FrozenStamp = Time32.Now;
attacked.Owner.Player.FrozenTime = 5;
MsgRaceTrackStatus update = new MsgRaceTrackStatus(true);
update.UID = attacked.UID;
update.Add(MsgRaceTrackStatus.Freeze, 0, 5);
attacked.Owner.SendScreen(update, true);
attacked.AddFlag((ulong)MsgUpdate.Flags.Freeze);
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
#endregion
}
#endregion
#region TreatoDragon
if (attacker.Name == "TeratoDragon" || attacker.Name == "DragonWraith" || attacker.Name == "LavaBeast" || attacker.Name == "ShadowClone")
{
if (Time32.Now < attacker.AttackStamp.AddMilliseconds(25000)) return;
attacker.AttackStamp = Time32.Now;
uint rand = (uint)COServer.Kernel.Random.Next(1, 7);
switch (rand)
{
case 1:
attacker.MonsterInfo.SpellID = 7014;
break;
case 2:
attacker.MonsterInfo.SpellID = 7017;
break;
case 3:
attacker.MonsterInfo.SpellID = 7017;
break;
case 4:
attacker.MonsterInfo.SpellID = 7012;
break;
case 5:
attacker.MonsterInfo.SpellID = 7013;
break;
case 6:
attacker.MonsterInfo.SpellID = 7015;
break;
case 7:
attacker.MonsterInfo.SpellID = 7016;
break;
}
#region TD Area
if (attacker.MonsterInfo.SpellID == 7014 || attacker.MonsterInfo.SpellID == 7017)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 14))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
}
#endregion
#region 2nd skill
if (attacker.MonsterInfo.SpellID == 7013)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
attacked.Owner.Player.Fright = 5;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Dizzy, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.FreezeSmall);
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 14))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
attacked.Owner.Player.Fright = 5;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Dizzy, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.FreezeSmall);
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
#endregion
#region Chill
if (attacker.MonsterInfo.SpellID == 7015)
{
MsgMagicEffect suse = new MsgMagicEffect(true);
attack = new MsgInteract(true);
attack.Effect = MsgInteract.InteractEffects.None;
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
suse.Effect = attack.Effect;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Flustered, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.ChaosCycle);
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
foreach (var obj in attacked.Owner.Screen.Objects)
{
if (Calculations.InBox(obj.X, obj.Y, attacker.X, attacker.Y, 14))
{
if (obj.MapObjType == MapObjectType.Player)
{
if (obj.Owner.Player.ContainsFlag((ulong)MsgUpdate.Flags.Dead))
continue;
attacked = obj as Player;
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
attacked.Owner.FrightenStamp = Time32.Now;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.Flustered, 0, 5);
attacked.Owner.SendScreen(upd, true);
attacked.Owner.Player.AddFlag((ulong)MsgUpdate.Flags.ChaosCycle);
}
suse.AddTarget(attacked.UID, damage, attack);
}
}
}
attacked.Owner.SendScreen(suse, true);
}
#endregion
#endregion
#region ThrillingSpook
if (attacker.Name == "ThrillingSpook" || attacker.Name == "ThrillingSpook2" || attacker.Name == "ThrillingSpook3" || attacker.Name == "ChillingSpook")
{
if (Time32.Now < attacker.AttackStamp.AddMilliseconds(25000)) return;
attacker.AttackStamp = Time32.Now;
uint rand = (uint)Kernel.Random.Next(1, 7);
switch (rand)
{
case 1: attacker.MonsterInfo.SpellID = 10363; break;
case 2:
{
if (!attacked.ContainsFlag((ulong)MsgUpdate.Flags.Stun))
{
attacker.MonsterInfo.SpellID = 10360;
attacked.AddFlag((ulong)MsgUpdate.Flags.Stun);
attacked.ShockStamp = Time32.Now;
attacked.Shock = 5;
var upd = new MsgRaceTrackStatus(true);
upd.UID = attacked.UID;
upd.Add(MsgRaceTrackStatus.SoulShacle, 0, 5);
attacked.Owner.SendScreen(upd, true);
}
break;
}
case 3: attacker.MonsterInfo.SpellID = 10362; break;
case 4: attacker.MonsterInfo.SpellID = 10363; break;
case 5: attacker.MonsterInfo.SpellID = 10363; break;
case 6: attacker.MonsterInfo.SpellID = 10362; break;
case 7:
if (!attacked.ContainsFlag((ulong)MsgUpdate.Flags.Stun))
{
attacker.MonsterInfo.SpellID = 10361;
attacked.AddFlag((ulong)MsgUpdate.Flags.Stun);
attacked.ShockStamp = Time32.Now;
attacked.Shock = 5;
var upd1 = new MsgRaceTrackStatus(true);
upd1.UID = attacked.UID;
upd1.Add(MsgRaceTrackStatus.SoulShacle, 0, 5);
attacked.Owner.SendScreen(upd1, true);
}
break;
}
uint damage = 0;
damage += (uint)Kernel.Random.Next(1000, 2000);
if (attacked.Hitpoints <= damage)
{
attacked.Die(attacker);
}
else
{
attacked.Hitpoints -= damage;
}
if (attacker.Companion)
attacker.Owner.IncreaseExperience(Math.Min(damage, attacked.Hitpoints), true);
MsgMagicEffect suse = new MsgMagicEffect(true);
suse.Attacker = attacker.UID;
suse.SpellID = attacker.MonsterInfo.SpellID;
suse.X = attacked.X;
suse.Y = attacked.Y;
suse.AddTarget(attacked.UID, damage, attack);
attacked.Owner.SendScreen(suse, true);
}
#endregion
SpawnBanshee = false
QueenofEvil = false,
QueenofEvil2 = false,
ChillingSpook = false,
ChillingSpook2 = false,
DragonWraith = false,
DragonWraith2 = false,
NetherTyrant = false,
NetherTyrant2 = false,
private void CharactersCallback
#region QueenofEvil
if (Now64.Hour == 19 && Now64.Minute == 9 && Now64.Second == 50 && Kernel.QueenofEvil == false ||
Now64.Hour == 21 && Now64.Minute == 9 && Now64.Second == 50 && Kernel.QueenofEvil == false)
{
Database.MonsterSpawn.StartQueenofEvil(client);
}
#endregion
#region NetherTyrant
if (Now64.Minute == 44 && Now64.Second == 50 && Kernel.NetherTyrant == false)
{
Database.MonsterSpawn.StartNetherTyrant(client);
}
#endregion
#region DragonWraith
if (Now64.Minute == 4 && Now64.Second == 50 && Kernel.DragonWraith == false)
{
Database.MonsterSpawn.StartDragonWraith(client);
}
#endregion
#region ChillingSpook
if (Now64.Minute == 29 && Now64.Second == 50 && Kernel.ChillingSpook == false)
{
Database.MonsterSpawn.StartChillingSpook(client);
}
#endregion
#region DragonIsland
#region DragonIsland
case 10137:
{
switch (client.ActiveNpc)
{
#region Conductress
case 20508:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("<tip color=0xffffff00 desc=The#Conductress#inherited#the#station#from#her#father.#She#prospered#the#business#");
dialog.Text("by#adopting#advance#management #methods,#and#is#praised#for#providing#excellent#teleport#services.>");
dialog.Text("Conductress</tip>: ");
dialog.Text("May I help you? I only charge 100 Silver for teleport service per time. It`s free if you want to go to the Market.");
dialog.Option("Twin~City.", 1);
dialog.Option("Twin~City~Market.", 2);
dialog.Option("Giant~Chasm.~(hunting~area)", 4);
dialog.Option("I`m~just~passing~by.", 3);
dialog.Send();
break;
}
case 1:
{
if (client.Player.Money >= 100)
{
client.Player.Money -= 100;
client.Player.Teleport(1002, 448, 473);
client.Player.DragonIslandAttackable = false;
}
else
{
dialog.Text("You do not have 100 silvers.");
dialog.Option("Aww!", 255);
}
break;
}
case 2:
{
client.Player.DragonIslandAttackable = false;
client.Player.Teleport(1002, 344, 438);
break;
}
case 4:
{
client.Player.Teleport(10137, 454, 484);
Random R = new Random();
int Nr = R.Next(1, 5);
if (Nr == 1) client.Player.Teleport(10137, 454, 484);
if (Nr == 2) client.Player.Teleport(10137, 458, 483);
if (Nr == 3) client.Player.Teleport(10137, 457, 480);
if (Nr == 4) client.Player.Teleport(10137, 454, 481);
if (Nr == 5) client.Player.Teleport(10137, 453, 480);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
break;
}
}
break;
}
#endregion
#region GlowtownPortals
case 20571:
case 20572:
case 20573:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Are you sure you want to return to Glowtown?");
dialog.Option("Yes.", 1);
dialog.Option("No.", 255);
dialog.Send();
break;
}
case 1:
{
client.Player.Teleport(10137, 93, 408);
client.Player.DragonIslandAttackable = false;
break;
}
}
break;
}
#endregion
#region CobbWind
case 20500:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
dialog.Text("Cobb Wind</tip>: ");
if (DateTime.Now.Minute >= 0 || DateTime.Now.Minute <= 4)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Thrilling Spook] has appeared around (349,635) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Thrilling~Spook]", 8);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 5 || DateTime.Now.Minute <= 13)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Nemesis Tyrant] will appear at 0" + DateTime.Now.Hour + ":15 today around (568,372) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute == 14)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Snow Banshee] will appear at 0" + DateTime.Now.Hour + ":27 today around (658,718) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 15 || DateTime.Now.Minute <= 17)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Nemesis Tyrant] has appeared around (568,372) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Nemesis~Tyrant].", 3);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 18 || DateTime.Now.Minute <= 26)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Snow Banshee] will appear at 0" + DateTime.Now.Hour + ":27 today around (658,718) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 27 || DateTime.Now.Minute <= 28)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Snow Banshee] has appeared around (658,718) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Snow~Banshee].", 5);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute == 29)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Thrilling Spook] will appear at 0" + DateTime.Now.Hour + " :30 today around (349,635) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 30 || DateTime.Now.Minute <= 34)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Thrilling Spook] has appeared around (349,635) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Thrilling~Spook]", 8);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 35 || DateTime.Now.Minute <= 44)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Nemesis Tyrant] will appear at 0" + DateTime.Now.Hour + ":15 today around (568,372) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 45 || DateTime.Now.Minute <= 49)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Nemesis Tyrant] has appeared around (568,372) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Nemesis~Tyrant].", 3);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else if (DateTime.Now.Minute >= 57 || DateTime.Now.Minute <= 59)
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("Urgent report from the front line!");
dialog.Text(" [Snow Banshee] has appeared around (658,718) on the Dragon Island!");
dialog.Text("Many heroes are heading to fight against the beasts. Hurry and go support them!");
dialog.Option("Go~kill~the~[Snow~Banshee].", 5);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Avatar(53);
}
else
{
// dialog.Text("<tip desc=Cobb#Wind,#formerly#a#pirate,#was#save#by#Sky#Shan#from#a#murder.#");
// dialog.Text("He#has#turned#to#the#side#of#justice#since#then,#and#made#lots#of#contributions.>");
// dialog.Text("Cobb Wind</tip>: ");
dialog.Text("You came at the right time! The devils have occupied the Twisting Hell Array, and are trying to summon ");
dialog.Text("<tip color=0xfff05050 desc=Killing#Nemesis#Tyrant#brings#Savage#Bone,#P7#Weapon/Armor/Accessory#Soul#Pack#Fragment,#Senior#EXP#Nut,#etc.>Nemesis Tyrant</tip>,");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Snow#Banshee#brings#P5-6#Dragon#Soul,#Dragon#Ball,#+2#Stone,#Senior#EXP#Nut,#etc.>Snow Banshee</tip> and");
dialog.Text("~<tip color=0xfff05050 desc=Killing#Thrilling#Spook#brings#P6#Dragon#Soul,#Dragon#Ball,#Senior#EXP#Nut,#etc.>Thrilling Spook</tip>");
dialog.Text("~to the Dragon Island. Commander Shan has given order to kill them at any cost. Dragon Island is not allowed to sink!");
dialog.Text(" * [Snow Banshee] will appear at" + DateTime.Now.Hour + ":57 Minute today around (658,718) on the Dragon Island.* ");
dialog.Option("Learn~more~about~these~beasts.", 1);
dialog.Option("I`ll~keep~an~eye~on~them.", 255);
dialog.Avatar(53);
}
dialog.Send();
break;
}
case 1:
{
dialog.Text("،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ");
dialog.Text(" [Beast] [Location] [Appear Time]");
dialog.Text("Nemesis Tyrant (DragonIsland 568,372) the " + DateTime.Now.Day + "th and 45th minute of each hour, every day");
dialog.Text("Thrilling Spook (DragonIsland 349,635) the 00th and 30th minute of each hour, every day");
dialog.Text("Snow Banshee (DragonIsland 658,718) the" + DateTime.Now.Day + "th and " + DateTime.Now.Hour + ":57th of each hour, every day");
dialog.Text("،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ");
dialog.Text("All the beasts above have left their lair for the Dragon Island.");
dialog.Option("I~see.", 255);
dialog.Avatar(53);
dialog.Send();
break;
}
case 2:
{
ushort x = 568;
ushort y = 372;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 3:
{
dialog.Text("The beast must be killed without any delay. You can find it with pathfinding or pay 1 CP to instantly get teleported.");
dialog.Option("Go~there~with~pathfinding.", 2);
dialog.Option("Instant~teleport.~(1~CP)", 4);
dialog.Avatar(53);
break;
}
case 4:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10137, 567, 372);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
dialog.Avatar(53);
}
break;
}
case 5:
{
dialog.Text("The beast must be killed without any delay. You can find it with pathfinding or pay 1 CP to instantly get teleported.");
dialog.Option("Go~there~with~pathfinding.", 6);
dialog.Option("Instant~teleport.~(1~CP)", 7);
dialog.Avatar(53);
break;
}
case 6:
{
ushort x = 658;
ushort y = 718;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 7:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10137, 658, 718);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
dialog.Avatar(53);
}
break;
}
case 8:
{
dialog.Text("The beast must be killed without any delay. You can find it with pathfinding or pay 1 CP to instantly get teleported.");
dialog.Option("Go~there~with~pathfinding.", 9);
dialog.Option("Instant~teleport.~(1~CP)", 10);
dialog.Avatar(53);
break;
}
case 9:
{
ushort x = 349;
ushort y = 635;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 10:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10137, 349, 635);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
dialog.Avatar(53);
}
break;
}
}
break;
}
#endregion
#region YuKoon
case 20510:
{
dialog.Avatar(102);
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("YuKoon:\n");
dialog.Text("The~Queen~of~Evil~has~found~the~hidden~treasures~in~the~Giant~Chasm.~lf~we\n");
dialog.Text("hurry,~there`s~still~a~chance~we~could~stop~them~from~moving~all~the~treasures\n");
dialog.Text("out.\n");
dialog.Text("~Rare~Treasures:~3,000~CPs,~P7~Dragon~Soul,~Knowledge~Pill,~etc.\n");
dialog.Text("Common~Treasures:~Meteor,~Favored~Training~Pill~(B),~etc.");
dialog.Option("Send~me~to~the~Giant~Chasm.", 1);
dialog.Option("Return~to~the~Glowtown.", 2);
dialog.Option("Any~other~tips~for~me?", 3);
dialog.Send();
break;
}
case 1:
{
Random R = new Random();
int Nr = R.Next(1, 5);
if (Nr == 1) client.Player.Teleport(10166, 65, 134);
if (Nr == 2) client.Player.Teleport(10166, 68, 131);
if (Nr == 3) client.Player.Teleport(10166, 68, 129);
if (Nr == 4) client.Player.Teleport(10166, 68, 132);
if (Nr == 5) client.Player.Teleport(10166, 65, 132);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
client.Send(new MsgTalk("You`ve~arrived~in~the~Giant~Chasm~Be~careful!", System.Drawing.Color.Red, MsgTalk.System));
client.Player.DragonIslandAttackable = false;
break;
}
case 2:
{
client.Player.Teleport(10137, 101, 410);
break;
}
case 3:
{
dialog.Text("~~~~~~~~~~~~~~~~~~~~~~~~~~~~*Chasm~of~Chaos*\n");
dialog.Text("-------------------------------------------------------------------------------------------------------\n");
dialog.Text("1. Kiling~devils~in~the~Giant~Chasm~will~bring~you~common~treasures.\n");
dialog.Text("~~lf~you~have~<tip color=0xfff05050 desc=Luck#refreshes#at#00:00#every#day.#Every#time#you#get#a#rare#treasure,#you#lose#some#Luck#Points.>Luck</tip>:~while~killing,~you`ll~have~a~chance~of~getting~rare~treasures.\n");
dialog.Text("2.~PK~is~allowod.~You`ll~be~granted~1~stack~of~<tip color=0xfff05050 desc=Eack#Bliss#lasts#for#5#minutes.#When#your#stack#of#Bliss#increases,your#Bliss#will#be#reset#5#minutes.>Bliss</tip>:~per~opponent~you~defeat,\n");
dialog.Text("~up~to~9~stacks.\n");
dialog.Text("~~~The~more~stacks~of~your~Bliss,~the~higher~drop~rate~od~treasures.\n");
dialog.Text("3.~Defeating~robber~Sprite~will~definitely~bring~you~treasures,~and~also~90\n");
dialog.Text("~seconds~of~a~random~<tip color=0xfff05050 desc=1.#P-Attack#10000,#M-Attack#30000\n2.#HP#100000\n3.#Break#200%\n4.#lmmunity#200%\n5.#Storm#effect>buff</tip>:\n");
dialog.Text("4.~Defeating~the~Qureen~of~Evill~within~8~minutes~will~bring~you~extra~rewards.\n");
dialog.Text("5.~Defeating~each~of~other~beasts~within~3~minutes~will~bring~you~extra\n");
dialog.Text("~rewads.\n");
dialog.Text("-------------------------------------------------------------------------------------------------------\n");
dialog.Option("Isee.", 4);
dialog.Send();
break;
}
case 4:
{
dialog.Text("YuKoon:\n");
dialog.Text("The~Queen~of~Evil~has~found~the~hidden~treasures~in~the~Giant~Chasm.~lf~we\n");
dialog.Text("hurry,~there`s~still~a~chance~we~could~stop~them~from~moving~all~the~treasures\n");
dialog.Text("out.\n");
dialog.Text("~Rare~Treasures:~3,000~CPs,~P7~Dragon~Soul,~Knowledge~Pill,~etc.\n");
dialog.Text("Common~Treasures:~Meteor,~Favored~Training~Pill~(B),~etc.");
dialog.Option("Send~me~to~the~Giant~Chasm.", 1);
dialog.Option("Return~to~the~Glowtown.", 2);
dialog.Option("Any~other~tips~for~me?", 3);
dialog.Send();
break;
}
}
break;
}
#endregion
}
break;
}
#endregion
#region Supply~Station
case 10166:
{
switch (client.ActiveNpc)
{
#region YuKoon
case 29530:
{
dialog.Avatar(102);
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("YuKoon:\n");
dialog.Text("The~Giant~Chasm~looks~quite~weird~now.~There~may~be~an~ambush~at~any\n");
dialog.Text("corner.~Be~careful!");
dialog.Option("Return~to~the~Dragon~lsland.", 1);
dialog.Option("Any~other~tips~for~me?", 2);
dialog.Send();
break;
}
case 1:
{
Random R = new Random();
int Nr = R.Next(1, 5);
if (Nr == 1) client.Player.Teleport(10137, 458, 482);
if (Nr == 2) client.Player.Teleport(10137, 455, 482);
if (Nr == 3) client.Player.Teleport(10137, 454, 481);
if (Nr == 4) client.Player.Teleport(10137, 454, 480);
if (Nr == 5) client.Player.Teleport(10137, 454, 483);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
break;
}
case 2:
{
dialog.Text("~~~~~~~~~~~~~~~~~~~~~~~~~~~~*Chasm~of~Chaos*\n");
dialog.Text("-------------------------------------------------------------------------------------------------------\n");
dialog.Text("1.Kiling~devils~in~the~Giant~Chasm~will~bring~you~common~treasures.\n");
dialog.Text("~lf~you~have~<tip color=0xfff05050 desc=Luck#refreshes#at#00:00#every#day.#Every#time#you#get#a#rare#treasure,#you#lose#some#Luck#Points.>Luck</tip>:~while~killing,~you`ll~have~a~chance~of~getting~rare~treasures.\n");
dialog.Text("2.~PK~is~allowod.~You`ll~be~granted~1~stack~of~<tip color=0xfff05050 desc=Eack#Bliss#lasts#for#5#minutes.#When#your#stack#of#Bliss#increases,your#Bliss#will#be#reset#5#minutes.>Bliss</tip>:~per~opponent~you~defeat,\n");
dialog.Text("~up~to~9~stacks.\n");
dialog.Text("~~The~more~stacks~of~your~Bliss,~the~higher~drop~rate~od~treasures.\n");
dialog.Text("3.~Defeating~robber~Sprite~will~definitely~bring~you~treasures,~and~also~90\n");
dialog.Text("~seconds~of~a~random~<tip color=0xfff05050 desc=1.#P-Attack#10000,#M-Attack#30000\n2.#HP#100000\n3.#Break#200%\n4.#lmmunity#200%\n5.#Storm#effect>buff</tip>:\n");
dialog.Text("4.~Defeating~the~Qureen~of~Evill~within~8~minutes~will~bring~you~extra~rewards.\n");
dialog.Text("5.~Defeating~each~of~other~beasts~within~3~minutes~will~bring~you~extra\n");
dialog.Text("rewads.\n");
dialog.Text("-------------------------------------------------------------------------------------------------------");
dialog.Option("Isee.", 3);
dialog.Send();
break;
}
case 3:
{
dialog.Text("YuKoon:\n");
dialog.Text("The~Giant~Chasm~looks~quite~weird~now.~There~may~be~an~ambush~at~any\n");
dialog.Text("corner.~Be~careful!");
dialog.Option("Return~to~the~Dragon~lsland.", 1);
dialog.Option("Any~other~tips~for~me?", 2);
dialog.Send();
break;
}
}
break;
}
#endregion
#region HauKan
case 27520:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hau~Kan:\n");
dialog.Text("l`m~old,~but~l`m~vigorous.~lf~you~need~any~supplies,~find~me.\n");
dialog.Text("The~devils~in~the~Giant~Chasm~are~digging~for~the~<tip color=0xfff05050 desc=Collect#Chaos#Beads#by#killing#Devils#in#the#Giant#Chasm.>Chaos~Bead</tip>~which~can\n");
dialog.Text("~enhance~their~power.~lf~you`ve~collected~some~Chaos~Beads,~just~exchange\n");
dialog.Text("~them~for~supplies~with~me.\n");
dialog.Text("~~~~~~~~*Last~Exchange~for~3,000~CPs: \n");
dialog.Text("~~~~~~~~*Last~Exchange~for~3,000~CPs~(B): ");
dialog.Option("Exchange~for~supplies.", 1);
dialog.Avatar(67);
dialog.Send();
break;
}
case 1:
{
#region Exchange
var shop = new ProtoExchangeShop()
{
ShopID = 19424,//19424
Action = 23,
TimeIn = 1714178,
TimeInSeconds = 46389,
};
client.Send(MsgExchangeShop.FinalizeProtoBuf(shop));
#endregion
break;
}
}
break;
}
#endregion
#region CobbWind
case 29540:
{
dialog.Avatar(53);
switch (npcRequest.OptionID)
{
case 0:
{
DateTime Now64 = DateTime.Now;
client.Player.Update(MsgName.Mode.Effect, "zf2-e295", true);
dialog.Text("Cobb~Wind:\n");
if (DateTime.Now.Minute >= 00 && DateTime.Now.Minute < 05)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Dragon~Wraith~will~appear~at~0" + DateTime.Now.Hour + ":05~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 5 && Now64.Minute <= 7)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Dragon~Wraith~has~appeared~around~(204,138)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Dragon~Wraith!", 2);
}
else if (Now64.Minute >= 7 && Now64.Minute <= 10)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Queen~of~Evil~will~appear~at~19:10~and~21:10~today~around~(286,158)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Hour >= 19 && Now64.Minute >= 10 && Now64.Minute <= 20)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Queen~of~Evil~has~appeared~around~(286,158)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Queen~of~Evil!", 5);
}
else if (Now64.Hour >= 21 && Now64.Minute >= 10 && Now64.Minute <= 20)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Queen~of~Evil~has~appeared~around~(286,158)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Queen~of~Evil!", 5);
}
else if (Now64.Hour <= 19 && Now64.Minute <= 10 && Now64.Minute >= 20
|| Now64.Hour <= 21 && Now64.Minute <= 10 && Now64.Minute >= 20)
{
if (Now64.Minute >= 10 && Now64.Minute <= 12)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Bloody~Banshee~will~appear~at~0" + DateTime.Now.Hour + ":27~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (DateTime.Now.Minute >= 12 && DateTime.Now.Minute < 15)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Chilling~Spook~will~appear~at~0" + DateTime.Now.Hour + ":30~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 15 && Now64.Minute <= 17)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Nether~Tyrant~will~appear~at~0" + DateTime.Now.Hour + ":45~today~around~(257,136)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 17 && Now64.Minute <= 20)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Queen~of~Evil~will~appear~at~19:10~and~21:10~today~around~(286,158)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
}
else if (Now64.Minute >= 20 && Now64.Minute <= 27)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Bloody~Banshee~will~appear~at~0" + DateTime.Now.Hour + ":27~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 27 && Now64.Minute <= 29)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Bloody~Banshee~has~appeared~around~(238,165)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Bloody~Banshee!", 8);
}
else if (DateTime.Now.Minute >= 29 && DateTime.Now.Minute < 30)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Chilling~Spook~will~appear~at~0" + DateTime.Now.Hour + ":30~today~around~(204,138)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (DateTime.Now.Minute >= 30 && DateTime.Now.Minute < 34)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Chilling~Spook~has~appeared~around~(214,096)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Chilling~Spook!", 11);
}
else if (Now64.Minute >= 34 && Now64.Minute <= 45)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("The~<tip color=0xfff05050 desc=Killing#the#Queen#of#Evil#brings#+2#Stone,#Blazing#CP#Fragment,#etc.>Queen~of~Evil</tip>~has~gathered~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Nether#Tyrant#brings#Savage#Bone,#P7#Dragon#Soul#Fragment,#Meteor#Scroll,#etc.>Nether~Tyrant</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Bloody#Banshee#brings#Dragon#Ball,#+2#Stons,#Mount#Armor,#Weapon#Accessory,#etc.>Bloody~Banshee</tip>,~");
dialog.Text("<tip color=0xfff05050 desc=Kiling#Dragon#Wraith#btings#Superior#Refinery#Pack,#Blazing#CP#Fragment,#etc.>Dragon~\nWraith</tip>,~");
dialog.Text("and~<tip color=0xfff05050 desc=Kiling#Chilling#Spook#btings#P6#Dragon#Soul,#Dragon#Ball,#Blazing#CP#Fragment,#etc.>Chilling~Spook</tip>~in~");
dialog.Text("the~Glant~Chasm.~They~must~have~known~the\n");
dialog.Text("ancient~treasures~in~the~chasm.~Hurry~up!~We~have~to~stop~them~from~getting\n");
dialog.Text("Stronger.\n");
dialog.Text("~~~*Nether~Tyrant~will~appear~at~0" + DateTime.Now.Hour + ":45~today~around~(257,136)~in~the~Giant\n");
dialog.Text("Chasm.*");
dialog.Option("Learn~more~about~these~beasts.", 1);
}
else if (Now64.Minute >= 45 && Now64.Minute <= 00)
{
// dialog.Text("Cobb~Wind:\n");
dialog.Text("Urgent~report~from~the~fronnt~line!\n");
dialog.Text("~~~~Nether~Tyrant~has~appeared~around~(257,136)~in~the~Giant~Chasm.\n");
dialog.Text("Many~heroes~are~heading~to~fight~against~the~beasts.~Hurry~and~go~support\n");
dialog.Text("Them!");
dialog.Option("Go~kill~the~Nether~Tyrant!", 14);
}
dialog.Send();
break;
}
case 1:
{
dialog.Text("------------------------------------------------------------------------------------\n");
dialog.Text(" [Beast] [Location] [Appear Time]\n");
dialog.Text("Queen~of~Evil Giant~Chasm(286,158) 19:10~and~21:10,every~day\n");
dialog.Text("Bloody~Banshee Giant~Chasm(238,165) At~27~min~past~each~hour,every~day\n");
dialog.Text("Chilling Spook Giant~Chasm(214,096) At~30~min~past~each~hour,every~day\n");
dialog.Text("Nemesis Tyrant Giant~Chasm(257,136) At~45~min~past~each~hour,every~day\n");
dialog.Text("Dragon~Wraith Giant~Chasm(204,138) At~05~min~past~each~hour,every~day\n");
dialog.Text("------------------------------------------------------------------------------------");
dialog.Option("I~see.", 255);
dialog.Send();
break;
}
#region Dragon~Wraith
case 2://204,138
{
if (DateTime.Now.Minute >= 5 || DateTime.Now.Minute <= 7)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 3);
dialog.Option("lnstant~teleport.~(1~CP)", 4);
}
else
{
dialog.Text("[Dragon~Wraith]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 3:
{
ushort x = 204;
ushort y = 138;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 4:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 204, 138);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
#region Queen~of~Evil
case 5://286,158
{
if (DateTime.Now.Hour >= 19 || DateTime.Now.Minute >= 10 || DateTime.Now.Minute <= 20)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 6);
dialog.Option("lnstant~teleport.~(1~CP)", 7);
}
else if (DateTime.Now.Hour >= 21 || DateTime.Now.Minute >= 10 || DateTime.Now.Minute <= 20)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 6);
dialog.Option("lnstant~teleport.~(1~CP)", 7);
}
else
{
dialog.Text("[Queen~of~Evil]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 6:
{
ushort x = 286;
ushort y = 158;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 7:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 286, 158);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
#region Bloody~Banshee
case 8://238,165
{
if (DateTime.Now.Minute >= 20 || DateTime.Now.Minute <= 27)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 3);
dialog.Option("lnstant~teleport.~(1~CP)", 4);
}
else
{
dialog.Text("[Bloody~Banshee]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 9:
{
ushort x = 238;
ushort y = 165;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 10:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 238, 165);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
#region Chilling Spook
case 11://238,165
{
if (DateTime.Now.Minute >= 30 || DateTime.Now.Minute <= 34)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 12);
dialog.Option("lnstant~teleport.~(1~CP)", 13);
}
else
{
dialog.Text("[Chilling Spook]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 12:
{
ushort x = 214;
ushort y = 96;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 13:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 214, 96);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
#region Nemesis Tyrant
case 14://238,165
{
if (DateTime.Now.Minute >= 45 || DateTime.Now.Minute <= 00)
{
dialog.Text("The~beast~must~be~killed~without~any~delay.~You~can~find~it~with~pathfinding~or\n");
dialog.Text("~pay~1~CP~to~instantly~get~teleported.");
dialog.Option("Go~there~with~pathfinding.", 15);
dialog.Option("lnstant~teleport.~(1~CP)", 16);
}
else
{
dialog.Text("[Nemesis Tyrant]~has~been~defeated~and~fled~away.~You~don`t~need~to~go~there\n");
dialog.Text("~now.");
dialog.Option("I~see.", 255);
}
dialog.Send();
break;
}
case 15:
{
ushort x = 257;
ushort y = 136;
//uint NpcUid = 17436;
MsgAction datapacket = new MsgAction(true);
datapacket.UID = client.Player.UID;
datapacket.ID = MsgAction.Mode.PathFinding;
//datapacket.ShopID = NpcUid;
datapacket.X = x;
datapacket.Y = y;
client.Send(datapacket);
break;
}
case 16:
{
if (client.Player.ConquerPoints >= 1)
{
client.Player.Teleport(10166, 257, 136);
client.Player.ConquerPoints -= 1;
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
}
else
{
dialog.Text("Please make sure you have 1 CP to activate the instant portal.");
dialog.Option("Okay. ", 255);
}
break;
}
#endregion
}
break;
}
#endregion
#region GlowtownPortals
case 29991:
case 29992:
case 29993:
case 29994:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("This~Portal~will~send~you~to~the~supply~Station.~Do~you~want~to~use~portal/n");
dialog.Text("~npw?");
dialog.Option("Yes.", 1);
dialog.Option("No.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Random R = new Random();
int Nr = R.Next(1, 7);
if (Nr == 1) client.Player.Teleport(10166, 65, 134);
if (Nr == 2) client.Player.Teleport(10166, 68, 131);
if (Nr == 3) client.Player.Teleport(10166, 68, 129);
if (Nr == 4) client.Player.Teleport(10166, 68, 132);
if (Nr == 5) client.Player.Teleport(10166, 65, 132);
if (Nr == 6) client.Player.Teleport(10166, 67, 134);
if (Nr == 7) client.Player.Teleport(10166, 64, 133);
client.Player.Update(MsgName.Mode.Effect, "moveback", true);
break;
}
}
break;
}
#endregion
#region Monster SPWAN
#region QueenofEvil
case 41999:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hah! Want my QueenofEvil? Go to hell! Show me what you`re made of!");
dialog.Option("We`ll~see!", 1);
dialog.Option("Leave.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Database.MonsterInformation mob;
Database.MonsterInformation.MonsterInformations.TryGetValue(3970, out mob);
client.Map.Spawnthis(mob, client, npcs.MapID, npcs.X, npcs.Y);
Kernel.QueenofEvil2 = false;
Kernel.Maps[10166].Npcs.Remove(41999);
client.SendScreen(new MsgAction(true)
{
UID = 41999,
ID = MsgAction.Mode.RemoveEntity
}, true);
MsgMapItem Send = new MsgMapItem(true);
Send.UID = 41999;
Send.X = client.Player.X;
Send.Y = client.Player.Y;
Send.Type = 6;
client.SendScreenSpawn(Send, true);
}
break;
}
break;
}
#endregion
#region ChillingSpook
case 42999:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hah! Want my ChillingSpook? Go to hell! Show me what you`re made of!");
dialog.Option("We`ll~see!", 1);
dialog.Option("Leave.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Database.MonsterInformation mob;
Database.MonsterInformation.MonsterInformations.TryGetValue(3977, out mob);
client.Map.Spawnthis(mob, client, npcs.MapID, npcs.X, npcs.Y);
Kernel.ChillingSpook2 = false;
Kernel.Maps[10166].Npcs.Remove(42999);
client.SendScreen(new MsgAction(true)
{
UID = 42999,
ID = MsgAction.Mode.RemoveEntity
}, true);
MsgMapItem Send = new MsgMapItem(true);
Send.UID = 42999;
Send.X = client.Player.X;
Send.Y = client.Player.Y;
Send.Type = 6;
client.SendScreenSpawn(Send, true);
}
break;
}
break;
}
#endregion
#region DragonWraith
case 43999:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hah! Want my DragonWraith? Go to hell! Show me what you`re made of!");
dialog.Option("We`ll~see!", 1);
dialog.Option("Leave.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Database.MonsterInformation mob;
Database.MonsterInformation.MonsterInformations.TryGetValue(3971, out mob);
client.Map.Spawnthis(mob, client, npcs.MapID, npcs.X, npcs.Y);
Kernel.DragonWraith2 = false;
Kernel.Maps[10166].Npcs.Remove(43999);
client.SendScreen(new MsgAction(true)
{
UID = 43999,
ID = MsgAction.Mode.RemoveEntity
}, true);
MsgMapItem Send = new MsgMapItem(true);
Send.UID = 43999;
Send.X = client.Player.X;
Send.Y = client.Player.Y;
Send.Type = 6;
client.SendScreenSpawn(Send, true);
}
break;
}
break;
}
#endregion
#region NetherTyrant
case 44999:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Hah! Want my NetherTyrant? Go to hell! Show me what you`re made of!");
dialog.Option("We`ll~see!", 1);
dialog.Option("Leave.", 255);
dialog.Avatar(0);
dialog.Send();
break;
}
case 1:
{
Database.MonsterInformation mob;
Database.MonsterInformation.MonsterInformations.TryGetValue(3978, out mob);
client.Map.Spawnthis(mob, client, npcs.MapID, npcs.X, npcs.Y);
Kernel.NetherTyrant2 = false;
Kernel.Maps[10166].Npcs.Remove(44999);
client.SendScreen(new MsgAction(true)
{
UID = 44999,
ID = MsgAction.Mode.RemoveEntity
}, true);
MsgMapItem Send = new MsgMapItem(true);
Send.UID = 44999;
Send.X = client.Player.X;
Send.Y = client.Player.Y;
Send.Type = 6;
client.SendScreenSpawn(Send, true);
}
break;
}
break;
}
#endregion
#endregion Monster SPWAN
}
break;
}
#endregion Boss~Area
Database.DMaps.LoadMap(10166);
INSERT INTO `co1`.`npcs`(`id`, `name`, `type`, `lookface`, `mapid`, `cellx`, `celly`, `effect`) VALUES (20509, 'Pharmacist', 0001, 0036, 10137, 0083, 0409, '0');
INSERT INTO `co1`.`npcs`(`id`, `name`, `type`, `lookface`, `mapid`, `cellx`, `celly`, `effect`) VALUES (20508, 'Conductress', 0002, 0280, 10137, 0093, 0403, '0');
INSERT INTO `co1`.`npcs`(`id`, `name`, `type`, `lookface`, `mapid`, `cellx`, `celly`, `effect`) VALUES (20619, 'PotionDealer', 0001, 47906, 10137, 0083, 0403, '0');
INSERT INTO `co1`.`npcs`(`id`, `name`, `type`, `lookface`, `mapid`, `cellx`, `celly`, `effect`) VALUES (20500, 'CobbWind', 0002, 47500, 10137, 0104, 0406, '0');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3974, 'EviExecutioner', 0001, 0268, 150000, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0141, 3, 0500, 0, 3000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3973, 'EvilScout', 0001, 0154, 120000, 00, 2100, 1000, 0090, 0001, 0015, 0100, 0500, 0137, 3, 0500, 0, 2000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3975, 'EvilCenturion', 0001, 0315, 200000, 00, 2100, 1000, 0160, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 5000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3976, 'BloodyBanshee', 0001, 0951, 240000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0140, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3977, 'ChillingSpook', 0001, 0952, 240000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0141, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3978, 'NetherTyrant', 0001, 0984, 320000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0143, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3982, 'ChiSprite', 0001, 0154, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3983, 'StoneSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3979, 'MeteorSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3981, 'DBSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3984, 'DragonSoulSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3985, 'SilverSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3986, 'GearSprite', 0001, 0000, 20, 00, 2100, 1000, 0110, 0001, 0015, 0100, 0500, 0145, 3, 0500, 0, 1000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3970, 'QueenofEvil', 0001, 0919, 385000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0148, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
INSERT INTO `co1`.`monsterinfos`(`id`, `name`, `type`, `lookface`, `life`, `mana`, `attack_max`, `attack_min`, `defence`, `attack_range`, `view_range`, `attack_speed`, `move_speed`, `level`, `attack_user`, `run_speed`, `magic_type`, `extra_exp`, `ownitem`, `ownitemrate`, `ownitem2`, `ownitemrate2`, `ownitem3`, `ownitemrate3`, `effect`) VALUES (3971, 'DragonWraith', 0001, 0950, 189000000, 00, 10000, 10000, 60000, 0014, 0015, 0100, 0500, 0145, 3, 0500, 0, 30000, 0, 0, 0, 0, 0, 0, '');
الذين يشاهدون محتوى الموضوع الآن : 2 ( الأعضاء 0 والزوار 2) | |
أدوات الموضوع | |
|
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
سورس كونكر 6120 فول فيكسد بدون مشاكل اتاكات كاملة | ElSaher | سورسات كونكر | 81 | 2024-11-06 04:09 PM |
أسكلة الوارث أوف أمبرور كاملة 100% | محمد ياسر | تطوير سيرفرات كونكر | 4 | 2023-05-28 12:32 PM |
كويست الكنج دوم كاملة بدون اي مشاكل | Mero | تطوير سيرفرات كونكر | 2 | 2019-10-23 02:29 PM |
deathwar السيرفر محمي 100 % الاتاك كامل جميع شخصيات كاملة العبه صعبه | محمودمحمدسالم | اعلانات السيرفيرات الشخصية | 2 | 2019-09-07 06:41 PM |
Power Arena كاملة 100% | محمد ياسر | تطوير سيرفرات كونكر | 0 | 2019-06-27 07:24 PM |