diff options
Diffstat (limited to 'npc/004-1')
-rw-r--r-- | npc/004-1/bgmaster.txt | 80 |
1 files changed, 56 insertions, 24 deletions
diff --git a/npc/004-1/bgmaster.txt b/npc/004-1/bgmaster.txt index 1e7a8062b..234bcacf9 100644 --- a/npc/004-1/bgmaster.txt +++ b/npc/004-1/bgmaster.txt @@ -23,7 +23,16 @@ l("Join team 1."), L_T1, l("Join team 2."), L_T2; */ - mesq l("Right click one of the lieutenants to join."); + if ($@BGMaster1) goto L_Busy; + mesq l("Hello! I am Cassia, Ambassator. During the Monster War outbreak, Frostia and Halirnazo felt."); + next; + mesq l("To train their soldiers, they frequently face one against other in duels. Adventurers are welcome to join their drills."); + next; + mesq l("To join a drill, right click on one of the lieutenants and join their Battle Stations. The drill can last up to 10 minutes."); + next; + mesq l("The sides accept only one adventurer. You'll also lose access to General Chat upon joining, and will have to use #world."); + next; + mesq l("Be sure to have a friend before joining, or you may have to logout in order to be able to move again!"); close; L_T1: @@ -82,7 +91,11 @@ L_Close: close; L_Busy: - mesq l("Sorry, registration period is over."); + if ($@BGMaster1 == 2) { + mesq l("The soldiers are resting. You can join them starting at ##B07:00, 15:00 and 23:00##b in UTC."); + } else { + mesq l("People are challenging now."); + } close; OnPcQuit: @@ -95,17 +108,22 @@ OnPcDeath: bg_leave(); end; -OnTimer30000: - if (getmapusers("testbg") < 2) goto L_RestartTimer; +OnTimer60000: + if (getmapusers("testbg") < 2 || .BGC > 10) goto L_Cancel; + mapannounce("testbg", "Reinforcements raise!", bc_map); $@FKing_T1 = bg_monster($@FK_Team1, "testbg", 1, 1, "FallenGuard1", 1081, "Cassia::OnSkip"); $@FKing_T2 = bg_monster($@FK_Team2, "testbg", 13, 28, "FallenGuard2", 1082, "Cassia::OnSkip"); + .BGC+=1; stopnpctimer(); initnpctimer(); end; -OnClock2200: - announce "I am alive!", bc_all; +// Arena Cooldown (every 8 hours) (CET time) +OnClock0000: +OnClock0800: +OnClock1600: + if ($@BGMaster1 == 2) $@BGMaster1=0; end; OnSkip: @@ -119,26 +137,39 @@ L_RestartTimer: initnpctimer(); end; +L_Cancel: + stopnpctimer(); + announce "The Fallen Kings Duel ended in a draw!", bc_all; + killmonsterall "testbg"; + + mapwarp "testbg", "004-2", 29, 23; + bg_destroy($@FK_Team1); + bg_destroy($@FK_Team2); + $@BGMaster1=2; + end; + OnVictor1: - if (!$@BattleOn) goto L_Skip; + if (!$@BGMaster1) goto L_Skip; stopnpctimer(); - announce "Team 1 raises victorious!", bc_all; - bg_warp $@FK_Team1, "004-2", 29, 23; - bg_warp $@FK_Team2, "004-2", 29, 23; + announce "Team 1 raises victorious at the Fallen Kings Duel!", bc_all; + killmonsterall "testbg"; + + mapwarp "testbg", "004-2", 29, 23; bg_destroy($@FK_Team1); bg_destroy($@FK_Team2); - $@BattleOn=0; + $@BGMaster1=2; end; OnVictor2: - if (!$@BattleOn) goto L_Skip; + if (!$@BGMaster1) goto L_Skip; stopnpctimer(); - announce "Team 2 raises victorious!", bc_all; - bg_warp $@FK_Team1, "004-2", 29, 23; - bg_warp $@FK_Team2, "004-2", 29, 23; + announce "Team 2 raises victorious at the Fallen Kings Duel!", bc_all; + killmonsterall "testbg"; + + mapwarp "testbg", "004-2", 29, 23; bg_destroy($@FK_Team1); bg_destroy($@FK_Team2); - $@BattleOn=0; + $@BGMaster1=2; end; OnInit: @@ -161,6 +192,7 @@ OnInit: end; OnDoEvent: + .BGC=0; mapannounce("testbg", "May the fight begin!", bc_map); $@FKing_T1 = bg_monster($@FK_Team1, "testbg", 1, 1, "OldFallen", 1079, "Cassia::OnVictor2"); $@FKing_T2 = bg_monster($@FK_Team2, "testbg", 13, 28, "OldFallen2", 1080, "Cassia::OnVictor1"); @@ -278,7 +310,7 @@ OnInit: -004-1,115,93,0 script Lieutenant Rundel NPC_ELF,{ +004-1,115,93,0 script Lt. Randy NPC_ELF,{ hello; OnInit: @@ -298,7 +330,7 @@ OnEnterBG: end; } -004-1,117,93,0 script Lieutenant Guerrit NPC_ELF,{ +004-1,117,93,0 script Lt. Gerry NPC_ELF,{ hello; OnInit: @@ -333,19 +365,19 @@ OnCroixQuit: end; OnReadyCheck: - if( $@TierraBG2 ) + if( $@BGMaster1 ) end; - .@Guillaume = getwaitingroomstate(0,"Lieutenant Rundel"); - .@Croix = getwaitingroomstate(0,"Lieutenant Guerrit"); + .@Guillaume = getwaitingroomstate(0,"Lt. Randy"); + .@Croix = getwaitingroomstate(0,"Lt. Gerry"); if( !.@Guillaume && !.@Croix ) { donpcevent "#bat_a02_timer::OnStop"; end; } else if( .@Guillaume < 1 || .@Croix < 1 ) end; - $@TierraBG2 = 1; - donpcevent "Lieutenant Rundel::OnEnterBG"; - donpcevent "Lieutenant Guerrit::OnEnterBG"; + $@BGMaster1 = 1; + donpcevent "Lt. Randy::OnEnterBG"; + donpcevent "Lt. Gerry::OnEnterBG"; donpcevent "Cassia::OnDoEvent"; bg_warp $@FK_Team1,"testbg",13,4; bg_warp $@FK_Team2,"testbg",13,28; |