//================= Hercules Script ======================================= //= _ _ _ //= | | | | | | //= | |_| | ___ _ __ ___ _ _| | ___ ___ //= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| //= | | | | __/ | | (__| |_| | | __/\__ \ //= \_| |_/\___|_| \___|\__,_|_|\___||___/ //================= License =============================================== //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= //= Copyright (C) 2012-2016 Hercules Dev Team //= Copyright (C) Euphy //= Copyright (C) Kisuka //= Copyright (C) L0ne_W0lf //= //= Hercules is free software: you can redistribute it and/or modify //= it under the terms of the GNU General Public License as published by //= the Free Software Foundation, either version 3 of the License, or //= (at your option) any later version. //= //= This program is distributed in the hope that it will be useful, //= but WITHOUT ANY WARRANTY; without even the implied warranty of //= MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //= GNU General Public License for more details. //= //= You should have received a copy of the GNU General Public License //= along with this program. If not, see . //========================================================================= // BattleGround System - Flavius //================= Description =========================================== //= Flavius Battleground. //= - Winning Team: 9 badges //= - Losing Team: 3 badge //================= Current Version ======================================= //= 1.5 //========================================================================= //== Waiting Room NPCs ===================================== bat_room,86,227,4 script Lieutenant Ator 4_M_KY_KNT,{ end; OnInit: waitingroom(_("Battle Station"), 11, "start#bat_b01::OnReadyCheck", 1, 0, 80); end; OnEnterBG: $@FlaviusBG1_id1 = waitingroom2bg("bat_b01",10,290,"start#bat_b01::OnGuillaumeQuit",""); end; } bat_room,85,204,0 script Lieutenant Thelokus 4_M_CRU_KNT,{ end; OnInit: waitingroom(_("Battle Station"), 11, "start#bat_b01::OnReadyCheck", 1, 0, 80); end; OnEnterBG: $@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 CLEAR_NPC,{ end; OnInit: OnEnable: initnpctimer; end; OnStop: stopnpctimer; end; OnTimer1000: stopnpctimer; initnpctimer; .@chk_bat_a01 = getmapusers("bat_b01"); if (.@chk_bat_a01 < 1) { $@FlaviusBG1 = 0; if( $@FlaviusBG1_id1 ) { bg_destroy $@FlaviusBG1_id1; $@FlaviusBG1_id1 = 0; } if( $@FlaviusBG1_id2 ) { bg_destroy $@FlaviusBG1_id2; $@FlaviusBG1_id2 = 0; } donpcevent "start#bat_b01::OnReadyCheck"; } end; } //== Flavius Battleground Engine =========================== bat_b01,15,15,3 script start#bat_b01 CLEAR_NPC,{ OnInit: mapwarp "bat_b01","bat_room",154,150; end; OnReadyCheck: if( $@FlaviusBG1 ) end; .@Guillaume = getwaitingroomstate(0,"Lieutenant Ator"); .@Croix = getwaitingroomstate(0,"Lieutenant Thelokus"); if( !.@Guillaume && !.@Croix ) { donpcevent "#bat_b01_timer::OnStop"; end; } if( .@Guillaume < 10 || .@Croix < 10 ) end; $@FlaviusBG1 = 1; $@FlaviusBG1_Victory = 0; $@Croix_ScoreBG1 = 0; $@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 CLEAR_NPC,{ 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) { $@FlaviusBG1_Victory = 2; ++$@Croix_ScoreBG1; enablenpc "Guillaume Vintenar#b01_a"; enablenpc "Croix Vintenar#b01_b"; donpcevent "time#bat_b01::OnStop"; } else { $@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 CLEAR_NPC,{ 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) { $@FlaviusBG1_Victory = 1; ++$@Guill_ScoreBG1; enablenpc "Guillaume Vintenar#b01_a"; enablenpc "Croix Vintenar#b01_b"; donpcevent "time#bat_b01::OnStop"; } else { $@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 CLEAR_NPC,{ 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 CLEAR_NPC,{ 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 CLEAR_NPC,{ 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 CLEAR_NPC,{ 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 CLEAR_NPC,{ 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 4_F_SISTER,{ specialeffect(EF_HEAL, AREA, playerattached()); mes("[Battle Therapist]"); mes("Just close your eyes,\r" "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 WARPNPC,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 4_F_SISTER,{ specialeffect(EF_HEAL, AREA, playerattached()); mes("[Battle Therapist]"); mes("Just close your eyes,\r" "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 WARPNPC,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 FAKE_NPC,5,5,{ OnTouch: if (!questprogress(2070)) setquest 2070; end; } bat_b01,312,224,0 script B_CODE#bat_b01 FAKE_NPC,5,5,{ OnTouch: if (!questprogress(2070)) setquest 2070; end; } bat_b01,10,294,3 script Guillaume Vintenar#b01_a 4_M_RASWORD,{ if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) { if ($@FlaviusBG1_Victory == 1) { .@your_medal = countitem(BF_Badge2); .@medal_gap = 500 - .@your_medal; if (.@medal_gap > 8) { mes("[Axl Rose]"); mes("Blessed Guillaume!"); mes("Let's enjoy our glorious victory!"); mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); close2; getitem BF_Badge2,9; } else { mes("[Axl Rose]"); mes("Blessed Guillaume!"); mes("Let's enjoy our glorious victory!"); mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); close2; getitem BF_Badge2,.@medal_gap; } } else { .@your_medal = countitem(BF_Badge2); .@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 BF_Badge2,3; } 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 BF_Badge2,.@medal_gap; } } } 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 4_M_RASWORD,{ if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) { if ($@FlaviusBG1_Victory == 2) { .@your_medal = countitem(BF_Badge2); .@medal_gap = 500 - .@your_medal; if (.@medal_gap > 8) { mes("[Swandery]"); mes("Blessed Croix!"); mes("Let's enjoy our glorious victory!"); mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); close2; getitem BF_Badge2,9; } else { mes("[Swandery]"); mes("Blessed Croix!"); mes("Let's enjoy our glorious victory!"); mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); close2; getitem BF_Badge2,.@medal_gap; } } else { .@your_medal = countitem(BF_Badge2); .@medal_gap = 500 - .@your_medal; if (.@medal_gap > 2) { mes("[Swandery]"); mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); 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 BF_Badge2,3; } else { mes("[Swandery]"); mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); 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 BF_Badge2,.@medal_gap; } } } bg_leave; warp "bat_room",154,150; end; OnInit: disablenpc "Croix Vintenar#b01_b"; end; } bat_b01,1,5,3 script countdown#bat_b01 CLEAR_NPC,{ 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 1_FLAG_LION,{ end; } bat_b01,94,83,3 script Guillaume Camp#flag22 1_FLAG_LION,{ end; } bat_b01,81,66,3 script Guillaume Camp#flag23 1_FLAG_LION,{ end; } bat_b01,94,66,3 script Guillaume Camp#flag24 1_FLAG_LION,{ end; } bat_b01,139,142,3 script Guillaume Camp#flag25 1_FLAG_LION,{ end; } bat_b01,139,158,3 script Guillaume Camp#flag26 1_FLAG_LION,{ end; } bat_b01,110,161,3 script Guillaume Camp#flag27 1_FLAG_LION,{ end; } bat_b01,110,137,3 script Guillaume Camp#flag28 1_FLAG_LION,{ end; } bat_b01,63,135,3 script Guillaume Camp#flag29 1_FLAG_LION,{ end; } bat_b01,63,165,3 script Guillaume Camp#flag30 1_FLAG_LION,{ end; } bat_b01,10,296,3 script Guillaume Camp#flag31 1_FLAG_LION,{ end; } bat_b01,306,233,3 script Croix Camp#flag21 1_FLAG_EAGLE,{ end; } bat_b01,317,233,3 script Croix Camp#flag22 1_FLAG_EAGLE,{ end; } bat_b01,306,216,3 script Croix Camp#flag23 1_FLAG_EAGLE,{ end; } bat_b01,317,216,3 script Croix Camp#flag24 1_FLAG_EAGLE,{ end; } bat_b01,257,158,3 script Croix Camp#flag25 1_FLAG_EAGLE,{ end; } bat_b01,257,141,3 script Croix Camp#flag26 1_FLAG_EAGLE,{ end; } bat_b01,297,164,3 script Croix Camp#flag27 1_FLAG_EAGLE,{ end; } bat_b01,297,136,3 script Croix Camp#flag28 1_FLAG_EAGLE,{ end; } bat_b01,336,161,3 script Croix Camp#flag29 1_FLAG_EAGLE,{ end; } bat_b01,336,139,3 script Croix Camp#flag30 1_FLAG_EAGLE,{ end; } bat_b01,389,16,3 script Croix Camp#flag31 1_FLAG_EAGLE,{ end; } bat_b01,10,294,3 script Vintenar#bat_b01_aover 4_M_KY_HEAD,{ .@A_B_gap = $@Guill_ScoreBG1 - $@Croix_ScoreBG1; if ($@FlaviusBG1_id1 == getcharid(CHAR_ID_BG)) { if (.@A_B_gap > 0) { .@your_medal = countitem(BF_Badge2); .@medal_gap = 500 - .@your_medal; if (.@medal_gap > 8) { mes("[Axl Rose]"); mes("Blessed Guillaume!"); mes("Let's enjoy our glorious victory!"); mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); close2; getitem BF_Badge2,9; } else { mes("[Axl Rose]"); mes("Blessed Guillaume!"); mes("Let's enjoy our glorious victory!"); mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); close2; getitem BF_Badge2,.@medal_gap; } } else if (.@A_B_gap == 0) { .@your_medal = countitem(BF_Badge2); .@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 BF_Badge2,3; } 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 BF_Badge2,.@medal_gap; } } else { .@your_medal = countitem(BF_Badge2); .@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 BF_Badge2,3; } 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 BF_Badge2,.@medal_gap; } } } 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 4_M_CRU_HEAD,{ .@A_B_gap = $@Guill_ScoreBG1 - $@Croix_ScoreBG1; if ($@FlaviusBG1_id2 == getcharid(CHAR_ID_BG)) { if (.@A_B_gap > 0) { .@your_medal = countitem(BF_Badge2); .@medal_gap = 500 - .@your_medal; if (.@medal_gap > 2) { mes("[Swandery]"); mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); 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 BF_Badge2,3; } else { mes("[Swandery]"); mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); 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 BF_Badge2,.@medal_gap; } } else if (.@A_B_gap == 0) { .@your_medal = countitem(BF_Badge2); .@medal_gap = 500 - .@your_medal; if (.@medal_gap > 2) { mes("[Swandery]"); mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); 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 BF_Badge2,3; } else { mes("[Swandery]"); mesf("Oh, %s. Don't be sad.", strcharinfo(PC_NAME)); 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 BF_Badge2,.@medal_gap; } } else { .@your_medal = countitem(BF_Badge2); .@medal_gap = 500 - .@your_medal; if (.@medal_gap > 8) { mes("[Swandery]"); mes("Blessed Croix!"); mes("Let's enjoy our glorious victory!"); mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); close2; getitem BF_Badge2,9; } else { mes("[Swandery]"); mes("Blessed Croix!"); mes("Let's enjoy our glorious victory!"); mesf("%s, it's a sign reflecting victory.", strcharinfo(PC_NAME)); close2; getitem BF_Badge2,.@medal_gap; } } } 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 4_DOG01,{ .@i = callfunc("F_GM_NPC",1854,0); if (.@i == -1) { mes("Cancelled."); close; } else if (.@i == 0) { end; } else { 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; } } }