bg_common.txt 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827
  1. //===== eAthena Script =======================================
  2. // BattleGround System - Common NPCs
  3. //===== By: ==================================================
  4. //= ????, L0ne_W0lf
  5. //===== Current Version: =====================================
  6. //= 1.1
  7. //===== Compatible With: =====================================
  8. //= eAthena 1.0
  9. //===== Description: =========================================
  10. //= [AEGIS Conversion]
  11. //= Battleground npcs:
  12. //= - Generals and Aides
  13. //= - Battlegroun Warper
  14. //= - Kafra and Repairman.
  15. //= - GM Management NPC (Disabled by default)
  16. //= - Badge Exhanger (Tierra and Flavius.)
  17. //===== Additional Comments: =================================
  18. //= 1.0 First Version.
  19. //= 1.1 Updated several NPCs to Official.
  20. //============================================================
  21. // Generals
  22. //============================================================
  23. bat_room,161,158,3 script Gen. Guillaume's Aide#01 419,{ end; }
  24. bat_room,161,160,3 script Gen. Guillaume's Aide#03 419,{ end; }
  25. bat_room,160,141,3 script Prince Croix 416,{
  26. cutin "bat_crua1",2;
  27. mes "[Prince Croix]";
  28. mes "Wise adventurer, why don't you lend us your power for victory?";
  29. next;
  30. switch(select("What's the reason for the Battle?:Tell me about General Guillaume")) {
  31. case 1:
  32. cutin "bat_crua2",2;
  33. mes "[Prince Croix]";
  34. mes "Maroll's great king, Marcel Marollo VII, is very sick lately.";
  35. mes "His Majesty has declared that he will be leaving the future of Maroll to me or the 3rd prince, General Guillaume.";
  36. next;
  37. mes "[Prince Croix]";
  38. 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.";
  39. mes "I want to win this battle so that I can bring prosperity to the people of Maroll. They've suffered enough from war...";
  40. next;
  41. switch(select("Yes, I want to join you.:End Conversation")) {
  42. case 1:
  43. cutin "bat_crua1",2;
  44. mes "[Prince Croix]";
  45. mes "Thank you so much. I feel like I can win with the help of adventurers like you.";
  46. mes "Now, please go downstairs and join your comrades in sharpening their skills to fight the enemy!";
  47. break;
  48. case 2:
  49. mes "[Prince Croix]";
  50. mes "For Maroll!";
  51. break;
  52. }
  53. break;
  54. case 2:
  55. cutin "bat_crua2",2;
  56. mes "[Prince Croix]";
  57. mes "The 3rd Prince Guillaume is the great general of Maroll.";
  58. 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.";
  59. next;
  60. mes "[Prince Croix]";
  61. mes "Unfortunately, there's something he and his followers are unaware of:";
  62. mes "Do the people of Maroll really want them to spend so much money on military power?";
  63. mes "We have suffered enough from wars.";
  64. mes "I believe weapons aren't the best way to bring prosperity to a nation.";
  65. next;
  66. mes "[Prince Croix]";
  67. 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.";
  68. next;
  69. switch(select("Yes, I want to join you.:End Conversation")) {
  70. case 1:
  71. cutin "bat_crua1",2;
  72. mes "[Prince Croix]";
  73. mes "Thank you so much. I feel like I can win with the help of adventurers like you.";
  74. mes "Now, please go downstairs and join your comrades in sharpening their skills to fight the enemy!";
  75. break;
  76. case 2:
  77. mes "[Prince Croix]";
  78. mes "For Maroll!";
  79. break;
  80. }
  81. break;
  82. }
  83. close2;
  84. cutin "bat_crua1",255;
  85. cutin "bat_crua2",255;
  86. end;
  87. }
  88. bat_room,161,140,3 script Prince Croix's Aide#01 415,{ end; }
  89. bat_room,161,142,3 script Prince Croix's Aide#02 415,{ end; }
  90. bat_room,160,159,3 script General Guillaume 420,{
  91. cutin "bat_kiyom2",2;
  92. mes "[General Guillaume]";
  93. mes "Hot-blooded adventurer, we need your ability to win this battle.";
  94. next;
  95. switch(select("What's the reason for the Battle?:Tell me about Prince Croix")) {
  96. case 1:
  97. cutin "bat_kiyom1",2;
  98. mes "[General Guillaume]";
  99. mes "Our great king, Marcel Marollo VII, is very sick lately.";
  100. mes "His Majesty has declared that he has chosen either me or Prince Croix as the next king amongst his 9 sons.";
  101. next;
  102. mes "[General Guillaume]";
  103. mes "Two kings can't share a nation! Only the one victorious from His Majesty's appointed battle will be enthroned.";
  104. next;
  105. mes "[General Guillaume]";
  106. mes "This is, however, not just a battle between us. This battle will determine the future of this country.";
  107. mes "I pledge on my honor to prove that I'm the one who can protect this Maroll from outside threats.";
  108. next;
  109. switch(select("Yes, I want to join you.:End Conversation")) {
  110. case 1:
  111. cutin "bat_kiyom2",2;
  112. mes "[General Guillaume]";
  113. mes "Welcome to my army, comrade.";
  114. mes "Your eyes tell me that you're a soldier that I can trust.";
  115. next;
  116. mes "[General Guillaume]";
  117. mes "Now, go upstairs and apply for battle with your comrades.";
  118. mes "I'm sure they'll welcome you whole-heartedly!";
  119. break;
  120. case 2:
  121. mes "[General Guillaume]";
  122. mes "I'll be the one who will capture the flag!";
  123. break;
  124. }
  125. break;
  126. case 2:
  127. cutin "bat_kiyom1",2;
  128. mes "[General Guillaume]";
  129. mes "The 5th Prince Croix is currently titled as the Prime Minister of Maroll.";
  130. mes "He thinks all national matters of a nation can be discussed and determined on a desk,";
  131. mes "and believes in peaceful co-existence with other countries.";
  132. next;
  133. mes "[General Guillaume]";
  134. 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.";
  135. next;
  136. mes "[General Guillaume]";
  137. mes "He's too naive to understand the reality....";
  138. mes "I can't leave Maroll to someone like him who lives in a dream!";
  139. next;
  140. mes "[General Guillaume]";
  141. 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.";
  142. mes "I want to teach him what makes this small country so powerful and prosperous. It's military power!";
  143. next;
  144. switch(select("I want to join your army!:End Conversation")) {
  145. case 1:
  146. cutin "bat_kiyom2",2;
  147. mes "[General Guillaume]";
  148. mes "Welcome to my army, comrade.";
  149. mes "Your eyes tell me that you're a soldier that I can trust.";
  150. next;
  151. mes "[General Guillaume]";
  152. mes "Now, go upstairs and apply for battle from your comrades.";
  153. mes "I'm sure they'll welcome you whole-heartedly!";
  154. break;
  155. case 2:
  156. mes "[General Guillaume]";
  157. mes "I'll be the one who will capture the flag!";
  158. break;
  159. }
  160. break;
  161. }
  162. close2;
  163. cutin "bat_kiyom1",255;
  164. cutin "bat_kiyom2",255;
  165. end;
  166. }
  167. // Flags
  168. //============================================================
  169. //bat_room,140,160,3 script Guillaume Base#roomflag1 973,{ end; }
  170. //bat_room,167,160,3 script Guillaume Base#roomflag2 973,{ end; }
  171. //bat_room,140,139,3 script Croix Base#roomflag1 974,{ end; }
  172. //bat_room,167,139,3 script Croix Base#roomflag2 974,{ end; }
  173. // BattleGround Warper
  174. //============================================================
  175. bat_room,148,150,5 script Teleporter#Battlefield 124,{
  176. mes "[Teleporter]";
  177. mes "Do you wish to leave the battlefield? Use my services to return to town.";
  178. next;
  179. switch(select("Leave:Don't Leave")) {
  180. case 1:
  181. mes "[Teleporter]";
  182. switch(bat_return) {
  183. default:
  184. case 1:
  185. setarray .@mapname$[0],"Prontera.","prontera";
  186. setarray .@xy[0],116,72;
  187. break;
  188. case 2:
  189. setarray .@mapname$[0],"Morroc","moc_ruins";
  190. setarray .@xy[0],152,48;
  191. break;
  192. case 3:
  193. setarray .@mapname$[0],"Al De Baran.","aldebaran";
  194. setarray .@xy[0],168,112;
  195. break;
  196. case 4:
  197. setarray .@mapname$[0],"Geffen.","geffen";
  198. setarray .@xy[0],120,39;
  199. break;
  200. case 5:
  201. setarray .@mapname$[0],"Payon.","payon";
  202. setarray .@xy[0],161,58;
  203. break;
  204. case 6:
  205. setarray .@mapname$[0],"Lighthalzen.","lighthalzen";
  206. setarray .@xy[0],159,93;
  207. break;
  208. case 7:
  209. setarray .@mapname$[0],"Rachel.","rachel";
  210. setarray .@xy[0],115,124;
  211. break;
  212. }
  213. mes "You will be sent back to "+.@mapname$[0]+".";
  214. close2;
  215. warp .@mapname$[1],.@xy[0],.@xy[1];
  216. break;
  217. case 2:
  218. mes "[Teleporter]";
  219. mes "I'll be here whenever you're in need of my services.";
  220. close;
  221. }
  222. end;
  223. }
  224. - script Maroll Battle Recruiter::BatRecruit 728,{
  225. mes "[Maroll Battle Recruiter]";
  226. mes "Good day, adventurer.";
  227. mes "I'm a knight from a far country called Maroll Kingdom.";
  228. next;
  229. mes "[Maroll Battle Recruiter]";
  230. mes "The two princes of the kingdom are now battling for the throne of Maroll, and are in need of experienced soldiers like you.";
  231. mes "How would you like to lend your power to one of the princes in the Maroll Kingdom?";
  232. next;
  233. switch(select("Join:Don't Join")) {
  234. case 1:
  235. mes "[Maroll Battle Recruiter]";
  236. mes "May the war god bless you.";
  237. close2;
  238. getmapxy(.@mapname$,.@x,.@y,1);
  239. if (.@mapname$ == "prontera")
  240. set bat_return,1;
  241. else if (.@mapname$ == "moc_ruins")
  242. set bat_return,2;
  243. else if (.@mapname$ == "aldebaran")
  244. set bat_return,3;
  245. else if (.@mapname$ == "geffen")
  246. set bat_return,4;
  247. else if (.@mapname$ == "payon")
  248. set bat_return,5;
  249. else if (.@mapname$ == "lighthalzen")
  250. set bat_return,6;
  251. else if (.@mapname$ == "rachel")
  252. set bat_return,7;
  253. else
  254. set bat_return,1;
  255. warp "bat_room",154,150;
  256. break;
  257. case 2:
  258. mes "[Maroll Battle Recruiter]";
  259. mes "I'll always be stationed here for more soldiers. Feel free to come back whenever you're interested.";
  260. close;
  261. }
  262. end;
  263. }
  264. prontera,123,83,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit1 728
  265. moc_ruins,75,162,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit2 728
  266. aldebaran,146,109,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit3 728
  267. geffen,109,66,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit4 728
  268. payon,189,105,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit5 728
  269. lighthalzen,153,86,5 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit6 728
  270. rachel,149,138,3 duplicate(BatRecruit) Maroll Battle Recruiter::BatRecruit7 728
  271. // Additional warps
  272. // Empty
  273. bat_room,57,81,0 warp bat1 1,1,bat_room,154,149
  274. bat_room,57,90,0 warp bat2 1,1,bat_room,154,149
  275. // Empty
  276. bat_room,85,81,0 warp bat5 1,1,bat_room,154,149
  277. bat_room,85,90,0 warp bat6 1,1,bat_room,154,149
  278. // Free BG
  279. bat_room,113,81,0 warp bat9 1,1,bat_room,154,149
  280. bat_room,113,90,0 warp bat10 1,1,bat_room,154,149
  281. // Free BG
  282. bat_room,141,81,0 warp bat13 1,1,bat_room,154,149
  283. bat_room,141,90,0 warp bat14 1,1,bat_room,154,149
  284. // Free BG
  285. bat_room,169,81,0 warp bat17 1,1,bat_room,154,149
  286. bat_room,169,90,0 warp bat18 1,1,bat_room,154,149
  287. // Free BG
  288. bat_room,197,81,0 warp bat21 1,1,bat_room,154,149
  289. bat_room,197,90,0 warp bat22 1,1,bat_room,154,149
  290. // Free BG
  291. bat_room,225,81,0 warp bat25 1,1,bat_room,154,149
  292. bat_room,225,90,0 warp bat26 1,1,bat_room,154,149
  293. // Empty
  294. bat_room,253,81,0 warp bat29 1,1,bat_room,154,149
  295. bat_room,253,90,0 warp bat30 1,1,bat_room,154,149
  296. // Empty
  297. bat_room,253,220,0 warp bat31 1,1,bat_room,154,149
  298. bat_room,253,211,0 warp bat32 1,1,bat_room,154,149
  299. // Kafra
  300. //============================================================
  301. bat_room,148,147,4 script Kafra Staff::kaf_bat 861,{
  302. cutin "kafra_09",2;
  303. callfunc "F_Kafra",0,2,1,150,0;
  304. }
  305. // Repairman
  306. //============================================================
  307. bat_room,138,144,5 script Repairman#bg 86,{
  308. callfunc "repairmain","Repairman";
  309. end;
  310. }
  311. /*
  312. // GM Management NPC
  313. //============================================================
  314. bat_room,1,151,3 script Switch#batgnd 81,{
  315. input .@input,0,2000;
  316. if (.@input == 0) {
  317. mes "The command has been cancelled.";
  318. close;
  319. }
  320. else if (.@input == 1854) {
  321. mes "May I help ypu?";
  322. next;
  323. switch(select("Close Battlefield:Open Battlefield:Reset a01:Reset b01:Reset a02:Reset b02")) {
  324. case 1:
  325. disablenpc "Tierra Gorge Officer#01a";
  326. disablenpc "Tierra Gorge Officer#02a";
  327. disablenpc "Tierra Gorge Officer#01b";
  328. disablenpc "Tierra Gorge Officer#02b";
  329. disablenpc "Flavius Officer#01a";
  330. disablenpc "Flavius Officer#01b";
  331. disablenpc "Flavius Officer#02a";
  332. disablenpc "Flavius Officer#02b";
  333. break;
  334. case 2:
  335. enablenpc "Tierra Gorge Officer#01a";
  336. enablenpc "Tierra Gorge Officer#02a";
  337. enablenpc "Tierra Gorge Officer#01b";
  338. enablenpc "Tierra Gorge Officer#02b";
  339. enablenpc "Flavius Officer#01a";
  340. enablenpc "Flavius Officer#01b";
  341. enablenpc "Flavius Officer#02a";
  342. enablenpc "Flavius Officer#02b";
  343. break;
  344. case 3:
  345. donpcevent "start#bat_a01::OnEnable";
  346. break;
  347. case 4:
  348. donpcevent "start#bat_b01::OnEnable";
  349. break;
  350. case 5:
  351. donpcevent "start#bat_a02::OnEnable";
  352. break;
  353. case 6:
  354. donpcevent "start#bat_b02::OnEnable";
  355. break;
  356. }
  357. mes "Complete";
  358. close;
  359. }
  360. }
  361. */
  362. // Badges Exchange
  363. //============================================================
  364. bat_room,160,150,3 script Erundek 109,{
  365. if (checkweight(1201,1) == 0) {
  366. mes "- Wait a minute !! -";
  367. mes "- Currently you're carrying -";
  368. mes "- too many items with you. -";
  369. mes "- Please try again -";
  370. mes "- after you loose some weight. -";
  371. close;
  372. }
  373. mes "[Erundek]";
  374. mes "Do you have the battlefield badges?";
  375. mes "I can exchange Bravery Badges and Valor Badges for reward items.";
  376. next;
  377. switch(select("Exchange Badges:Check the Catalog")) {
  378. case 1:
  379. mes "[Erundek]";
  380. mes "Which type of items would you like to exchange?";
  381. mes "To check more information about the reward items, please use our ^3131FFCatalog^000000.";
  382. next;
  383. switch(select("Weapon:Armor:Accessory:Consumable")) {
  384. case 1:
  385. mes "[Erundek]";
  386. mes "You chose ^3131FFWeapon^000000.";
  387. mes "The following weapons are available for exchange with the battlefield badges.";
  388. mes "Please note that items for ^3131FFBravery Badges are indicated as (BB)^000000, and ^3131FFValor Badges as (VB)^000000.";
  389. next;
  390. switch(select("Dagger/OneSword/TwoSword/TwoSpear:Staff/Mace/TwoAxe/Shuriken:Bow/Katar/Music/Whip:Book/Knuckle:Revolver/Rifle/Gatling/Shotgun/Launcher")) {
  391. case 1:
  392. mes "[Erundek]";
  393. mes "The following items are available in the ^3131FFDagger, One-Handed Sword, Two-Handed Sword, and Two-Handed Spear^000000 category.";
  394. next;
  395. switch(select("Brave Assassin's Damascus(BB):Valorous Assassin's Damascus(VB):Brave Gladiator's Blade(BB):Valorous Gladiator's Blade(VB):Brave Assaulter's Katzbalger(BB):Valorous Assaulters's Katzbalger(VB):Assaulter Spear:Assaulter Lance")) {
  396. case 1:
  397. setarray .@cost[0],7828,100; //BF_Badge1
  398. setarray .@item[0],13036,1; //BF_Dagger1
  399. break;
  400. case 2:
  401. setarray .@cost[0],7829,100; //BF_Badge2
  402. setarray .@item[0],13037,1; //BF_Dagger2
  403. break;
  404. case 3:
  405. setarray .@cost[0],7828,100; //BF_Badge1
  406. setarray .@item[0],13411,1; //BF_Sword2
  407. break;
  408. case 4:
  409. setarray .@cost[0],7829,100; //BF_Badge2
  410. setarray .@item[0],13410,1; //BF_Sword1
  411. break;
  412. case 5:
  413. setarray .@cost[0],7828,100; //BF_Badge1
  414. setarray .@item[0],1183,1; //BF_Two_Handed_Sword1
  415. break;
  416. case 6:
  417. setarray .@cost[0],7829,100; //BF_Badge2
  418. setarray .@item[0],1184,1; //BF_Two_Handed_Sword2
  419. break;
  420. case 7:
  421. setarray .@cost[0],7828,100; //BF_Badge1
  422. setarray .@item[0],1425,1; //BF_Spear1
  423. break;
  424. case 8:
  425. setarray .@cost[0],7829,100; //BF_Badge2
  426. setarray .@item[0],1482,1; //BF_Lance1
  427. break;
  428. }
  429. break;
  430. case 2:
  431. mes "[Erundek]";
  432. mes "The following items are available in the ^3131FFStaff / Mace / Two-Handed Axe / Huuma Shuriken^000000 category.";
  433. next;
  434. switch(select("Warlock's Magic Wand(BB):Warlock's Battle Wand(VB):Strong Recovery Wand:Speedy Recovery Wand:Brave Battlefield Morning Star(BB):Valorous Battlefield Morning Star(VB):Insane Battle Axe(BB):Insane Battle Axe(VB):Brave Huuma Front Shuriken(BB):Valorous Huuma Front Shuriken(VB)")) {
  435. case 1:
  436. setarray .@cost[0],7828,100; //BF_Badge1
  437. setarray .@item[0],1632,1; //BF_Staff1
  438. break;
  439. case 2:
  440. setarray .@cost[0],7829,100; //BF_Badge2
  441. setarray .@item[0],1633,1; //BF_Staff2
  442. break;
  443. case 3:
  444. setarray .@cost[0],7828,100; //BF_Badge1
  445. setarray .@item[0],1634,1; //BF_Staff3
  446. break;
  447. case 4:
  448. setarray .@cost[0],7829,100; //BF_Badge2
  449. setarray .@item[0],1635,1; //BF_Staff4
  450. break;
  451. case 5:
  452. setarray .@cost[0],7828,100; //BF_Badge1
  453. setarray .@item[0],1543,1; //BF_Morning_Star2
  454. break;
  455. case 6:
  456. setarray .@cost[0],7829,100; //BF_Badge2
  457. setarray .@item[0],1542,1; //BF_Morning_Star1
  458. break;
  459. case 7:
  460. setarray .@cost[0],7828,100; //BF_Badge1
  461. setarray .@item[0],1380,1; //BF_Two_Handed_Axe2
  462. break;
  463. case 8:
  464. setarray .@cost[0],7829,100; //BF_Badge2
  465. setarray .@item[0],1379,1; //BF_Two_Handed_Axe1
  466. break;
  467. case 9:
  468. setarray .@cost[0],7828,100; //BF_Badge1
  469. setarray .@item[0],13305,1; //BF_Huuma_Shuriken1
  470. break;
  471. case 10:
  472. setarray .@cost[0],7829,100; //BF_Badge2
  473. setarray .@item[0],13306,1; //BF_Huuma_Shuriken2
  474. break;
  475. }
  476. break;
  477. case 3:
  478. mes "[Erundek]";
  479. mes "The following weapons are available in the ^3131FFBow / Katar / Musical Instrument / Whip^000000 category.";
  480. next;
  481. switch(select("Brave Battle CrossBow(BB):Valorous Battle CrossBow(VB):Brave Carnage Katar(BB):Valorous Carnage Katar(VB):Brave Battlefield Guitar(BB):Valorous Battlefield Guitar(VB):Brave Battle Lariat(BB):Valorous Battle Lariat(VB)")) {
  482. case 1:
  483. setarray .@cost[0],7828,100; //BF_Badge1
  484. setarray .@item[0],1739,1; //BF_Bow2
  485. break;
  486. case 2:
  487. setarray .@cost[0],7829,100; //BF_Badge2
  488. setarray .@item[0],1738,1; //BF_Bow1
  489. break;
  490. case 3:
  491. setarray .@cost[0],7828,100; //BF_Badge1
  492. setarray .@item[0],1279,1; //BF_Katar1
  493. break;
  494. case 4:
  495. setarray .@cost[0],7829,100; //BF_Badge2
  496. setarray .@item[0],1280,1; //BF_Katar2
  497. break;
  498. case 5:
  499. setarray .@cost[0],7828,100; //BF_Badge1
  500. setarray .@item[0],1924,1; //BF_Instrument2
  501. break;
  502. case 6:
  503. setarray .@cost[0],7829,100; //BF_Badge2
  504. setarray .@item[0],1923,1; //BF_Instrument1
  505. break;
  506. case 7:
  507. setarray .@cost[0],7828,100; //BF_Badge1
  508. setarray .@item[0],1978,1; //BF_Whip2
  509. break;
  510. case 8:
  511. setarray .@cost[0],7829,100; //BF_Badge2
  512. setarray .@item[0],1977,1; //BF_Whip1
  513. break;
  514. }
  515. break;
  516. case 4:
  517. mes "[Erundek]";
  518. mes "The following weapons are available in the ^3131FFBook / Knuckle^000000 category.";
  519. next;
  520. switch(select("Brave Battle Strategy Book(BB):Valorous Battle Strategy Book(VB):Brave Battle Fist(BB):Valorous Battle Fist(VB)")) {
  521. case 1:
  522. setarray .@cost[0],7828,100; //BF_Badge1
  523. setarray .@item[0],1574,1; //BF_Book1
  524. break;
  525. case 2:
  526. setarray .@cost[0],7829,100; //BF_Badge2
  527. setarray .@item[0],1575,1; //BF_Book2
  528. break;
  529. case 3:
  530. setarray .@cost[0],7828,100; //BF_Badge1
  531. setarray .@item[0],1824,1; //BF_Knuckle2
  532. break;
  533. case 4:
  534. setarray .@cost[0],7829,100; //BF_Badge2
  535. setarray .@item[0],1823,1; //BF_Knuckle1
  536. break;
  537. }
  538. break;
  539. case 5:
  540. mes "[Erundek]";
  541. mes "The following weapons are available in the ^3131FFRevolver / Rifle / Gatling Gun / Shotgun / Grenade Launcher^000000 category.";
  542. next;
  543. switch(select("Soldier Revolver:Soldier Rifle:Soldier Gatling Gun:Soldier Shotgun:Soldier Grenade Launcher")) {
  544. case 1:
  545. setarray .@cost[0],7828,100; //BF_Badge1
  546. setarray .@item[0],13108,1; //BF_Pistol1
  547. break;
  548. case 2:
  549. setarray .@cost[0],7829,100; //BF_Badge2
  550. setarray .@item[0],13171,1; //BF_Rifle1
  551. break;
  552. case 3:
  553. setarray .@cost[0],7828,100; //BF_Badge1
  554. setarray .@item[0],13172,1; //BF_Gatling_Gun1
  555. break;
  556. case 4:
  557. setarray .@cost[0],7829,100; //BF_Badge2
  558. setarray .@item[0],13173,1; //BF_Shotgun1
  559. break;
  560. case 5:
  561. setarray .@cost[0],7829,100; //BF_Badge2
  562. setarray .@item[0],13174,1; //BF_Launcher1
  563. break;
  564. }
  565. break;
  566. }
  567. if (.@cost[0] == 7829)
  568. set .@type$,"(VB)";
  569. else
  570. set .@type$,"(BB)";
  571. mes "[Erundek]";
  572. mes "You chose ^3131FF"+getitemname(.@item[0])+""+.@type$+"^000000.";
  573. mes "You can exchange for this item with ^FF0000"+.@cost[1]+" "+getitemname(.@cost[0])+"^000000.";
  574. mes "Would you like to exchange?";
  575. next;
  576. switch(select("Do not exchange:Exchange")) {
  577. case 1:
  578. mes "[Erundek]";
  579. mes "Do you need more time to check the items?";
  580. break;
  581. case 2:
  582. mes "[Erundek]";
  583. mes "Would you like to spend ^FF0000"+.@cost[1]+" "+getitemname(.@cost[0])+"^000000 and receive an ^3131FF"+getitemname(.@item[0])+""+.@type$+"^000000?";
  584. next;
  585. mes "[Erundek]";
  586. mes "Remember, Battleground Reward Items are ^FF0000Character Bound^000000. Are you sure you want this item?";
  587. next;
  588. switch(select("Yes:No")) {
  589. case 1:
  590. if (countitem(.@cost[0]) >= .@cost[1]) {
  591. mes "[Erundek]";
  592. mes "Thank you for exchanging.";
  593. delitem .@cost[0],.@cost[1];
  594. getitem .@item[0],.@item[1];
  595. }
  596. else {
  597. mes "[Erundek]";
  598. mes "I'm sorry, but you don't have enough badges to exchange.";
  599. }
  600. break;
  601. case 2:
  602. mes "[Erundek]";
  603. mes "Do you need more time to check out the items?";
  604. break;
  605. }
  606. break;
  607. }
  608. close;
  609. case 2:
  610. mes "[Erundek]";
  611. mes "You chose ^3131FFArmor^000000.";
  612. mes "The following armors are available for exchange with the battlefield badges.";
  613. next;
  614. switch(select("Garments / Shoes:Armor")) {
  615. case 1:
  616. switch(select("Captain's Manteau:Commander's Manteau:Sheriff's Manteau:Battle Greave:Combat Boots:Battle Boots")) {
  617. case 1:
  618. setarray .@cost[0],7828,50,7829,50; //BF_Badge1
  619. setarray .@item[0],2538,1; //Commander_Manteau
  620. break;
  621. case 2:
  622. setarray .@cost[0],7828,50,7829,50; //BF_Badge1
  623. setarray .@item[0],2539,1; //Commander_Manteau_
  624. break;
  625. case 3:
  626. setarray .@cost[0],7828,50,7829,50; //BF_Badge1
  627. setarray .@item[0],2540,1; //Sheriff_Manteau
  628. break;
  629. case 4:
  630. setarray .@cost[0],7828,50,7829,50; //BF_Badge1
  631. setarray .@item[0],2435,1; //Battle_Greave
  632. break;
  633. case 5:
  634. setarray .@cost[0],7828,50,7829,50; //BF_Badge1
  635. setarray .@item[0],2436,1; //Combat_Boots
  636. break;
  637. case 6:
  638. setarray .@cost[0],7828,50,7829,50; //BF_Badge1
  639. setarray .@item[0],2437,1; //Battle_Boots
  640. break;
  641. }
  642. break;
  643. case 2:
  644. switch(select("Assaulter Plate:Elite Engineer Armor:Assassin Robe:Warlock's Battle Robe:Medic's Robe:Elite Archer Suit:Elite Shooter Suit")) {
  645. case 1:
  646. setarray .@cost[0],7828,80,7829,80; //BF_Badge1
  647. setarray .@item[0],2376,1; //Assaulter_Plate
  648. break;
  649. case 2:
  650. setarray .@cost[0],7828,80,7829,80; //BF_Badge1
  651. setarray .@item[0],2377,1; //Elite_Engineer_Armor
  652. break;
  653. case 3:
  654. setarray .@cost[0],7828,80,7829,80; //BF_Badge1
  655. setarray .@item[0],2378,1; //Assassin_Robe
  656. break;
  657. case 4:
  658. setarray .@cost[0],7828,80,7829,80; //BF_Badge1
  659. setarray .@item[0],2379,1; //Warlock_Battle_Robe
  660. break;
  661. case 5:
  662. setarray .@cost[0],7828,80,7829,80; //BF_Badge1
  663. setarray .@item[0],2380,1; //Medic_Robe
  664. break;
  665. case 6:
  666. setarray .@cost[0],7828,80,7829,80; //BF_Badge1
  667. setarray .@item[0],2381,1; //Elite_Archer_Suit
  668. break;
  669. case 7:
  670. setarray .@cost[0],7828,80,7829,80; //BF_Badge1
  671. setarray .@item[0],2382,1; //Elite_Shooter_Suit
  672. break;
  673. }
  674. break;
  675. }
  676. break;
  677. case 3:
  678. mes "[Erundek]";
  679. mes "You chose ^3131FFAccessory^000000.";
  680. mes "You can exchange the Medal of Honors with your Badges according to the job classes, as follows:";
  681. next;
  682. switch(select("Gunslinger:Swordman/Taekwon Master:Thief:Acolyte:Magician:Archer:Merchant")) {
  683. case 1:
  684. setarray .@cost[0],7828,500,7829,500; //BF_Badge1
  685. setarray .@item[0],2733,1; //Medal_Gunner
  686. break;
  687. case 2:
  688. setarray .@cost[0],7828,500,7829,500; //BF_Badge1
  689. setarray .@item[0],2720,1; //Medal_Swordman
  690. break;
  691. case 3:
  692. setarray .@cost[0],7828,500,7829,500; //BF_Badge1
  693. setarray .@item[0],2721,1; //Medal_Thief
  694. break;
  695. case 4:
  696. setarray .@cost[0],7828,500,7829,500; //BF_Badge1
  697. setarray .@item[0],2722,1; //Medal_Acolyte
  698. break;
  699. case 5:
  700. setarray .@cost[0],7828,500,7829,500; //BF_Badge1
  701. setarray .@item[0],2723,1; //Medal_Mage
  702. break;
  703. case 6:
  704. setarray .@cost[0],7828,500,7829,500; //BF_Badge1
  705. setarray .@item[0],2724,1; //Medal_Archer
  706. break;
  707. case 7:
  708. setarray .@cost[0],7828,500,7829,500; //BF_Badge1
  709. setarray .@item[0],2725,1; //Medal_Merchant
  710. break;
  711. }
  712. break;
  713. case 4:
  714. mes "[Erundek]";
  715. mes "You chose ^3131FFConsumable^000000.";
  716. mes "The following consumable items are available for exchange with the battlefield badges:";
  717. next;
  718. switch(select("Tasty Pink Ration:Tasty White Ration:Military Ration A:Military Ration B:Military Ration C")) {
  719. case 1:
  720. setarray .@cost[0],7828,10,7829,10; //BF_Badge1
  721. setarray .@item[0],12269,1; //Tasty_Colonel
  722. break;
  723. case 2:
  724. setarray .@cost[0],7828,10,7829,10; //BF_Badge1
  725. setarray .@item[0],12270,1; //Tasty_Major
  726. break;
  727. case 3:
  728. setarray .@cost[0],7828,5,7829,5; //BF_Badge1
  729. setarray .@item[0],12271,1; //Mre_A
  730. break;
  731. case 4:
  732. setarray .@cost[0],7828,10,7829,10; //BF_Badge1
  733. setarray .@item[0],12272,1; //Mre_B
  734. break;
  735. case 5:
  736. setarray .@cost[0],7828,10,7829,10; //BF_Badge1
  737. setarray .@item[0],12273,1; //Mre_C
  738. break;
  739. }
  740. break;
  741. }
  742. break;
  743. case 2:
  744. mes "[Erundek]";
  745. mes "We have many items, so please take a look and purchase deliberately.";
  746. close2;
  747. ReadBook 11010,1;
  748. end;
  749. }
  750. mes "[Erundek]";
  751. mes "You chose ^3131FF"+getitemname(.@item[0])+"^000000.";
  752. switch(.@item[0]) {
  753. case 2720: mes "This item is for Swordman and Taekwon Master Class only."; break;
  754. case 2721: mes "This item is for Thief Class only."; break;
  755. case 2722: mes "This item is for Acolyte Class only."; break;
  756. case 2723: mes "This item is for Magician Class only."; break;
  757. case 2724: mes "This item is for Archer Class only."; break;
  758. case 2725: mes "This item is for Merchant Class only."; break;
  759. case 2733: mes "This item is for Gunslinger only."; break;
  760. default: break;
  761. }
  762. mes "You can exchange for this item with ^FF0000"+.@cost[1]+" "+getitemname(.@cost[0])+" or "+.@cost[3]+" "+getitemname(.@cost[2])+"^000000.";
  763. mes "Would you like to exchange?";
  764. next;
  765. switch(select("Do not exchange:Exchange")) {
  766. case 1:
  767. mes "[Erundek]";
  768. mes "Do you need more time to check the items?";
  769. break;
  770. case 2:
  771. mes "[Erundek]";
  772. mes "Which Badge do you want to exchange?";
  773. mes "You need ^3131FF"+.@cost[1]+" Badges^000000 to exchange.";
  774. next;
  775. if (.@item[0] < 12269 || .@item[0] > 12273 ) {
  776. mes "[Erundek]";
  777. mes "Remember, Battleground Reward Items are ^FF0000Character Bound^000000. Are you sure you want this item?";
  778. next;
  779. }
  780. switch(select("Bravery Badge:Valor Badge:Cancel")) {
  781. case 1:
  782. if (countitem(.@cost[0]) >= .@cost[1]) {
  783. mes "[Erundek]";
  784. mes "Thank you for exchanging.";
  785. delitem .@cost[0],.@cost[1];
  786. getitem .@item[0],.@item[1];
  787. }
  788. else {
  789. mes "[Erundek]";
  790. mes "You do not have enough Bravery Badges.";
  791. }
  792. break;
  793. case 2:
  794. if (countitem(.@cost[2]) >= .@cost[3]) {
  795. mes "[Erundek]";
  796. mes "Thank you for exchanging.";
  797. delitem .@cost[2],.@cost[3];
  798. getitem .@item[0],.@item[1];
  799. }
  800. else {
  801. mes "[Erundek]";
  802. mes "You do not have enough Valor Badges.";
  803. }
  804. break;
  805. case 3:
  806. mes "[Erundek]";
  807. mes "You cancelled the exchange.";
  808. break;
  809. }
  810. break;
  811. }
  812. close;
  813. }