summaryrefslogtreecommitdiff
path: root/npc/battleground/bg_common.txt
blob: 8fd6ffb93344e6e199062ca6555557bfaeaafa74 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
//===== rAthena Script ======================================= 
// BattleGround System - Common NPCs
//===== By: ================================================== 
//= ????, L0ne_W0lf
//===== Current Version: ===================================== 
//= 1.1
//===== Compatible With: ===================================== 
//= rAthena 1.0
//===== Description: ========================================= 
//= [AEGIS Conversion]
//= Battleground npcs:
//= - Generals and Aides
//= - Battlegroun Warper
//= - Kafra and Repairman.
//= - GM Management NPC (Disabled by default)
//= - Badge Exhanger (Tierra and Flavius.)
//===== Additional Comments: ================================= 
//= 1.0 First Version.
//= 1.1 Updated several NPCs to Official.
//= 1.2 Updated Repairman NPC
//============================================================

// Generals
//============================================================
bat_room,161,158,3	script	Gen. Guillaume's Aide#01	419,{ end; }
bat_room,161,160,3	script	Gen. Guillaume's Aide#03	419,{ end; }

bat_room,160,141,3	script	Prince Croix	416,{
	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	415,{ end; }
bat_room,161,142,3	script	Prince Croix's Aide#02	415,{ end; }

bat_room,160,159,3	script	General Guillaume	420,{
	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,";
		mes "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	973,{ end; }
//bat_room,167,160,3	script	Guillaume Base#roomflag2	973,{ end; }
//bat_room,140,139,3	script	Croix Base#roomflag1	974,{ end; }
//bat_room,167,139,3	script	Croix Base#roomflag2	974,{ end; }

// BattleGround Warper
//============================================================
bat_room,148,150,5	script	Teleporter#Battlefield	124,{
	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;
		}
		mes "You will be sent back to "+.@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	728,{
	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,1);
		if (.@mapname$ == "prontera")
			set bat_return,1;
		else if (.@mapname$ == "moc_ruins")
			set bat_return,2;
		else if (.@mapname$ == "aldebaran")
			set bat_return,3;
		else if (.@mapname$ == "geffen")
			set bat_return,4;
		else if (.@mapname$ == "payon")
			set bat_return,5;
		else if (.@mapname$ == "lighthalzen")
			set bat_return,6;
		else if (.@mapname$ == "rachel")
			set bat_return,7;
		else
			set 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	728
moc_ruins,75,162,3	duplicate(BatRecruit)	Maroll Battle Recruiter::BatRecruit2	728
aldebaran,146,109,3	duplicate(BatRecruit)	Maroll Battle Recruiter::BatRecruit3	728
geffen,109,66,3	duplicate(BatRecruit)	Maroll Battle Recruiter::BatRecruit4	728
payon,189,105,3	duplicate(BatRecruit)	Maroll Battle Recruiter::BatRecruit5	728
lighthalzen,153,86,5	duplicate(BatRecruit)	Maroll Battle Recruiter::BatRecruit6	728
rachel,149,138,3	duplicate(BatRecruit)	Maroll Battle Recruiter::BatRecruit7	728

// 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	861,{
	cutin "kafra_09",2;
	callfunc "F_Kafra",0,2,1,150,0;
}

// Repairman
//============================================================
bat_room,138,144,4	script	Repairman#bg	86,{
	callfunc "repairmain","Repairman";
	end;
}

/*
// GM Management NPC
//============================================================
bat_room,1,151,3	script	Switch#batgnd	81,{
	input .@input,0,2000;
	if (.@input == 0) {
		mes "The command has been cancelled.";
		close;
	}
	else if (.@input == 1854) {
		mes "May I help ypu?";
		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	109,{
	if (checkweight(1201,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;
				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")) {
				case 1:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],13036,1; //BF_Dagger1
					break;
				case 2:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],13037,1; //BF_Dagger2
					break;
				case 3:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],13411,1; //BF_Sword2
					break;
				case 4:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],13410,1; //BF_Sword1
					break;
				case 5:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1183,1; //BF_Two_Handed_Sword1
					break;
				case 6:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1184,1; //BF_Two_Handed_Sword2
					break;
				case 7:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1425,1; //BF_Spear1
					break;
				case 8:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1482,1; //BF_Lance1
					break;
				}
				break;
			case 2:
				mes "[Erundek]";
				mes "The following items are available in the ^3131FFStaff / Mace / Two-Handed Axe / Huuma Shuriken^000000 category.";
				next;
				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)")) {
				case 1:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1632,1; //BF_Staff1
					break;
				case 2:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1633,1; //BF_Staff2
					break;
				case 3:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1634,1; //BF_Staff3
					break;
				case 4:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1635,1; //BF_Staff4
					break;
				case 5:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1543,1; //BF_Morning_Star2
					break;
				case 6:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1542,1; //BF_Morning_Star1
					break;
				case 7:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1380,1; //BF_Two_Handed_Axe2
					break;
				case 8:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1379,1; //BF_Two_Handed_Axe1
					break;
				case 9:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],13305,1; //BF_Huuma_Shuriken1
					break;
				case 10:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],13306,1; //BF_Huuma_Shuriken2
					break;
				}
				break;
			case 3:
				mes "[Erundek]";
				mes "The following weapons are available in the ^3131FFBow / Katar / Musical Instrument / Whip^000000 category.";
				next;
				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)")) {
				case 1:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1739,1; //BF_Bow2
					break;
				case 2:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1738,1; //BF_Bow1
					break;
				case 3:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1279,1; //BF_Katar1
					break;
				case 4:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1280,1; //BF_Katar2
					break;
				case 5:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1924,1; //BF_Instrument2
					break;
				case 6:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1923,1; //BF_Instrument1
					break;
				case 7:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1978,1; //BF_Whip2
					break;
				case 8:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1977,1; //BF_Whip1
					break;
				}
				break;
			case 4:
				mes "[Erundek]";
				mes "The following weapons are available in the ^3131FFBook / Knuckle^000000 category.";
				next;
				switch(select("Brave Battle Strategy Book(BB):Valorous Battle Strategy Book(VB):Brave Battle Fist(BB):Valorous Battle Fist(VB)")) {
				case 1:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1574,1; //BF_Book1
					break;
				case 2:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1575,1; //BF_Book2
					break;
				case 3:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],1824,1; //BF_Knuckle2
					break;
				case 4:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],1823,1; //BF_Knuckle1
					break;
				}
				break;
			case 5:
				mes "[Erundek]";
				mes "The following weapons are available in the ^3131FFRevolver / Rifle / Gatling Gun / Shotgun / Grenade Launcher^000000 category.";
				next;
				switch(select("Soldier Revolver:Soldier Rifle:Soldier Gatling Gun:Soldier Shotgun:Soldier Grenade Launcher")) {
				case 1:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],13108,1; //BF_Pistol1
					break;
				case 2:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],13171,1; //BF_Rifle1
					break;
				case 3:
					setarray .@cost[0],7828,100; //BF_Badge1
					setarray .@item[0],13172,1; //BF_Gatling_Gun1
					break;
				case 4:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],13173,1; //BF_Shotgun1
					break;
				case 5:
					setarray .@cost[0],7829,100; //BF_Badge2
					setarray .@item[0],13174,1; //BF_Launcher1
					break;
				}
				break;
			}
			if (.@cost[0] == 7829)
				set .@type$,"(VB)";
			else 
				set .@type$,"(BB)";
			mes "[Erundek]";
			mes "You chose ^3131FF"+getitemname(.@item[0])+""+.@type$+"^000000.";
			mes "You can exchange for this item with ^FF0000"+.@cost[1]+" "+getitemname(.@cost[0])+"^000000.";
			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 "Would you like to spend ^FF0000"+.@cost[1]+" "+getitemname(.@cost[0])+"^000000 and receive an ^3131FF"+getitemname(.@item[0])+""+.@type$+"^000000?";
				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:
					if (countitem(.@cost[0]) >= .@cost[1]) {
						mes "[Erundek]";
						mes "Thank you for exchanging.";
						delitem .@cost[0],.@cost[1];
						getitem .@item[0],.@item[1];
					}
					else {
						mes "[Erundek]";
						mes "I'm sorry, but you don't have enough badges to exchange.";
					}
					break;
				case 2:
					mes "[Erundek]";
					mes "Do you need more time to check out the items?";
					break;
				}
				break;
			}
			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:
				switch(select("Captain's Manteau:Commander's Manteau:Sheriff's Manteau:Battle Greave:Combat Boots:Battle Boots")) {
				case 1:
					setarray .@cost[0],7828,50,7829,50; //BF_Badge1
					setarray .@item[0],2538,1; //Commander_Manteau
					break;
				case 2:
					setarray .@cost[0],7828,50,7829,50; //BF_Badge1
					setarray .@item[0],2539,1; //Commander_Manteau_
					break;
				case 3:
					setarray .@cost[0],7828,50,7829,50; //BF_Badge1
					setarray .@item[0],2540,1; //Sheriff_Manteau
					break;
				case 4:
					setarray .@cost[0],7828,50,7829,50; //BF_Badge1
					setarray .@item[0],2435,1; //Battle_Greave
					break;
				case 5:
					setarray .@cost[0],7828,50,7829,50; //BF_Badge1
					setarray .@item[0],2436,1; //Combat_Boots
					break;
				case 6:
					setarray .@cost[0],7828,50,7829,50; //BF_Badge1
					setarray .@item[0],2437,1; //Battle_Boots
					break;
				}
				break;
			case 2:
				switch(select("Assaulter Plate:Elite Engineer Armor:Assassin Robe:Warlock's Battle Robe:Medic's Robe:Elite Archer Suit:Elite Shooter Suit")) {
				case 1:
					setarray .@cost[0],7828,80,7829,80; //BF_Badge1
					setarray .@item[0],2376,1; //Assaulter_Plate
					break;
				case 2:
					setarray .@cost[0],7828,80,7829,80; //BF_Badge1
					setarray .@item[0],2377,1; //Elite_Engineer_Armor
					break;
				case 3:
					setarray .@cost[0],7828,80,7829,80; //BF_Badge1
					setarray .@item[0],2378,1; //Assassin_Robe
					break;
				case 4:
					setarray .@cost[0],7828,80,7829,80; //BF_Badge1
					setarray .@item[0],2379,1; //Warlock_Battle_Robe
					break;
				case 5:
					setarray .@cost[0],7828,80,7829,80; //BF_Badge1
					setarray .@item[0],2380,1; //Medic_Robe
					break;
				case 6:
					setarray .@cost[0],7828,80,7829,80; //BF_Badge1
					setarray .@item[0],2381,1; //Elite_Archer_Suit
					break;
				case 7:
					setarray .@cost[0],7828,80,7829,80; //BF_Badge1
					setarray .@item[0],2382,1; //Elite_Shooter_Suit
					break;
				}
				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;
			switch(select("Gunslinger:Swordman/Taekwon Master:Thief:Acolyte:Magician:Archer:Merchant")) {
			case 1:
				setarray .@cost[0],7828,500,7829,500; //BF_Badge1
				setarray .@item[0],2733,1; //Medal_Gunner
				break;
			case 2:
				setarray .@cost[0],7828,500,7829,500; //BF_Badge1
				setarray .@item[0],2720,1; //Medal_Swordman
				break;
			case 3:
				setarray .@cost[0],7828,500,7829,500; //BF_Badge1
				setarray .@item[0],2721,1; //Medal_Thief
				break;
			case 4:
				setarray .@cost[0],7828,500,7829,500; //BF_Badge1
				setarray .@item[0],2722,1; //Medal_Acolyte
				break;
			case 5:
				setarray .@cost[0],7828,500,7829,500; //BF_Badge1
				setarray .@item[0],2723,1; //Medal_Mage
				break;
			case 6:
				setarray .@cost[0],7828,500,7829,500; //BF_Badge1
				setarray .@item[0],2724,1; //Medal_Archer
				break;
			case 7:
				setarray .@cost[0],7828,500,7829,500; //BF_Badge1
				setarray .@item[0],2725,1; //Medal_Merchant
				break;
			}
			break;
		case 4:
			mes "[Erundek]";
			mes "You chose ^3131FFConsumable^000000.";
			mes "The following consumable items are available for exchange with the battlefield badges:";
			next;
			switch(select("Tasty Pink Ration:Tasty White Ration:Military Ration A:Military Ration B:Military Ration C")) {
			case 1:
				setarray .@cost[0],7828,10,7829,10; //BF_Badge1
				setarray .@item[0],12269,1; //Tasty_Colonel
				break;
			case 2:
				setarray .@cost[0],7828,10,7829,10; //BF_Badge1
				setarray .@item[0],12270,1; //Tasty_Major
				break;
			case 3:
				setarray .@cost[0],7828,5,7829,5; //BF_Badge1
				setarray .@item[0],12271,1; //Mre_A
				break;
			case 4:
				setarray .@cost[0],7828,10,7829,10; //BF_Badge1
				setarray .@item[0],12272,1; //Mre_B
				break;
			case 5:
				setarray .@cost[0],7828,10,7829,10; //BF_Badge1
				setarray .@item[0],12273,1; //Mre_C
				break;
			}
			break;
		}
		break;
	case 2:
		mes "[Erundek]";
		mes "We have many items, so please take a look and purchase deliberately.";
		close2;
		ReadBook 11010,1;
		end;
	}

	mes "[Erundek]";
	mes "You chose ^3131FF"+getitemname(.@item[0])+"^000000.";
	switch(.@item[0]) {
	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;
	}
	mes "You can exchange for this item with ^FF0000"+.@cost[1]+" "+getitemname(.@cost[0])+" or "+.@cost[3]+" "+getitemname(.@cost[2])+"^000000.";
	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?";
		mes "You need ^3131FF"+.@cost[1]+" Badges^000000 to exchange.";
		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;
		}
		switch(select("Bravery Badge:Valor Badge:Cancel")) {
		case 1:
			if (countitem(.@cost[0]) >= .@cost[1]) {
				mes "[Erundek]";
				mes "Thank you for exchanging.";
				delitem .@cost[0],.@cost[1];
				getitem .@item[0],.@item[1];
			}
			else {
				mes "[Erundek]";
				mes "You do not have enough Bravery Badges.";
			}
			break;
		case 2:
			if (countitem(.@cost[2]) >= .@cost[3]) {
				mes "[Erundek]";
				mes "Thank you for exchanging.";
				delitem .@cost[2],.@cost[3];
				getitem .@item[0],.@item[1];
			}
			else {
				mes "[Erundek]";
				mes "You do not have enough Valor Badges.";
			}
			break;
		case 3:
			mes "[Erundek]";
			mes "You cancelled the exchange.";
			break;
		}
		break;
	}
	close;
}