flavius01.txt 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576
  1. //===== rAthena Script =======================================
  2. //= BattleGround System - Flavius
  3. //===== By: ==================================================
  4. //= L0ne_W0lf
  5. //===== Current Version: =====================================
  6. //= 1.6
  7. //===== Compatible With: =====================================
  8. //= rAthena Project
  9. //===== Description: =========================================
  10. //= [Official Conversion]
  11. //= Flavius Battleground.
  12. //= - Winning Team: 9 badges (11 if VIP)
  13. //= - Losing Team: 3 badges (5 if VIP)
  14. //===== Additional Comments: =================================
  15. //= 1.0 First Version.
  16. //= 1.1 Fixed pink crystal spawning as blue. [L0ne_W0lf]
  17. //= 1.2 Updated 'waitingroom' to support required zeny/lvl. [Kisuka]
  18. //= 1.3 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell.
  19. //= 1.4 Label standardization. [Euphy]
  20. //= 1.5 Added GM management function. [Euphy]
  21. //= 1.6 Added VIP features and created a reward function. [Euphy]
  22. //============================================================
  23. // Waiting Room NPCs
  24. //============================================================
  25. bat_room,86,227,4 script Lieutenant Ator 418,{
  26. end;
  27. OnInit:
  28. waitingroom "Battle Station",11,"start#bat_b01::OnReadyCheck",1,0,80;
  29. end;
  30. OnEnterBG:
  31. set $@FlaviusBG1_id1, waitingroom2bg("bat_b01",10,290,"start#bat_b01::OnGuillaumeQuit","");
  32. end;
  33. }
  34. bat_room,85,204,0 script Lieutenant Thelokus 414,{
  35. end;
  36. OnInit:
  37. waitingroom "Battle Station",11,"start#bat_b01::OnReadyCheck",1,0,80;
  38. end;
  39. OnEnterBG:
  40. set $@FlaviusBG1_id2, waitingroom2bg("bat_b01",390,10,"start#bat_b01::OnCroixQuit","");
  41. end;
  42. }
  43. bat_room,85,220,0 warp back_bgroomb01a 1,1,bat_room,154,150
  44. bat_room,85,211,0 warp back_bgroomb01b 1,1,bat_room,154,150
  45. bat_room,2,151,3 script #bat_b01_timer 844,{
  46. end;
  47. OnInit:
  48. OnEnable:
  49. initnpctimer;
  50. end;
  51. OnStop:
  52. stopnpctimer;
  53. end;
  54. OnTimer1000:
  55. stopnpctimer;
  56. initnpctimer;
  57. set .@chk_bat_a01,getmapusers("bat_b01");
  58. if (.@chk_bat_a01 < 1) {
  59. set $@FlaviusBG1, 0;
  60. if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; }
  61. if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; }
  62. donpcevent "start#bat_b01::OnReadyCheck";
  63. }
  64. end;
  65. }
  66. // Flavius Battleground Engine
  67. //============================================================
  68. bat_b01,15,15,3 script start#bat_b01 844,{
  69. OnInit:
  70. mapwarp "bat_b01","bat_room",154,150;
  71. end;
  72. OnReadyCheck:
  73. if( $@FlaviusBG1 )
  74. end;
  75. set .@Guillaume, getwaitingroomstate(0,"Lieutenant Ator");
  76. set .@Croix, getwaitingroomstate(0,"Lieutenant Thelokus");
  77. if( !.@Guillaume && !.@Croix ) {
  78. donpcevent "#bat_b01_timer::OnStop";
  79. end;
  80. }
  81. if( .@Guillaume < 10 || .@Croix < 10 )
  82. end;
  83. set $@FlaviusBG1, 1;
  84. set $@FlaviusBG1_Victory, 0;
  85. set $@Croix_ScoreBG1, 0;
  86. set $@Guill_ScoreBG1, 0;
  87. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  88. donpcevent "Lieutenant Ator::OnEnterBG";
  89. donpcevent "Lieutenant Thelokus::OnEnterBG";
  90. donpcevent "OBJ#bat_b01_a::OnKill";
  91. donpcevent "OBJ#bat_b01_a::OnEnable";
  92. donpcevent "OBJ#bat_b01_b::OnKill";
  93. donpcevent "OBJ#bat_b01_b::OnEnable";
  94. donpcevent "guardian#bat_b01_a::OnKill";
  95. donpcevent "guardian#bat_b01_b::OnKill";
  96. donpcevent "guardian#bat_b01_a::OnEnable";
  97. donpcevent "guardian#bat_b01_b::OnEnable";
  98. donpcevent "cell#bat_b01_a::OnRed";
  99. donpcevent "cell#bat_b01_b::OnRed";
  100. donpcevent "time#bat_b01::OnEnable";
  101. disablenpc "Guillaume Vintenar#b01_a";
  102. disablenpc "Croix Vintenar#b01_b";
  103. disablenpc "Vintenar#bat_b01_aover";
  104. disablenpc "Vintenar#bat_b01_bover";
  105. bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
  106. bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
  107. donpcevent "countdown#bat_b01::OnEnable";
  108. initnpctimer;
  109. end;
  110. OnReset:
  111. donpcevent "OBJ#bat_b01_a::OnKill";
  112. donpcevent "OBJ#bat_b01_a::OnEnable";
  113. donpcevent "OBJ#bat_b01_b::OnKill";
  114. donpcevent "OBJ#bat_b01_b::OnEnable";
  115. donpcevent "guardian#bat_b01_a::OnKill";
  116. donpcevent "guardian#bat_b01_b::OnKill";
  117. donpcevent "guardian#bat_b01_a::OnEnable";
  118. donpcevent "guardian#bat_b01_b::OnEnable";
  119. donpcevent "cell#bat_b01_a::OnRed";
  120. donpcevent "cell#bat_b01_b::OnRed";
  121. donpcevent "time#bat_b01::OnEnable";
  122. disablenpc "Guillaume Vintenar#b01_a";
  123. disablenpc "Croix Vintenar#b01_b";
  124. disablenpc "Vintenar#bat_b01_aover";
  125. disablenpc "Vintenar#bat_b01_bover";
  126. bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
  127. bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
  128. end;
  129. OnGuillaumeQuit:
  130. OnCroixQuit:
  131. bg_leave;
  132. end;
  133. OnTimer10000:
  134. stopnpctimer;
  135. donpcevent "#bat_b01_timer::OnEnable";
  136. end;
  137. }
  138. bat_b01,1,1,3 script OBJ#bat_b01_a 844,{
  139. OnEnable:
  140. bg_monster $@FlaviusBG1_id1,"bat_b01",61,150,"Pink Crystal",1915,"OBJ#bat_b01_a::OnMyMobDead";
  141. end;
  142. OnKill:
  143. killmonster "bat_b01","OBJ#bat_b01_a::OnMyMobDead";
  144. end;
  145. OnMyMobDead:
  146. if (mobcount("bat_b01","OBJ#bat_b01_a::OnMyMobDead") < 1) {
  147. mapannounce "bat_b01", "Guillaume's Crystal has been destroyed.",bc_map,"0xFFCE00";
  148. if ($@Croix_ScoreBG1 > 0) {
  149. set $@FlaviusBG1_Victory,2;
  150. set $@Croix_ScoreBG1,$@Croix_ScoreBG1+1;
  151. enablenpc "Guillaume Vintenar#b01_a";
  152. enablenpc "Croix Vintenar#b01_b";
  153. donpcevent "time#bat_b01::OnStop";
  154. }
  155. else {
  156. set $@Croix_ScoreBG1,1;
  157. donpcevent "time#bat_b01::OnEnable";
  158. donpcevent "start#bat_b01::OnReset";
  159. }
  160. donpcevent "#bat_b01_timer::OnStop";
  161. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  162. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  163. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  164. donpcevent "#bat_b01_timer::OnEnable";
  165. }
  166. end;
  167. }
  168. bat_b01,1,2,3 script OBJ#bat_b01_b 844,{
  169. OnEnable:
  170. bg_monster $@FlaviusBG1_id2,"bat_b01",328,150,"Blue Crystal",1914,"OBJ#bat_b01_b::OnMyMobDead";
  171. end;
  172. OnKill:
  173. killmonster "bat_b01","OBJ#bat_b01_b::OnMyMobDead";
  174. end;
  175. OnMyMobDead:
  176. if (mobcount("bat_b01","OBJ#bat_b01_b::OnMyMobDead") < 1) {
  177. mapannounce "bat_b01", "Croix's Crystal has been destroyed.",bc_map,"0xFFCE00";
  178. if ($@Guill_ScoreBG1 > 0) {
  179. set $@FlaviusBG1_Victory,1;
  180. set $@Guill_ScoreBG1,$@Guill_ScoreBG1+1;
  181. enablenpc "Guillaume Vintenar#b01_a";
  182. enablenpc "Croix Vintenar#b01_b";
  183. donpcevent "time#bat_b01::OnStop";
  184. }
  185. else {
  186. set $@Guill_ScoreBG1,1;
  187. donpcevent "time#bat_b01::OnEnable";
  188. donpcevent "start#bat_b01::OnReset";
  189. }
  190. donpcevent "#bat_b01_timer::OnStop";
  191. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  192. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  193. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  194. donpcevent "#bat_b01_timer::OnEnable";
  195. }
  196. end;
  197. }
  198. bat_b01,1,3,3 script guardian#bat_b01_a 844,{
  199. OnEnable:
  200. bg_monster $@FlaviusBG1_id1,"bat_b01",108,159,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead";
  201. bg_monster $@FlaviusBG1_id1,"bat_b01",108,141,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead";
  202. end;
  203. OnKill:
  204. killmonster "bat_b01","guardian#bat_b01_a::OnMyMobDead";
  205. end;
  206. OnMyMobDead:
  207. if (mobcount("bat_b01","guardian#bat_b01_a::OnMyMobDead") < 1) {
  208. donpcevent "cell#bat_b01_a::OnGreen";
  209. mapannounce "bat_b01", "The Guardian protecting Guillaume's Crystal has been slain.",bc_map,"0xFFCE00";
  210. }
  211. end;
  212. }
  213. bat_b01,1,3,3 script guardian#bat_b01_b 844,{
  214. OnEnable:
  215. bg_monster $@FlaviusBG1_id2,"bat_b01",307,160,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead";
  216. bg_monster $@FlaviusBG1_id2,"bat_b01",307,138,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead";
  217. end;
  218. OnKill:
  219. killmonster "bat_b01","guardian#bat_b01_b::OnMyMobDead";
  220. end;
  221. OnMyMobDead:
  222. if (mobcount("bat_b01","guardian#bat_b01_b::OnMyMobDead") < 1) {
  223. donpcevent "cell#bat_b01_b::OnGreen";
  224. mapannounce "bat_b01", "The Guardian protecting Croix's Crystal has been slain.",bc_map,"0xFFCE00";
  225. }
  226. end;
  227. }
  228. bat_b01,1,4,3 script cell#bat_b01_a 844,{
  229. OnRed:
  230. setcell "bat_b01",62,149,60,151,cell_basilica,1;
  231. setcell "bat_b01",62,149,60,151,cell_walkable,0;
  232. end;
  233. OnGreen:
  234. setcell "bat_b01",62,149,60,151,cell_basilica,0;
  235. setcell "bat_b01",62,149,60,151,cell_walkable,1;
  236. end;
  237. }
  238. bat_b01,1,5,3 script cell#bat_b01_b 844,{
  239. OnRed:
  240. setcell "bat_b01",327,151,329,149,cell_basilica,1;
  241. setcell "bat_b01",327,151,329,149,cell_walkable,0;
  242. end;
  243. OnGreen:
  244. setcell "bat_b01",327,151,329,149,cell_basilica,0;
  245. setcell "bat_b01",327,151,329,149,cell_walkable,1;
  246. end;
  247. }
  248. bat_b01,1,6,1 script time#bat_b01 844,{
  249. OnEnable:
  250. donpcevent "Battle Therapist#b01_a::OnEnable";
  251. donpcevent "Battle Therapist#b01_b::OnEnable";
  252. end;
  253. OnStop:
  254. donpcevent "Battle Therapist#b01_a::OnStop";
  255. donpcevent "Battle Therapist#b01_b::OnStop";
  256. end;
  257. }
  258. bat_b01,10,294,3 script Battle Therapist#b01_a 95,{
  259. specialeffect2 EF_HEAL;
  260. mes "[Battle Therapist]";
  261. mes "Just close your eyes,";
  262. mes "and take a deep breath.";
  263. mes "You can be free from pain.";
  264. close;
  265. OnTimer25000:
  266. specialeffect EF_SANCTUARY;
  267. enablenpc "bat_b01_rp1_a_warp";
  268. end;
  269. OnTimer26000:
  270. disablenpc "bat_b01_rp1_a_warp";
  271. end;
  272. OnTimer26500:
  273. stopnpctimer;
  274. donpcevent "Battle Therapist#b01_a::OnEnable";
  275. end;
  276. OnEnable:
  277. initnpctimer;
  278. enablenpc "Battle Therapist#b01_a";
  279. end;
  280. OnStop:
  281. disablenpc "bat_b01_rp1_a_warp";
  282. disablenpc "Battle Therapist#b01_a";
  283. stopnpctimer;
  284. end;
  285. }
  286. bat_b01,10,290,0 script bat_b01_rp1_a_warp 45,10,10,{
  287. OnInit:
  288. disablenpc "bat_b01_rp1_a_warp";
  289. end;
  290. OnTouch:
  291. percentheal 100,100;
  292. warp "bat_b01",87,73;
  293. end;
  294. }
  295. bat_b01,389,14,3 script Battle Therapist#b01_b 95,{
  296. specialeffect2 EF_HEAL;
  297. mes "[Battle Therapist]";
  298. mes "Just close your eyes,";
  299. mes "and take a deep breath.";
  300. mes "You can be free from pain.";
  301. close;
  302. OnTimer25000:
  303. specialeffect EF_SANCTUARY;
  304. enablenpc "bat_b01_rp1_b_warp";
  305. end;
  306. OnTimer26000:
  307. disablenpc "bat_b01_rp1_b_warp";
  308. end;
  309. OnTimer26500:
  310. stopnpctimer;
  311. donpcevent "Battle Therapist#b01_b::OnEnable";
  312. end;
  313. OnEnable:
  314. initnpctimer;
  315. enablenpc "Battle Therapist#b01_b";
  316. end;
  317. OnStop:
  318. disablenpc "bat_b01_rp1_b_warp";
  319. disablenpc "Battle Therapist#b01_b";
  320. stopnpctimer;
  321. end;
  322. }
  323. bat_b01,389,10,0 script bat_b01_rp1_b_warp 45,9,9,{
  324. OnInit:
  325. disablenpc "bat_b01_rp1_a_warp";
  326. end;
  327. OnTouch:
  328. percentheal 100,100;
  329. warp "bat_b01",312,225;
  330. end;
  331. }
  332. bat_b01,87,76,0 script A_CODE#bat_b01 -1,5,5,{
  333. OnTouch:
  334. if (checkquest(2070) < 0)
  335. setquest 2070;
  336. end;
  337. }
  338. bat_b01,312,224,0 script B_CODE#bat_b01 -1,5,5,{
  339. OnTouch:
  340. if (checkquest(2070) < 0)
  341. setquest 2070;
  342. end;
  343. }
  344. bat_b01,10,294,3 script Guillaume Vintenar#b01_a 934,{
  345. if ($@FlaviusBG1_id1 == getcharid(4)) {
  346. if ($@FlaviusBG1_Victory == 1)
  347. callfunc "F_BG_Badge",1,"Guillaume","Flavius";
  348. else
  349. callfunc "F_BG_Badge",0,"Guillaume","Flavius";
  350. }
  351. bg_leave;
  352. warp "bat_room",154,150;
  353. end;
  354. OnInit:
  355. disablenpc "Guillaume Vintenar#b01_a";
  356. end;
  357. }
  358. bat_b01,389,14,3 script Croix Vintenar#b01_b 934,{
  359. if ($@FlaviusBG1_id2 == getcharid(4)) {
  360. if ($@FlaviusBG1_Victory == 2)
  361. callfunc "F_BG_Badge",1,"Croix","Flavius";
  362. else
  363. callfunc "F_BG_Badge",0,"Croix","Flavius";
  364. }
  365. bg_leave;
  366. warp "bat_room",154,150;
  367. end;
  368. OnInit:
  369. disablenpc "Croix Vintenar#b01_b";
  370. end;
  371. }
  372. bat_b01,1,5,3 script countdown#bat_b01 844,{
  373. OnInit:
  374. stopnpctimer;
  375. end;
  376. OnEnable:
  377. stopnpctimer;
  378. initnpctimer;
  379. end;
  380. OnStop:
  381. stopnpctimer;
  382. end;
  383. OnTimer7000:
  384. mapannounce "bat_b01", "Guillaume Vintenar Axl Rose : Let's attack to destroy that Crystal!",bc_map,"0xFF9900";
  385. end;
  386. OnTimer8000:
  387. mapannounce "bat_b01", "Croix Vintenar Swandery : Even though Guillaume is struggling to win against us, the victory is ours. Let's show them our power.",bc_map,"0xFF99CC";
  388. end;
  389. OnTimer1800000:
  390. mapannounce "bat_b01", "Marollo VII : Guillaume Marollo, Croix Marollo! And their followers!",bc_map,"0x99CC00";
  391. end;
  392. OnTimer1803000:
  393. mapannounce "bat_b01", "Marollo VII : Both camps are competitive, so it's hard to judge which team is superior.",bc_map,"0x99CC00";
  394. end;
  395. OnTimer1808000:
  396. mapannounce "bat_b01", "Marollo VII : This battle of Flavian is such a waste of time. I will decide victory and defeat by your progress.",bc_map,"0x99CC00";
  397. end;
  398. OnTimer1822000:
  399. mapannounce "bat_b01", "Marollo VII : If you can't accept the results, try again in another valley battle!",bc_map,"0x99CC00";
  400. end;
  401. OnTimer1825000:
  402. mapannounce "bat_b01", "Axl Rose, Swandery : Yes, sir.",bc_map,"0x99CC00";
  403. end;
  404. OnTimer1830000:
  405. donpcevent "time#bat_b01::OnStop";
  406. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  407. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  408. enablenpc "Vintenar#bat_b01_aover";
  409. enablenpc "Vintenar#bat_b01_bover";
  410. end;
  411. OnTimer1900000:
  412. mapwarp "bat_b01","bat_room",154,150;
  413. donpcevent "countdown#bat_b01::OnStop";
  414. end;
  415. }
  416. bat_b01,81,83,3 script Guillaume Camp#flag21 973,{ end; }
  417. bat_b01,94,83,3 script Guillaume Camp#flag22 973,{ end; }
  418. bat_b01,81,66,3 script Guillaume Camp#flag23 973,{ end; }
  419. bat_b01,94,66,3 script Guillaume Camp#flag24 973,{ end; }
  420. bat_b01,139,142,3 script Guillaume Camp#flag25 973,{ end; }
  421. bat_b01,139,158,3 script Guillaume Camp#flag26 973,{ end; }
  422. bat_b01,110,161,3 script Guillaume Camp#flag27 973,{ end; }
  423. bat_b01,110,137,3 script Guillaume Camp#flag28 973,{ end; }
  424. bat_b01,63,135,3 script Guillaume Camp#flag29 973,{ end; }
  425. bat_b01,63,165,3 script Guillaume Camp#flag30 973,{ end; }
  426. bat_b01,10,296,3 script Guillaume Camp#flag31 973,{ end; }
  427. bat_b01,306,233,3 script Croix Camp#flag21 974,{ end; }
  428. bat_b01,317,233,3 script Croix Camp#flag22 974,{ end; }
  429. bat_b01,306,216,3 script Croix Camp#flag23 974,{ end; }
  430. bat_b01,317,216,3 script Croix Camp#flag24 974,{ end; }
  431. bat_b01,257,158,3 script Croix Camp#flag25 974,{ end; }
  432. bat_b01,257,141,3 script Croix Camp#flag26 974,{ end; }
  433. bat_b01,297,164,3 script Croix Camp#flag27 974,{ end; }
  434. bat_b01,297,136,3 script Croix Camp#flag28 974,{ end; }
  435. bat_b01,336,161,3 script Croix Camp#flag29 974,{ end; }
  436. bat_b01,336,139,3 script Croix Camp#flag30 974,{ end; }
  437. bat_b01,389,16,3 script Croix Camp#flag31 974,{ end; }
  438. bat_b01,10,294,3 script Vintenar#bat_b01_aover 419,{
  439. set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
  440. if ($@FlaviusBG1_id1 == getcharid(4)) {
  441. if (.@A_B_gap > 0)
  442. callfunc "F_BG_Badge",1,"Guillaume","Flavius";
  443. else if (.@A_B_gap == 0)
  444. callfunc "F_BG_Badge",0,"Guillaume","Flavius";
  445. else
  446. callfunc "F_BG_Badge",0,"Guillaume","Flavius";
  447. }
  448. else {
  449. mes "[Axl Rose]";
  450. mes "Why are you here, Croix mercenary? I am definitely sure of victory against foolish Croix such as you. Ha!";
  451. close;
  452. }
  453. bg_leave;
  454. warp "bat_room",154,150;
  455. end;
  456. OnInit:
  457. disablenpc "Vintenar#bat_b01_aover";
  458. end;
  459. }
  460. bat_b01,389,14,3 script Vintenar#bat_b01_bover 415,{
  461. set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
  462. if ($@FlaviusBG1_id2 == getcharid(4)) {
  463. if (.@A_B_gap > 0)
  464. callfunc "F_BG_Badge",1,"Croix","Flavius";
  465. else if (.@A_B_gap == 0)
  466. callfunc "F_BG_Badge",0,"Croix","Flavius";
  467. else
  468. callfunc "F_BG_Badge",1,"Croix","Flavius";
  469. }
  470. else {
  471. mes "[Swandery]";
  472. mes "Why do you come here as a Guillaume? You will be sent to where you should be!";
  473. close;
  474. }
  475. bg_leave;
  476. warp "bat_room",154,150;
  477. end;
  478. OnInit:
  479. disablenpc "Vintenar#bat_b01_bover";
  480. end;
  481. }
  482. bat_b01,1,10,3 script Release all#b01 81,{
  483. set .@i, callfunc("F_GM_NPC",1854,0);
  484. if (.@i == -1) {
  485. mes "Cancelled.";
  486. close;
  487. } else if (.@i == 0) {
  488. end;
  489. } else {
  490. mes "May I help you?";
  491. next;
  492. switch(select("Release all.:Cancel.")) {
  493. case 1:
  494. mes "Bye.";
  495. close2;
  496. mapwarp "bat_b01","bat_room",154,150;
  497. end;
  498. case 2:
  499. mes "Cancelled.";
  500. close;
  501. }
  502. }
  503. }