flavius02.txt 15 KB

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