flavius01.txt 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609
  1. //===== rAthena Script =======================================
  2. //= Système de Champ de Bataille - Flavius
  3. //===== Description: =========================================
  4. //= [Conversion Officielle]
  5. //= Champ de bataille de Flavius.
  6. //= - Équipe gagnante : 9 badges (11 si VIP)
  7. //= - Équipe perdante : 3 badges (5 si VIP)
  8. //===== Traduction : =========================================
  9. //= Traduit par OverSu et Liara
  10. //===== Journal des modifications : ==========================
  11. //= 1.0 Première version. [L0ne_W0lf]
  12. //= 1.1 Correction de l'apparition du cristal rose en bleu. [L0ne_W0lf]
  13. //= 1.2 Mise à jour de 'waitingroom' pour supporter le zeny/niveau requis. [Kisuka]
  14. //= 1.3 Suppression de la vérification de niveau max dans les salles d'attente. Remplacement de setwall par setcell.
  15. //= 1.4 Standardisation des étiquettes. [Euphy]
  16. //= 1.5 Ajout d'une fonction de gestion pour les GMs. [Euphy]
  17. //= 1.6 Ajout de fonctionnalités VIP et création d'une fonction de récompense. [Euphy]
  18. //= 1.7 Cristaux rendus immunisés aux attaques tant que les Gardiens ne sont pas vaincus. [Cydh/Aleos]
  19. //= 1.8 Ajout de vérifications battle_config pour permettre à ce script d’utiliser la nouvelle interface de file d’attente ou l’ancienne méthode. [Aleos]
  20. //============================================================
  21. // Salle d’attente des PNJ
  22. //============================================================
  23. bat_room,86,227,4 script Lieutenant Ator 418,{
  24. end;
  25. OnInit:
  26. waitingroom "Poste de combat",11,"start#bat_b01::OnReadyCheck",1,0,80;
  27. end;
  28. OnEnterBG:
  29. set $@FlaviusBG1_id1, waitingroom2bg("bat_b01",10,290,"start#bat_b01::OnGuillaumeQuit","");
  30. end;
  31. }
  32. bat_room,85,204,0 script Lieutenant Thelokus 414,{
  33. end;
  34. OnInit:
  35. waitingroom "Poste de combat",11,"start#bat_b01::OnReadyCheck",1,0,80;
  36. end;
  37. OnEnterBG:
  38. set $@FlaviusBG1_id2, waitingroom2bg("bat_b01",390,10,"start#bat_b01::OnCroixQuit","");
  39. end;
  40. }
  41. bat_room,85,220,0 warp retour_bgroomb01a 1,1,bat_room,154,150
  42. bat_room,85,211,0 warp retour_bgroomb01b 1,1,bat_room,154,150
  43. bat_room,2,151,3 script #bat_b01_timer 844,{
  44. end;
  45. OnInit:
  46. if (getbattleflag("feature.bgqueue"))
  47. end;
  48. OnEnable:
  49. initnpctimer;
  50. end;
  51. OnStop:
  52. stopnpctimer;
  53. end;
  54. OnTimer1000:
  55. stopnpctimer;
  56. if (bg_get_data($@FlaviusBG1_id1, 0) == 0 && bg_get_data($@FlaviusBG1_id2, 0) == 0) {
  57. donpcevent "countdown#bat_b01::OnStop";
  58. if (getbattleflag("feature.bgqueue"))
  59. bg_reserve "bat_b01", true;
  60. $@FlaviusBG1 = 0;
  61. if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; $@FlaviusBG1_id1 = 0; }
  62. if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; $@FlaviusBG1_id2 = 0; }
  63. if (getbattleflag("feature.bgqueue"))
  64. bg_unbook "bat_b01";
  65. end;
  66. }
  67. initnpctimer;
  68. end;
  69. }
  70. // Moteur du Champ de bataille de Flavius
  71. //============================================================
  72. bat_b01,15,15,3 script start#bat_b01 844,{
  73. OnInit:
  74. if (getbattleflag("feature.bgqueue"))
  75. bg_unbook "bat_b01";
  76. mapwarp "bat_b01","bat_room",154,150;
  77. end;
  78. OnReadyCheck:
  79. if( $@FlaviusBG1 )
  80. end;
  81. if (!getbattleflag("feature.bgqueue")) {
  82. set .@Guillaume, getwaitingroomstate(0,"Lieutenant Ator");
  83. set .@Croix, getwaitingroomstate(0,"Lieutenant Thelokus");
  84. if( !.@Guillaume && !.@Croix ) {
  85. donpcevent "#bat_b01_timer::OnStop";
  86. end;
  87. }
  88. if( .@Guillaume < 10 || .@Croix < 10 )
  89. end;
  90. }
  91. set $@FlaviusBG1, 1;
  92. set $@FlaviusBG1_Victory, 0;
  93. set $@Croix_ScoreBG1, 0;
  94. set $@Guill_ScoreBG1, 0;
  95. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  96. if (!getbattleflag("feature.bgqueue")) {
  97. donpcevent "Lieutenant Ator::OnEnterBG";
  98. donpcevent "Lieutenant Thelokus::OnEnterBG";
  99. }
  100. donpcevent "OBJ#bat_b01_a::OnKill";
  101. donpcevent "OBJ#bat_b01_a::OnEnable";
  102. donpcevent "OBJ#bat_b01_b::OnKill";
  103. donpcevent "OBJ#bat_b01_b::OnEnable";
  104. donpcevent "guardian#bat_b01_a::OnKill";
  105. donpcevent "guardian#bat_b01_b::OnKill";
  106. donpcevent "guardian#bat_b01_a::OnEnable";
  107. donpcevent "guardian#bat_b01_b::OnEnable";
  108. donpcevent "cell#bat_b01_a::OnRed";
  109. donpcevent "cell#bat_b01_b::OnRed";
  110. donpcevent "time#bat_b01::OnEnable";
  111. disablenpc "Guillaume Vintenar#b01_a";
  112. disablenpc "Croix Vintenar#b01_b";
  113. disablenpc "Vintenar#bat_b01_aover";
  114. disablenpc "Vintenar#bat_b01_bover";
  115. bg_warp $@FlaviusBG1_id1,"bat_b01",87,75;
  116. bg_warp $@FlaviusBG1_id2,"bat_b01",311,224;
  117. donpcevent "countdown#bat_b01::OnEnable";
  118. initnpctimer;
  119. end;
  120. OnReset:
  121. donpcevent "OBJ#bat_b01_a::OnKill";
  122. donpcevent "OBJ#bat_b01_a::OnEnable";
  123. donpcevent "OBJ#bat_b01_b::OnKill";
  124. donpcevent "OBJ#bat_b01_b::OnEnable";
  125. donpcevent "guardian#bat_b01_a::OnKill";
  126. donpcevent "guardian#bat_b01_b::OnKill";
  127. donpcevent "guardian#bat_b01_a::OnEnable";
  128. donpcevent "guardian#bat_b01_b::OnEnable";
  129. donpcevent "cell#bat_b01_a::OnRed";
  130. donpcevent "cell#bat_b01_b::OnRed";
  131. end;
  132. OnGuillaumeActive:
  133. warp "bat_b01",87,75;
  134. end;
  135. OnCroixActive:
  136. warp "bat_b01",311,224;
  137. end;
  138. OnGuillaumeQuit:
  139. OnCroixQuit:
  140. if (getbattleflag("feature.bgqueue"))
  141. bg_desert;
  142. else
  143. bg_leave;
  144. end;
  145. OnTimer10000:
  146. stopnpctimer;
  147. donpcevent "#bat_b01_timer::OnEnable";
  148. end;
  149. }
  150. bat_b01,1,1,3 script OBJ#bat_b01_a 844,{
  151. OnEnable:
  152. $@FlavBG1_C1_ID = bg_monster($@FlaviusBG1_id1,"bat_b01",61,150,"Cristal Rose",1915,"OBJ#bat_b01_a::OnMyMobDead");
  153. setunitdata $@FlavBG1_C1_ID,UMOB_DMGIMMUNE,1; // Rendre le Cristal immunisé tant que les Gardiens sont vivants
  154. end;
  155. OnKill:
  156. killmonster "bat_b01","OBJ#bat_b01_a::OnMyMobDead";
  157. end;
  158. OnMyMobDead:
  159. if (mobcount("bat_b01","OBJ#bat_b01_a::OnMyMobDead") < 1) {
  160. mapannounce "bat_b01", "Le cristal de Guillaume a été détruit.",bc_map,"0xFFCE00";
  161. if ($@Croix_ScoreBG1 > 0) {
  162. set $@FlaviusBG1_Victory,2;
  163. set $@Croix_ScoreBG1,$@Croix_ScoreBG1+1;
  164. enablenpc "Guillaume Vintenar#b01_a";
  165. enablenpc "Croix Vintenar#b01_b";
  166. donpcevent "time#bat_b01::OnStop";
  167. if (getbattleflag("feature.bgqueue"))
  168. bg_reserve "bat_b01", true;
  169. }
  170. else {
  171. set $@Croix_ScoreBG1,1;
  172. donpcevent "time#bat_b01::OnEnable";
  173. donpcevent "start#bat_b01::OnReset";
  174. }
  175. donpcevent "#bat_b01_timer::OnStop";
  176. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  177. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  178. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  179. donpcevent "#bat_b01_timer::OnEnable";
  180. }
  181. end;
  182. }
  183. bat_b01,1,2,3 script OBJ#bat_b01_b 844,{
  184. OnEnable:
  185. $@FlavBG1_C2_ID = bg_monster($@FlaviusBG1_id2,"bat_b01",328,150,"Cristal Bleu",1914,"OBJ#bat_b01_b::OnMyMobDead");
  186. setunitdata $@FlavBG1_C2_ID,UMOB_DMGIMMUNE,1; // Rendre le Cristal immunisé tant que les Gardiens sont vivants
  187. end;
  188. OnKill:
  189. killmonster "bat_b01","OBJ#bat_b01_b::OnMyMobDead";
  190. end;
  191. OnMyMobDead:
  192. if (mobcount("bat_b01","OBJ#bat_b01_b::OnMyMobDead") < 1) {
  193. mapannounce "bat_b01", "Le cristal de Croix a été détruit.",bc_map,"0xFFCE00";
  194. if ($@Guill_ScoreBG1 > 0) {
  195. set $@FlaviusBG1_Victory,1;
  196. set $@Guill_ScoreBG1,$@Guill_ScoreBG1+1;
  197. enablenpc "Guillaume Vintenar#b01_a";
  198. enablenpc "Croix Vintenar#b01_b";
  199. donpcevent "time#bat_b01::OnStop";
  200. if (getbattleflag("feature.bgqueue"))
  201. bg_reserve "bat_b01", true;
  202. }
  203. else {
  204. set $@Guill_ScoreBG1,1;
  205. donpcevent "time#bat_b01::OnEnable";
  206. donpcevent "start#bat_b01::OnReset";
  207. }
  208. donpcevent "#bat_b01_timer::OnStop";
  209. bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1;
  210. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  211. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  212. donpcevent "#bat_b01_timer::OnEnable";
  213. }
  214. end;
  215. }
  216. bat_b01,1,3,3 script guardian#bat_b01_a 844,{
  217. OnEnable:
  218. bg_monster $@FlaviusBG1_id1,"bat_b01",108,159,"Gardien du Camp de Guillaume",1949,"guardian#bat_b01_a::OnMyMobDead";
  219. bg_monster $@FlaviusBG1_id1,"bat_b01",108,141,"Gardien du Camp de Guillaume",1949,"guardian#bat_b01_a::OnMyMobDead";
  220. end;
  221. OnKill:
  222. killmonster "bat_b01","guardian#bat_b01_a::OnMyMobDead";
  223. end;
  224. OnMyMobDead:
  225. if (mobcount("bat_b01","guardian#bat_b01_a::OnMyMobDead") < 1) {
  226. donpcevent "cell#bat_b01_a::OnGreen";
  227. mapannounce "bat_b01", "Le Gardien protégeant le Cristal de Guillaume a été tué.",bc_map,"0xFFCE00";
  228. setunitdata $@FlavBG1_C1_ID,UMOB_DMGIMMUNE,0; // Le cristal peut maintenant être endommagé
  229. }
  230. end;
  231. }
  232. bat_b01,1,3,3 script guardian#bat_b01_b 844,{
  233. OnEnable:
  234. bg_monster $@FlaviusBG1_id2,"bat_b01",307,160,"Gardien du Camp de Croix",1949,"guardian#bat_b01_b::OnMyMobDead";
  235. bg_monster $@FlaviusBG1_id2,"bat_b01",307,138,"Gardien du Camp de Croix",1949,"guardian#bat_b01_b::OnMyMobDead";
  236. end;
  237. OnKill:
  238. killmonster "bat_b01","guardian#bat_b01_b::OnMyMobDead";
  239. end;
  240. OnMyMobDead:
  241. if (mobcount("bat_b01","guardian#bat_b01_b::OnMyMobDead") < 1) {
  242. donpcevent "cell#bat_b01_b::OnGreen";
  243. mapannounce "bat_b01", "Le Gardien protégeant le Cristal de Croix a été tué.",bc_map,"0xFFCE00";
  244. setunitdata $@FlavBG1_C2_ID,UMOB_DMGIMMUNE,0; // Le cristal peut maintenant être endommagé
  245. }
  246. end;
  247. }
  248. bat_b01,1,4,3 script cell#bat_b01_a 844,{
  249. OnRed:
  250. setcell "bat_b01",62,149,60,151,cell_basilica,1;
  251. setcell "bat_b01",62,149,60,151,cell_walkable,0;
  252. end;
  253. OnGreen:
  254. setcell "bat_b01",62,149,60,151,cell_basilica,0;
  255. setcell "bat_b01",62,149,60,151,cell_walkable,1;
  256. end;
  257. }
  258. bat_b01,1,5,3 script cell#bat_b01_b 844,{
  259. OnRed:
  260. setcell "bat_b01",327,151,329,149,cell_basilica,1;
  261. setcell "bat_b01",327,151,329,149,cell_walkable,0;
  262. end;
  263. OnGreen:
  264. setcell "bat_b01",327,151,329,149,cell_basilica,0;
  265. setcell "bat_b01",327,151,329,149,cell_walkable,1;
  266. end;
  267. }
  268. bat_b01,1,6,1 script time#bat_b01 844,{
  269. OnEnable:
  270. donpcevent "Thérapeute de Bataille#b01_a::OnEnable";
  271. donpcevent "Thérapeute de Bataille#b01_b::OnEnable";
  272. end;
  273. OnStop:
  274. donpcevent "Thérapeute de Bataille#b01_a::OnStop";
  275. donpcevent "Thérapeute de Bataille#b01_b::OnStop";
  276. end;
  277. }
  278. bat_b01,10,294,3 script Thérapeute de Bataille#b01_a 95,{
  279. specialeffect2 EF_HEAL;
  280. mes "[Thérapeute de Bataille]";
  281. mes "Ferme les yeux,";
  282. mes "et respire profondément.";
  283. mes "Tu peux être libéré de la douleur.";
  284. close;
  285. OnTimer25000:
  286. specialeffect EF_SANCTUARY;
  287. areapercentheal "bat_b01",0,280,20,300,100,100;
  288. areawarp "bat_b01",0,280,20,300,"bat_b01",87,73;
  289. end;
  290. OnTimer26500:
  291. stopnpctimer;
  292. donpcevent "Thérapeute de Bataille#b01_a::OnEnable";
  293. end;
  294. OnEnable:
  295. initnpctimer;
  296. enablenpc "Thérapeute de Bataille#b01_a";
  297. end;
  298. OnStop:
  299. disablenpc "Thérapeute de Bataille#b01_a";
  300. stopnpctimer;
  301. end;
  302. }
  303. /*
  304. // replaced by areapercentheal and areawarp to prevent enqueue issue
  305. bat_b01,10,290,0 script bat_b01_rp1_a_warp 45,10,10,{
  306. OnInit:
  307. disablenpc "bat_b01_rp1_a_warp";
  308. end;
  309. OnTouch:
  310. percentheal 100,100;
  311. warp "bat_b01",87,73;
  312. end;
  313. }
  314. */
  315. bat_b01,389,14,3 script Thérapeute de Bataille#b01_b 95,{
  316. specialeffect2 EF_HEAL;
  317. mes "[Thérapeute de Bataille]";
  318. mes "Ferme les yeux,";
  319. mes "et respire profondément.";
  320. mes "Tu peux être libéré de la douleur.";
  321. close;
  322. OnTimer25000:
  323. specialeffect EF_SANCTUARY;
  324. areapercentheal "bat_b01",379,0,399,20,100,100;
  325. areawarp "bat_b01",379,0,399,20,"bat_b01",312,225;
  326. end;
  327. OnTimer26500:
  328. stopnpctimer;
  329. donpcevent "Thérapeute de Bataille#b01_b::OnEnable";
  330. end;
  331. OnEnable:
  332. initnpctimer;
  333. enablenpc "Thérapeute de Bataille#b01_b";
  334. end;
  335. OnStop:
  336. disablenpc "Thérapeute de Bataille#b01_b";
  337. stopnpctimer;
  338. end;
  339. }
  340. bat_b01,87,76,0 script A_CODE#bat_b01 -1,5,5,{
  341. OnTouch:
  342. if (checkquest(2070) < 0)
  343. setquest 2070;
  344. end;
  345. }
  346. bat_b01,312,224,0 script B_CODE#bat_b01 -1,5,5,{
  347. OnTouch:
  348. if (checkquest(2070) < 0)
  349. setquest 2070;
  350. end;
  351. }
  352. bat_b01,10,294,3 script Guillaume Vintenar#b01_a 934,{
  353. if ($@FlaviusBG1_id1 == getcharid(4)) {
  354. if ($@FlaviusBG1_Victory == 1)
  355. callfunc "F_BG_Badge",1,"Guillaume","Flavius";
  356. else
  357. callfunc "F_BG_Badge",0,"Guillaume","Flavius";
  358. }
  359. bg_leave;
  360. if (!getbattleflag("feature.bgqueue"))
  361. warp "bat_room",154,150;
  362. end;
  363. OnInit:
  364. disablenpc "Guillaume Vintenar#b01_a";
  365. end;
  366. }
  367. bat_b01,389,14,3 script Croix Vintenar#b01_b 934,{
  368. if ($@FlaviusBG1_id2 == getcharid(4)) {
  369. if ($@FlaviusBG1_Victory == 2)
  370. callfunc "F_BG_Badge",1,"Croix","Flavius";
  371. else
  372. callfunc "F_BG_Badge",0,"Croix","Flavius";
  373. }
  374. bg_leave;
  375. if (!getbattleflag("feature.bgqueue"))
  376. warp "bat_room",154,150;
  377. end;
  378. OnInit:
  379. disablenpc "Croix Vintenar#b01_b";
  380. end;
  381. }
  382. bat_b01,1,5,3 script countdown#bat_b01 844,{
  383. OnInit:
  384. stopnpctimer;
  385. end;
  386. OnEnable:
  387. stopnpctimer;
  388. initnpctimer;
  389. end;
  390. OnStop:
  391. stopnpctimer;
  392. end;
  393. OnTimer7000:
  394. mapannounce "bat_b01", "Guillaume Vintenar Axl Rose : Attaquons pour détruire ce cristal !",bc_map,"0xFF9900";
  395. end;
  396. OnTimer8000:
  397. mapannounce "bat_b01", "Croix Vintenar Swandery : Même si Guillaume peine à gagner contre nous, la victoire est nôtre. Montrons-leur notre puissance.",bc_map,"0xFF99CC";
  398. end;
  399. OnTimer1800000:
  400. mapannounce "bat_b01", "Marollo VII : Guillaume Marollo, Croix Marollo ! Et leurs partisans !",bc_map,"0x99CC00";
  401. end;
  402. OnTimer1803000:
  403. mapannounce "bat_b01", "Marollo VII : Les deux camps sont compétitifs, il est difficile de dire lequel est supérieur.",bc_map,"0x99CC00";
  404. end;
  405. OnTimer1808000:
  406. mapannounce "bat_b01", "Marollo VII : Cette bataille flavienne est une perte de temps. Je déciderai de la victoire selon vos performances.",bc_map,"0x99CC00";
  407. end;
  408. OnTimer1822000:
  409. mapannounce "bat_b01", "Marollo VII : Si vous refusez ce résultat, retentez votre chance dans une autre vallée !",bc_map,"0x99CC00";
  410. end;
  411. OnTimer1825000:
  412. mapannounce "bat_b01", "Axl Rose, Swandery : Oui, Monseigneur.",bc_map,"0x99CC00";
  413. end;
  414. OnTimer1830000:
  415. donpcevent "time#bat_b01::OnStop";
  416. bg_warp $@FlaviusBG1_id1,"bat_b01",10,290;
  417. bg_warp $@FlaviusBG1_id2,"bat_b01",390,10;
  418. enablenpc "Vintenar#bat_b01_aover";
  419. enablenpc "Vintenar#bat_b01_bover";
  420. if (getbattleflag("feature.bgqueue"))
  421. bg_reserve "bat_b01", true;
  422. end;
  423. OnTimer1900000:
  424. mapwarp "bat_b01","bat_room",154,150;
  425. donpcevent "countdown#bat_b01::OnStop";
  426. end;
  427. }
  428. bat_b01,10,294,3 script Vintenar#bat_b01_aover 419,{
  429. set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
  430. if ($@FlaviusBG1_id1 == getcharid(4)) {
  431. if (.@A_B_gap > 0)
  432. callfunc "F_BG_Badge",1,"Guillaume","Flavius"; // Guillaume gagne
  433. else if (.@A_B_gap == 0)
  434. callfunc "F_BG_Badge",0,"Guillaume","Flavius"; // Égalité
  435. else
  436. callfunc "F_BG_Badge",0,"Guillaume","Flavius"; // Croix gagne
  437. }
  438. else {
  439. mes "[Axl Rose]";
  440. mes "Que fais-tu ici, mercenaire de Croix ? Je suis certain de la victoire contre des imbéciles comme toi. Ha !";
  441. close;
  442. }
  443. bg_leave;
  444. if (!getbattleflag("feature.bgqueue"))
  445. warp "bat_room",154,150;
  446. end;
  447. OnInit:
  448. disablenpc "Vintenar#bat_b01_aover";
  449. end;
  450. }
  451. bat_b01,389,14,3 script Vintenar#bat_b01_bover 415,{
  452. set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1;
  453. if ($@FlaviusBG1_id2 == getcharid(4)) {
  454. if (.@A_B_gap > 0)
  455. callfunc "F_BG_Badge",0,"Croix","Flavius"; // Guillaume gagne
  456. else if (.@A_B_gap == 0)
  457. callfunc "F_BG_Badge",0,"Croix","Flavius"; // Égalité
  458. else
  459. callfunc "F_BG_Badge",1,"Croix","Flavius"; // Croix gagne
  460. }
  461. else {
  462. mes "[Swandery]";
  463. mes "Pourquoi viens-tu ici en tant que Guillaume ? Retourne là où est ta place !";
  464. close;
  465. }
  466. bg_leave;
  467. if (!getbattleflag("feature.bgqueue"))
  468. warp "bat_room",154,150;
  469. end;
  470. OnInit:
  471. disablenpc "Vintenar#bat_b01_bover";
  472. end;
  473. }
  474. bat_b01,81,83,3 script Camp Guillaume#drapeau21 973,{ end; }
  475. bat_b01,94,83,3 script Camp Guillaume#drapeau22 973,{ end; }
  476. bat_b01,81,66,3 script Camp Guillaume#drapeau23 973,{ end; }
  477. bat_b01,94,66,3 script Camp Guillaume#drapeau24 973,{ end; }
  478. bat_b01,139,142,3 script Camp Guillaume#drapeau25 973,{ end; }
  479. bat_b01,139,158,3 script Camp Guillaume#drapeau26 973,{ end; }
  480. bat_b01,110,161,3 script Camp Guillaume#drapeau27 973,{ end; }
  481. bat_b01,110,137,3 script Camp Guillaume#drapeau28 973,{ end; }
  482. bat_b01,63,135,3 script Camp Guillaume#drapeau29 973,{ end; }
  483. bat_b01,63,165,3 script Camp Guillaume#drapeau30 973,{ end; }
  484. bat_b01,10,296,3 script Camp Guillaume#drapeau31 973,{ end; }
  485. bat_b01,306,233,3 script Camp Croix#drapeau21 974,{ end; }
  486. bat_b01,317,233,3 script Camp Croix#drapeau22 974,{ end; }
  487. bat_b01,306,216,3 script Camp Croix#drapeau23 974,{ end; }
  488. bat_b01,317,216,3 script Camp Croix#drapeau24 974,{ end; }
  489. bat_b01,257,158,3 script Camp Croix#drapeau25 974,{ end; }
  490. bat_b01,257,141,3 script Camp Croix#drapeau26 974,{ end; }
  491. bat_b01,297,164,3 script Camp Croix#drapeau27 974,{ end; }
  492. bat_b01,297,136,3 script Camp Croix#drapeau28 974,{ end; }
  493. bat_b01,336,161,3 script Camp Croix#drapeau29 974,{ end; }
  494. bat_b01,336,139,3 script Camp Croix#drapeau30 974,{ end; }
  495. bat_b01,389,16,3 script Camp Croix#drapeau31 974,{ end; }
  496. bat_b01,1,10,3 script Tout Libérer#b01 81,{
  497. set .@i, callfunc("F_GM_NPC",1854,0);
  498. if (.@i == -1) {
  499. mes "Annulé.";
  500. close;
  501. } else if (.@i == 0) {
  502. end;
  503. } else {
  504. mes "Puis-je vous aider ?";
  505. next;
  506. switch(select("Libérer tout le monde.:Annuler.")) {
  507. case 1:
  508. mes "Au revoir.";
  509. close2;
  510. mapwarp "bat_b01","bat_room",154,150;
  511. end;
  512. case 2:
  513. mes "Annulé.";
  514. close;
  515. }
  516. }
  517. }
  518. // La file d'attente de BG rend ces scripts inutiles
  519. - script InitialisationBGFileAttente#flavius01 -1,{
  520. end;
  521. OnInit:
  522. if (getbattleflag("feature.bgqueue")) {
  523. unloadnpc "Lieutenant Ator";
  524. unloadnpc "Lieutenant Thelokus";
  525. unloadnpc "back_bgroomb01a";
  526. unloadnpc "back_bgroomb01b";
  527. unloadnpc "A_CODE#bat_b01";
  528. unloadnpc "B_CODE#bat_b01";
  529. }
  530. end;
  531. }