|
المشاركات 1,372 |
+التقييم 0.67 |
تاريخ التسجيل Apr 2019 |
الاقامة |
نظام التشغيل |
رقم العضوية 30 |
#region TowerOfMystery
case 4020:
{
switch (client.ActiveNpc)
{
#region FieryDragon
case 19166:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Have you been to the Fiery Dragon region? The land was home to the Bright Tribe.");
dialog.Text("~I wonder what it looks like now.");
dialog.Option("Send~me~to~Fiery~Dragon.", 1);
dialog.Option("You`ll~return~home~soon.", 255);
dialog.Send();
break;
}
case 1:
{
Data datapacket = new Data(true);
datapacket.UID = client.Entity.UID;
datapacket.ID = 162;
datapacket.dwParam = 4020;
datapacket.Facing = (Game.Enums.ConquerAngle)client.Entity.Facing;
datapacket.wParam1 = 73;
datapacket.wParam2 = 98;
client.Send(datapacket);
break;
}
}
break;
}
#endregion
#region Conductress
case 19231:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Where do you want to go? I may be able to help you.");
dialog.Option("Twin~City.", 1);
dialog.Option("Market.", 2);
dialog.Option("Nothing.", 255);
dialog.Send();
break;
}
case 1:
client.Entity.Teleport(1002, 252, 234);
break;
case 2:
client.Entity.Teleport(1036, 254, 152);
break;
}
break;
}
#endregion
#region TowerKeeper
case 19127:
{
switch (npcRequest.OptionID)
{
case 0:
{
if (client.Entity.TOM == 0)
{
dialog.Text("You must be here to challenge the Tower of Mystery. Since the tower is extremely dangerous, I suggest you to");
dialog.Text("~make adequate preparations, and team up with your friends for the challenge. If you`re ready, I`ll lead you into the Mystery.");
dialog.Text("You can unlock Elite mode after completing all floors of the tower at Common mode.");
dialog.Option("Start~the~challenge.~(Common)", 1);
dialog.Option("Could~you~tell~me~more~details?", 2);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Send();
}
else
{
dialog.Text("You can challenge any floor of the tower every day, but you can only claim the reward up to 3 times in a day.");
dialog.Text(" Today`s challenge mode: Common");
dialog.Text(" Remaining challenge chances: " + client.Entity.TOMRC + "");
if (client.Entity.TOM == 1)
dialog.Option("Continue~to~challenge~1F.", 101);
if (client.Entity.TOM == 2)
dialog.Option("Continue~to~challenge~2F.", 102);
if (client.Entity.TOM == 3)
dialog.Option("Continue~to~challenge~3F.", 103);
if (client.Entity.TOM == 4)
dialog.Option("Continue~to~challenge~4F.", 104);
if (client.Entity.TOM == 5)
dialog.Option("Continue~to~challenge~5F.", 105);
if (client.Entity.TOM == 6)
dialog.Option("Continue~to~challenge~6F.", 106);
if (client.Entity.TOM == 7)
dialog.Option("Continue~to~challenge~7F.", 107);
if (client.Entity.TOM == 8)
dialog.Option("Continue~to~challenge~8F.", 108);
if (client.Entity.TOM == 9)
dialog.Option("Continue~to~challenge~9F.", 109);
dialog.Option("Choose~a~floor~to~challenge.", 200);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Send();
}
break;
}
case 200:
{
dialog.Text("Which floor of the tower would you like to challenge now?");
if (client.Entity.TOM >= 1)
dialog.Option("Floor~1.", 201);
if (client.Entity.TOM >= 2)
dialog.Option("Floor~2.", 202);
if (client.Entity.TOM >= 3)
dialog.Option("Floor~3.", 203);
if (client.Entity.TOM >= 4)
dialog.Option("Floor~4.", 204);
if (client.Entity.TOM >= 5)
dialog.Option("Floor~5.", 205);
if (client.Entity.TOM >= 6)
dialog.Option("Floor~6.", 206);
if (client.Entity.TOM >= 7)
dialog.Option("Floor~7.", 207);
if (client.Entity.TOM >= 8)
dialog.Option("Floor~8.", 208);
if (client.Entity.TOM >= 9)
dialog.Option("Floor~9.", 209);
dialog.Option("Let~me~think~about~it.", 255);
dialog.Send();
break;
}
case 201:
case 202:
case 203:
case 204:
case 205:
case 206:
case 207:
case 208:
case 209:
{
dialog.Text("Okay, you`ve selected a floor. If you want to challenge this floor in person,");
dialog.Text("~I`ll send you there. While if you want to enable `Sweep` function,");
dialog.Text("~you can directly get the reward without challenging it in person. So, what do you say?");
dialog.Option("Challenge~it~in~person.", (byte)(npcRequest.OptionID + 10));
dialog.Option("Enable~`Sweep`.", (byte)(npcRequest.OptionID + 20));
dialog.Option("I~need~to~think~about~it.", 255);
dialog.Send();
break;
}
case 221:
case 222:
case 223:
case 224:
case 225:
case 226:
case 227:
case 228:
case 229:
{
if (client.Entity.TOMQ == 0 || client.Entity.TOMQ == 255)
client.Entity.TOMQ = (byte)Kernel.Random.Next(1, 6);
dialog.Text(" Bright Tribe`s Reward ");
if (client.Entity.TOMQ == 1)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>Normal</tip>");
dialog.Text(" <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>1-Star</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 2)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>Refined</tip>");
dialog.Text(" <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>2-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 3)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>Unique</tip>");
dialog.Text(" <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>3-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 4)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>Elite</tip>");
dialog.Text(" <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>4-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ >= 5)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>Super</tip>");
dialog.Text(" <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>5-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
dialog.Option("Refresh~reward.~(1~CP)", 245);
dialog.Option("Enable~`Sweep`.~(5~CPs)", 246);
dialog.Option("Refresh~reward.~(25~Study~Pts)", 247);
dialog.Option("`Sweep`.~(1~MetorScrolls)", 248);
dialog.Option("I`ll~think~about~it.", 255);
dialog.Send();
break;
}
case 246:
{
if (client.Entity.ConquerPoints >= 5)
{
client.Entity.ConquerPoints -= 5;
client.Inventory.Add(3008727, 0, 1);
if (client.Entity.TOMQ == 1)
{
client.Inventory.AddTime(3008956, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 30-min EXP Pack!");
}
if (client.Entity.TOMQ == 2)
{
client.Inventory.AddTime(3008957, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 60-min EXP Pack!");
}
if (client.Entity.TOMQ == 3)
{
client.Inventory.Add(3002030, 0, 1);
client.Inventory.AddTime(3008958, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 90-min EXP Pack, 1 Super Protection Pills!");
}
if (client.Entity.TOMQ == 4)
{
client.Inventory.Add(3002030, 0, 2);
client.Inventory.AddTime(3008959, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 120-min EXP Pack, 2 Super Protection Pills!");
}
if (client.Entity.TOMQ >= 5)
{
client.Inventory.Add(3002030, 0, 3);
client.Inventory.AddTime(3008962, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 180-min EXP Pack, 3 Super Protection Pills!");
}
dialog.Option("Thanks.", 255);
dialog.Send();
client.Entity.TOMRC--;
}
else
{
dialog.Text("You don't have enough Conquer Points!");
dialog.Option("Sorry!", 255);
dialog.Send();
}
break;
}
case 245:
{
if (client.Entity.ConquerPoints >= 1)
{
client.Entity.ConquerPoints -= 1;
client.Entity.TOMQ = (byte)Kernel.Random.Next(1, 5);
dialog.Text(" Bright Tribe`s Reward ");
if (client.Entity.TOMQ == 1)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>Normal</tip>");
dialog.Text(" <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>1-Star</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 2)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>Refined</tip>");
dialog.Text(" <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>2-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 3)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>Unique</tip>");
dialog.Text(" <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>3-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 4)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>Elite</tip>");
dialog.Text(" <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>4-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ >= 5)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>Super</tip>");
dialog.Text(" <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>5-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
dialog.Option("Refresh~reward.~(1~CP)", 225);
dialog.Option("Enable~`Sweep`.~(5~CPs)", 246);
dialog.Option("Refresh~reward.~(25~Study~Pts)", 227);
dialog.Option("`Sweep`.~(1~MetorScrolls)", 248);
dialog.Option("I`ll~think~about~it.", 255);
dialog.Send();
}
else
{
dialog.Text("You don't have enough Conquer Points!");
dialog.Option("Sorry!", 255);
dialog.Send();
}
break;
}
case 248:
{
if (client.Inventory.Contains(720027, 5))
{
client.Entity.TOMRC--;
client.Inventory.Remove(720027, 5);
client.Inventory.Add(3008727, 0, 1);
if (client.Entity.TOMQ == 1)
{
client.Inventory.AddTime(3008956, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 30-min EXP Pack!");
}
if (client.Entity.TOMQ == 2)
{
client.Inventory.AddTime(3008957, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 60-min EXP Pack!");
}
if (client.Entity.TOMQ == 3)
{
client.Inventory.Add(3002030, 0, 1);
client.Inventory.AddTime(3008958, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 90-min EXP Pack, 1 Super Protection Pills!");
}
if (client.Entity.TOMQ == 4)
{
client.Inventory.Add(3002030, 0, 2);
client.Inventory.AddTime(3008959, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 120-min EXP Pack, 2 Super Protection Pills!");
}
if (client.Entity.TOMQ >= 5)
{
client.Inventory.Add(3002030, 0, 3);
client.Inventory.AddTime(3008962, 1 * 24 * 60 * 60);
dialog.Text(" You received a Blazing CP Fragment, 180-min EXP Pack, 3 Super Protection Pills!");
}
dialog.Option("Thanks.", 255);
dialog.Send();
}
else
{
dialog.Text("You don't have enough Meteor Scrolls!");
dialog.Option("Sorry!", 255);
dialog.Send();
}
break;
}
case 247:
{
if (client.Entity.SubClasses.StudyPoints >= 25)
{
client.Entity.SubClasses.StudyPoints -= 25;
client.Entity.TOMQ = (byte)Kernel.Random.Next(1, 5);
dialog.Text(" Bright Tribe`s Reward ");
if (client.Entity.TOMQ == 1)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>Normal</tip>");
dialog.Text(" <tip color=0xffffffff desc=Item#Reward:#a#Blazing#CP#Fragment,#30-min#EXP#Pack>1-Star</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 2)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>Refined</tip>");
dialog.Text(" <tip color=0xff5d86c9 desc=Item#Reward:#a#Blazing#CP#Fragment,#60-min#EXP#Pack>2-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 3)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>Unique</tip>");
dialog.Text(" <tip color=0xff00fa00 desc=Item#Reward:#a#Blazing#CP#Fragment,#90-min#EXP#Pack,#a#Super#Protection#Pill>3-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ == 4)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>Elite</tip>");
dialog.Text(" <tip color=0xffc501e7 desc=Item#Reward:#a#Blazing#CP#Fragment,#120-min#EXP#Pack,#2#Super#Protection#Pills>4-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
if (client.Entity.TOMQ >= 5)
{
dialog.Text(" **************************************");
dialog.Text(" <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>Super</tip>");
dialog.Text(" <tip color=0xffffae00 desc=Item#Reward:#a#Blazing#CP#Fragment,#180-min#EXP#Pack,#3#Super#Protection#Pills>5-PerfectionLevel</tip>");
dialog.Text(" **************************************");
}
dialog.Option("Refresh~reward.~(1~CP)", 225);
dialog.Option("Enable~`Sweep`.~(5~CPs)", 226);
dialog.Option("Refresh~reward.~(25~Study~Pts)", 227);
dialog.Option("`Sweep`.~(1~MetorScrolls)", 228);
dialog.Option("I`ll~think~about~it.", 255);
dialog.Send();
}
else
{
dialog.Text("You don't have enough Study Points!");
dialog.Option("Sorry!", 255);
dialog.Send();
}
break;
}
case 211:
case 212:
case 213:
case 214:
case 215:
case 216:
case 217:
case 218:
case 219:
{
client.Entity.InTOM = true;
var DM = Kernel.Maps[4000].MakeDynamicMap();
INpc npc = new Network.GamePackets.NpcSpawn();
if ((npcRequest.OptionID - 210) == 1)
{
npc.UID = 56550;
npc.Mesh = 40460;
npc.Name = "GreatPheasant";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 1F where an aggressive devil, GreatPheasant(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if ((npcRequest.OptionID - 210) == 2)
{
npc.UID = 56551;
npc.Mesh = 40470;
npc.Name = "WingedLord";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 2F where an aggressive devil, WingedLord(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if ((npcRequest.OptionID - 210) == 3)
{
npc.UID = 56552;
npc.Mesh = 40480;
npc.Name = "WaterTerror";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 3F where an aggressive devil, WaterTerror(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if ((npcRequest.OptionID - 210) == 4)
{
npc.UID = 56553;
npc.Mesh = 40490;
npc.Name = "RuthlessAsura";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 4F where an aggressive devil, RuthlessAsura(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if ((npcRequest.OptionID - 210) == 5)
{
npc.UID = 56554;
npc.Mesh = 40500;
npc.Name = "SoulStrangler";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 5F where an aggressive devil, SoulStrangler(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if ((npcRequest.OptionID - 210) == 6)
{
npc.UID = 56555;
npc.Mesh = 40510;
npc.Name = "InfernalGlutton";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 6F where an aggressive devil, InfernalGlutton(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if ((npcRequest.OptionID - 210) == 7)
{
npc.UID = 56556;
npc.Mesh = 40520;
npc.Name = "AlienDragon";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 7F where an aggressive devil, AlienDragon(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if ((npcRequest.OptionID - 210) == 8)
{
npc.UID = 56557;
npc.Mesh = 40530;
npc.Name = "ShadowSpider";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 8F where an aggressive devil, ShadowSpider(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if ((npcRequest.OptionID - 210) == 9)
{
npc.UID = 56558;
npc.Mesh = 40540;
npc.Name = "FlameGiant";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 9F where an aggressive devil, FlameGiant(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM > 9) break;
npc.Type = (Enums.NpcType)2;
npc.X = 66;
npc.Y = 66;
npc.MapID = DM.ID;
DM.AddNpc(npc);
client.Entity.TOMM = DM;
client.Entity.Teleport(DM.ID, (ushort)Kernel.Random.Next(49, 79), (ushort)Kernel.Random.Next(49, 79));
break;
}
case 2:
{
dialog.Text("There is no limit on the number of times you can challenge the tower, but only 3 chances to claim the reward every day.");
dialog.Text("~Alternatively, you can use CPs or Meteor Scrolls to start `sweeping` and directly get the reward. If you create a team");
dialog.Text("~to challenge the tower at Elite mode, you can also claim a Concerted Effort Pack from the Cloud Sweeper after completing it.");
dialog.Option("Start~the~challenge.", 1);
dialog.Option("I`ll~talk~to~you~later.", 255);
dialog.Send();
break;
}
case 101:
case 102:
case 103:
case 104:
case 105:
case 106:
case 107:
case 108:
case 109:
case 1:
{
if (client.Entity.TOM == 0)
client.Entity.TOM = 1;
client.Entity.InTOM = true;
var DM = Kernel.Maps[4000].MakeDynamicMap();
INpc npc = new Network.GamePackets.NpcSpawn();
if (client.Entity.TOM == 1)
{
npc.UID = 56550;
npc.Mesh = 40460;
npc.Name = "GreatPheasant";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 1F where an aggressive devil, GreatPheasant(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM == 2)
{
npc.UID = 56551;
npc.Mesh = 40470;
npc.Name = "WingedLord";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 2F where an aggressive devil, WingedLord(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM == 3)
{
npc.UID = 56552;
npc.Mesh = 40480;
npc.Name = "WaterTerror";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 3F where an aggressive devil, WaterTerror(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM == 4)
{
npc.UID = 56553;
npc.Mesh = 40490;
npc.Name = "RuthlessAsura";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 4F where an aggressive devil, RuthlessAsura(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM == 5)
{
npc.UID = 56554;
npc.Mesh = 40500;
npc.Name = "SoulStrangler";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 5F where an aggressive devil, SoulStrangler(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM == 6)
{
npc.UID = 56555;
npc.Mesh = 40510;
npc.Name = "InfernalGlutton";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 6F where an aggressive devil, InfernalGlutton(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM == 7)
{
npc.UID = 56556;
npc.Mesh = 40520;
npc.Name = "AlienDragon";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 7F where an aggressive devil, AlienDragon(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM == 8)
{
npc.UID = 56557;
npc.Mesh = 40530;
npc.Name = "ShadowSpider";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 8F where an aggressive devil, ShadowSpider(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM == 9)
{
npc.UID = 56558;
npc.Mesh = 40540;
npc.Name = "FlameGiant";
client.Send(new Message("You`ve already arrived (Common) in Tower of Mystery 9F where an aggressive devil, FlameGiant(Common), was sealed. Be careful! ", Color.Red, Message.System));
}
if (client.Entity.TOM > 9) break;
npc.Type = (Enums.NpcType)2;
npc.X = 66;
npc.Y = 66;
npc.MapID = DM.ID;
DM.AddNpc(npc);
client.Entity.TOMM = DM;
client.Entity.Teleport(DM.ID, (ushort)Kernel.Random.Next(49, 79), (ushort)Kernel.Random.Next(49, 79));
break;
}
}
break;
}
#endregion
#region CloudSweeper
case 19128:
{
switch (npcRequest.OptionID)
{
case 0:
{
dialog.Text("Every day, when you team up with at least one friend, and conquer the Tower of Mystery at any challenge mode,");
dialog.Text("~you can claim a reward from me.");
dialog.Option("Claim~my~team~reward.", 1);
dialog.Option("I~see.", 255);
dialog.Send();
break;
}
case 1:
{
dialog.Text("To claim a reward from me, you need to team up with your friends and conquere the Tower of Mystery.");
dialog.Option("I~see.", 255);
dialog.Send();
break;
}
}
break;
}
#endregion
}
break;
}
#endregion
#region HeavenlyMaster
case 8233:
{
dialog.Avatar(67);
switch (npcRequest.OptionID)
{
case 0:
{
if (client.Quests.GetQuest(QuestID.TowerOfMystery) == null || client.Quests.CheckQuest(QuestID.TowerOfMystery) == QuestPacket.QuestData.QuestStatus.Available)
client.Quests.Accept(QuestID.TowerOfMystery);
dialog.Text("Every day when you successfully challenged the Tower of Mystery, you can claim"); dialog.Text("~a Chi Token, 200 Champion Points, 3 Exorcism Tokens and 100 Study Points from me.");
dialog.Option("Take~me~to~the~tower.", 1);
if (!client.Entity.DidTOM)
dialog.Option("Claim~my~rewards.", 2);
dialog.Option("Exchange~for~Exorcism~Pack.", 6);
dialog.Option("I`ll~talk~to~you~later.", 255);
break;
}
case 1:
{
client.Entity.Teleport(4020, 83, 73);
break;
}
case 6:
{
dialog.Text("You can exchange 3 Exorcism Tokens for an Exorcism Pack, or 9 Exorcism Tokens for a Golden Exorcism Pack.");
dialog.Text("~Which pack would you like to exchange for?");
dialog.Option("Exorcism~Pack.", 8);
dialog.Option("Golden~Exorcism~Pack.", 9);
dialog.Option("I`ll~think~about~it.", 255);
dialog.Send();
break;
}
case 8:
{
if (client.Inventory.Contains(711211, 3))
{
client.Inventory.Remove(711211, 3);
client.Inventory.Add(720948, 0, 1);
}
else
{
dialog.Text("Stop kidding me! You don`t have 3 Exorcism Tokens to exchange for an Exorcism Pack.");
dialog.Text("~No bargain here.");
dialog.Option("Sorry,~I~forgot.", 255);
dialog.Send();
}
break;
}
case 9:
{
if (client.Inventory.Contains(711211, 9))
{
client.Inventory.Remove(711211, 9);
client.Inventory.Add(729594, 0, 1);
}
else
{
dialog.Text("Stop kidding me! You don`t have 9 Exorcism Tokens to exchange for an Exorcism Pack.");
dialog.Text("~No bargain here.");
dialog.Option("Sorry,~I~forgot.", 255);
dialog.Send();
}
break;
}
case 2:
{
if (client.Quests.GetQuest(QuestID.TowerOfMystery).Kills >= 1)
{
client.Quests.FinishQuest(QuestID.TowerOfMystery);
client.Entity.ThirllingSpook = true;
client.Entity.ChampionPoints += 200;
client.Inventory.Add(711211, 0, 3);
client.Inventory.Add(729304, 0, 1);
client.Entity.DidTOM = true;
client.Entity.SubClasses.StudyPoints += 100;
}
else
{
dialog.Text("You haven`t completed the challenge of the Tower of Mystery, and you can`t claim");
dialog.Text("~the rewards, otherwise you would like to pay 27 CPs or a Mystery Amulet.");
dialog.Option("Pay~27~CPs~for~reward.", 5);
dialog.Option("I~haven`t~decided,~yet!", 255);
dialog.Send();
}
break;
}
case 5:
{
if (client.Entity.ConquerPoints >= 27)
{
client.Quests.FinishQuest(QuestID.TowerOfMystery);
client.Entity.ThirllingSpook = true;
client.Entity.ChampionPoints += 200;
client.Inventory.Add(711211, 0, 3);
client.Inventory.Add(729304, 0, 1);
client.Entity.DidTOM = true;
client.Entity.ConquerPoints -= 27;
client.Entity.SubClasses.StudyPoints += 100;
}
break;
}
}
break;
}
#endregion
#region TowerofMystery
if (Name.Contains("GreatPheasant") || Name.Contains("WingedLord") || Name.Contains("WaterTerror") || Name.Contains("RuthlessAsura") || Name.Contains("FlameGiant") || Name.Contains("SoulStrangler") || Name.Contains("DarkGlutton") || Name.Contains("AlienDragon") || Name.Contains("ShadowSpider"))
{
if (killer.Owner.Quests.GetQuest(QuestID.TowerOfMystery) == null || killer.Owner.Quests.CheckQuest(QuestID.TowerOfMystery) == QuestPacket.QuestData.QuestStatus.Available)
killer.Owner.Quests.Accept(QuestID.TowerOfMystery);
killer.Owner.Quests.DoneTowerMystery();
killer.Owner.MessageBox("You`ve successfully defeated the devil on Tower of Mystery " + killer.TOM + "F. Hurry and go claim the Bright Tribe`s reward for you.");
_String str = new _String(true);
str.TextsCount = 1;
str.UID = killer.UID;
str.Type = 10;
str.Texts.Add("zf2-281");
killer.Owner.SendScreen(str, true);
Romyo.Interfaces.INpc npc = new Network.GamePackets.NpcSpawn();
npc.UID = 200028;
npc.Mesh = 40150;
npc.Name = "BrightTribe`s";
npc.Type = (Game.Enums.NpcType)2;
npc.X = 66;
npc.Y = 66;
npc.MapID = killer.MapID;
killer.TOMM.AddNpc(npc);
foreach (var client in Kernel.GamePool.Values)
{
if (client.Entity.MapID != killer.MapID) continue;
client.Screen.Reload(null);
}
_String str2 = new _String(true);
str2.TextsCount = 1;
str2.X = npc.X;
str2.Y = npc.Y;
str2.Type = 9;
str2.Texts.Add("zf2-280");
killer.Owner.SendScreen(str2, true);
}
#endregion
public static void PlayerJump(Data generalData, GameClient client)
if (Kernel.GetDistance(client.Entity.X, client.Entity.Y, 73, 98) < 3 && client.Entity.MapID == 4020)//TOWEROFMYSTERY
{
client.Entity.Teleport(3998, 90, 352);
}
if (Kernel.GetDistance(client.Entity.X, client.Entity.Y, 40, 66) <= 1 && client.Entity.InTOM || Kernel.GetDistance(client.Entity.X, client.Entity.Y, 46, 44) <= 1 && client.Entity.InTOM)//TOWEROFMYSTERY
{
client.MessageBox("Do you want to leave the Tower of Mystery?",
p => { p.Entity.Teleport(4020, 84, 74); });
}
if (client.Entity.OnCheckGuard)
{
client.Entity.OnCheckGuard = false;
client.MessageBox("Unable~to~check!", null, null, 0);
client.Entity.CheckGuardSec = 0;
}
if (!client.Entity.OnCyclone() && !client.Entity.ContainsFlag(Update.Flags.Ride) && !client.Entity.OnOblivion() && !client.Entity.OnSuperman() && !client.Entity.ContainsFlag3(Update.Flags3.DragonCyclone) && !client.Entity.OnSuperCyclone() && !client.Entity.Transformed)
{
AntiSpeedHack.Process(client, Time64.Now);
}
if (client.Team == null)
{
if (client.Entity.SpookMap != null && client.Entity.MapID == client.Entity.SpookMap.ID && Kernel.GetDistance(client.Entity.X, client.Entity.Y, 36, 24) < 25)
{
((INpc)new NpcSpawn
{
UID = 8798,
Mesh = 7610,
Type = Enums.NpcType.Talker,
X = 36,
Y = 24,
MapID = client.Entity.MapID
}).SendSpawn(client);
((INpc)new NpcSpawn
{
UID = 8308,
Mesh = 2507,
Type = Enums.NpcType.Talker,
X = 25,
Y = 30,
MapID = client.Entity.MapID
}).SendSpawn(client);
}
}
else
{
if (client.Team.SpookMap != null && client.Entity.MapID == client.Team.SpookMap.ID && Kernel.GetDistance(client.Entity.X, client.Entity.Y, 36, 24) < 25)
{
((INpc)new NpcSpawn
{
UID = 8798,
Mesh = 7610,
Type = Enums.NpcType.Talker,
X = 36,
Y = 24,
MapID = client.Entity.MapID
}).SendSpawn(client);
((INpc)new NpcSpawn
{
UID = 8308,
Mesh = 2507,
Type = Enums.NpcType.Talker,
X = 25,
Y = 30,
MapID = client.Entity.MapID
}).SendSpawn(client);
}
}
public enum QuestID : uint
TowerOfMystery = 6126,
public bool DidTOM = false;
public bool DidBrightFortune = false;
public Map TOMM;
public bool ClaimedTOM = false;
public bool InTOM = false;
public byte TOM = 0;
public byte TOMRC = 3;
public byte TOMQ = 255;
الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1) | |
|
الموضوع | كاتب الموضوع | المنتدى | مشاركات | آخر مشاركة |
كوست كتب cps | محمد ياسر | تطوير سيرفرات كونكر | 1 | 2023-10-09 07:31 AM |
انا اسف جدا لاول مرة | megokarika | مشكلات السيرفيرات كونكر الشخصيه | 5 | 2020-02-17 12:02 AM |
كوست بتل وار بتل بور | محمد ياسر | تطوير سيرفرات كونكر | 1 | 2019-06-25 10:42 PM |
كوست Emperor War | محمد ياسر | تطوير سيرفرات كونكر | 0 | 2019-05-07 12:41 PM |
كوست البولات ال 4 مدن | محمد ياسر | تطوير سيرفرات كونكر | 0 | 2019-05-01 06:53 PM |