diff options
Diffstat (limited to 'npc/battleground/bg_common.txt')
-rw-r--r-- | npc/battleground/bg_common.txt | 578 |
1 files changed, 0 insertions, 578 deletions
diff --git a/npc/battleground/bg_common.txt b/npc/battleground/bg_common.txt deleted file mode 100644 index 4c9f3c307..000000000 --- a/npc/battleground/bg_common.txt +++ /dev/null @@ -1,578 +0,0 @@ -//================= Hercules Script ======================================= -//= _ _ _ -//= | | | | | | -//= | |_| | ___ _ __ ___ _ _| | ___ ___ -//= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| -//= | | | | __/ | | (__| |_| | | __/\__ \ -//= \_| |_/\___|_| \___|\__,_|_|\___||___/ -//================= License =============================================== -//= This file is part of Hercules. -//= http://herc.ws - http://github.com/HerculesWS/Hercules -//= -//= Copyright (C) 2012-2016 Hercules Dev Team -//= Copyright (C) Euphy -//= Copyright (C) L0ne_W0lf -//= -//= Hercules is free software: you can redistribute it and/or modify -//= it under the terms of the GNU General Public License as published by -//= the Free Software Foundation, either version 3 of the License, or -//= (at your option) any later version. -//= -//= This program is distributed in the hope that it will be useful, -//= but WITHOUT ANY WARRANTY; without even the implied warranty of -//= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -//= GNU General Public License for more details. -//= -//= You should have received a copy of the GNU General Public License -//= along with this program. If not, see <http://www.gnu.org/licenses/>. -//========================================================================= -// BattleGround System - Common NPCs -//================= Description =========================================== -//= Battleground NPCs: -//= - Generals and Aides -//= - Battleground Warper -//= - Kafra and Repairman. -//= - GM Management NPC (disabled by default) -//= - Badge Exchanger (Tierra and Flavius) -//================= Current Version ======================================= -//= 1.4 -//========================================================================= - -//== Generals ============================================== -bat_room,161,158,3 script Gen. Guillaume's Aide#01 4_M_KY_HEAD,{ end; } -bat_room,161,160,3 script Gen. Guillaume's Aide#03 4_M_KY_HEAD,{ end; } - -bat_room,160,141,3 script Prince Croix 4_M_CRU_CRUA,{ - cutin "bat_crua1",2; - mes("[Prince Croix]"); - mes("Wise adventurer, why don't you lend us your power for victory?"); - next; - switch(select("What's the reason for the Battle?", "Tell me about General Guillaume")) { - case 1: - cutin "bat_crua2",2; - mes("[Prince Croix]"); - mes("Maroll's great king, Marcel Marollo VII, is very sick lately."); - mes("His Majesty has declared that he will be leaving the future of Maroll to me or the 3rd prince, General Guillaume."); - next; - mes("[Prince Croix]"); - mes("General Guillaume may have an advantage in this battle as he is the great general of Maroll, but that doesn't automatically mean he'll win."); - mes("I want to win this battle so that I can bring prosperity to the people of Maroll. They've suffered enough from war..."); - next; - switch(select("Yes, I want to join you.", "End Conversation")) { - case 1: - cutin "bat_crua1",2; - mes("[Prince Croix]"); - mes("Thank you so much. I feel like I can win with the help of adventurers like you."); - mes("Now, please go downstairs and join your comrades in sharpening their skills to fight the enemy!"); - break; - case 2: - mes("[Prince Croix]"); - mes("For Maroll!"); - break; - } - break; - case 2: - cutin "bat_crua2",2; - mes("[Prince Croix]"); - mes("The 3rd Prince Guillaume is the great general of Maroll."); - mes("It's a waste of time to explain to you how great a leader or warlord he is, since he commands the great military power of Maroll."); - next; - mes("[Prince Croix]"); - mes("Unfortunately, there's something he and his followers are unaware of:"); - mes("Do the people of Maroll really want them to spend so much money on military power?"); - mes("We have suffered enough from wars."); - mes("I believe weapons aren't the best way to bring prosperity to a nation."); - next; - mes("[Prince Croix]"); - mes("I do not wish to shed blood, but I have no choice but to fight for the possibility of peace and for the sake of my people."); - next; - switch(select("Yes, I want to join you.", "End Conversation")) { - case 1: - cutin "bat_crua1",2; - mes("[Prince Croix]"); - mes("Thank you so much. I feel like I can win with the help of adventurers like you."); - mes("Now, please go downstairs and join your comrades in sharpening their skills to fight the enemy!"); - break; - case 2: - mes("[Prince Croix]"); - mes("For Maroll!"); - break; - } - break; - } - close2; - cutin "bat_crua1",255; - cutin "bat_crua2",255; - end; -} - -bat_room,161,140,3 script Prince Croix's Aide#01 4_M_CRU_HEAD,{ end; } -bat_room,161,142,3 script Prince Croix's Aide#02 4_M_CRU_HEAD,{ end; } - -bat_room,160,159,3 script General Guillaume 4_M_KY_KIYOM,{ - cutin "bat_kiyom2",2; - mes("[General Guillaume]"); - mes("Hot-blooded adventurer, we need your ability to win this battle."); - next; - switch(select("What's the reason for the Battle?", "Tell me about Prince Croix")) { - case 1: - cutin "bat_kiyom1",2; - mes("[General Guillaume]"); - mes("Our great king, Marcel Marollo VII, is very sick lately."); - mes("His Majesty has declared that he has chosen either me or Prince Croix as the next king amongst his 9 sons."); - next; - mes("[General Guillaume]"); - mes("Two kings can't share a nation! Only the one victorious from His Majesty's appointed battle will be enthroned."); - next; - mes("[General Guillaume]"); - mes("This is, however, not just a battle between us. This battle will determine the future of this country."); - mes("I pledge on my honor to prove that I'm the one who can protect this Maroll from outside threats."); - next; - switch(select("Yes, I want to join you.", "End Conversation")) { - case 1: - cutin "bat_kiyom2",2; - mes("[General Guillaume]"); - mes("Welcome to my army, comrade."); - mes("Your eyes tell me that you're a soldier that I can trust."); - next; - mes("[General Guillaume]"); - mes("Now, go upstairs and apply for battle with your comrades."); - mes("I'm sure they'll welcome you whole-heartedly!"); - break; - case 2: - mes("[General Guillaume]"); - mes("I'll be the one who will capture the flag!"); - break; - } - break; - case 2: - cutin "bat_kiyom1",2; - mes("[General Guillaume]"); - mes("The 5th Prince Croix is currently titled as the Prime Minister of Maroll."); - mes("He thinks all national matters of a nation can be discussed and determined on a desk,\r" - "and believes in peaceful co-existence with other countries."); - next; - mes("[General Guillaume]"); - mes("He's too ignorant to admit that so-called peace is built on countless lives that are sacrificed in " - "wars while normal citizens and upper classes can live, oblivious to the horrors that allow them to live that way."); - next; - mes("[General Guillaume]"); - mes("He's too naive to understand the reality...."); - mes("I can't leave Maroll to someone like him who lives in a dream!"); - next; - mes("[General Guillaume]"); - mes("His unrealistic beliefs will drown this country in poverty and make the people weak. If he becomes the king, " - "Maroll will never rest from the onslaughts of other countries."); - mes("I want to teach him what makes this small country so powerful and prosperous. It's military power!"); - next; - switch(select("I want to join your army!", "End Conversation")) { - case 1: - cutin "bat_kiyom2",2; - mes("[General Guillaume]"); - mes("Welcome to my army, comrade."); - mes("Your eyes tell me that you're a soldier that I can trust."); - next; - mes("[General Guillaume]"); - mes("Now, go upstairs and apply for battle from your comrades."); - mes("I'm sure they'll welcome you whole-heartedly!"); - break; - case 2: - mes("[General Guillaume]"); - mes("I'll be the one who will capture the flag!"); - break; - } - break; - } - close2; - cutin "bat_kiyom1",255; - cutin "bat_kiyom2",255; - end; -} - -//== Flags ================================================= -//bat_room,140,160,3 script Guillaume Base#roomflag1 1_FLAG_LION,{ end; } -//bat_room,167,160,3 script Guillaume Base#roomflag2 1_FLAG_LION,{ end; } -//bat_room,140,139,3 script Croix Base#roomflag1 1_FLAG_EAGLE,{ end; } -//bat_room,167,139,3 script Croix Base#roomflag2 1_FLAG_EAGLE,{ end; } - -//== BattleGround Warper =================================== -bat_room,148,150,5 script Teleporter#Battlefield 4_F_TELEPORTER,{ - mes("[Teleporter]"); - mes("Do you wish to leave the battlefield? Use my services to return to town."); - next; - switch(select("Leave", "Don't Leave")) { - case 1: - mes("[Teleporter]"); - switch(bat_return) { - default: - case 1: - setarray .@mapname$[0], _("Prontera"), "prontera"; - setarray .@xy[0],116,72; - break; - case 2: - setarray .@mapname$[0], _("Morroc"), "moc_ruins"; - setarray .@xy[0],152,48; - break; - case 3: - setarray .@mapname$[0], _("Al De Baran"), "aldebaran"; - setarray .@xy[0],168,112; - break; - case 4: - setarray .@mapname$[0], _("Geffen"), "geffen"; - setarray .@xy[0],120,39; - break; - case 5: - setarray .@mapname$[0], _("Payon"), "payon"; - setarray .@xy[0],161,58; - break; - case 6: - setarray .@mapname$[0], _("Lighthalzen"), "lighthalzen"; - setarray .@xy[0],159,93; - break; - case 7: - setarray .@mapname$[0], _("Rachel"), "rachel"; - setarray .@xy[0],115,124; - break; - } - mesf("You will be sent back to %s.", .@mapname$[0]); - close2; - warp .@mapname$[1],.@xy[0],.@xy[1]; - break; - case 2: - mes("[Teleporter]"); - mes("I'll be here whenever you're in need of my services."); - close; - } - end; -} - -- script Maroll Battle Recruiter::BatRecruit 4_F_JOB_KNIGHT,{ - mes("[Maroll Battle Recruiter]"); - mes("Good day, adventurer."); - mes("I'm a knight from a far country called Maroll Kingdom."); - next; - mes("[Maroll Battle Recruiter]"); - mes("The two princes of the kingdom are now battling for the throne of Maroll, and are in need of experienced soldiers like you."); - mes("How would you like to lend your power to one of the princes in the Maroll Kingdom?"); - next; - switch(select("Join", "Don't Join")) { - case 1: - mes("[Maroll Battle Recruiter]"); - mes("May the war god bless you."); - close2; - getmapxy(.@mapname$, .@x, .@y, UNITTYPE_NPC); - if (.@mapname$ == "prontera") - bat_return = 1; - else if (.@mapname$ == "moc_ruins") - bat_return = 2; - else if (.@mapname$ == "aldebaran") - bat_return = 3; - else if (.@mapname$ == "geffen") - bat_return = 4; - else if (.@mapname$ == "payon") - bat_return = 5; - else if (.@mapname$ == "lighthalzen") - bat_return = 6; - else if (.@mapname$ == "rachel") - bat_return = 7; - else - bat_return = 1; - warp "bat_room",154,150; - break; - case 2: - mes("[Maroll Battle Recruiter]"); - mes("I'll always be stationed here for more soldiers. Feel free to come back whenever you're interested."); - close; - } - end; -} - -prontera,123,83,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit1 4_F_JOB_KNIGHT -moc_ruins,75,162,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit2 4_F_JOB_KNIGHT -aldebaran,146,109,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit3 4_F_JOB_KNIGHT -geffen,109,66,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit4 4_F_JOB_KNIGHT -payon,189,105,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit5 4_F_JOB_KNIGHT -lighthalzen,153,86,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit6 4_F_JOB_KNIGHT -rachel,149,138,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit7 4_F_JOB_KNIGHT - -//== Additional warps ====================================== -// Empty -bat_room,57,81,0 warp bat1 1,1,bat_room,154,149 -bat_room,57,90,0 warp bat2 1,1,bat_room,154,149 -// Empty -bat_room,85,81,0 warp bat5 1,1,bat_room,154,149 -bat_room,85,90,0 warp bat6 1,1,bat_room,154,149 -// Free BG -bat_room,113,81,0 warp bat9 1,1,bat_room,154,149 -bat_room,113,90,0 warp bat10 1,1,bat_room,154,149 -// Free BG -bat_room,141,81,0 warp bat13 1,1,bat_room,154,149 -bat_room,141,90,0 warp bat14 1,1,bat_room,154,149 -// Free BG -bat_room,169,81,0 warp bat17 1,1,bat_room,154,149 -bat_room,169,90,0 warp bat18 1,1,bat_room,154,149 -// Free BG -bat_room,197,81,0 warp bat21 1,1,bat_room,154,149 -bat_room,197,90,0 warp bat22 1,1,bat_room,154,149 -// Free BG -bat_room,225,81,0 warp bat25 1,1,bat_room,154,149 -bat_room,225,90,0 warp bat26 1,1,bat_room,154,149 -// Empty -bat_room,253,81,0 warp bat29 1,1,bat_room,154,149 -bat_room,253,90,0 warp bat30 1,1,bat_room,154,149 -// Empty -bat_room,253,220,0 warp bat31 1,1,bat_room,154,149 -bat_room,253,211,0 warp bat32 1,1,bat_room,154,149 - -//== Kafra ================================================= -bat_room,148,147,4 script Kafra Staff::kaf_bat 4_F_KAFRA9,{ - cutin "kafra_09",2; - callfunc "F_Kafra",0,2,1,150,0; -} - -//== Repairman ============================================= -bat_room,138,144,4 script Repairman#bg 4_M_04,{ - callfunc("repairmain", _("Repairman")); - end; -} - -//== GM Management NPC ===================================== -bat_room,1,151,3 script Switch#batgnd 4_DOG01,{ - .@i = callfunc("F_GM_NPC",1854,0); - if (.@i == -1) { - mes("The command has been cancelled."); - close; - } else if (.@i == 0) { - end; - } else { - mes("May I help you?"); - next; - switch(select("Close Battlefield", "Open Battlefield", "Reset a01", "Reset b01", "Reset a02", "Reset b02")) { - case 1: - disablenpc "Tierra Gorge Officer#01a"; - disablenpc "Tierra Gorge Officer#02a"; - disablenpc "Tierra Gorge Officer#01b"; - disablenpc "Tierra Gorge Officer#02b"; - disablenpc "Flavius Officer#01a"; - disablenpc "Flavius Officer#01b"; - disablenpc "Flavius Officer#02a"; - disablenpc "Flavius Officer#02b"; - break; - case 2: - enablenpc "Tierra Gorge Officer#01a"; - enablenpc "Tierra Gorge Officer#02a"; - enablenpc "Tierra Gorge Officer#01b"; - enablenpc "Tierra Gorge Officer#02b"; - enablenpc "Flavius Officer#01a"; - enablenpc "Flavius Officer#01b"; - enablenpc "Flavius Officer#02a"; - enablenpc "Flavius Officer#02b"; - break; - case 3: - donpcevent "start#bat_a01::OnEnable"; - break; - case 4: - donpcevent "start#bat_b01::OnEnable"; - break; - case 5: - donpcevent "start#bat_a02::OnEnable"; - break; - case 6: - donpcevent "start#bat_b02::OnEnable"; - break; - } - mes("Complete"); - close; - } -} - -//== Badges Exchange ======================================= -bat_room,160,150,3 script Erundek 4_M_MANAGER,{ - if (checkweight(Knife,1) == 0) { - mes("- Wait a minute !! -"); - mes("- Currently you're carrying -"); - mes("- too many items with you. -"); - mes("- Please try again -"); - mes("- after you loose some weight. -"); - close; - } - mes("[Erundek]"); - mes("Do you have the battlefield badges?"); - mes("I can exchange Bravery Badges and Valor Badges for reward items."); - next; - switch(select("Exchange Badges", "Check the Catalog")) { - case 1: - mes("[Erundek]"); - mes("Which type of items would you like to exchange?"); - mes("To check more information about the reward items, please use our ^3131FFCatalog^000000."); - next; - switch(select("Weapon", "Armor", "Accessory", "Consumable")) { - case 1: - mes("[Erundek]"); - mes("You chose ^3131FFWeapon^000000."); - mes("The following weapons are available for exchange with the battlefield badges."); - mes("Please note that items for ^3131FFBravery Badges are indicated as (BB)^000000, and ^3131FFValor Badges as (VB)^000000."); - next; - switch(select("Dagger/OneSword/TwoSword/TwoSpear", "Staff/Mace/TwoAxe/Shuriken", "Bow/Katar/Music/Whip", "Book/Knuckle", "Revolver/Rifle/Gatling/Shotgun/Launcher")) { - case 1: - mes("[Erundek]"); - mes("The following items are available in the ^3131FFDagger, One-Handed Sword, Two-Handed Sword, and Two-Handed Spear^000000 category."); - next; - setarray .@Weapons[0],13036,7828,13037,7829,13411,7828,13410,7829,1183,7828,1184,7829,1425,7828,1482,7829; - break; - case 2: - mes("[Erundek]"); - mes("The following items are available in the ^3131FFStaff / Mace / Two-Handed Axe / Huuma Shuriken^000000 category."); - next; - setarray .@Weapons[0],1632,7828,1633,7829,1634,7828,1635,7829,1543,7828,1542,7829,1380,7828,1379,7829,13305,7828,13306,7829; - break; - case 3: - mes("[Erundek]"); - mes("The following weapons are available in the ^3131FFBow / Katar / Musical Instrument / Whip^000000 category."); - next; - setarray .@Weapons[0],1739,7828,1738,7829,1279,7828,1280,7829,1924,7828,1923,7829,1978,7828,1977,7829; - break; - case 4: - mes("[Erundek]"); - mes("The following weapons are available in the ^3131FFBook / Knuckle^000000 category."); - next; - setarray .@Weapons[0],1574,7828,1575,7829,1824,7828,1823,7829; - break; - case 5: - mes("[Erundek]"); - mes("The following weapons are available in the ^3131FFRevolver / Rifle / Gatling Gun / Shotgun / Grenade Launcher^000000 category."); - next; - setarray .@Weapons[0],13108,7828,13171,7829,13172,7828,13173,7829,13174,7829; - break; - } - .@menu$ = ""; - for (.@i = 0; .@i < getarraysize(.@Weapons); .@i += 2) - .@menu$ += getitemname(.@Weapons[.@i]) + ((.@Weapons[.@i+1]==7828) ? _("(BB)") : _("(VB)")) + ":"; - .@i = (select(.@menu$)-1)*2; - .@type$ = ((.@Weapons[.@i+1]==7828) ? _("(BB)") : _("(VB)")); - mes("[Erundek]"); - mesf("You chose ^3131FF%s%s^000000.", getitemname(.@Weapons[.@i]), .@type$); - mesf("You can exchange for this item with ^FF0000100 %s^000000.", getitemname(.@Weapons[.@i+1])); - mes("Would you like to exchange?"); - next; - switch(select("Do not exchange", "Exchange")) { - case 1: - break; - case 2: - mes("[Erundek]"); - mesf("Would you like to spend ^FF0000100 %s^000000 and receive a ^3131FF%s%s^000000?", - getitemname(.@Weapons[.@i+1]), getitemname(.@Weapons[.@i]), .@type$); - next; - mes("[Erundek]"); - mes("Remember, Battleground Reward Items are ^FF0000Character Bound^000000. Are you sure you want this item?"); - next; - switch(select("Yes", "No")) { - case 1: - mes("[Erundek]"); - if (countitem(.@Weapons[.@i+1]) >= 100) { - mes("Thank you for exchanging."); - delitem .@Weapons[.@i+1],100; - getitem .@Weapons[.@i],1; - } - else mes("I'm sorry, but you don't have enough badges to exchange."); - close; - case 2: - break; - } - break; - } - mes("[Erundek]"); - mes("Do you need more time to check the items?"); - close; - case 2: - mes("[Erundek]"); - mes("You chose ^3131FFArmor^000000."); - mes("The following armors are available for exchange with the battlefield badges."); - next; - switch(select("Garments / Shoes", "Armor")) { - case 1: - setarray .@items[0],2538,50,2539,50,2540,50,2435,50,2436,50,2437,50; - break; - case 2: - setarray .@items[0],2376,80,2377,80,2378,80,2379,80,2380,80,2381,80,2382,80; - break; - } - break; - case 3: - mes("[Erundek]"); - mes("You chose ^3131FFAccessory^000000."); - mes("You can exchange the Medal of Honors with your Badges according to the job classes, as follows:"); - next; - setarray .@items[0],2733,500,2720,500,2721,500,2722,500,2723,500,2724,500,2725,500; - .@menu1$ = sprintf("%s:%s/%s:%s:%s:%s:%s:%s", - jobname(Job_Gunslinger), jobname(Job_Swordman), jobname(Job_Star_Gladiator), jobname(Job_Thief), - jobname(Job_Acolyte), jobname(Job_Mage), jobname(Job_Archer), jobname(Job_Merchant)); - break; - case 4: - mes("[Erundek]"); - mes("You chose ^3131FFConsumable^000000."); - mes("The following consumable items are available for exchange with the battlefield badges:"); - next; - setarray .@items[0],12269,10,12270,10,12271,5,12272,10,12273,10; - break; - } - break; - case 2: - mes("[Erundek]"); - mes("We have many items, so please take a look and purchase deliberately."); - close2; - readbook 11010,1; - end; - } - .@menu$ = ""; - if (.@menu1$ != "") .@menu$ = .@menu1$; - else for (.@i = 0; .@i < getarraysize(.@items); .@i += 2) - .@menu$ += getitemname(.@items[.@i])+":"; - .@i = (select(.@menu$)-1)*2; - mes("[Erundek]"); - mesf("You chose ^3131FF%s^000000.", getitemname(.@items[.@i])); - switch(.@items[.@i]) { - case 2720: mes("This item is for Swordman and Taekwon Master Class only."); break; - case 2721: mes("This item is for Thief Class only."); break; - case 2722: mes("This item is for Acolyte Class only."); break; - case 2723: mes("This item is for Magician Class only."); break; - case 2724: mes("This item is for Archer Class only."); break; - case 2725: mes("This item is for Merchant Class only."); break; - case 2733: mes("This item is for Gunslinger only."); break; - default: break; - } - mesf("You can exchange for this item with ^FF0000%d %s or %d %s^000000.", .@items[.@i+1], getitemname(7828), .@items[.@i+1], getitemname(7829)); - mes("Would you like to exchange?"); - next; - switch(select("Do not exchange", "Exchange")) { - case 1: - mes("[Erundek]"); - mes("Do you need more time to check the items?"); - break; - case 2: - mes("[Erundek]"); - mes("Which Badge do you want to exchange?"); - mesf("You need ^3131FF%d Badges^000000 to exchange.", .@items[.@i+1]); - next; - if (.@item[0] < 12269 || .@item[0] > 12273 ) { - mes("[Erundek]"); - mes("Remember, Battleground Reward Items are ^FF0000Character Bound^000000. Are you sure you want this item?"); - next; - } - .@j = select("Bravery Badge", "Valor Badge", "Cancel"); - mes("[Erundek]"); - if (.@j == 3) { - mes("You cancelled the exchange."); - break; - } - .@cost = ((.@j==1)?7828:7829); - if (countitem(.@cost) >= .@items[.@i+1]) { - mes("Thank you for exchanging."); - delitem .@cost, .@items[.@i+1]; - getitem .@items[.@i],1; - } - else mesf("You do not have enough %ss.", getitemname(.@cost)); - break; - } - close; -} |