1 // ==============================================================================
2 // BattleGround System - Flavius 2
3 // ==============================================================================
6 // *********************************************************************
8 bat_room,142,227,4 script Registration::Fl2R_Guillaume 418,{
11 waitingroom "Battle Station 10 Players",10,"Flavius_BG2::OnGuillaumeJoin",1;
14 set $@FlaviusBG2_id1, waitingroom2bg("bat_b02",390,10,"Flavius_BG2::OnGuillaumeQuit","");
18 bat_room,142,204,0 script Registration::Fl2R_Croix 414,{
21 waitingroom "Battle Station 10 Players",10,"Flavius_BG2::OnCroixJoin",1;
24 set $@FlaviusBG2_id2, waitingroom2bg("bat_b02",10,290,"Flavius_BG2::OnCroixQuit","");
28 // Battleground Engine
29 // *********************************************************************
31 - script Flavius_BG2 -1,{
35 disablenpc "Guillaume Vintenar#fl2";
36 disablenpc "Croix Vintenar#fl2";
37 disablenpc "Therapist in battle#fl21";
38 disablenpc "Therapist in battle#fl22";
43 set BG_Delay_Tick, gettimetick(2) + 1200;
48 if( $@FlaviusBG2 == 0 )
49 donpcevent "Flavius_BG2::OnReadyCheck";
55 set .@Guillaume, getwaitingroomstate(0,"Fl2R_Guillaume");
56 set .@Croix, getwaitingroomstate(0,"Fl2R_Croix");
58 if( .@Guillaume < 10 || .@Croix < 10 )
60 mapannounce "bat_room","Battleground -- Flavius [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x808000;
66 set $@FlaviusBG2_Victory, 0;
67 set .Guillaume_Score, 0;
68 set .Guillaume_Loss, 0;
73 donpcevent "#gfl2_respawn::OnBGStart";
74 donpcevent "#cfl2_respawn::OnBGStart";
75 enablenpc "Therapist in battle#fl21";
76 enablenpc "Therapist in battle#fl22";
77 disablenpc "Guillaume Vintenar#fl2";
78 disablenpc "Croix Vintenar#fl2";
79 // Build and Warp Teams
80 donpcevent "Fl2R_Guillaume::OnEnterBG";
81 donpcevent "Fl2R_Croix::OnEnterBG";
82 announce "Battleground -- Flavius [80-99] has started!",0,0x808000;
88 if( $@FlaviusBG2 != 1 ) end;
90 areapercentheal "bat_b02",382,2,397,17,100,100;
91 areapercentheal "bat_b02",2,282,17,297,100,100;
92 bg_warp $@FlaviusBG2_id1,"bat_b02",311,224;
93 bg_warp $@FlaviusBG2_id2,"bat_b02",87,75;
96 if( $@FlaviusBG2 != 1 ) end;
98 set .Match, .Match + 1;
100 set .Guillaume_Crystal, bg_monster($@FlaviusBG2_id1,"bat_b02",328,150,"Crystal Guillaume",1914,"Flavius_BG2::OnGuillaumeBreak");
101 setcell "bat_b02",327,151,329,149,cell_basilica,1;
102 setcell "bat_b02",327,151,329,149,cell_walkable,1;
104 set .Croix_Crystal, bg_monster($@FlaviusBG2_id2,"bat_b02",62,150,"Crystal Croix",1915,"Flavius_BG2::OnCroixBreak");
105 setcell "bat_b02",62,149,60,151,cell_basilica,1;
106 setcell "bat_b02",62,149,60,151,cell_walkable,1;
109 bg_monster $@FlaviusBG2_id1,"bat_b02",328,160,"Guillaume Guardian",1949,"Flavius_BG2::OnGuiGuardian";
110 bg_monster $@FlaviusBG2_id1,"bat_b02",328,140,"Guillaume Guardian",1950,"Flavius_BG2::OnGuiGuardian";
111 set .Guillaume_Guardian, 2;
112 bg_monster $@FlaviusBG2_id2,"bat_b02",62,160,"Croix Guardian",1949,"Flavius_BG2::OnCroGuardian";
113 bg_monster $@FlaviusBG2_id2,"bat_b02",61,140,"Croix Guardian",1950,"Flavius_BG2::OnCroGuardian";
114 set .Croix_Guardian, 2;
116 mapannounce "bat_b02","The Battle of Flavius [ " + .Match + " ] Round has begun!!",1,0x808000;
121 killmonster "bat_b02","Flavius_BG2::OnGuiGuardian";
122 killmonster "bat_b02","Flavius_BG2::OnCroGuardian";
123 setcell "bat_b02",327,151,329,149,cell_walkable,0;
124 setcell "bat_b02",327,151,329,149,cell_basilica,0;
125 killmonster "bat_b02","Flavius_BG2::OnGuillaumeBreak";
126 setcell "bat_b02",62,149,60,151,cell_walkable,0;
127 setcell "bat_b02",62,149,60,151,cell_basilica,0;
128 killmonster "bat_b02","Flavius_BG2::OnCroixBreak";
132 if( set(.Guillaume_Guardian, .Guillaume_Guardian - 1) <= 0 )
134 setcell "bat_b02",327,151,329,149,cell_walkable,0;
135 setcell "bat_b02",327,151,329,149,cell_basilica,0;
136 mapannounce "bat_b02","The Guillaume Crystal is vulnerable to attack!",1,0x0000FF;
141 if( set(.Croix_Guardian, .Croix_Guardian - 1) <= 0 )
143 setcell "bat_b02",62,149,60,151,cell_walkable,0;
144 setcell "bat_b02",62,149,60,151,cell_basilica,0;
145 mapannounce "bat_b02","The Croix Crystal is vulnerable to attack!",1,0xFF0000;
150 donpcevent "Flavius_BG2::OnRoundStop";
151 set .Guillaume_Loss, .Guillaume_Loss + 1;
152 if( set(.Croix_Score, .Croix_Score + 1) < 2 )
154 bg_updatescore "bat_b02",.Guillaume_Score,.Croix_Score;
155 mapannounce "bat_b02","The Guillaume Crystal has been destroyed!",1,0x0000FF;
156 donpcevent "Flavius_BG2::OnRoundStart";
160 bg_updatescore "bat_b02",.Guillaume_Score,.Croix_Score;
161 mapannounce "bat_b02","The Croix army has won the Battle of Flavius!",1,0xFF0000;
162 set $@FlaviusBG2_Victory, 2;
163 donpcevent "Flavius_BG2::OnMatchEnd";
168 donpcevent "Flavius_BG2::OnRoundStop";
169 set .Croix_Loss, .Croix_Loss + 1;
170 if( set(.Guillaume_Score, .Guillaume_Score + 1) < 2 )
172 bg_updatescore "bat_b02",.Guillaume_Score,.Croix_Score;
173 mapannounce "bat_b02","The Croix Crystal has been destroyed!",1,0xFF0000;
174 donpcevent "Flavius_BG2::OnRoundStart";
178 bg_updatescore "bat_b02",.Guillaume_Score,.Croix_Score;
179 mapannounce "bat_b02","The Guillaume army has won the Battle of Flavius!",1,0x0000FF;
180 set $@FlaviusBG2_Victory, 1;
181 donpcevent "Flavius_BG2::OnMatchEnd";
186 mapannounce "bat_b02","Battle of Flavius will ends in 5 minutes",1,0x808000;
189 mapannounce "bat_b02","Battle of Flavius will ends in 1 minute",1,0x808000;
193 if( .Croix_Score > .Guillaume_Score )
195 mapannounce "bat_b02","The Croix army has won the Battle of Flavius!",1,0xFF0000;
196 set $@FlaviusBG2_Victory, 2;
198 else if( .Croix_Score < .Guillaume_Score )
200 mapannounce "bat_b02","The Guillaume army has won the Battle of Flavius!",1,0x0000FF;
201 set $@FlaviusBG2_Victory, 1;
205 mapannounce "bat_b02","The Battle of Flavius is over. The time is out, this is a Tie",1,0x808000;
206 set $@FlaviusBG2_Victory, 3;
212 donpcevent "#gfl2_respawn::OnBGStop";
213 donpcevent "#cfl2_respawn::OnBGStop";
214 disablenpc "Therapist in battle#fl21";
215 disablenpc "Therapist in battle#fl22";
216 enablenpc "Guillaume Vintenar#fl2";
217 enablenpc "Croix Vintenar#fl2";
219 bg_warp $@FlaviusBG2_id1,"bat_b02",390,10;
220 bg_warp $@FlaviusBG2_id2,"bat_b02",10,290;
222 mapannounce "bat_b02","Battle of Flavius will close in 1 minute!",1,0x808000;
227 if( $@FlaviusBG2 == 2 )
228 mapannounce "bat_b02","Battle of Flavius will close in 30 seconds!",1,0x808000;
231 if( $@FlaviusBG2 == 2 )
232 mapannounce "bat_b02","Battle of Flavius will close in 10 seconds!",1,0x808000;
236 if( $@FlaviusBG2 != 2 )
240 donpcevent "Flavius_BG2::OnRoundStop";
241 set .Guillaume_Score, 0;
242 set .Guillaume_Crystal, 0;
243 set .Guillaume_Loss, 0;
245 set .Croix_Crystal, 0;
248 set $@FlaviusBG2_Victory, 0;
250 disablenpc "Guillaume Vintenar#fl2";
251 disablenpc "Croix Vintenar#fl2";
252 disablenpc "Therapist in battle#fl21";
253 disablenpc "Therapist in battle#fl22";
255 if( $@FlaviusBG2_id1 ) { bg_destroy $@FlaviusBG2_id1; set $@FlaviusBG2_id1, 0; }
256 if( $@FlaviusBG2_id2 ) { bg_destroy $@FlaviusBG2_id2; set $@FlaviusBG2_id2, 0; }
258 mapwarp "bat_b02","bat_room",155,150;
260 maprespawnguildid "bat_b02",0,3; // Just in case someone else
262 bg_updatescore "bat_b02",0,0;
264 donpcevent "Flavius_BG2::OnReadyCheck";
268 // Battleground rewards
269 // *********************************************************************
271 bat_b02,390,13,5 script Guillaume Vintenar#fl2 419,{
272 if( $@FlaviusBG2_Victory )
274 if( $@FlaviusBG2_Victory == Bat_Team )
277 mes "Blessed Guillaume!!";
278 mes "Let's enjoy our glorious victory!";
279 mes "" + strcharinfo(0) + ", its a sign reflecting victory";
286 mes "You lost, but you're dedicated to this battle.";
287 mes "This is a reward for your great dedication by Guillaume Marollo!";
288 mes "Just take this defeat a lesson, and later you would definitely learn.";
294 getitem 7829, .@Reward;
296 warp "bat_room",155,150;
302 bat_b02,10,293,5 script Croix Vintenar#fl2 415,{
303 if( $@FlaviusBG2_Victory )
305 if( $@FlaviusBG2_Victory == Bat_Team )
308 mes "Blessed Croax!!";
309 mes "Let's enjoy our glorious victory!";
310 mes "" + strcharinfo(0) + ", its a sign reflecting victory";
317 mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
318 mes "Even though we didn't win, we did our best.";
319 mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
325 getitem 7829, .@Reward;
327 warp "bat_room",155,150;
333 // Battleground Therapist
334 // *********************************************************************
336 bat_b02,390,13,5 script Therapist in battle#fl22 95,{
337 mes "[Therapist in battle]";
338 mes "Just close your eyes, and take a deep breathe.";
339 mes "You can be free from pain.";
340 specialeffect2 EF_HEAL;
344 bat_b02,10,293,5 script Therapist in battle#fl21 95,{
345 mes "[Therapist in battle]";
346 mes "Just close your eyes, and take a deep breathe.";
347 mes "You can be free from pain.";
348 specialeffect2 EF_HEAL;
352 // Battleground Respawn
353 // *********************************************************************
355 bat_b02,390,10,0 script #gfl2_respawn 139,{
367 misceffect EF_SANCTUARY;
371 areapercentheal "bat_b02",382,2,397,17,100,100;
372 areawarp "bat_b02",382,2,397,17,"bat_b02",311,224;
377 bat_b02,10,290,0 script #cfl2_respawn 139,{
389 misceffect EF_SANCTUARY;
393 areapercentheal "bat_b02",2,282,17,297,100,100;
394 areawarp "bat_b02",2,282,17,297,"bat_b02",87,75;
400 // *********************************************************************
402 bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat32 973
403 bat_b02,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat33 973
404 bat_b02,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat34 973
405 bat_b02,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat35 973
406 bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat36 973
407 bat_b02,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat37 973
408 bat_b02,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat38 973
409 bat_b02,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat39 973
410 bat_b02,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat40 973
411 bat_b02,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat41 973
412 bat_b02,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat42 973
413 bat_b02,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat43 973
414 bat_b02,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat44 973
416 bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat30 974
417 bat_b02,96,68,1 duplicate(Croix camp#bat) Croix camp#bat31 974
418 bat_b02,79,81,1 duplicate(Croix camp#bat) Croix camp#bat32 974
419 bat_b02,79,68,1 duplicate(Croix camp#bat) Croix camp#bat33 974
420 bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat34 974
421 bat_b02,96,81,1 duplicate(Croix camp#bat) Croix camp#bat35 974
422 bat_b02,59,164,1 duplicate(Croix camp#bat) Croix camp#bat36 974
423 bat_b02,59,137,1 duplicate(Croix camp#bat) Croix camp#bat37 974
424 bat_b02,10,296,1 duplicate(Croix camp#bat) Croix camp#bat38 974
425 bat_b02,110,162,1 duplicate(Croix camp#bat) Croix camp#bat39 974
426 bat_b02,110,137,1 duplicate(Croix camp#bat) Croix camp#bat40 974
427 bat_b02,152,120,1 duplicate(Croix camp#bat) Croix camp#bat41 974
428 bat_b02,158,114,1 duplicate(Croix camp#bat) Croix camp#bat42 974