diff options
Diffstat (limited to 'npc/pre-re/battleground/flavius')
-rw-r--r-- | npc/pre-re/battleground/flavius/flavius01.txt | 754 | ||||
-rw-r--r-- | npc/pre-re/battleground/flavius/flavius02.txt | 755 | ||||
-rw-r--r-- | npc/pre-re/battleground/flavius/flavius_enter.txt | 374 |
3 files changed, 1883 insertions, 0 deletions
diff --git a/npc/pre-re/battleground/flavius/flavius01.txt b/npc/pre-re/battleground/flavius/flavius01.txt new file mode 100644 index 000000000..0827719b3 --- /dev/null +++ b/npc/pre-re/battleground/flavius/flavius01.txt @@ -0,0 +1,754 @@ +//===== rAthena Script ======================================= +// BattleGround System - Flavius +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= rAthena 1.0 +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Flavius Battleground. +//= - Winning Team: 9 badges +//= - Losing Team: 3 badge +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Fixed pink crystal spawning as blue. [L0ne_W0lf] +//= 1.2 Updated 'waitingroom' to support required zeny/lvl. [Kisuka] +//= 1.3 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell. +//============================================================ + +// Waiting Room NPCs +//============================================================ +bat_room,86,227,4 script Lieutenant Ator 418,{ + end; +OnInit: + waitingroom "Battle Station",10,"start#bat_b01::OnReadyCheck",1,0,80; + end; +OnEnterBG: + set $@FlaviusBG1_id1, waitingroom2bg("bat_b01",10,290,"start#bat_b01::OnGuillaumeQuit",""); + end; +} + +bat_room,85,204,0 script Lieutenant Thelokus 414,{ + end; +OnInit: + waitingroom "Battle Station",10,"start#bat_b01::OnReadyCheck",1,0,80; + end; +OnEnterBG: + set $@FlaviusBG1_id2, waitingroom2bg("bat_b01",390,10,"start#bat_b01::OnCroixQuit",""); + end; +} + +bat_room,85,220,0 warp back_bgroomb01a 1,1,bat_room,154,150 +bat_room,85,211,0 warp back_bgroomb01b 1,1,bat_room,154,150 + +bat_room,2,151,3 script #bat_b01_timer 844,{ + end; + +OnInit: +OnEnable: + initnpctimer; + end; + +OnStop: + stopnpctimer; + end; + +OnTimer1000: + stopnpctimer; + initnpctimer; + set .@chk_bat_a01,getmapusers("bat_b01"); + if (.@chk_bat_a01 < 1) { + set $@FlaviusBG1, 0; + if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; set $@FlaviusBG1_id1, 0; } + if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; set $@FlaviusBG1_id2, 0; } + donpcevent "start#bat_b01::OnReadyCheck"; + } + end; +} + + +// Flavius Battleground Engine +//============================================================ +bat_b01,15,15,3 script start#bat_b01 844,{ +OnInit: + mapwarp "bat_b01","bat_room",154,150; + end; + +OnReadyCheck: + if( $@FlaviusBG1 ) + end; + set .@Guillaume, getwaitingroomstate(0,"Lieutenant Ator"); + set .@Croix, getwaitingroomstate(0,"Lieutenant Thelokus"); + if( !.@Guillaume && !.@Croix ) { + donpcevent "#bat_b01_timer::OnStop"; + end; + } + if( .@Guillaume < 10 || .@Croix < 10 ) + end; + set $@FlaviusBG1, 1; + set $@FlaviusBG1_Victory, 0; + set $@Croix_ScoreBG1, 0; + set $@Guill_ScoreBG1, 0; + bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; + + donpcevent "Lieutenant Ator::OnEnterBG"; + donpcevent "Lieutenant Thelokus::OnEnterBG"; + donpcevent "OBJ#bat_b01_a::Onkill"; + donpcevent "OBJ#bat_b01_a::OnEnable"; + donpcevent "OBJ#bat_b01_b::Onkill"; + donpcevent "OBJ#bat_b01_b::OnEnable"; + donpcevent "guardian#bat_b01_a::Onkill"; + donpcevent "guardian#bat_b01_b::Onkill"; + donpcevent "guardian#bat_b01_a::OnEnable"; + donpcevent "guardian#bat_b01_b::OnEnable"; + donpcevent "cell#bat_b01_a::Onred"; + donpcevent "cell#bat_b01_b::Onred"; + donpcevent "time#bat_b01::OnEnable"; + disablenpc "Guillaume Vintenar#b01_a"; + disablenpc "Croix Vintenar#b01_b"; + disablenpc "Vintenar#bat_b01_aover"; + disablenpc "Vintenar#bat_b01_bover"; + bg_warp $@FlaviusBG1_id1,"bat_b01",87,75; + bg_warp $@FlaviusBG1_id2,"bat_b01",311,224; + donpcevent "countdown#bat_b01::OnEnable"; + initnpctimer; + end; + +OnReset: + donpcevent "OBJ#bat_b01_a::Onkill"; + donpcevent "OBJ#bat_b01_a::OnEnable"; + donpcevent "OBJ#bat_b01_b::Onkill"; + donpcevent "OBJ#bat_b01_b::OnEnable"; + donpcevent "guardian#bat_b01_a::Onkill"; + donpcevent "guardian#bat_b01_b::Onkill"; + donpcevent "guardian#bat_b01_a::OnEnable"; + donpcevent "guardian#bat_b01_b::OnEnable"; + donpcevent "cell#bat_b01_a::Onred"; + donpcevent "cell#bat_b01_b::Onred"; + donpcevent "time#bat_b01::OnEnable"; + disablenpc "Guillaume Vintenar#b01_a"; + disablenpc "Croix Vintenar#b01_b"; + disablenpc "Vintenar#bat_b01_aover"; + disablenpc "Vintenar#bat_b01_bover"; + bg_warp $@FlaviusBG1_id1,"bat_b01",87,75; + bg_warp $@FlaviusBG1_id2,"bat_b01",311,224; + end; + +OnGuillaumeQuit: +OnCroixQuit: + bg_leave; + end; + +OnTimer10000: + stopnpctimer; + donpcevent "#bat_b01_timer::OnEnable"; + end; +} + +bat_b01,1,1,3 script OBJ#bat_b01_a 844,{ +OnEnable: + bg_monster $@FlaviusBG1_id1,"bat_b01",61,150,"Pink Crystal",1915,"OBJ#bat_b01_a::OnMyMobDead"; + end; + +Onkill: + killmonster "bat_b01","OBJ#bat_b01_a::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount("bat_b01","OBJ#bat_b01_a::OnMyMobDead") < 1) { + mapannounce "bat_b01", "Guillaume's Crystal has been destroyed.",bc_map,"0xFFCE00"; + if ($@Croix_ScoreBG1 > 0) { + set $@FlaviusBG1_Victory,2; + set $@Croix_ScoreBG1,$@Croix_ScoreBG1+1; + enablenpc "Guillaume Vintenar#b01_a"; + enablenpc "Croix Vintenar#b01_b"; + donpcevent "time#bat_b01::Onstop"; + } + else { + set $@Croix_ScoreBG1,1; + donpcevent "time#bat_b01::OnEnable"; + donpcevent "start#bat_b01::onReset"; + } + donpcevent "#bat_b01_timer::OnStop"; + bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; + bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; + bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; + donpcevent "#bat_b01_timer::OnEnable"; + } + end; +} + +bat_b01,1,2,3 script OBJ#bat_b01_b 844,{ +OnEnable: + bg_monster $@FlaviusBG1_id2,"bat_b01",328,150,"Blue Crystal",1914,"OBJ#bat_b01_b::OnMyMobDead"; + end; + +Onkill: + killmonster "bat_b01","OBJ#bat_b01_b::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount("bat_b01","OBJ#bat_b01_b::OnMyMobDead") < 1) { + mapannounce "bat_b01", "Croix's Crystal has been destroyed.",bc_map,"0xFFCE00"; + if ($@Guill_ScoreBG1 > 0) { + set $@FlaviusBG1_Victory,1; + set $@Guill_ScoreBG1,$@Guill_ScoreBG1+1; + enablenpc "Guillaume Vintenar#b01_a"; + enablenpc "Croix Vintenar#b01_b"; + donpcevent "time#bat_b01::Onstop"; + } + else { + set $@Guill_ScoreBG1,1; + donpcevent "time#bat_b01::OnEnable"; + donpcevent "start#bat_b01::onReset"; + } + donpcevent "#bat_b01_timer::OnStop"; + bg_updatescore "bat_b01",$@Guill_ScoreBG1,$@Croix_ScoreBG1; + bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; + bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; + donpcevent "#bat_b01_timer::OnEnable"; + } + end; +} + +bat_b01,1,3,3 script guardian#bat_b01_a 844,{ +OnEnable: + bg_monster $@FlaviusBG1_id1,"bat_b01",108,159,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead"; + bg_monster $@FlaviusBG1_id1,"bat_b01",108,141,"Guillaume Camp Guardian",1949,"guardian#bat_b01_a::OnMyMobDead"; + end; + +Onkill: + killmonster "bat_b01","guardian#bat_b01_a::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount("bat_b01","guardian#bat_b01_a::OnMyMobDead") < 1) { + donpcevent "cell#bat_b01_a::Ongreen"; + mapannounce "bat_b01", "The Guardian protecting Guillaume's Crystal has been slain.",bc_map,"0xFFCE00"; + } + end; +} + +bat_b01,1,3,3 script guardian#bat_b01_b 844,{ +OnEnable: + bg_monster $@FlaviusBG1_id2,"bat_b01",307,160,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead"; + bg_monster $@FlaviusBG1_id2,"bat_b01",307,138,"Croix Camp Guardian",1949,"guardian#bat_b01_b::OnMyMobDead"; + end; + +Onkill: + killmonster "bat_b01","guardian#bat_b01_b::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount("bat_b01","guardian#bat_b01_b::OnMyMobDead") < 1) { + donpcevent "cell#bat_b01_b::Ongreen"; + mapannounce "bat_b01", "The Guardian protecting Croix's Crystal has been slain.",bc_map,"0xFFCE00"; + } + end; +} + +bat_b01,1,4,3 script cell#bat_b01_a 844,{ +Onred: + setcell "bat_b01",62,149,60,151,cell_basilica,1; + setcell "bat_b01",62,149,60,151,cell_walkable,0; + end; + +Ongreen: + setcell "bat_b01",62,149,60,151,cell_basilica,0; + setcell "bat_b01",62,149,60,151,cell_walkable,1; + end; +} + +bat_b01,1,5,3 script cell#bat_b01_b 844,{ +Onred: + setcell "bat_b01",327,151,329,149,cell_basilica,1; + setcell "bat_b01",327,151,329,149,cell_walkable,0; + end; + +Ongreen: + setcell "bat_b01",327,151,329,149,cell_basilica,0; + setcell "bat_b01",327,151,329,149,cell_walkable,1; + end; +} + +bat_b01,1,6,1 script time#bat_b01 844,{ +OnEnable: + donpcevent "Battle Therapist#b01_a::OnEnable"; + donpcevent "Battle Therapist#b01_b::OnEnable"; + end; + +Onstop: + donpcevent "Battle Therapist#b01_a::OnStop"; + donpcevent "Battle Therapist#b01_b::OnStop"; + end; +} + +bat_b01,10,294,3 script Battle Therapist#b01_a 95,{ + specialeffect2 EF_HEAL; + mes "[Battle Therapist]"; + mes "Just close your eyes,"; + mes "and take a deep breath."; + mes "You can be free from pain."; + close; + +OnTimer25000: + specialeffect EF_SANCTUARY; + enablenpc "bat_b01_rp1_a_warp"; + end; + +OnTimer26000: + disablenpc "bat_b01_rp1_a_warp"; + end; + +OnTimer26500: + stopnpctimer; + donpcevent "Battle Therapist#b01_a::onEnable"; + end; + +OnEnable: + initnpctimer; + enablenpc "Battle Therapist#b01_a"; + end; + +Onstop: + disablenpc "bat_b01_rp1_a_warp"; + disablenpc "Battle Therapist#b01_a"; + stopnpctimer; + end; +} + +bat_b01,10,290,0 script bat_b01_rp1_a_warp 45,10,10,{ +OnInit: + disablenpc "bat_b01_rp1_a_warp"; + end; + +OnTouch: + percentheal 100,100; + warp "bat_b01",87,73; + end; +} + +bat_b01,389,14,3 script Battle Therapist#b01_b 95,{ + specialeffect2 EF_HEAL; + mes "[Battle Therapist]"; + mes "Just close your eyes,"; + mes "and take a deep breath."; + mes "You can be free from pain."; + close; + +OnTimer25000: + specialeffect EF_SANCTUARY; + enablenpc "bat_b01_rp1_b_warp"; + end; + +OnTimer26000: + disablenpc "bat_b01_rp1_b_warp"; + end; + +OnTimer26500: + stopnpctimer; + donpcevent "Battle Therapist#b01_b::OnEnable"; + end; + +OnEnable: + initnpctimer; + enablenpc "Battle Therapist#b01_b"; + end; + +Onstop: + disablenpc "bat_b01_rp1_b_warp"; + disablenpc "Battle Therapist#b01_b"; + stopnpctimer; + end; +} + +bat_b01,389,10,0 script bat_b01_rp1_b_warp 45,9,9,{ +OnInit: + disablenpc "bat_b01_rp1_a_warp"; + end; + +OnTouch: + percentheal 100,100; + warp "bat_b01",312,225; + end; +} + +bat_b01,87,76,0 script A_CODE#bat_b01 -1,5,5,{ +OnTouch: + if (checkquest(2070) < 0) + setquest 2070; + end; +} + +bat_b01,312,224,0 script B_CODE#bat_b01 -1,5,5,{ +OnTouch: + if (checkquest(2070) < 0) + setquest 2070; + end; +} + +bat_b01,10,294,3 script Guillaume Vintenar#b01_a 934,{ + if ($@FlaviusBG1_id1 == getcharid(4)) { + if ($@FlaviusBG1_Victory == 1) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 8) { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,9; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,3; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + } + bg_leave; + warp "bat_room",154,150; + end; + +OnInit: + disablenpc "Guillaume Vintenar#b01_a"; + end; +} + +bat_b01,389,14,3 script Croix Vintenar#b01_b 934,{ + if ($@FlaviusBG1_id2 == getcharid(4)) { + if ($@FlaviusBG1_Victory == 2) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 8) { + mes "[Swandery]"; + mes "Blessed Croix!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,9; //BF_Badge2 + } + else { + mes "[Swandery]"; + mes "Blessed Croix!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + 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 will win the next one."; + close2; + getitem 7829,3; //BF_Badge2 + } + 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 will win the next one."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + } + bg_leave; + warp "bat_room",154,150; + end; + +OnInit: + disablenpc "Croix Vintenar#b01_b"; + end; +} + +bat_b01,1,5,3 script countdown#bat_b01 844,{ +OnInit: + stopnpctimer; + end; + +OnEnable: + stopnpctimer; + initnpctimer; + end; + +Onstop: + stopnpctimer; + end; + +OnTimer7000: + mapannounce "bat_b01", "Guillaume Vintenar Axl Rose : Let's attack to destroy that Crystal!",bc_map,"0xFF9900"; + end; + +OnTimer8000: + mapannounce "bat_b01", "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"; + end; + +OnTimer1800000: + mapannounce "bat_b01", "Marollo VII : Guillaume Marollo, Croix Marollo! And their followers!",bc_map,"0x99CC00"; + end; + +OnTimer1803000: + mapannounce "bat_b01", "Marollo VII : Both camps are competitive, so it's hard to judge which team is superior.",bc_map,"0x99CC00"; + end; + +OnTimer1808000: + mapannounce "bat_b01", "Marollo VII : This battle of Flavian is such a waste of time. I will decide victory and defeat by your progress.",bc_map,"0x99CC00"; + end; + +OnTimer1822000: + mapannounce "bat_b01", "Marollo VII : If you can't accept the results, try again in another valley battle!",bc_map,"0x99CC00"; + end; + +OnTimer1825000: + mapannounce "bat_b01", "Axl Rose, Swandery : Yes, sir.",bc_map,"0x99CC00"; + end; + +OnTimer1830000: + donpcevent "time#bat_b01::Onstop"; + bg_warp $@FlaviusBG1_id1,"bat_b01",10,290; + bg_warp $@FlaviusBG1_id2,"bat_b01",390,10; + enablenpc "Vintenar#bat_b01_aover"; + enablenpc "Vintenar#bat_b01_bover"; + end; + +OnTimer1900000: + mapwarp "bat_b01","bat_room",154,150; + donpcevent "countdown#bat_b01::Onstop"; + end; +} + +bat_b01,81,83,3 script Guillaume Camp#flag21 973,{ end; } +bat_b01,94,83,3 script Guillaume Camp#flag22 973,{ end; } +bat_b01,81,66,3 script Guillaume Camp#flag23 973,{ end; } +bat_b01,94,66,3 script Guillaume Camp#flag24 973,{ end; } +bat_b01,139,142,3 script Guillaume Camp#flag25 973,{ end; } +bat_b01,139,158,3 script Guillaume Camp#flag26 973,{ end; } +bat_b01,110,161,3 script Guillaume Camp#flag27 973,{ end; } +bat_b01,110,137,3 script Guillaume Camp#flag28 973,{ end; } +bat_b01,63,135,3 script Guillaume Camp#flag29 973,{ end; } +bat_b01,63,165,3 script Guillaume Camp#flag30 973,{ end; } +bat_b01,10,296,3 script Guillaume Camp#flag31 973,{ end; } + +bat_b01,306,233,3 script Croix Camp#flag21 974,{ end; } +bat_b01,317,233,3 script Croix Camp#flag22 974,{ end; } +bat_b01,306,216,3 script Croix Camp#flag23 974,{ end; } +bat_b01,317,216,3 script Croix Camp#flag24 974,{ end; } +bat_b01,257,158,3 script Croix Camp#flag25 974,{ end; } +bat_b01,257,141,3 script Croix Camp#flag26 974,{ end; } +bat_b01,297,164,3 script Croix Camp#flag27 974,{ end; } +bat_b01,297,136,3 script Croix Camp#flag28 974,{ end; } +bat_b01,336,161,3 script Croix Camp#flag29 974,{ end; } +bat_b01,336,139,3 script Croix Camp#flag30 974,{ end; } +bat_b01,389,16,3 script Croix Camp#flag31 974,{ end; } + +bat_b01,10,294,3 script Vintenar#bat_b01_aover 419,{ + set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1; + if ($@FlaviusBG1_id1 == getcharid(4)) { + if (.@A_B_gap > 0) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 8) { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,9; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else if (.@A_B_gap == 0) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,3; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,3; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + } + else { + mes "[Axl Rose]"; + mes "Why are you here, Croix mercenary? I am definitely sure of victory against foolish Croix such as you. Ha!"; + close; + } + bg_leave; + warp "bat_room",154,150; + end; + +OnInit: + disablenpc "Vintenar#bat_b01_aover"; + end; +} + +bat_b01,389,14,3 script Vintenar#bat_b01_bover 415,{ + set .@A_B_gap,$@Guill_ScoreBG1 - $@Croix_ScoreBG1; + if ($@FlaviusBG1_id2 == getcharid(4)) { + if (.@A_B_gap > 0) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + 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 will win the next one."; + close2; + getitem 7829,3; //BF_Badge2 + } + 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 will win the next one."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else if (.@A_B_gap == 0) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + 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 will win the next one."; + close2; + getitem 7829,3; //BF_Badge2 + } + 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 will win the next one."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 8) { + mes "[Swandery]"; + mes "Blessed Croix!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,9; //BF_Badge2 + } + else { + mes "[Swandery]"; + mes "Blessed Croix!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + } + else { + mes "[Swandery]"; + mes "Why do you come here as a Guillaume? You will be sent to where you should be!"; + close; + } + bg_leave; + warp "bat_room",154,150; + end; + +OnInit: + disablenpc "Vintenar#bat_b01_bover"; + end; +} + +/* +bat_b01,1,10,3 script Release all#b01 81,{ + input .@input,0,2000; + if (.@input == 0) { + mes "Cancelled."; + close; + } + else if (.@input == 1854) { + mes "May I help you?"; + next; + switch(select("Release all.:Cancel.")) { + case 1: + mes "Bye."; + close2; + mapwarp "bat_b01","bat_room",154,150; + end; + case 2: + mes "Cancelled."; + close; + } + } +} +*/ diff --git a/npc/pre-re/battleground/flavius/flavius02.txt b/npc/pre-re/battleground/flavius/flavius02.txt new file mode 100644 index 000000000..2dfb22b6f --- /dev/null +++ b/npc/pre-re/battleground/flavius/flavius02.txt @@ -0,0 +1,755 @@ +//===== rAthena Script ======================================= +// BattleGround System - Flavius Second +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= rAthena 1.0 +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Flavius Battleground. +//= - Winning Team: 9 badges +//= - Losing Team: 3 badge +//===== Additional Comments: ================================= +//= 1.0 First Version. +//= 1.1 Fixed NPCs being called for waiting rooms. (bugreport:4395) +//= 1.2 Fixed pink crystal spawning as blue. [L0ne_W0lf] +//= 1.3 Updated 'waitingroom' to support required zeny/lvl. [Kisuka] +//= 1.4 Removed MaxLvl check in waitingrooms. Replaced setwall with setcell. +//============================================================ + +// Waiting Room NPCs +//============================================================ +bat_room,142,227,4 script Lieutenant Huvas 418,{ + end; +OnInit: + waitingroom "Battle Station",10,"start#bat_b02::OnReadyCheck",1,0,80; + end; +OnEnterBG: + set $@FlaviusBG2_id1, waitingroom2bg("bat_b02",10,290,"start#bat_b02::OnGuillaumeQuit",""); + end; +} + +bat_room,142,204,0 script Lieutenant Yukon 414,{ + end; +OnInit: + waitingroom "Battle Station",10,"start#bat_b02::OnReadyCheck",1,0,80; + end; +OnEnterBG: + set $@FlaviusBG2_id2, waitingroom2bg("bat_b02",390,10,"start#bat_b02::OnCroixQuit",""); + end; +} + +bat_room,141,220,0 warp back_bgroomb02a 1,1,bat_room,154,150 +bat_room,141,211,0 warp back_bgroomb02b 1,1,bat_room,154,150 + +bat_room,2,151,3 script #bat_b02_timer 844,{ + end; + +OnInit: +OnEnable: + initnpctimer; + end; + +OnStop: + stopnpctimer; + end; + +OnTimer1000: + stopnpctimer; + initnpctimer; + set .@chk_bat_a01,getmapusers("bat_b02"); + if (.@chk_bat_a01 < 1) { + set $@FlaviusBG2, 0; + if( $@FlaviusBG2_id1 ) { bg_destroy $@FlaviusBG2_id1; set $@FlaviusBG2_id1, 0; } + if( $@FlaviusBG2_id2 ) { bg_destroy $@FlaviusBG2_id2; set $@FlaviusBG2_id2, 0; } + donpcevent "start#bat_b02::OnReadyCheck"; + } + end; +} + + +// Flavius Battleground Engine +//============================================================ +bat_b02,15,15,3 script start#bat_b02 844,{ +OnInit: + mapwarp "bat_b02","bat_room",154,150; + end; + +OnReadyCheck: + if( $@FlaviusBG2 ) + end; + set .@Guillaume, getwaitingroomstate(0,"Lieutenant Huvas"); + set .@Croix, getwaitingroomstate(0,"Lieutenant Yukon"); + if( !.@Guillaume && !.@Croix ) { + donpcevent "#bat_b02_timer::OnStop"; + end; + } + if( .@Guillaume < 10 || .@Croix < 10 ) + end; + set $@FlaviusBG2, 1; + set $@FlaviusBG2_Victory, 0; + set $@Croix_ScoreBG2, 0; + set $@Guill_ScoreBG2, 0; + + bg_updatescore "bat_b02",$@Guill_ScoreBG2,$@Croix_ScoreBG2; + donpcevent "Lieutenant Huvas::OnEnterBG"; + donpcevent "Lieutenant Yukon::OnEnterBG"; + donpcevent "OBJ#bat_b02_a::Onkill"; + donpcevent "OBJ#bat_b02_a::OnEnable"; + donpcevent "OBJ#bat_b02_b::Onkill"; + donpcevent "OBJ#bat_b02_b::OnEnable"; + donpcevent "guardian#bat_b02_a::Onkill"; + donpcevent "guardian#bat_b02_b::Onkill"; + donpcevent "guardian#bat_b02_a::OnEnable"; + donpcevent "guardian#bat_b02_b::OnEnable"; + donpcevent "cell#bat_b02_a::Onred"; + donpcevent "cell#bat_b02_b::Onred"; + donpcevent "time#bat_b02::OnEnable"; + disablenpc "Guillaume Vintenar#b02_a"; + disablenpc "Croix Vintenar#b02_b"; + disablenpc "Vintenar#bat_b02_aover"; + disablenpc "Vintenar#bat_b02_bover"; + bg_warp $@FlaviusBG2_id1,"bat_b02",87,75; + bg_warp $@FlaviusBG2_id2,"bat_b02",311,224; + donpcevent "countdown#bat_b02::OnEnable"; + initnpctimer; + end; + +OnReset: + donpcevent "OBJ#bat_b02_a::Onkill"; + donpcevent "OBJ#bat_b02_a::OnEnable"; + donpcevent "OBJ#bat_b02_b::Onkill"; + donpcevent "OBJ#bat_b02_b::OnEnable"; + donpcevent "guardian#bat_b02_a::Onkill"; + donpcevent "guardian#bat_b02_b::Onkill"; + donpcevent "guardian#bat_b02_a::OnEnable"; + donpcevent "guardian#bat_b02_b::OnEnable"; + donpcevent "cell#bat_b02_a::Onred"; + donpcevent "cell#bat_b02_b::Onred"; + donpcevent "time#bat_b02::OnEnable"; + disablenpc "Guillaume Vintenar#b02_a"; + disablenpc "Croix Vintenar#b02_b"; + disablenpc "Vintenar#bat_b02_aover"; + disablenpc "Vintenar#bat_b02_bover"; + bg_warp $@FlaviusBG2_id1,"bat_b02",87,75; + bg_warp $@FlaviusBG2_id2,"bat_b02",311,224; + end; + +OnGuillaumeQuit: +OnCroixQuit: + bg_leave; + end; + +OnTimer10000: + stopnpctimer; + donpcevent "#bat_b02_timer::OnEnable"; + end; +} + +bat_b02,1,1,3 script OBJ#bat_b02_a 844,{ +OnEnable: + bg_monster $@FlaviusBG2_id1,"bat_b02",61,150,"Pink Crystal",1915,"OBJ#bat_b02_a::OnMyMobDead"; + end; + +Onkill: + killmonster "bat_b02","OBJ#bat_b02_a::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount("bat_b02","OBJ#bat_b02_a::OnMyMobDead") < 1) { + mapannounce "bat_b02", "Guillaume's Crystal has been destroyed.",bc_map,"0xFFCE00"; + if ($@Croix_ScoreBG2 > 0) { + set $@FlaviusBG2_Victory,2; + set $@Croix_ScoreBG2,$@Croix_ScoreBG2+1; + enablenpc "Guillaume Vintenar#b02_a"; + enablenpc "Croix Vintenar#b02_b"; + donpcevent "time#bat_b02::Onstop"; + } + else { + set $@Croix_ScoreBG2,1; + donpcevent "time#bat_b02::OnEnable"; + donpcevent "start#bat_b02::onReset"; + } + donpcevent "#bat_b02_timer::OnStop"; + bg_updatescore "bat_b02",$@Guill_ScoreBG2,$@Croix_ScoreBG2; + bg_warp $@FlaviusBG2_id1,"bat_b02",10,290; + bg_warp $@FlaviusBG2_id2,"bat_b02",390,10; + donpcevent "#bat_b02_timer::OnEnable"; + } + end; +} + +bat_b02,1,2,3 script OBJ#bat_b02_b 844,{ +OnEnable: + bg_monster $@FlaviusBG2_id2,"bat_b02",328,150,"Blue Crystal",1914,"OBJ#bat_b02_b::OnMyMobDead"; + end; + +Onkill: + killmonster "bat_b02","OBJ#bat_b02_b::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount("bat_b02","OBJ#bat_b02_b::OnMyMobDead") < 1) { + mapannounce "bat_b02", "Croix's Crystal has been destroyed.",bc_map,"0xFFCE00"; + if ($@Guill_ScoreBG2 > 0) { + set $@FlaviusBG2_Victory,1; + set $@Guill_ScoreBG2,$@Guill_ScoreBG2+1; + enablenpc "Guillaume Vintenar#b02_a"; + enablenpc "Croix Vintenar#b02_b"; + donpcevent "time#bat_b02::Onstop"; + } + else { + set $@Guill_ScoreBG2,1; + donpcevent "time#bat_b02::OnEnable"; + donpcevent "start#bat_b02::onReset"; + } + donpcevent "#bat_b02_timer::OnStop"; + bg_updatescore "bat_b02",$@Guill_ScoreBG2,$@Croix_ScoreBG2; + bg_warp $@FlaviusBG2_id1,"bat_b02",10,290; + bg_warp $@FlaviusBG2_id2,"bat_b02",390,10; + donpcevent "#bat_b02_timer::OnEnable"; + } + end; +} + +bat_b02,1,3,3 script guardian#bat_b02_a 844,{ +OnEnable: + bg_monster $@FlaviusBG2_id1,"bat_b02",108,159,"Guillaume Camp Guardian",1949,"guardian#bat_b02_a::OnMyMobDead"; + bg_monster $@FlaviusBG2_id1,"bat_b02",108,141,"Guillaume Camp Guardian",1949,"guardian#bat_b02_a::OnMyMobDead"; + end; + +Onkill: + killmonster "bat_b02","guardian#bat_b02_a::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount("bat_b02","guardian#bat_b02_a::OnMyMobDead") < 1) { + donpcevent "cell#bat_b02_a::Ongreen"; + mapannounce "bat_b02", "The Guardian protecting Guillaume's Crystal has been slain.",bc_map,"0xFFCE00"; + } + end; +} + +bat_b02,1,3,3 script guardian#bat_b02_b 844,{ +OnEnable: + bg_monster $@FlaviusBG2_id2,"bat_b02",307,160,"Croix Camp Guardian",1949,"guardian#bat_b02_b::OnMyMobDead"; + bg_monster $@FlaviusBG2_id2,"bat_b02",307,138,"Croix Camp Guardian",1949,"guardian#bat_b02_b::OnMyMobDead"; + end; + +Onkill: + killmonster "bat_b02","guardian#bat_b02_b::OnMyMobDead"; + end; + +OnMyMobDead: + if (mobcount("bat_b02","guardian#bat_b02_b::OnMyMobDead") < 1) { + donpcevent "cell#bat_b02_b::Ongreen"; + mapannounce "bat_b02", "The Guardian protecting Croix's Crystal has been slain.",bc_map,"0xFFCE00"; + } + end; +} + +bat_b02,1,4,3 script cell#bat_b02_a 844,{ +Onred: + setcell "bat_b02",62,149,60,151,cell_basilica,1; + setcell "bat_b02",62,149,60,151,cell_walkable,0; + end; + +Ongreen: + setcell "bat_b02",62,149,60,151,cell_basilica,0; + setcell "bat_b02",62,149,60,151,cell_walkable,1; + end; +} + +bat_b02,1,5,3 script cell#bat_b02_b 844,{ +Onred: + setcell "bat_b02",327,151,329,149,cell_basilica,1; + setcell "bat_b02",327,151,329,149,cell_walkable,0; + end; + +Ongreen: + setcell "bat_b02",327,151,329,149,cell_basilica,0; + setcell "bat_b02",327,151,329,149,cell_walkable,1; + end; +} + +bat_b02,1,6,1 script time#bat_b02 844,{ +OnEnable: + donpcevent "Battle Therapist#b02_a::OnEnable"; + donpcevent "Battle Therapist#b02_b::OnEnable"; + end; + +Onstop: + donpcevent "Battle Therapist#b02_a::OnStop"; + donpcevent "Battle Therapist#b02_b::OnStop"; + end; +} + +bat_b02,10,294,3 script Battle Therapist#b02_a 95,{ + specialeffect2 EF_HEAL; + mes "[Battle Therapist]"; + mes "Just close your eyes,"; + mes "and take a deep breath."; + mes "You can be free from pain."; + close; + +OnTimer25000: + specialeffect EF_SANCTUARY; + enablenpc "bat_b02_rp1_a_warp"; + end; + +OnTimer26000: + disablenpc "bat_b02_rp1_a_warp"; + end; + +OnTimer26500: + stopnpctimer; + donpcevent "Battle Therapist#b02_a::onEnable"; + end; + +OnEnable: + initnpctimer; + enablenpc "Battle Therapist#b02_a"; + end; + +Onstop: + disablenpc "bat_b02_rp1_a_warp"; + disablenpc "Battle Therapist#b02_a"; + stopnpctimer; + end; +} + +bat_b02,10,290,0 script bat_b02_rp1_a_warp 45,10,10,{ +OnInit: + disablenpc "bat_b02_rp1_a_warp"; + end; + +OnTouch: + percentheal 100,100; + warp "bat_b02",87,73; + end; +} + +bat_b02,389,14,3 script Battle Therapist#b02_b 95,{ + specialeffect2 EF_HEAL; + mes "[Battle Therapist]"; + mes "Just close your eyes,"; + mes "and take a deep breath."; + mes "You can be free from pain."; + close; + +OnTimer25000: + specialeffect EF_SANCTUARY; + enablenpc "bat_b02_rp1_b_warp"; + end; + +OnTimer26000: + disablenpc "bat_b02_rp1_b_warp"; + end; + +OnTimer26500: + stopnpctimer; + donpcevent "Battle Therapist#b02_b::OnEnable"; + end; + +OnEnable: + initnpctimer; + enablenpc "Battle Therapist#b02_b"; + end; + +Onstop: + disablenpc "bat_b02_rp1_b_warp"; + disablenpc "Battle Therapist#b02_b"; + stopnpctimer; + end; +} + +bat_b02,389,10,0 script bat_b02_rp1_b_warp 45,9,9,{ +OnInit: + disablenpc "bat_b02_rp1_a_warp"; + end; + +OnTouch: + percentheal 100,100; + warp "bat_b02",312,225; + end; +} + +bat_b02,87,76,0 script A_CODE#bat_b02 -1,5,5,{ +OnTouch: + if (checkquest(2070) < 0) + //setquest 2070; + end; +} + +bat_b02,312,224,0 script B_CODE#bat_b02 -1,5,5,{ +OnTouch: + if (checkquest(2070) < 0) + //setquest 2070; + end; +} + +bat_b02,10,294,3 script Guillaume Vintenar#b02_a 934,{ + if ($@FlaviusBG2_id1 == getcharid(4)) { + if ($@FlaviusBG2_Victory == 1) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 8) { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,9; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,3; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + } + bg_leave; + warp "bat_room",154,150; + end; + +OnInit: + disablenpc "Guillaume Vintenar#b02_a"; + end; +} + +bat_b02,389,14,3 script Croix Vintenar#b02_b 934,{ + if ($@FlaviusBG2_id2 == getcharid(4)) { + if ($@FlaviusBG2_Victory == 2) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 8) { + mes "[Swandery]"; + mes "Blessed Croix!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,9; //BF_Badge2 + } + else { + mes "[Swandery]"; + mes "Blessed Croix!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + 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 will win the next one."; + close2; + getitem 7829,3; //BF_Badge2 + } + 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 will win the next one."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + } + bg_leave; + warp "bat_room",154,150; + end; + +OnInit: + disablenpc "Croix Vintenar#b02_b"; + end; +} + +bat_b02,1,5,3 script countdown#bat_b02 844,{ +OnInit: + stopnpctimer; + end; + +OnEnable: + stopnpctimer; + initnpctimer; + end; + +Onstop: + stopnpctimer; + end; + +OnTimer7000: + mapannounce "bat_b02", "Guillaume Vintenar Axl Rose : Let's attack to destroy that Crystal!",bc_map,"0xFF9900"; + end; + +OnTimer8000: + 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"; + end; + +OnTimer1800000: + mapannounce "bat_b02", "Marollo VII : Guillaume Marollo, Croix Marollo! And their followers!",bc_map,"0x99CC00"; + end; + +OnTimer1803000: + mapannounce "bat_b02", "Marollo VII : Both camps are competitive, so it's hard to judge which team is superior.",bc_map,"0x99CC00"; + end; + +OnTimer1808000: + 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"; + end; + +OnTimer1822000: + mapannounce "bat_b02", "Marollo VII : If you can't accept the results, try again in another valley battle!",bc_map,"0x99CC00"; + end; + +OnTimer1825000: + mapannounce "bat_b02", "Axl Rose, Swandery : Yes, sir.",bc_map,"0x99CC00"; + end; + +OnTimer1830000: + donpcevent "time#bat_b02::Onstop"; + bg_warp $@FlaviusBG2_id1,"bat_b02",10,290; + bg_warp $@FlaviusBG2_id2,"bat_b02",390,10; + enablenpc "Vintenar#bat_b02_aover"; + enablenpc "Vintenar#bat_b02_bover"; + end; + +OnTimer1900000: + mapwarp "bat_b02","bat_room",154,150; + donpcevent "countdown#bat_b02::Onstop"; + end; +} + +bat_b02,81,83,3 script Guillaume Camp#flag32 973,{ end; } +bat_b02,94,83,3 script Guillaume Camp#flag33 973,{ end; } +bat_b02,81,66,3 script Guillaume Camp#flag34 973,{ end; } +bat_b02,94,66,3 script Guillaume Camp#flag35 973,{ end; } +bat_b02,139,142,3 script Guillaume Camp#flag36 973,{ end; } +bat_b02,139,158,3 script Guillaume Camp#flag37 973,{ end; } +bat_b02,110,161,3 script Guillaume Camp#flag38 973,{ end; } +bat_b02,110,137,3 script Guillaume Camp#flag39 973,{ end; } +bat_b02,63,135,3 script Guillaume Camp#flag40 973,{ end; } +bat_b02,63,165,3 script Guillaume Camp#flag41 973,{ end; } +bat_b02,10,296,3 script Guillaume Camp#flag42 973,{ end; } + +bat_b02,306,233,3 script Croix Camp#flag32 974,{ end; } +bat_b02,317,233,3 script Croix Camp#flag33 974,{ end; } +bat_b02,306,216,3 script Croix Camp#flag34 974,{ end; } +bat_b02,317,216,3 script Croix Camp#flag35 974,{ end; } +bat_b02,257,158,3 script Croix Camp#flag36 974,{ end; } +bat_b02,257,141,3 script Croix Camp#flag37 974,{ end; } +bat_b02,297,164,3 script Croix Camp#flag38 974,{ end; } +bat_b02,297,136,3 script Croix Camp#flag39 974,{ end; } +bat_b02,336,161,3 script Croix Camp#flag40 974,{ end; } +bat_b02,336,139,3 script Croix Camp#flag41 974,{ end; } +bat_b02,389,16,3 script Croix Camp#flag42 974,{ end; } + +bat_b02,10,294,3 script Vintenar#bat_b02_aover 419,{ + set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2; + if ($@FlaviusBG2_id1 == getcharid(4)) { + if (.@A_B_gap > 0) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 8) { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,9; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + mes "Blessed Guillaume!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else if (.@A_B_gap == 0) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,3; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,3; //BF_Badge2 + } + else { + mes "[Axl Rose]"; + 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 as a lesson, next time you will definitely win."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + } + else { + mes "[Axl Rose]"; + mes "Why are you here, Croix mercenary? I am definitely sure of victory against foolish Croix such as you. Ha!"; + close; + } + bg_leave; + warp "bat_room",154,150; + end; + +OnInit: + disablenpc "Vintenar#bat_b02_aover"; + end; +} + +bat_b02,389,14,3 script Vintenar#bat_b02_bover 415,{ + set .@A_B_gap,$@Guill_ScoreBG2 - $@Croix_ScoreBG2; + if ($@FlaviusBG2_id2 == getcharid(4)) { + if (.@A_B_gap > 0) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + 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 will win the next one."; + close2; + getitem 7829,3; //BF_Badge2 + } + 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 will win the next one."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else if (.@A_B_gap == 0) { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 2) { + 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 will win the next one."; + close2; + getitem 7829,3; //BF_Badge2 + } + 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 will win the next one."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + else { + set .@your_medal,countitem(7829); + set .@medal_gap,500 - .@your_medal; + if (.@medal_gap > 8) { + mes "[Swandery]"; + mes "Blessed Croix!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,9; //BF_Badge2 + } + else { + mes "[Swandery]"; + mes "Blessed Croix!"; + mes "Let's enjoy our glorious victory!"; + mes ""+strcharinfo(0)+", it's a sign reflecting victory."; + close2; + getitem 7829,.@medal_gap; //BF_Badge2 + } + } + } + else { + mes "[Swandery]"; + mes "Why do you come here as a Guillaume? You will be sent to where you should be!"; + close; + } + bg_leave; + warp "bat_room",154,150; + end; + +OnInit: + disablenpc "Vintenar#bat_b02_bover"; + end; +} + +/* +bat_b02,1,10,3 script Release all#b02 81,{ + input .@input,0,2000; + if (.@input == 0) { + mes "Cancelled."; + close; + } + else if (.@input == 1854) { + mes "May I help you?"; + next; + switch(select("Release all.:Cancel.")) { + case 1: + mes "Bye."; + close2; + mapwarp "bat_b02","bat_room",154,150; + end; + case 2: + mes "Cancelled."; + close; + } + } +} +*/ diff --git a/npc/pre-re/battleground/flavius/flavius_enter.txt b/npc/pre-re/battleground/flavius/flavius_enter.txt new file mode 100644 index 000000000..468a7fef8 --- /dev/null +++ b/npc/pre-re/battleground/flavius/flavius_enter.txt @@ -0,0 +1,374 @@ +//===== rAthena Script ======================================= +// BattleGround System - Flavius Entrance NPCs +//===== By: ================================================== +//= L0ne_W0lf +//===== Current Version: ===================================== +//= 1.0 +//===== Compatible With: ===================================== +//= rAthena 1.0 +//===== Description: ========================================= +//= [AEGIS Conversion] +//= Flavius Battleground Entrance NPCs +//===== Additional Comments: ================================= +//= 1.0 First Version. +//============================================================ + +// Flavius Officer - Guillaume +//============================================================ +bat_room,133,178,5 script Flavius Officer#01a 418,{ + if (checkweight(1201,1) == 0) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you loose some weight. -"; + close; + } + mes "[Guillaume Army Officer]"; + mes "Let's show the power of the Guillaume Army to those stinky Croixs!"; + next; + switch(select("I want to join your army!:End Conversation")) { + case 1: + if ((Class == job_Novice) || (BaseClass == Job_Supernovice)) { + mes "[Guillaume Army Officer]"; + mes "I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."; + } + else { + if (BaseLevel < 80) { + mes "[Guillaume Army Officer]"; + mes "I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."; + } + else { + set .@chk_urtime,checkquest(2070,PLAYTIME); + if ((.@chk_urtime == 0)|| (.@chk_urtime == 1)) { + mes "[Guillaume Army Officer]"; + mes "You seem to have just returned from the battlefield."; + mes "It's too early for you to go back. Go rest, and leave the enemies to us!"; + } + else { + if (.@chk_urtime == 2) + erasequest 2070; + set .@mapcount2,getmapusers("bat_b01"); + if (.@mapcount2 > 0) { + mes "[Guillaume Army Officer]"; + mes "I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Croixs already."; + mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."; + } + else { + if ($@FlaviusBG1 > 0) { + mes "[Guillaume Army Officer]"; + mes "An elite corps is already standing by to be dispatched to the battlefield."; + mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."; + } + else { + mes "[Guillaume Army Officer]"; + mes "You definitely seem to be ready for battle!"; + mes "Go show the Croixs what fear truly means!"; + mes "Today, our cry of victory shall echo all over the battlefield!"; + close2; + warp "bat_room",85,223; + end; + } + } + } + } + } + break; + case 2: + mes "[Guillaume Army Officer]"; + mes "Today, we shall be victorious!"; + break; + } + close; +} + +bat_room,133,121,1 script Flavius Officer#01b 414,{ + if (checkweight(1201,1) == 0) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you loose some weight. -"; + close; + } + mes "[Croix Army Officer]"; + mes "Let's show the Guillaumes the power of the Croix Army!"; + next; + switch(select("I want to join your army!:End Conversation")) { + case 1: + if ((Class == job_Novice) || (BaseClass == Job_Supernovice)) { + mes "[Croix Army Officer]"; + mes "I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."; + } + else { + if (BaseLevel < 80) { + mes "[Croix Army Officer]"; + mes "I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."; + } + else { + set .@chk_urtime,checkquest(2070,PLAYTIME); + if ((.@chk_urtime == 0)|| (.@chk_urtime == 1)) { + mes "[Croix Army Officer]"; + mes "You seem to have just returned from the battlefield."; + mes "It's too early for you to go back. Go rest, and leave the enemies to us!"; + } + else { + if (.@chk_urtime == 2) + erasequest 2070; + set .@mapcount2,getmapusers("bat_b01"); + if (.@mapcount2 > 0) { + mes "[Croix Army Officer]"; + mes "I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Guillaume already."; + mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."; + } + else { + if ($@FlaviusBG1 > 0) { + mes "[Croix Army Officer]"; + mes "An elite corps is already standing by to be dispatched to the battlefield."; + mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."; + } + else { + mes "[Croix Army Officer]"; + mes "You definitely seem to be ready for battle!"; + mes "Go show the Guillaumes what fear truly means!"; + mes "Today, our cry of victory shall echo all over the battlefield!"; + close2; + warp "bat_room",85,207; + end; + } + } + } + } + } + break; + case 2: + mes "[Croix Army Officer]"; + mes "Today, we shall be victorious!"; + break; + } + close; +} + +bat_room,135,178,5 script Guillaume Knight#3 417,{ + mes "[Guillaume Knight]"; + mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."; + next; + mes "[Guillaume Knight]"; + mes "The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."; + next; + mes "[Guillaume Knight]"; + mes "But they can be removed by destroying the Guardians that protect the enemy army base."; + next; + mes "[Guillaume Knight]"; + mes "The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."; + next; + mes "[Guillaume Knight]"; + mes "Please remember: when you join a battle, you will be receiving a token which indicates the set duration for which you cannot participate in the same type of battle."; + mes "You may check the duration by pressing the Alt+U keys."; + next; + mes "[Guillaume Knight]"; + mes "Are you ready for battle? Then apply with the recruiter next to me!"; + close; +} + +bat_room,151,178,5 script Guillaume Knight#4 417,{ + mes "[Guillaume Knight]"; + mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."; + next; + mes "[Guillaume Knight]"; + mes "The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."; + next; + mes "[Guillaume Knight]"; + mes "But they can be removed by destroying the Guardians that protect the enemy army base."; + next; + mes "[Guillaume Knight]"; + mes "The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."; + next; + mes "[Guillaume Knight]"; + mes "Please remember: when you join a battle, you will be receiving a token which indicates the set duration for which you cannot participate in the same type of battle."; + mes "You may check the duration by pressing the Alt+U keys."; + next; + mes "[Guillaume Knight]"; + mes "Are you ready for battle? Then apply with the recruiter next to me!"; + close; +} + +bat_room,135,121,1 script Croix Knight#3 413,{ + mes "[Croix Knight]"; + mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."; + next; + mes "[Croix Knight]"; + mes "The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."; + next; + mes "[Croix Knight]"; + mes "But they can be removed by destroying the Guardians that protect the enemy army base."; + next; + mes "[Croix Knight]"; + mes "The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."; + next; + mes "[Croix Knight]"; + mes "Please remember: when you join a battle, you will be receiving a token which indicates the set duration for which you cannot participate in the same type of battle."; + mes "You may check the duration by pressing the Alt+U keys."; + next; + mes "[Croix Knight]"; + mes "Are you ready for battle? Then apply with the recruiter next to me!"; + close; +} + +bat_room,151,121,1 script Croix Knight#4 413,{ + mes "[Croix Knight]"; + mes "The objective of the Flavius Battle is to score 2 points before your enemy by destroying their crystal."; + next; + mes "[Croix Knight]"; + mes "The crystals for both armies are protected by special barricades that cannot be destroyed by direct attacks."; + next; + mes "[Croix Knight]"; + mes "But they can be removed by destroying the Guardians that protect the enemy army base."; + next; + mes "[Croix Knight]"; + mes "The crystals are immune to every type of skill; your physical attacks are the only choice for destroying your enemy's crystal."; + next; + mes "[Croix Knight]"; + mes "Please remember: when you join a battle, you will be receiving a token which indicates the set duration for which you cannot participate in the same type of battle."; + mes "You may check the duration by pressing the Alt+U keys."; + next; + mes "[Croix Knight]"; + mes "Are you ready for battle? Then apply with the recruiter next to me!"; + close; +} + +// Flavius Officer - Croix +//============================================================ +bat_room,148,178,5 script Flavius Officer#02a 418,{ + if (checkweight(1201,1) == 0) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you loose some weight. -"; + close; + } + mes "[Guillaume Army Officer]"; + mes "Let's show the power of the Guillaume Army to those stinky Croixs!"; + next; + switch(select("I want to join your army!:End Conversation")) { + case 1: + if ((Class == job_Novice) || (BaseClass == Job_Supernovice)) { + mes "[Guillaume Army Officer]"; + mes "I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."; + } + else { + if (BaseLevel < 80) { + mes "[Guillaume Army Officer]"; + mes "I'm very pleased that you want to join us and fight the Croix Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."; + } + else { + set .@chk_urtime,checkquest(2070,PLAYTIME); + if ((.@chk_urtime == 0)|| (.@chk_urtime == 1)) { + mes "[Guillaume Army Officer]"; + mes "You seem to have just returned from the battlefield."; + mes "It's too early for you to go back. Go rest, and leave the enemies to us!"; + } + else { + if (.@chk_urtime == 2) + erasequest 2070; + set .@mapcount2,getmapusers("bat_b02"); + if (.@mapcount2 > 0) { + mes "[Guillaume Army Officer]"; + mes "I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Croixs already."; + mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."; + } + else { + if ($@FlaviusBG2 > 0) { + mes "[Guillaume Army Officer]"; + mes "An elite corps is already standing by to be dispatched to the battlefield."; + mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."; + } + else { + mes "[Guillaume Army Officer]"; + mes "You definitely seem to be ready for battle!"; + mes "Go show the Croixs what fear truly means!"; + mes "Today, our cry of victory shall echo all over the battlefield!"; + close2; + warp "bat_room",141,224; + end; + } + } + } + } + } + break; + case 2: + mes "[Guillaume Army Officer]"; + mes "Today, we shall be victorious!"; + break; + } + close; +} + +bat_room,148,121,1 script Flavius Officer#02b 414,{ + if (checkweight(1201,1) == 0) { + mes "- Wait a minute !! -"; + mes "- Currently you're carrying -"; + mes "- too many items with you. -"; + mes "- Please try again -"; + mes "- after you loose some weight. -"; + close; + } + mes "[Croix Army Officer]"; + mes "Let's show the power of the Croix Army to those stinky Guillaumes!"; + next; + switch(select("I want to join your army!:End Conversation")) { + case 1: + if ((Class == job_Novice) || (BaseClass == Job_Supernovice)) { + mes "[Croix Army Officer]"; + mes "I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."; + } + else { + if (BaseLevel < 80) { + mes "[Croix Army Officer]"; + mes "I'm very pleased that you want to join us and fight the Guillaume Army, but I'm sorry: I can't send a rookie like you to die on the cruel battlefield."; + } + else { + set .@chk_urtime,checkquest(2070,PLAYTIME); + if ((.@chk_urtime == 0)|| (.@chk_urtime == 1)) { + mes "[Croix Army Officer]"; + mes "You seem to have just returned from the battlefield."; + mes "It's too early for you to go back. Go rest, and leave the enemies to us!"; + } + else { + if (.@chk_urtime == 2) + erasequest 2070; + set .@mapcount2,getmapusers("bat_b02"); + if (.@mapcount2 > 0) { + mes "[Croix Army Officer]"; + mes "I've received a report informing me that an elite corps has been dispatched to the battlefield fighting the Guillaume already."; + mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."; + } + else { + if ($@FlaviusBG2 > 0) { + mes "[Croix Army Officer]"; + mes "An elite corps is already standing by to be dispatched to the battlefield."; + mes "Why don't you go wait for a while? I suggest you sharpen your weapons and prepare your supplies until then."; + } + else { + mes "[Croix Army Officer]"; + mes "You definitely seem to be ready for battle!"; + mes "Go show the Guillaumes what fear truly means!"; + mes "Today, our cry of victory shall echo all over the battlefield!"; + close2; + warp "bat_room",141,207; + end; + } + } + } + } + } + break; + case 2: + mes "[Croix Army Officer]"; + mes "Today, we shall be victorious!"; + break; + } + close; +} |