123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453 |
- // ==============================================================================
- // BattleGround System - Flavius 1
- // ==============================================================================
- // Registration NPC's
- // *********************************************************************
- bat_room,253,97,4 script Registration::Fl1R_Guillaume 418,{
- end;
- OnInit:
- waitingroom "Battle Station 10 Players",10,"Flavius_BG1::OnGuillaumeJoin",1;
- end;
- OnEnterBG:
- set $@FlaviusBG1_id1, waitingroom2bg("bat_b01",390,10,"Flavius_BG1::OnGuillaumeQuit","");
- end;
- }
- bat_room,253,74,0 script Registration::Fl1R_Croix 414,{
- end;
- OnInit:
- waitingroom "Battle Station 10 Players",10,"Flavius_BG1::OnCroixJoin",1;
- end;
- OnEnterBG:
- set $@FlaviusBG1_id2, waitingroom2bg("bat_b01",10,290,"Flavius_BG1::OnCroixQuit","");
- end;
- }
- // Battleground Engine
- // *********************************************************************
- - script Flavius_BG1 -1,{
- end;
- OnInit:
- disablenpc "Guillaume Vintenar#fl1";
- disablenpc "Croix Vintenar#fl1";
- disablenpc "Therapist in battle#fl11";
- disablenpc "Therapist in battle#fl12";
- end;
- OnGuillaumeQuit:
- OnCroixQuit:
- set BG_Delay_Tick, gettimetick(2) + 1200;
- end;
- OnGuillaumeJoin:
- OnCroixJoin:
- if( $@FlaviusBG1 == 0 )
- donpcevent "Flavius_BG1::OnReadyCheck";
- end;
- OnReadyCheck:
- if( $@FlaviusBG1 )
- end;
- set .@Guillaume, getwaitingroomstate(0,"Fl1R_Guillaume");
- set .@Croix, getwaitingroomstate(0,"Fl1R_Croix");
-
- if( .@Guillaume < 10 || .@Croix < 10 )
- {
- mapannounce "bat_room","Battleground -- Flavius [80-99] G: " + .@Guillaume + "/10, C: " + .@Croix + "/10",1,0x006400;
- end;
- }
- // BG Variables
- set $@FlaviusBG1, 1;
- set $@FlaviusBG1_Victory, 0;
- set .Guillaume_Score, 0;
- set .Guillaume_Loss, 0;
- set .Croix_Score, 0;
- set .Croix_Loss, 0;
- set .Match, 0;
- // Prepare NPC
- donpcevent "#gfl1_respawn::OnBGStart";
- donpcevent "#cfl1_respawn::OnBGStart";
- enablenpc "Therapist in battle#fl11";
- enablenpc "Therapist in battle#fl12";
- disablenpc "Guillaume Vintenar#fl1";
- disablenpc "Croix Vintenar#fl1";
- // Build and Warp Teams
- donpcevent "Fl1R_Guillaume::OnEnterBG";
- donpcevent "Fl1R_Croix::OnEnterBG";
- announce "Battleground -- Flavius [80-99] has started!",0,0x006400;
- initnpctimer;
- // Start Match!!
- OnRoundStart:
- sleep 2000;
- if( $@FlaviusBG1 != 1 ) end;
- areapercentheal "bat_b01",382,2,397,17,100,100;
- areapercentheal "bat_b01",2,282,17,297,100,100;
- bg_warp $@FlaviusBG1_id1,"bat_b01",311,224;
- bg_warp $@FlaviusBG1_id2,"bat_b01",87,75;
- sleep 2000;
- if( $@FlaviusBG1 != 1 ) end;
- set .Match, .Match + 1;
- // Crystal Spawn
- set .Guillaume_Crystal, bg_monster($@FlaviusBG1_id1,"bat_b01",328,150,"Crystal Guillaume",1914,"Flavius_BG1::OnGuillaumeBreak");
- setwall "bat_b01",327,149,2,6,0,"gui_wall1-1";
- setwall "bat_b01",329,149,2,0,0,"gui_wall1-2";
- setwall "bat_b01",329,151,2,2,0,"gui_wall1-3";
- setwall "bat_b01",327,151,2,4,0,"gui_wall1-4";
- set .Croix_Crystal, bg_monster($@FlaviusBG1_id2,"bat_b01",62,150,"Crystal Croix",1915,"Flavius_BG1::OnCroixBreak");
- setwall "bat_b01",61,149,2,6,0,"cro_wall1-1";
- setwall "bat_b01",63,149,2,0,0,"cro_wall1-2";
- setwall "bat_b01",63,151,2,2,0,"cro_wall1-3";
- setwall "bat_b01",61,151,2,4,0,"cro_wall1-4";
- // Guardian Spawns
- bg_monster $@FlaviusBG1_id1,"bat_b01",328,160,"Guillaume Guardian",1949,"Flavius_BG1::OnGuiGuardian";
- bg_monster $@FlaviusBG1_id1,"bat_b01",328,140,"Guillaume Guardian",1950,"Flavius_BG1::OnGuiGuardian";
- set .Guillaume_Guardian, 2;
- bg_monster $@FlaviusBG1_id2,"bat_b01",62,160,"Croix Guardian",1949,"Flavius_BG1::OnCroGuardian";
- bg_monster $@FlaviusBG1_id2,"bat_b01",61,140,"Croix Guardian",1950,"Flavius_BG1::OnCroGuardian";
- set .Croix_Guardian, 2;
- // Announces
- mapannounce "bat_b01","The Battle of Flavius [ " + .Match + " ] Round has begun!!",1,0x006400;
- end;
- OnRoundStop:
- // Remove Monsters
- killmonster "bat_b01","Flavius_BG1::OnGuiGuardian";
- killmonster "bat_b01","Flavius_BG1::OnCroGuardian";
- delwall "gui_wall1-1";
- delwall "gui_wall1-2";
- delwall "gui_wall1-3";
- delwall "gui_wall1-4";
- killmonster "bat_b01","Flavius_BG1::OnGuillaumeBreak";
- delwall "cro_wall1-1";
- delwall "cro_wall1-2";
- delwall "cro_wall1-3";
- delwall "cro_wall1-4";
- killmonster "bat_b01","Flavius_BG1::OnCroixBreak";
- end;
- OnGuiGuardian:
- if( set(.Guillaume_Guardian, .Guillaume_Guardian - 1) <= 0 )
- {
- delwall "gui_wall1-1";
- delwall "gui_wall1-2";
- delwall "gui_wall1-3";
- delwall "gui_wall1-4";
- mapannounce "bat_b01","The Guillaume Crystal is vulnerable to attack!",1,0x0000FF;
- }
- end;
- OnCroGuardian:
- if( set(.Croix_Guardian, .Croix_Guardian - 1) <= 0 )
- {
- delwall "cro_wall1-1";
- delwall "cro_wall1-2";
- delwall "cro_wall1-3";
- delwall "cro_wall1-4";
- mapannounce "bat_b01","The Croix Crystal is vulnerable to attack!",1,0xFF0000;
- }
- end;
- OnGuillaumeBreak:
- donpcevent "Flavius_BG1::OnRoundStop";
- set .Guillaume_Loss, .Guillaume_Loss + 1;
- if( set(.Croix_Score, .Croix_Score + 1) < 2 )
- {
- bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
- mapannounce "bat_b01","The Guillaume Crystal has been destroyed!",1,0x0000FF;
- donpcevent "Flavius_BG1::OnRoundStart";
- }
- else
- {
- bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
- mapannounce "bat_b01","The Croix army has won the Battle of Flavius!",1,0xFF0000;
- set $@FlaviusBG1_Victory, 2;
- donpcevent "Flavius_BG1::OnMatchEnd";
- }
- end;
- OnCroixBreak:
- donpcevent "Flavius_BG1::OnRoundStop";
- set .Croix_Loss, .Croix_Loss + 1;
- if( set(.Guillaume_Score, .Guillaume_Score + 1) < 2 )
- {
- bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
- mapannounce "bat_b01","The Croix Crystal has been destroyed!",1,0xFF0000;
- donpcevent "Flavius_BG1::OnRoundStart";
- }
- else
- {
- bg_updatescore "bat_b01",.Guillaume_Score,.Croix_Score;
- mapannounce "bat_b01","The Guillaume army has won the Battle of Flavius!",1,0x0000FF;
- set $@FlaviusBG1_Victory, 1;
- donpcevent "Flavius_BG1::OnMatchEnd";
- }
- end;
- OnTimer2400000:
- mapannounce "bat_b01","Battle of Flavius will ends in 5 minutes",1,0x006400;
- end;
- OnTimer2640000:
- mapannounce "bat_b01","Battle of Flavius will ends in 1 minute",1,0x006400;
- end;
- OnTimer2700000:
- if( .Croix_Score > .Guillaume_Score )
- {
- mapannounce "bat_b01","The Croix army has won the Battle of Flavius!",1,0xFF0000;
- set $@FlaviusBG1_Victory, 2;
- }
- else if( .Croix_Score < .Guillaume_Score )
- {
- mapannounce "bat_b01","The Guillaume army has won the Battle of Flavius!",1,0x0000FF;
- set $@FlaviusBG1_Victory, 1;
- }
- else
- {
- mapannounce "bat_b01","The Battle of Flavius is over. The time is out, this is a Tie",1,0x006400;
- set $@FlaviusBG1_Victory, 3;
- }
- OnMatchEnd:
- set $@FlaviusBG1, 2;
- stopnpctimer;
- donpcevent "#gfl1_respawn::OnBGStop";
- donpcevent "#cfl1_respawn::OnBGStop";
- disablenpc "Therapist in battle#fl11";
- disablenpc "Therapist in battle#fl12";
- enablenpc "Guillaume Vintenar#fl1";
- enablenpc "Croix Vintenar#fl1";
- sleep 2000;
- bg_warp $@FlaviusBG1_id1,"bat_b01",390,10;
- bg_warp $@FlaviusBG1_id2,"bat_b01",10,290;
- sleep 3000;
- mapannounce "bat_b01","Battle of Flavius will close in 1 minute!",1,0x006400;
- initnpctimer;
- end;
- OnTimer30000:
- if( $@FlaviusBG1 == 2 )
- mapannounce "bat_b01","Battle of Flavius will close in 30 seconds!",1,0x006400;
- end;
- OnTimer50000:
- if( $@FlaviusBG1 == 2 )
- mapannounce "bat_b01","Battle of Flavius will close in 10 seconds!",1,0x006400;
- end;
- OnTimer60000:
- if( $@FlaviusBG1 != 2 )
- end;
- OnReset:
- stopnpctimer;
- donpcevent "Flavius_BG1::OnRoundStop";
- set .Guillaume_Score, 0;
- set .Guillaume_Crystal, 0;
- set .Guillaume_Loss, 0;
- set .Croix_Score, 0;
- set .Croix_Crystal, 0;
- set .Croix_Loss, 0;
- set .Match, 0;
- set $@FlaviusBG1_Victory, 0;
- // NPC's
- disablenpc "Guillaume Vintenar#fl1";
- disablenpc "Croix Vintenar#fl1";
- disablenpc "Therapist in battle#fl11";
- disablenpc "Therapist in battle#fl12";
- if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; }
- if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; }
- sleep 1000;
- mapwarp "bat_b01","bat_room",155,150;
- sleep 2000;
- maprespawnguildid "bat_b01",0,3; // Just in case someone else
- sleep 2000;
- bg_updatescore "bat_b01",0,0;
- set $@FlaviusBG1, 0;
- donpcevent "Flavius_BG1::OnReadyCheck";
- end;
- }
- // Battleground rewards
- // *********************************************************************
- bat_b01,390,13,5 script Guillaume Vintenar#fl1 419,{
- if( $@FlaviusBG1_Victory )
- {
- if( $@FlaviusBG1_Victory == Bat_Team )
- { // Victory
- mes "[Swandery]";
- mes "Blessed Guillaume!!";
- mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
- close2;
- set .@Reward, 9;
- }
- else
- { //
- mes "[Swandery]";
- mes "You lost, but you're dedicated to this battle.";
- mes "This is a reward for your great dedication by Guillaume Marollo!";
- mes "Just take this defeat a lesson, and later you would definitely learn.";
- close2;
- set .@Reward, 3;
- }
- set Flavius_BG_Tick, gettimetick(2) + 300;
- getitem 7829, .@Reward;
- bg_leave;
- warp "bat_room",155,150;
- end;
- }
- end;
- }
- bat_b01,10,293,5 script Croix Vintenar#fl1 415,{
- if( $@FlaviusBG1_Victory )
- {
- if( $@FlaviusBG1_Victory == Bat_Team )
- { // Victory
- mes "[Swandery]";
- mes "Blessed Croax!!";
- mes "Let's enjoy our glorious victory!";
- mes "" + strcharinfo(0) + ", its a sign reflecting victory";
- close2;
- set .@Reward, 9;
- }
- else
- { //
- mes "[Swandery]";
- mes "Oh, " + strcharinfo(0) + ". Don't be sad.";
- mes "Even though we didn't win, we did our best.";
- mes "This is a Royal gift from Croix, and please don't forget this battle. We can win the next.";
- close2;
- set .@Reward, 3;
- }
- set Flavius_BG_Tick, gettimetick(2) + 300;
- getitem 7829, .@Reward;
- bg_leave;
- warp "bat_room",155,150;
- end;
- }
- end;
- }
- // Battleground Therapist
- // *********************************************************************
- bat_b01,390,13,5 script Therapist in battle#fl12 95,{
- mes "[Therapist in battle]";
- mes "Just close your eyes, and take a deep breathe.";
- mes "You can be free from pain.";
- specialeffect2 312;
- close;
- }
- bat_b01,10,293,5 script Therapist in battle#fl11 95,{
- mes "[Therapist in battle]";
- mes "Just close your eyes, and take a deep breathe.";
- mes "You can be free from pain.";
- specialeffect2 312;
- close;
- }
- // Battleground Respawn
- // *********************************************************************
- bat_b01,390,10,0 script #gfl1_respawn 139,{
- end;
- OnBGStart:
- initnpctimer;
- end;
- OnBGStop:
- stopnpctimer;
- end;
- OnTimer24000:
- misceffect 83;
- end;
- OnTimer25000:
- areapercentheal "bat_b01",382,2,397,17,100,100;
- areawarp "bat_b01",382,2,397,17,"bat_b01",311,224;
- initnpctimer;
- end;
- }
- bat_b01,10,290,0 script #cfl1_respawn 139,{
- end;
- OnBGStart:
- initnpctimer;
- end;
- OnBGStop:
- stopnpctimer;
- end;
- OnTimer24000:
- misceffect 83;
- end;
- OnTimer25000:
- areapercentheal "bat_b01",2,282,17,297,100,100;
- areawarp "bat_b01",2,282,17,297,"bat_b01",87,75;
- initnpctimer;
- end;
- }
- // Flags
- // *********************************************************************
- bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat1 973
- bat_b01,319,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat2 973
- bat_b01,304,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat3 973
- bat_b01,319,218,1 duplicate(Guillaume camp#bat) Guillaume camp#bat4 973
- bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat5 973
- bat_b01,304,231,1 duplicate(Guillaume camp#bat) Guillaume camp#bat6 973
- bat_b01,335,142,1 duplicate(Guillaume camp#bat) Guillaume camp#bat7 973
- bat_b01,335,157,1 duplicate(Guillaume camp#bat) Guillaume camp#bat8 973
- bat_b01,390,16,1 duplicate(Guillaume camp#bat) Guillaume camp#bat9 973
- bat_b01,292,163,1 duplicate(Guillaume camp#bat) Guillaume camp#bat19 973
- bat_b01,292,136,1 duplicate(Guillaume camp#bat) Guillaume camp#bat20 973
- bat_b01,241,185,1 duplicate(Guillaume camp#bat) Guillaume camp#bat21 973
- bat_b01,247,179,1 duplicate(Guillaume camp#bat) Guillaume camp#bat22 973
- bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat1 974
- bat_b01,96,68,1 duplicate(Croix camp#bat) Croix camp#bat2 974
- bat_b01,79,81,1 duplicate(Croix camp#bat) Croix camp#bat3 974
- bat_b01,79,68,1 duplicate(Croix camp#bat) Croix camp#bat4 974
- bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat5 974
- bat_b01,96,81,1 duplicate(Croix camp#bat) Croix camp#bat6 974
- bat_b01,59,164,1 duplicate(Croix camp#bat) Croix camp#bat7 974
- bat_b01,59,137,1 duplicate(Croix camp#bat) Croix camp#bat8 974
- bat_b01,10,296,1 duplicate(Croix camp#bat) Croix camp#bat9 974
- bat_b01,110,162,1 duplicate(Croix camp#bat) Croix camp#bat18 974
- bat_b01,110,137,1 duplicate(Croix camp#bat) Croix camp#bat19 974
- bat_b01,152,120,1 duplicate(Croix camp#bat) Croix camp#bat20 974
- bat_b01,158,114,1 duplicate(Croix camp#bat) Croix camp#bat21 974
- // MapFlags
- // *********************************************************************
- bat_b01 mapflag battleground 2
- bat_b01 mapflag nomemo
- bat_b01 mapflag nosave SavePoint
- bat_b01 mapflag noteleport
- bat_b01 mapflag nowarp
- bat_b01 mapflag nowarpto
- bat_b01 mapflag noreturn
- bat_b01 mapflag nobranch
- bat_b01 mapflag nopenalty
|