#WindWalker
#region WindwalkerLord case 19634: { switch (npcRequest.OptionID) { case 0: { if (client.Player.Class >= 160 && client.Player.Class <= 165) { dialog.Text("Our Windwalker school was founded by Saint Wan on the principle of KINDNESS and JUSTICE. Once you decide to"); dialog.Text("~join us as a Windwalker, you take the responsibility for the security of the country against alien invaders and devils."); if (client.Player.Class != 165) { dialog.Option("I~want~to~get~promoted.", 1); } dialog.Option("Learn~skills.", 2); dialog.Option("Switch~to~another~branch.", 4); dialog.Option("I`ll~talk~to~you~later.", 255); dialog.Send(); } else { dialog.Text("You don`t look like a Windwalker. What`s the matter? If you were ever a Windwalker in either of the previous two lives, you can learn [Frost Gaze I] from me."); dialog.Option("I~See.", 255); dialog.Send(); } break; } case 1: { if (client.Player.Class == 160 && client.Player.Level < client.PromoteLevelNeed) { dialog.Text("FellowBrother, you`re not qualified to be [WindwalkerGuard]. You should reach Level 15 to get promoted."); dialog.Option("I`ll~try~to~reach~Lv.15.", 255); dialog.Send(); } else if (client.Player.Class == 161 && client.Player.Level < client.PromoteLevelNeed) { dialog.Text("FellowBrother, you`re not qualified to be [WindwalkerOfficer]. You should reach Level 40 to get promoted."); dialog.Option("I`ll~try~to~reach~Lv.40.", 255); dialog.Send(); } else if (client.Player.Class == 162 && client.Player.Level < client.PromoteLevelNeed) { dialog.Text("FellowBrother, you`re not qualified to be [WindwalkerSupervisor]. You should reach Level 70 to get promoted."); dialog.Option("I`ll~try~to~reach~Lv.70.", 255); dialog.Send(); } else if (client.Player.Class == 163 && client.Player.Level < client.PromoteLevelNeed) { dialog.Text("FellowBrother, you`re not qualified to be [WindwalkerManager]. You should reach Level 100 to get promoted."); dialog.Option("I`ll~try~to~reach~Lv.100.", 255); dialog.Send(); } else if (client.Player.Class == 164 && client.Player.Level < client.PromoteLevelNeed) { dialog.Text("FellowBrother, you`re not qualified to be [WindwalkerLord]. You should reach Level 110 to get promoted."); dialog.Option("I`ll~try~to~reach~Lv.110.", 255); dialog.Send(); } else { if (client.Player.Class >= 160 && client.Player.Class <= 165) { dialog.Text("To promote now you need" + client.PromoteItemNameNeed + " ."); dialog.Option("Promote me sir.", 165); dialog.Send(); } } break; } case 165: { if (client.PromoteItemNeed == 721020) { if (client.Inventory.Remove("moonbox")) { client.Player.Update(_String.Effect, "end_task", true); client.Inventory.Add(client.PromoteItemGain, 0, 1); client.Player.Class++; dialog.Text("Congratulations! You have been promoted."); dialog.Option("Thank you master.", 255); dialog.Send(); } else { dialog.Text("You don't meet the requierments."); dialog.Option("Ahh.", 255); dialog.Send(); } break; } if (client.Inventory.Contains(client.PromoteItemNeed, client.PromoteItemCountNeed) && client.Player.Level >= client.PromoteLevelNeed) { client.Inventory.Remove(client.PromoteItemNeed, client.PromoteItemCountNeed); client.Inventory.Add(client.PromoteItemGain, 0, 1); client.Player.Class++; client.Player.Update(_String.Effect, "end_task", true); dialog.Text("Congratulations! You have been promoted."); dialog.Option("Thank you master.", 255); dialog.Send(); } else { dialog.Text("You don't meet the requierments."); dialog.Option("Ahh.", 255); dialog.Send(); } break; } case 4: { if (client.Player.IsChaser()) { dialog.Text(" *Branches of Windwalker School*"); dialog.Text("،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ"); dialog.Text("Stomper: Excels in melee combat with excellent attack range and remarkable recovery ability. Stomper`s exclusive skill"); dialog.Text(" can freeze enemies` blood to extend their skill cooldown time and response time."); dialog.Text("Chaser: Excels in ranged combat. With a unique focusing skill, Chaser is able to control the power of wind to attack"); dialog.Text(" enemies far away."); dialog.Text("،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ"); dialog.Text("(You`re currently on the [RangedChaser] branch. Each Windwalker can switch his/her branch once every 30 days, free of charge.)"); dialog.Option("Switch~to~[MeleeStomper]~branch.", 5); dialog.Option("I`ll~think~about~it.", 255); dialog.Send(); } else if (client.Player.IsStomper()) { dialog.Text(" *Branches of Windwalker School*"); dialog.Text("،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ"); dialog.Text("Stomper: Excels in melee combat with excellent attack range and remarkable recovery ability. Stomper`s exclusive skill"); dialog.Text(" can freeze enemies` blood to extend their skill cooldown time and response time."); dialog.Text("Chaser: Excels in ranged combat. With a unique focusing skill, Chaser is able to control the power of wind to attack"); dialog.Text(" enemies far away."); dialog.Text("،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ،ھ"); dialog.Text("(You`re currently on the [MeleeStomper] branch. Each Windwalker can switch his/her branch once every 30 days, free of charge.)"); dialog.Option("Switch~to~[RangedChaser]~branch.", 6); dialog.Option("I`ll~think~about~it.", 255); dialog.Send(); } break; } case 5: { if (client.Player.IsStomper()) client.Player.Windwalker = 0; else if (client.Player.IsChaser()) client.Player.Windwalker = 8; else break; Update upd = new Update(true); upd.UID = client.Player.UID; upd.UpdateCount = 1; upd.SwitchWindwalker(3277209, 1); client.SendScreen(upd, true); Update upd2 = new Update(true); upd2.UID = client.Player.UID; upd2.UpdateCount = 1; upd2.SwitchWindwalker(71, client.Player.Windwalker); client.SendScreen(upd2, true); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.JusticeChant); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.ChillingSnow); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.FreezingPelter); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.HealingSnow); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.RevengeTaill); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.ShadowofChaser); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.Omnipotence); dialog.Text("Okay, I`ve changed your branch to [MeleeStomper]."); dialog.Option("Thanks!", 255); dialog.Send(); break; } case 6: { if (client.Player.IsStomper()) client.Player.Windwalker = 0; else if (client.Player.IsChaser()) client.Player.Windwalker = 8; else break; Update upd = new Update(true); upd.UID = client.Player.UID; upd.UpdateCount = 1; upd.SwitchWindwalker(3277209, 1); client.SendScreen(upd, true); Update upd2 = new Update(true); upd2.UID = client.Player.UID; upd2.UpdateCount = 1; upd2.SwitchWindwalker(71, client.Player.Windwalker); client.SendScreen(upd2, true); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.JusticeChant); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.ChillingSnow); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.FreezingPelter); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.HealingSnow); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.RevengeTaill); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.ShadowofChaser); client.Player.RemoveFlag4((ulong)Network.GamePackets.Update.Flags4.Omnipotence); dialog.Text("Okay, I`ve changed your branch to [RangedChaser]."); dialog.Option("Thanks!", 255); dialog.Send(); break; } case 3: { if (client.Player.Reborn == 0) { client.AddSpell(LearnableSpell(12830)); break; } if (client.Player.FirstRebornClass == 165 && client.Player.Reborn == 1) { client.AddSpell(LearnableSpell(13070)); break; } if (client.Player.FirstRebornClass == 165 && client.Player.SecondRebornClass == 165 && client.Player.Reborn == 2) { client.AddSpell(LearnableSpell(13080)); break; } else { client.MessageBox("You`re not qualified to learn this skill."); break; } } case 2: { dialog.Text("Our Windwalker school is divided into two branches: Chaser and Stomper. Chaser focuses on"); dialog.Text("~ranged combat, while Stomper excels in melee combat. I`m here representing the Chief to"); dialog.Text("~impart distinctive skills to the Windwalkers."); dialog.Option("Learn~skills~of~Stomper.", 10); dialog.Option("Learn~skills~of~Chaser.", 11); dialog.Option("Learn~rebirth~skill.", 12); dialog.Option("Learn~universal~skills.", 13); dialog.Send(); break; } case 12: { dialog.Text("Frost Gaze is an exclusive rebirth skill for Windwalker. The heroes who got reborn to be Windwalker can learn Frost Gaze I. If both of your precious andd"); dialog.Text("~current Class are Windwalker, you can learn Frost Gaze II. While for Windwalkers who were also a Windwalker in previous two lives, they can learn Frost Gaze III."); if (client.Player.Reborn == 0 && client.Player.Class == 165) dialog.Option("Frost~Gaze~I.", 3); if (client.Player.FirstRebornClass == 165 && client.Player.Reborn == 1 && client.Player.Class == 165) dialog.Option("Frost~Gaze~II.", 3); if (client.Player.SecondRebornClass == 165 && client.Player.Reborn == 2 && client.Player.Class == 165 && client.Player.FirstRebornClass == 165) dialog.Option("Frost~Gaze~III.", 3); dialog.Option("I~want~to~learn~other~skills.", 2); dialog.Option("I`ll~talk~to~you~later.", 255); dialog.Send(); break; } case 13: { dialog.Text("Omnipotence and Justice Chant are basic skills for Windwalker, which are available to both Chaser and Stomper learners. I`ll teach you if you want."); dialog.Option("Omnipotence~[Lv.3].~(" + WindwalkerSkills(client, 12860) + ")", 40); dialog.Option("JusticeChant~[Lv.3].~(" + WindwalkerSkills(client, 12870) + ")", 41); dialog.Option("I~want~to~learn~other~skills.", 2); dialog.Option("I`ll~talk~to~you~later.", 255); dialog.Send(); break; } case 40: case 41: { ushort spellid = 12800; switch (npcRequest.OptionID) { case 40: { spellid += 60; break; } case 41: { spellid += 70; break; } } if (WindwalkerSkills(client, spellid) == "Learned") { dialog.Text("FellowBrother has already acquired this skill. Go practice and feel its power."); dialog.Option("Okay.", 2); dialog.Send(); break; } else if (WindwalkerSkills(client, spellid) == "Available") { client.AddSpell(LearnableSpell(spellid)); } else { dialog.Text("The study of [" + SpellTable.GetSpell(spellid, 0).Name + "] requires FellowBrother to reach a certain level. FellowBrother, you can find me when you reach the required Level."); dialog.Option("I`ll~see~you!", 2); dialog.Send(); } break; } case 10: { dialog.Text("The Stomper branch has developed overwhelming melee skills which enable the caster to disable an enemy with swift and flexible fighting moves."); dialog.Text("~FellowBrother, which skill would you like to learn?"); dialog.Option("AngerofStomper~[Lv.1].~(" + WindwalkerSkills(client, 12980) + ")", 20); dialog.Option("BurntFrost~[Lv.15].~(" + WindwalkerSkills(client, 12940) + ")", 21); dialog.Option("HealingSnow~[Lv.15].~(" + WindwalkerSkills(client, 12950) + ")", 22); dialog.Option("RageofWar~[Lv.40].~(" + WindwalkerSkills(client, 12930) + ")", 23); dialog.Option("HorrorofStomper~[Lv.40].~(" + WindwalkerSkills(client, 12990) + ")", 24); dialog.Option("ChillingSnow~[Lv.70].~(" + WindwalkerSkills(client, 12960) + ")", 25); dialog.Option("PeaceofStomper~[Lv.70].~(" + WindwalkerSkills(client, 13000) + ")", 26); dialog.Option("Next.", 27); dialog.Send(); break; } case 27: { dialog.Text("The Stomper branch has developed overwhelming melee skills which enable the caster to disable an enemy with swift and flexible fighting moves."); dialog.Text("~FellowBrother, which skill would you like to learn?"); dialog.Option("RevengeTail~[Lv.100].~(" + WindwalkerSkills(client, 13030) + ")", 28); dialog.Option("FreezingPelter~[Lv.100].~(" + WindwalkerSkills(client, 13020) + ")", 29); dialog.Option("I~want~to~learn~other~skills.", 2); dialog.Option("I`ll~talk~to~you~later.", 255); dialog.Option("Previous.", 10); dialog.Send(); break; } case 20: case 21: case 22: case 23: case 24: case 25: case 26: case 28: case 29: { ushort spellid = 12900; switch (npcRequest.OptionID) { case 20: { spellid += 80; break; } case 21: { spellid += 40; break; } case 22: { spellid += 50; break; } case 23: { spellid += 30; break; } case 24: { spellid += 90; break; } case 25: { spellid += 60; break; } case 26: { spellid += 100; break; } case 28: { spellid += 130; break; } case 29: { spellid += 120; break; } } if (WindwalkerSkills(client, spellid) == "Learned") { dialog.Text("FellowBrother has already acquired this skill. Go practice and feel its power."); dialog.Option("Okay.", 2); dialog.Send(); break; } else if (WindwalkerSkills(client, spellid) == "Available") { client.AddSpell(LearnableSpell(spellid)); } else { dialog.Text("The study of [" + SpellTable.GetSpell(spellid, 0).Name + "] requires FellowBrother to reach a certain level. FellowBrother, you can find me when you reach the required Level."); dialog.Option("I`ll~see~you!", 2); dialog.Send(); } break; } case 11: { dialog.Text("The Chaser branch is famous for its ability to control wind and outstanding ranged attacks."); dialog.Text("~FellowBrother, which skill would you like to learn?"); dialog.Option("SwirlingStorm~[Lv.15].~(" + WindwalkerSkills(client, 12890) + ")", 30); dialog.Option("ShadowofChaser~[Lv.15].~(" + WindwalkerSkills(client, 13090) + ")", 31); dialog.Option("TripleBlasts~[Lv.40].~(" + WindwalkerSkills(client, 12850) + ")", 32); dialog.Option("Thundercloud~[Lv.70]~[" + WindwalkerSkills(client, 12840) + "]", 33); dialog.Option("Thunderbolt~[Lv.100]~[" + WindwalkerSkills(client, 12970) + "]", 34); dialog.Option("I~want~to~learn~other~skills.", 2); dialog.Option("I`ll~talk~to~you~later.", 255); dialog.Send(); break; } case 30: case 31: case 32: case 33: case 34: { ushort spellid = 12800; switch (npcRequest.OptionID) { case 30: { spellid += 90; break; } case 31: { spellid += 290; break; } case 32: { spellid += 50; break; } case 33: { spellid += 40; break; } case 34: { spellid += 170; break; } } if (WindwalkerSkills(client, spellid) == "Learned") { dialog.Text("FellowBrother has already acquired this skill. Go practice and feel its power."); dialog.Option("Okay.", 2); dialog.Send(); break; } else if (WindwalkerSkills(client, spellid) == "Available") { client.AddSpell(LearnableSpell(spellid)); } else { dialog.Text("The study of [" + SpellTable.GetSpell(spellid, 0).Name + "] requires FellowBrother to reach a certain level. FellowBrother, you can find me when you reach the required Level."); dialog.Option("I`ll~see~you!", 2); dialog.Send(); } break; } } break;