//===== eAthena Script ======================================= //= War of Emperium Second Edition //===== By: ================================================== //= L0ne_W0lf //===== Current Version: ===================================== //= 2.3 //===== Compatible With: ===================================== //= eAthena SVN //===== Description: ========================================= //= WoE SE Arunafeltz Castle 5 //===== Additional Comments: ================================= //= 1.0 First Version [L0ne_W0lf] //= 1.1 Swaped an end for a close in eco investing. [L0ne_W0lf] //= 1.2 Fixed double message in defense investing. [L0ne_W0lf] //= Corrected a minor typo in the guild steward. //= 1.3 Fixed a guardian spawning NPCs. [L0ne_W0lf] //= 1.4 Fixed investment period not resetting. [L0ne_W0lf] //= Made it so treasure won't spawn if castle is empty. //= Treasure will now be killed before spawning. //= 1.5 Fixed error with control devices. [L0ne_W0lf] //= 1.6 Corrected copy/paste error. [L0ne_W0lf] //= 1.7 Replaced effect numerics with constants. [L0ne_W0lf] //= 1.8 Fixed wrong event call for stones. (bugreport:2386) [L0ne_W0lf] //= 1.9 Applied updated eco/def systems. [L0ne_W0lf] //= 2.0 Fixed eco/def not actually incrementing. [L0ne_W0lf] //= Can no longer gain eco/def higher than 100. //= 2.1 Fixed setcell extending more than it should on 3rd barricade. (bugreport:4323) [L0ne_W0lf] //= 2.2 Fixed exterior flag placements. [L0ne_W0lf] //= 2.3 Fixed a possible exploit in guild castle investment. [Brian] //============================================================ arug_cas05,1,1,0 script Manager#aru05_02 111,{ end; OnInterIfInitOnce: GetCastleData "arug_cas05",0,"::OnRecvCastlear05"; end; OnRecvCastlear05: RequestGuildInfo GetCastleData("arug_cas05",1); if (GetCastleData("arug_cas05",1) == 0) { donpcevent "Manager#aru05_02::Onstart"; } end; OnAgitStart2: if (agitcheck2()) { MapRespawnGuildID "arug_cas05",GetCastleData("arug_cas05",1),2; GvgOn "arug_cas05"; donpcevent "Manager#aru05_02::Onstart"; } else { donpcevent "#aru05_RL00::OnDisable"; donpcevent "#aru05_RL01::OnDisable"; donpcevent "#aru05_RL02::OnDisable"; donpcevent "#aru05_RL03::OnDisable"; } end; OnAgitEnd2: GvgOff "arug_cas05"; if (GetCastleData("arug_cas05",1)) { KillMonster "arug_cas05","Steward#aru05::OnStartArena"; donpcevent "Manager#aru05_02::Onreset"; donpcevent "Steward#aru05::Onstop"; } end; Onstart: // 1st Guardian stone, 2nd Guardian stone, Barrier 1, Barrier 2, Barrier 3, Summon Guardians // Settings for all but Summon Guardians // 0 = Okay; 1 = Destroyed; 2 = Repairing // Summon Guardians // 0 = Do not Summon; 1 = Summon if (GetCastleData("arug_cas05",1)) { setarray $agit_ar05[0],0,0,0,0,0,0; donpcevent "#aru05_df01::OnEnable"; donpcevent "#aru05_df02::OnEnable"; donpcevent "#aru05_RL00::OnEnable"; donpcevent "#aru05_RL01::OnEnable"; donpcevent "#aru05_RL02::OnEnable"; donpcevent "#aru05_RL03::OnEnable"; } monster "arug_cas05",141,293,"Emperium",1288,1,"Steward#aru05::OnStartArena"; end; Onreset: donpcevent "#aru05_df01::OnDisable"; donpcevent "#aru05_df02::OnDisable"; donpcevent "#aru05_gard01::Onreset"; donpcevent "#aru05_gard02::Onreset"; donpcevent "#aru05_RL00::OnDisable"; donpcevent "#aru05_RL01::OnDisable"; donpcevent "#aru05_RL02::OnDisable"; donpcevent "#aru05_RL03::OnDisable"; donpcevent "1st Guardian Stone#aru05::OnDisable"; donpcevent "2nd Guardian Stone#aru05::OnDisable"; donpcevent "Control Device01#aru05::OnDisable"; donpcevent "Control Device02#aru05::OnDisable"; donpcevent "Control Device03#aru05::OnDisable"; if (agitcheck2()) { setarray $agit_ar05[0],0,0,1,1,1,0; } end; Onchange: setarray $agit_ar05[0],2,2,1,1,2,0; monster "arug_cas05",141,293,"Emperium",1288,1,"Steward#aru05::OnStartArena"; donpcevent "Control Device03#aru05::OnEnable"; donpcevent "1st Guardian Stone#aru05::OnEnable"; donpcevent "2nd Guardian Stone#aru05::OnEnable"; end; OnClock0001: if (!GetCastleData("arug_cas05",1)) end; killmonster "arug_cas05","Manager#aru05_02::OnTreasureDied"; if (GetCastleData("arug_cas05",4)) { set .@Economy,GetCastleData("arug_cas05",2); SetCastleData "arug_cas05",2,.@Economy + GetCastleData("arug_cas05",4) + (rand(2) && getgdskilllv(.@GID,10014)); if (GetCastleData("arug_cas05",2) > 100) SetCastleData "arug_cas05",2,100; setcastledata "arug_cas05",4,0; } if (GetCastleData("arug_cas05",5)) { set .@Defence,GetCastleData("arug_cas05",3); SetCastleData "arug_cas05",3,.@Defence + GetCastleData("arug_cas05",5); if (GetCastleData("arug_cas05",3) > 100) SetCastleData "arug_cas05",3,100; setcastledata "arug_cas05",5,0; } set .@Treasure,GetCastleData("arug_cas05",2)/5+4; if (.@Treasure) { monster "arug_cas05",291,276,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; monster "arug_cas05",292,276,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; monster "arug_cas05",293,276,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; monster "arug_cas05",294,276,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 5) end; monster "arug_cas05",295,276,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 6) end; monster "arug_cas05",296,276,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 7) end; monster "arug_cas05",293,274,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 8) end; monster "arug_cas05",294,274,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 9) end; monster "arug_cas05",295,274,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 10) end; monster "arug_cas05",296,274,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 11) end; monster "arug_cas05",297,274,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 12) end; monster "arug_cas05",298,274,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 13) end; monster "arug_cas05",291,272,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 14) end; monster "arug_cas05",292,272,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 15) end; monster "arug_cas05",293,272,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 16) end; monster "arug_cas05",294,272,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 17) end; monster "arug_cas05",295,272,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 18) end; monster "arug_cas05",296,272,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 19) end; monster "arug_cas05",293,269,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 20) end; monster "arug_cas05",294,269,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 21) end; monster "arug_cas05",295,269,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 22) end; monster "arug_cas05",296,269,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 23) end; monster "arug_cas05",297,269,"Treasure Chest",1945,1,"Manager#aru05_02::OnTreasureDied"; if (.@Treasure < 24) end; monster "arug_cas05",298,269,"Treasure Chest",1324,1,"Manager#aru05_02::OnTreasureDied"; } end; OnTreasureDied: end; } arug_cas05,146,315,3 script Eeos#aru05_01 868,{ set .@GID, GetCastleData("arug_cas05",1); if (.@GID == 0) { mes "[Eeos]"; mes "Great job. Now, all you"; mes "need to do is destroy this"; mes "Emperium to gain ownership"; mes "over this stronghold."; close; } if (getcharid(2) == .@GID) { if (strcharinfo(0) != getguildmaster(.@GID)) { mes "[Eeos]"; mes "As guardian of this"; mes "stronghold, I answer only"; mes "to the master of the guild"; mes "that controls this place."; close; } else { if (agitcheck2() == 0) { mes "[Eeos]"; mes "I am Eeos, guardian of"; mes "this stronghold. For now,"; mes "all is quiet in this place."; next; switch(select("Converse:Cancel")) { case 1: mes "[Eeos]"; mes "Do you have any questions"; mes "about this stronghold?"; next; switch(select("Guardian Stones:Fortress Gates:Link Flags:Battle Strategy:Cancel")) { case 1: mes "[Eeos]"; mes "There is one Emperium"; mes "and two Guardian Stones in"; mes "each fortress. These stones"; mes "are the first line of defense,"; mes "and must be destroyed before"; mes "enemies can even enter."; next; mes "[Eeos]"; mes "The stones are located in"; mes "^4D4DFFGate Houses^000000 which must be"; mes "protected to prevent enemies"; mes "from reaching the Emperium."; mes "Guardian Stones can ^4D4DFFrecall"; mes "your Guardians^000000 for protection."; next; mes "[Eeos]"; mes "Fortresses with higher levels"; mes "of defense can summon more"; mes "Guardians: this is why it is"; mes "so important for guilds to"; mes "invest in Defense Growth."; next; mes "[Eeos]"; mes "Guardian Stones that have"; mes "been destroyed can be revived"; mes "after a certain time, but one of^FFFFFF ^000000 the guild members must give"; mes "me the order. I can also report^FFFFFF ^000000 the status of the Guardian Stones."; close; case 2: mes "[Eeos]"; mes "^4D4DFFFortress Gates^000000 are the second ^FFFFFF ^000000 line of guild stronghold defense,"; mes "and are protected by extra barricades activated by the Guardian Stones."; mes "These gates are located in three different parts of the fortress."; next; mes "[Eeos]"; mes "Barricades are protected by"; mes "Guardian Stones, and are"; mes "restored when the Guardian"; mes "Stones are retrieved. However,"; mes "it is not as easy to restore"; mes "destroyed Fortress Gates."; next; mes "[Eeos]"; mes "Fortress Gates can only be"; mes "restored when the ^4D4DFFguild"; mes "master of a stronghold"; mes "changes^000000, or if ^4D4DFFrestoration"; mes "is requested by the guild"; mes "master of the stronghold^000000."; close; case 3: mes "[Eeos]"; mes "Strongholds have many"; mes "Link Flags that allow you"; mes "to access vital areas within"; mes "restrictions placed by the"; mes "Barricades. Usually, ^4D4DFFFlag 1"; mes "links to the Gate House^000000."; next; mes "[Eeos]"; mes "Many flags link directly to"; mes "the flag near the Emperium."; mes "The final numbered flag is"; mes "linked to the Convenience"; mes "Facility of the stronghold's"; mes "owner. Keep this in mind."; close; case 4: mes "[Eeos]"; mes "Strategy? It would be better"; mes "to develop your battle plan to"; mes "exploit your guild's advantages"; mes "and your enemies' weaknesses."; mes "Use the Gate Houses and Barricades, and rebuild as quickly as you can!"; close; case 5: mes "[Eeos]"; mes "You have no questions"; mes "to ask of me? Well, I'm"; mes "here to serve your needs."; close; } case 2: mes "[Eeos]"; mes "I'm always here, so"; mes "feel free to request my"; mes "assistance whenever"; mes "the need arises."; close; } } else { mes "[Eeos]"; mes "Greetings, "+strcharinfo(0)+"."; mes "What are your orders?"; next; switch(select("Increase Stronghold Defense:Situational Briefing:Cancel")) { case 1: if ($agit_ar05[5] == 0) { if (getgdskilllv(.@GID,10002) == 0) { mes "[Eeos]"; mes "I'm sorry, but the Guardian"; mes "Stones aren't powerful enough"; mes "to summon Guardians yet. We"; mes "need to accumulate more"; mes "knowledge before they can"; mes "summon any Guardians."; close; } else { mes "[Eeos]"; mes "I shall endeavor to summon"; mes "a Guardian through a Guardian"; mes "Stone. However, keep in mind"; mes "that this will not work if the"; mes "Guardian Stone is destroyed."; setarray $agit_ar05[5],1; if ($agit_ar05[0] == 0) { donpcevent "#aru05_gard01::OnEnable"; } if ($agit_ar05[1] == 0) { donpcevent "#aru05_gard02::OnEnable"; } close; } } else { mes "[Eeos]"; mes "You've already commanded"; mes "me to summon a Guardian"; mes "to defend the stronghold."; close; } case 2: mes "[Eeos]"; mes "Our defense status is..."; if ($agit_ar05[0] == 1) { mes "1st Guardian Stone: ^FF0000Destroyed^000000"; } else if ($agit_ar05[0] == 2) { mes "1st Guardian Stone: ^008000Repairing^000000"; } else { mes "1st Guardian Stone: ^4D4DFFOperational^000000"; } if ($agit_ar05[1] == 1) { mes "2nd Guardian Stone: ^FF0000Destroyed^000000"; } else if ($agit_ar05[1] == 2) { mes "2nd Guardian Stone: ^008000Repairing^000000"; } else { mes "2nd Guardian Stone: ^4D4DFFOperational^000000"; } if ($agit_ar05[2] == 1) { mes "1st Fortress Gate: ^FF0000Destroyed^000000"; } else if ($agit_ar05[2] == 2) { mes "1st Fortress Gate: ^008000Repairing^000000"; } else { mes "1st Fortress Gate: ^4D4DFFOperational^000000"; } if ($agit_ar05[3] == 1) { mes "2nd Fortress Gate: ^FF0000Destroyed^000000"; } else if ($agit_ar05[3] == 2) { mes "2nd Fortress Gate: ^008000Repairing^000000"; } else { mes "2nd Fortress Gate: ^4D4DFFOperational^000000"; } if ($agit_ar05[4] == 1) { mes "3rd Fortress Gate: ^FF0000Destroyed^000000"; } else if ($agit_ar05[4] == 2) { mes "3rd Fortress Gate: ^008000Repairing^000000"; } else { mes "3rd Fortress Gate: ^4D4DFFOperational^000000"; } close; case 3: mes "[Eeos]"; mes "I'll be standing by,"; mes "awaiting your orders."; close; } } } } else { mes "[Eeos]"; mes "Who are you? Scoundrel!"; mes "Leave this stronghold now!"; close; } OnInit: setarray $agit_ar05[0],0,0,0,0,0,0; end; } arug_cas05,1,1,0 script #aru05_gard01 -1,{ OnEnable: set .@defence,GetCastleData("arug_cas05",3); guardian "arug_cas05",130,60,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //0; if ((.@defence > 10) && (.@defence < 31)) { set .MyMobCount,2; guardian "arug_cas05",128,77,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //1; } else if ((.@defence > 30) && (.@defence < 51)) { set .MyMobCount,3; guardian "arug_cas05",128,77,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //1; guardian "arug_cas05",128,90,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //2; } else if ((.@defence > 50) && (.@defence < 71)) { set .MyMobCount,4; guardian "arug_cas05",128,77,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //1; guardian "arug_cas05",128,90,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //2; guardian "arug_cas05",128,100,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //3; } else if (.@defence > 70) { set .MyMobCount,5; guardian "arug_cas05",128,77,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //1; guardian "arug_cas05",128,90,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //2; guardian "arug_cas05",128,100,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //3; guardian "arug_cas05",110,96,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //4; } else { set .MyMobCount,2; guardian "arug_cas05",66,157,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //1; } initnpctimer; end; OnTimer300000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",91,53,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //5; mapannounce "arug_cas05","The 1st Guardian has been summoned from the Gate House.",bc_map,"0xff4500"; end; OnTimer900000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",65,71,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //6; mapannounce "arug_cas05","The 2nd Guardian has been summoned from the Gate House.",bc_map,"0xff4500"; end; OnTimer1800000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",65,103,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //7; mapannounce "arug_cas05","The 3rd Guardian has been summoned from the Gate House.",bc_map,"0xff4500"; end; OnTimer2700000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",110,96,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //8; mapannounce "arug_cas05","The 4th Guardian has been summoned from the Gate House.",bc_map,"0xff4500"; end; OnTimer3600000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",128,100,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //9; mapannounce "arug_cas05","The 5th Guardian has been summoned from the Gate House.",bc_map,"0xff4500"; stopnpctimer; end; OnGuardianDied: set .MyMobCount,.MyMobCount-1; if (.MyMobCount < 2) { set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",128,77,"Guardian",1899,"#aru05_gard01::OnGuardianDied"; //10; } end; Onreset: stopnpctimer; killmonster "arug_cas05","#aru05_gard01::OnGuardianDied"; end; } arug_cas05,1,2,0 script #aru05_gard02 -1,{ OnEnable: set .@defence,GetCastleData("arug_cas05",3); guardian "arug_cas05",156,101,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //11; if ((.@defence > 10) && (.@defence < 31)) { set .MyMobCount,2; guardian "arug_cas05",172,95,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //12; } else if ((.@defence > 30) && (.@defence < 51)) { set .MyMobCount,3; guardian "arug_cas05",172,95,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //12; guardian "arug_cas05",154,90,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //13; } else if ((.@defence > 50) && (.@defence < 71)) { set .MyMobCount,4; guardian "arug_cas05",172,95,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //12; guardian "arug_cas05",154,90,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //13; guardian "arug_cas05",156,77,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //14; } else if (.@defence > 70) { set .MyMobCount,5; guardian "arug_cas05",172,95,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //12; guardian "arug_cas05",154,90,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //13; guardian "arug_cas05",156,77,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //14; guardian "arug_cas05",155,60,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //15; } else { set .MyMobCount,2; guardian "arug_cas05",211,159,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //12; } initnpctimer; end; OnTimer600000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",187,54,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //16; end; OnTimer1200000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",212,67,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //17; end; OnTimer2100000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",211,105,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //18; end; OnTimer3000000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",155,60,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //19; end; OnTimer3900000: set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",156,77,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //20; stopnpctimer; end; OnGuardianDied: set .MyMobCount,.MyMobCount-1; if (.MyMobCount < 2) { set .MyMobCount,.MyMobCount+1; guardian "arug_cas05",172,95,"Guardian",1899,"#aru05_gard02::OnGuardianDied"; //21; } end; Onreset: stopnpctimer; killmonster "arug_cas05","#aru05_gard02::OnGuardianDied"; end; } arug_cas05,1,3,0 script #aru05_df01 -1,{ OnEnable: guardian "arug_cas05",65,171,"1st Guardian Stone",1907,"#aru05_df01::OnGuardianStoneDied"; //22; end; OnDisable: killmonster "arug_cas05","#aru05_df01::OnGuardianStoneDied"; setarray $agit_ar05[0],1; //Global Variable stopnpctimer; end; OnGuardianStoneDied: // 1st Guardian Stone is Destroyed setarray $agit_ar05[0],1; if (($agit_ar05[0] == 1) || ($agit_ar05[0] == 2)) { set .@destroyed,.@destroyed + 1; } if (($agit_ar05[1] == 1) || ($agit_ar05[1] == 2)) { set .@destroyed,.@destroyed + 1; } if (.@destroyed == 2) { mapannounce "arug_cas05","All of the Guardian Stones have been destroyed!",bc_map,"0x00ff00"; donpcevent "#aru05_RL00::OnDisable"; donpcevent "#aru05_gard01::Onreset"; } else { mapannounce "arug_cas05","The 1st Guardian Stone has been destroyed!",bc_map,"0x00ff00"; donpcevent "#aru05_gard01::Onreset"; } initnpctimer; end; OnTimer300000: donpcevent "1st Guardian Stone#aru05::OnEnable"; setarray $agit_ar05[0],2; //Global Variable stopnpctimer; end; } arug_cas05,65,171,0 script 1st Guardian Stone#aru05 844,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFYou will need the"; mes "following materials to"; mes "rebuild a destroyed"; mes "Guardian Stone.^000000"; next; mes "1 Oridecon"; mes "1 Elunium"; mes "30 Stones"; mes "5 Blue Gemstones"; mes "5 Yellow Gemstones"; mes "5 Red Gemstones"; next; mes "^3355FFDo you want to continue?^000000"; switch(select("No:Continue")) { case 1: mes "^3355FFWork canceled.^000000"; close; case 2: if ((countitem(984) > 0) && (countitem(985) > 0) && (countitem(7049) > 29) && (countitem(717) > 4) && (countitem(715) > 4) && (countitem(716) > 4)) { mes "^3355FFArrange Stones, Elunium, and"; mes "Oridecon, in that order, in the"; mes "center. Then you must arrange"; mes "the enchanted Gemstones to"; mes "rebuild the Guardian Stone.^000000"; next; switch(select("Elunium:Oridecon:Stone")) { case 1: mes "^3355FFElunium has been"; mes "placed in the center.^000000"; next; break; case 2: mes "^3355FFOridecon has been"; mes "placed in the center.^000000"; next; break; case 3: mes "^3355FFStones have been"; mes "placed in the center.^000000"; set .@nice,.@nice+10; next; break; } switch(select("Elunium:Oridecon:Stone")) { case 1: mes "^3355FFYou have lined the"; mes "outside of the center"; mes "with some Elunium.^000000"; set .@nice,.@nice+10; next; break; case 2: mes "^3355FFYou have lined the"; mes "outside of the center"; mes "with some Oridecon.^000000"; next; break; case 3: mes "^3355FFYou have lined the"; mes "outside of the center"; mes "with some Stones.^000000"; next; break; } switch(select("Elunium:Oridecon:Stone")) { case 1: mes "^3355FFYou covered the"; mes "rest of the materials"; mes "with some Elunium.^000000"; next; break; case 2: mes "^3355FFYou covered the"; mes "rest of the materials"; mes "with some Oridecon.^000000"; set .@nice,.@nice+10; next; break; case 3: mes "^3355FFYou covered the"; mes "rest of the materials"; mes "with some Stones.^000000"; next; break; } mes "^3355FFNow you need to arrange"; mes "the enchanted Gemstones"; mes "accordingly. You can identify"; mes "their Magic properties by"; mes "their casting effect.^000000"; next; while(1) { if (.@roof0 > 7) { break; } else { switch(rand(1,3)) { case 1: specialeffect EF_BEGINSPELL2; mes "^3355FFThe Gemstones must"; mes "be arranged in the correct"; mes "order according to their"; mes "magic properties and power.^000000"; next; switch(select("Red Gemstone:Yellow Gemstone:Blue Gemstone")) { case 1: mes "^3355FFYou placed the Red Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; case 2: mes "^3355FFYou placed the Yellow Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; case 3: mes "^3355FFYou placed the Blue Gemstone.^000000"; set .@nice,.@nice+10; set .@roof0,.@roof0 + 1; specialeffect EF_STEAL; next; break; } break; case 2: specialeffect EF_VOLCANO; mes "^3355FFThe Gemstones must"; mes "be arranged in the correct"; mes "order according to their"; mes "magic properties and power.^000000"; next; switch(select("Red Gemstone:Yellow Gemstone:Blue Gemstone")) { case 1: mes "^3355FFYou placed the Red Gemstone.^000000"; set .@nice,.@nice+10; set .@roof0,.@roof0 + 1; specialeffect EF_STEAL; next; break; case 2: mes "^3355FFYou placed the Yellow Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; case 3: mes "^3355FFYou placed the Blue Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; } break; case 3: specialeffect EF_BEGINSPELL4; mes "^3355FFThe Gemstones must"; mes "be arranged in the correct"; mes "order according to their"; mes "magic properties and power.^000000"; next; switch(select("Red Gemstone:Yellow Gemstone:Blue Gemstone")) { case 1: mes "^3355FFYou placed the Red Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; case 2: mes "^3355FFYou placed the Yellow Gemstone.^000000"; set .@nice,.@nice+10; set .@roof0,.@roof0 + 1; specialeffect EF_STEAL; next; break; case 3: mes "^3355FFYou placed the Blue Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; } } } } if (.@nice > 90) { if ($agit_ar05[0] == 0) { mes "^3355FFThe Guardian Stone"; mes "Repair System has"; mes "already completed.^000000"; close; } else { if (agitcheck2() == 0) { mes "^3355FFIt is impossible to"; mes "rebuild the Guardian"; mes "Stone because the"; mes "Emperium is not present.^000000"; close; } else { mes "^3355FFThe Gemstones have been"; mes "arranged, and the Guardian"; mes "Stone is successfully repaired.^000000"; delitem 984,1; //Oridecon delitem 985,1; //Elunium delitem 7049,30; //Stone delitem 717,5; //Blue_Gemstone delitem 715,5; //Yellow_Gemstone delitem 716,5; //Red_Gemstone close2; donpcevent "#aru05_df01::OnEnable"; specialeffect EF_ICECRASH; disablenpc "1st Guardian Stone#aru05"; setarray $agit_ar05[0],0; set .@df_all,$agit_ar05[0]+$agit_ar05[1]; if (.@df_all == 0) { mapannounce "arug_cas05","Both Guardian Stones have been erected, bolstering this stronghold's defenses!",bc_map,"0x00ff00"; donpcevent "#aru05_RL00::OnEnable"; } else { mapannounce "arug_cas05","The 1st Guardian Stone has been repaired successfully.",bc_map,"0x00ff00"; } if ($agit_ar05[5] == 1) { donpcevent "#aru05_gard01::OnEnable"; } end; } } } else { mes "^3355FFAfter all of that work..."; mes "It looks like you failed"; mes "to fix the Guardian Stone,"; mes "and lost some materials.^000000"; delitem 7049,10; //Stone delitem 717,2; //Blue_Gemstone delitem 715,2; //Yellow_Gemstone delitem 716,2; //Red_Gemstone close; } } else { mes "^3355FFYou don't have enough"; mes "materials to repair"; mes "the Guardian Stone.^000000"; close; } } } end; OnInit: disablenpc "1st Guardian Stone#aru05"; end; OnEnable: enablenpc "1st Guardian Stone#aru05"; specialeffect EF_MAPPILLAR2; end; OnDisable: disablenpc "1st Guardian Stone#aru05"; end; } arug_cas05,1,4,0 script #aru05_df02 -1,{ OnEnable: guardian "arug_cas05",212,149,"2nd Guardian Stone",1908,"#aru05_df02::OnGuardianStoneDied"; //23; end; OnDisable: killmonster "arug_cas05","#aru05_df02::OnGuardianStoneDied"; setarray $agit_ar05[1],1; //Global Variable stopnpctimer; end; OnGuardianStoneDied: // 2nd Guardian Stone is Destroyed setarray $agit_ar05[1],1; if (($agit_ar05[0] == 1) || ($agit_ar05[0] == 2)) { set .@destroyed,.@destroyed + 1; } if (($agit_ar05[1] == 1) || ($agit_ar05[1] == 2)) { set .@destroyed,.@destroyed + 1; } if (.@destroyed == 2) { mapannounce "arug_cas05","All of the Guardian Stones have been destroyed!",bc_map,"0x00ff00"; donpcevent "#aru05_RL00::OnDisable"; donpcevent "#aru05_gard02::Onreset"; } else { mapannounce "arug_cas05","The 2nd Guardian Stone has been destroyed!",bc_map,"0x00ff00"; donpcevent "#aru05_gard02::Onreset"; } initnpctimer; end; OnTimer300000: donpcevent "2nd Guardian Stone#aru05::OnEnable"; setarray $agit_ar05[1],2; //Global Variable stopnpctimer; end; } arug_cas05,212,149,0 script 2nd Guardian Stone#aru05 844,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFYou will need the"; mes "following materials to"; mes "rebuild a destroyed"; mes "Guardian Stone.^000000"; next; mes "1 Oridecon"; mes "1 Elunium"; mes "30 Stones"; mes "5 Blue Gemstones"; mes "5 Yellow Gemstones"; mes "5 Red Gemstones"; next; mes "^3355FFDo you want to continue?^000000"; switch(select("No:Continue")) { case 1: mes "^3355FFWork canceled.^000000"; close; case 2: if ((countitem(984) > 0) && (countitem(985) > 0) && (countitem(7049) > 29) && (countitem(717) > 4) && (countitem(715) > 4) && (countitem(716) > 4)) { mes "^3355FFArrange Stones, Elunium, and"; mes "Oridecon, in that order, in the"; mes "center. Then you must arrange"; mes "the enchanted Gemstones to"; mes "rebuild the Guardian Stone.^000000"; next; switch(select("Elunium:Oridecon:Stone")) { case 1: mes "^3355FFElunium has been"; mes "placed in the center.^000000"; next; break; case 2: mes "^3355FFOridecon has been"; mes "placed in the center.^000000"; next; break; case 3: mes "^3355FFStones have been"; mes "placed in the center.^000000"; set .@nice,.@nice+10; next; break; } switch(select("Elunium:Oridecon:Stone")) { case 1: mes "^3355FFYou have lined the"; mes "outside of the center"; mes "with some Elunium.^000000"; set .@nice,.@nice+10; next; break; case 2: mes "^3355FFYou have lined the"; mes "outside of the center"; mes "with some Oridecon.^000000"; next; break; case 3: mes "^3355FFYou have lined the"; mes "outside of the center"; mes "with some Stones.^000000"; next; break; } switch(select("Elunium:Oridecon:Stone")) { case 1: mes "^3355FFYou covered the"; mes "rest of the materials"; mes "with some Elunium.^000000"; next; break; case 2: mes "^3355FFYou covered the"; mes "rest of the materials"; mes "with some Oridecon.^000000"; set .@nice,.@nice+10; next; break; case 3: mes "^3355FFYou covered the"; mes "rest of the materials"; mes "with some Stones.^000000"; next; break; } mes "^3355FFNow you need to arrange"; mes "the enchanted Gemstones"; mes "accordingly. You can identify"; mes "their Magic properties by"; mes "their casting effect.^000000"; next; while(1) { if (.@roof0 > 7) { break; } else { switch(rand(1,3)) { case 1: specialeffect EF_BEGINSPELL2; mes "^3355FFThe Gemstones must"; mes "be arranged in the correct"; mes "order according to their"; mes "magic properties and power.^000000"; next; switch(select("Red Gemstone:Yellow Gemstone:Blue Gemstone")) { case 1: mes "^3355FFYou placed the Red Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; case 2: mes "^3355FFYou placed the Yellow Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; case 3: mes "^3355FFYou placed the Blue Gemstone.^000000"; set .@nice,.@nice+10; set .@roof0,.@roof0 + 1; specialeffect EF_STEAL; next; break; } break; case 2: specialeffect EF_VOLCANO; mes "^3355FFThe Gemstones must"; mes "be arranged in the correct"; mes "order according to their"; mes "magic properties and power.^000000"; next; switch(select("Red Gemstone:Yellow Gemstone:Blue Gemstone")) { case 1: mes "^3355FFYou placed the Red Gemstone.^000000"; set .@nice,.@nice+10; set .@roof0,.@roof0 + 1; specialeffect EF_STEAL; next; break; case 2: mes "^3355FFYou placed the Yellow Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; case 3: mes "^3355FFYou placed the Blue Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; } break; case 3: specialeffect EF_BEGINSPELL4; mes "^3355FFThe Gemstones must"; mes "be arranged in the correct"; mes "order according to their"; mes "magic properties and power.^000000"; next; switch(select("Red Gemstone:Yellow Gemstone:Blue Gemstone")) { case 1: mes "^3355FFYou placed the Red Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; case 2: mes "^3355FFYou placed the Yellow Gemstone.^000000"; set .@nice,.@nice+10; set .@roof0,.@roof0 + 1; specialeffect EF_STEAL; next; break; case 3: mes "^3355FFYou placed the Blue Gemstone."; mes "However, the Guardian Stone"; mes "Repair System failed because"; mes "of a magic power conflict.^000000"; close; } } } } if (.@nice > 90) { if ($agit_ar05[1] == 0) { mes "^3355FFThe Guardian Stone"; mes "Repair System has"; mes "successfully completed.^000000"; close; } else { if (agitcheck2() == 0) { mes "^3355FFIt is impossible to"; mes "rebuild the Guardian"; mes "Stone because the"; mes "Emperium is not present.^000000"; close; } else { mes "^3355FFThe Gemstones have been"; mes "arranged, and the Guardian"; mes "Stone is successfully repaired.^000000"; delitem 984,1; //Oridecon delitem 985,1; //Elunium delitem 7049,30; //Stone delitem 717,5; //Blue_Gemstone delitem 715,5; //Yellow_Gemstone delitem 716,5; //Red_Gemstone close2; donpcevent "#aru05_df02::OnEnable"; specialeffect EF_ICECRASH; disablenpc "2nd Guardian Stone#aru05"; setarray $agit_ar05[1],0; set .@df_all,$agit_ar05[0]+$agit_ar05[1]; if (.@df_all == 0) { mapannounce "arug_cas05","Both Guardian Stones have been erected, bolstering this stronghold's defenses!",bc_map,"0x00ff00"; donpcevent "#aru05_RL00::OnEnable"; } else { mapannounce "arug_cas05","The 2nd Guardian Stone has been repaired successfully.",bc_map,"0x00ff00"; } if ($agit_ar05[5] == 1) { donpcevent "#aru05_gard02::OnEnable"; } end; } } } else { mes "^3355FFAfter all of that work..."; mes "It looks like you failed"; mes "to fix the Guardian Stone,"; mes "and lost some materials.^000000"; delitem 7049,10; //Stone delitem 717,2; //Blue_Gemstone delitem 715,2; //Yellow_Gemstone delitem 716,2; //Red_Gemstone close; } } else { mes "^3355FFYou don't have enough"; mes "materials to repair"; mes "the Guardian Stone.^000000"; close; } } } end; OnInit: disablenpc "2nd Guardian Stone#aru05"; end; OnEnable: enablenpc "2nd Guardian Stone#aru05"; specialeffect EF_MAPPILLAR2; end; OnDisable: disablenpc "2nd Guardian Stone#aru05"; end; } // Barrier Summoners arug_cas05,2,1,0 script #aru05_RL00 -1,{ OnEnable: setcell "arug_cas05",138,136,145,110,cell_walkable,0; setcell "arug_cas05",138,110,145,110,cell_shootable,0; guardian "arug_cas05",139,111," ",1905,"#aru05_RL00::OnBarrierDestroyed"; //24; guardian "arug_cas05",141,111," ",1905,"#aru05_RL00::OnBarrierDestroyed"; //25; guardian "arug_cas05",143,111," ",1905,"#aru05_RL00::OnBarrierDestroyed"; //26; guardian "arug_cas05",145,111," ",1905,"#aru05_RL00::OnBarrierDestroyed"; //27; end; OnDisable: setcell "arug_cas05",138,136,145,110,cell_walkable,1; setcell "arug_cas05",138,110,145,110,cell_shootable,1; killmonster "arug_cas05","#aru05_RL00::OnBarrierDestroyed"; end; OnBarrierDestroyed: end; } arug_cas05,2,2,0 script #aru05_RL01 -1,{ OnEnable: set .MyMobCount,6; setcell "arug_cas05",139,158,144,158,cell_walkable,0; guardian "arug_cas05",140,157," ",1905,"#aru05_RL01::OnBarrierDestroyed"; //28; guardian "arug_cas05",142,157," ",1905,"#aru05_RL01::OnBarrierDestroyed"; //29; guardian "arug_cas05",144,157," ",1905,"#aru05_RL01::OnBarrierDestroyed"; //30; guardian "arug_cas05",139,156," ",1905,"#aru05_RL01::OnBarrierDestroyed"; //31; guardian "arug_cas05",141,156," ",1905,"#aru05_RL01::OnBarrierDestroyed"; //32; guardian "arug_cas05",143,156," ",1905,"#aru05_RL01::OnBarrierDestroyed"; //33; end; OnBarrierDestroyed: set .MyMobCount,.MyMobCount-1; if (.MyMobCount == 0) { setarray $agit_ar05[2],1; mapannounce "arug_cas05","The 1st Fortress Gate is destroyed.",bc_map,"0x00ff00"; setcell "arug_cas05",139,158,144,158,cell_walkable,1; } end; OnDisable: setcell "arug_cas05",139,158,144,158,cell_walkable,1; killmonster "arug_cas05","#aru05_RL01::OnBarrierDestroyed"; end; } arug_cas05,2,3,0 script #aru05_RL02 -1,{ OnEnable: set .MyMobCount,6; setcell "arug_cas05",138,210,145,210,cell_walkable,0; guardian "arug_cas05",140,209," ",1905,"#aru05_RL02::OnBarrierDestroyed"; //34; guardian "arug_cas05",142,209," ",1905,"#aru05_RL02::OnBarrierDestroyed"; //35; guardian "arug_cas05",144,209," ",1905,"#aru05_RL02::OnBarrierDestroyed"; //36; guardian "arug_cas05",139,208," ",1905,"#aru05_RL02::OnBarrierDestroyed"; //37; guardian "arug_cas05",141,208," ",1905,"#aru05_RL02::OnBarrierDestroyed"; //38; guardian "arug_cas05",143,208," ",1905,"#aru05_RL02::OnBarrierDestroyed"; //39; end; OnBarrierDestroyed: set .MyMobCount,.MyMobCount-1; if (.MyMobCount == 0) { setarray $agit_ar05[3],1; mapannounce "arug_cas05","The 2nd Fortress Gate is destroyed.",bc_map,"0x00ff00"; setcell "arug_cas05",138,210,145,210,cell_walkable,1; } end; OnDisable: setcell "arug_cas05",138,210,145,210,cell_walkable,1; killmonster "arug_cas05","#aru05_RL02::OnBarrierDestroyed"; end; } arug_cas05,2,4,0 script #aru05_RL03 -1,{ OnEnable: set .MyMobCount,4; setcell "arug_cas05",138,263,145,263,cell_walkable,0; guardian "arug_cas05",139,262," ",1905,"#aru05_RL03::OnBarrierDestroyed"; //40; guardian "arug_cas05",141,262," ",1905,"#aru05_RL03::OnBarrierDestroyed"; //41; guardian "arug_cas05",143,262," ",1905,"#aru05_RL03::OnBarrierDestroyed"; //42; guardian "arug_cas05",145,262," ",1905,"#aru05_RL03::OnBarrierDestroyed"; //43; end; OnBarrierDestroyed: set .MyMobCount,.MyMobCount-1; if (.MyMobCount == 0) { setarray $agit_ar05[4],1; mapannounce "arug_cas05","The 3rd Fortress Gate is destroyed!",bc_map,"0x00ff00"; setcell "arug_cas05",138,263,145,263,cell_walkable,1; } end; OnDisable: setcell "arug_cas05",138,263,145,263,cell_walkable,1; killmonster "arug_cas05","#aru05_RL03::OnBarrierDestroyed"; end; } arug_cas05,136,158,0 script Control Device01#aru05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { if (strcharinfo(0) == getguildmaster(.@GID)) { if ($agit_ar05[2] == 2) { mes "^3355FFDemolished Fortress"; mes "Gates can be repaired,"; mes "but you will need to gather"; mes "the following materials.^000000"; next; mes "^4D4DFF10 Steel^000000,"; mes "^4D4DFF30 Trunks^000000,"; mes "^4D4DFF5 Oridecon^000000, and"; mes "^4D4DFF10 Emveretarcon^000000."; next; select("Continue"); if ((countitem(1019) > 29) && (countitem(999) > 9) && (countitem(1011) > 9) && (countitem(984) > 4)) { mes "^3355FFYou will need Trunks to"; mes "repair the support frame,"; mes "Oridecon to enhance the"; mes "gate's endurance, and"; mes "Emveretarcon to basically"; mes "hold everything together.^000000"; next; set .@ro_of01,rand(10,15); while(1) { if (.@ro_of02 == .@ro_of01) { break; } else { switch(rand(1,4)) { case 1: mes "^3355FFThe support frame"; mes "is badly damaged:"; mes "fixing this part"; mes "is a top priority.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFThe frame has been"; mes "reinforced with wood.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 2: mes "^3355FFYou tried using steel,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } break; case 2: mes "^3355FFIt looks like the gate's"; mes "overall endurance needs to"; mes "be reinforced with something.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood"; mes "to reinforce the gate.^000000"; set .@ro_of02,.@ro_of02 + 1; next; break; case 2: mes "^3355FFYou tried using steel"; mes "to reinforce the gate, but"; mes "it's not working well at all."; mes "You'll have to start over.^000000"; close; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou hammered the"; mes "oridecon: it looks"; mes "like this will work.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; } break; case 3: mes "^3355FFThe damage to the gate"; mes "has caused all these"; mes "cracks. You'll have to"; mes "weld them solid somehow.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood to fix"; mes "this problem, but it seems"; mes "to have made it worse."; mes "You'll have to start all over.^000000"; close; case 2: mes "^3355FFYou used steel to weld"; mes "all the cracks: the gate is"; mes "is starting to look more solid.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } break; case 4: mes "^3355FFNow you need to make"; mes "sure that the gate is held"; mes "together pretty solidly.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood to fix"; mes "this problem, but it seems"; mes "to have made it worse."; mes "You'll have to start all over.^000000"; close; case 2: mes "^3355FFYou tried using steel,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; case 3: mes "^3355FFYou successfully used"; mes "the emveretarcon to repair"; mes "much of the gate's damage.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } } } } mes "^3355FFWell, it looks like"; mes "you're just about done"; mes "with repairing the gate.^000000"; next; if (agitcheck2() == 0) { mes "^3355FFUnfortunately, the Fortress"; mes "Gate can't be reconstructed:"; mes "the Emperium is no longer here.^000000"; close; } else { if (.@rp_temp == .@ro_of01) { mes "^3355FFThe Fortress Gate has"; mes "been successfully repaired!^000000"; delitem 1019,30; //Wooden_Block delitem 999,10; //Steel delitem 1011,10; //Emveretarcon delitem 984,5; //Oridecon close2; donpcevent "#aru05_RL01::OnEnable"; disablenpc "Control Device01#aru05"; mapannounce "arug_cas05","The 1st Fortress Gate has been reconstructed!",bc_map,"0x00ff00"; setarray $agit_ar05[2],0; end; } else { mes "^3355FFThe wall has been breached,"; mes "and the attempt to repair the"; mes "Fortress Gate has failed."; mes "You lost some of your"; mes "repair resources...^000000"; delitem 984,2; //Oridecon delitem 999,4; //Steel delitem 1019,14; //Wooden_Block delitem 1011,3; //Emveretarcon close; } } } else { mes "^3355FFYou can't attempt to repair"; mes "the Fortress Gate if you don't"; mes "have all the needed materials.^000000"; close; } } } } end; OnInit: disablenpc "Control Device01#aru05"; end; OnEnable: enablenpc "Control Device01#aru05"; end; OnDisable: disablenpc "Control Device01#aru05"; end; } arug_cas05,135,212,0 script Control Device02#aru05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { if (strcharinfo(0) == getguildmaster(.@GID)) { if ($agit_ar05[3] == 2) { mes "^3355FFDemolished Fortress"; mes "Gates can be repaired,"; mes "but you will need to gather"; mes "the following materials.^000000"; next; mes "^4D4DFF10 Steel^000000,"; mes "^4D4DFF30 Trunks^000000,"; mes "^4D4DFF5 Oridecon^000000, and"; mes "^4D4DFF10 Emveretarcon^000000."; next; select("Continue"); if ((countitem(1019) > 29) && (countitem(999) > 9) && (countitem(1011) > 9) && (countitem(984) > 4)) { mes "^3355FFYou will need Trunks to"; mes "repair the support frame,"; mes "Oridecon to enhance the"; mes "gate's endurance, and"; mes "Emveretarcon to basically"; mes "hold everything together.^000000"; next; set .@ro_of01,rand(10,15); while(1) { if (.@ro_of02 == .@ro_of01) { break; } else { switch(rand(1,4)) { case 1: mes "^3355FFThe support frame"; mes "is badly damaged:"; mes "fixing this part"; mes "is a top priority.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFThe frame has been"; mes "reinforced with wood.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 2: mes "^3355FFYou tried using steel,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } break; case 2: mes "^3355FFIt looks like the gate's"; mes "overall endurance needs to"; mes "be reinforced with something.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood"; mes "to reinforce the gate.^000000"; set .@ro_of02,.@ro_of02 + 1; next; break; case 2: mes "^3355FFYou tried using steel"; mes "to reinforce the gate, but"; mes "it's not working well at all."; mes "You'll have to start over.^000000"; close; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou hammered the"; mes "oridecon: it looks"; mes "like this will work.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; } break; case 3: mes "^3355FFThe damage to the gate"; mes "has caused all these"; mes "cracks. You'll have to"; mes "weld them solid somehow.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood to fix"; mes "this problem, but it seems"; mes "to have made it worse."; mes "You'll have to start all over.^000000"; close; case 2: mes "^3355FFYou used steel to weld"; mes "all the cracks: the gate is"; mes "is starting to look more solid.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } break; case 4: mes "^3355FFNow you need to make"; mes "sure that the gate is held"; mes "together pretty solidly.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood to fix"; mes "this problem, but it seems"; mes "to have made it worse."; mes "You'll have to start all over.^000000"; close; case 2: mes "^3355FFYou tried using steel,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; case 3: mes "^3355FFYou successfully used"; mes "the emveretarcon to repair"; mes "much of the gate's damage.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } } } } mes "^3355FFWell, it looks like"; mes "you're just about done"; mes "with repairing the gate.^000000"; next; if (agitcheck2() == 0) { mes "^3355FFUnfortunately, the Fortress"; mes "Gate can't be reconstructed:"; mes "the Emperium is no longer here.^000000"; close; } else { if (.@rp_temp == .@ro_of01) { mes "^3355FFThe Fortress Gate has"; mes "been successfully repaired!^000000"; delitem 1019,30; //Wooden_Block delitem 999,10; //Steel delitem 1011,10; //Emveretarcon delitem 984,5; //Oridecon close2; donpcevent "#aru05_RL02::OnEnable"; disablenpc "Control Device02#aru05"; mapannounce "arug_cas05","The 2nd Fortress Gate has been reconstructed!",bc_map,"0x00ff00"; setarray $agit_ar05[3],0; //Global Variable setarray $agit_ar05[2],2; //Global Variable donpcevent "Control Device01#aru05::OnEnable"; end; } else { mes "^3355FFThe wall has been breached,"; mes "and the attempt to repair the"; mes "Fortress Gate has failed."; mes "You lost some of your"; mes "repair resources...^000000"; delitem 984,2; //Oridecon delitem 999,4; //Steel delitem 1019,14; //Wooden_Block delitem 1011,3; //Emveretarcon close; } } } else { mes "^3355FFYou can't attempt to repair"; mes "the Fortress Gate if you don't"; mes "have all the needed materials.^000000"; close; } } } } end; OnInit: disablenpc "Control Device02#aru05"; end; OnEnable: enablenpc "Control Device02#aru05"; end; OnDisable: disablenpc "Control Device02#aru05"; end; } arug_cas05,134,266,0 script Control Device03#aru05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { if (strcharinfo(0) == getguildmaster(.@GID)) { if ($agit_ar05[4] == 2) { mes "^3355FFDemolished Fortress"; mes "Gates can be repaired,"; mes "but you will need to gather"; mes "the following materials.^000000"; next; mes "^4D4DFF10 Steel^000000,"; mes "^4D4DFF30 Trunks^000000,"; mes "^4D4DFF5 Oridecon^000000, and"; mes "^4D4DFF10 Emveretarcon^000000."; next; select("Continue"); if ((countitem(1019) > 29) && (countitem(999) > 9) && (countitem(1011) > 9) && (countitem(984) > 4)) { mes "^3355FFYou will need Trunks to"; mes "repair the support frame,"; mes "Oridecon to enhance the"; mes "gate's endurance, and"; mes "Emveretarcon to basically"; mes "hold everything together.^000000"; next; set .@ro_of01,rand(10,15); while(1) { if (.@ro_of02 == .@ro_of01) { break; } else { switch(rand(1,4)) { case 1: mes "^3355FFThe support frame"; mes "is badly damaged:"; mes "fixing this part"; mes "is a top priority.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFThe frame has been"; mes "reinforced with wood.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 2: mes "^3355FFYou tried using steel,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } break; case 2: mes "^3355FFIt looks like the gate's"; mes "overall endurance needs to"; mes "be reinforced with something.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood"; mes "to reinforce the gate.^000000"; set .@ro_of02,.@ro_of02 + 1; next; break; case 2: mes "^3355FFYou tried using steel"; mes "to reinforce the gate, but"; mes "it's not working well at all."; mes "You'll have to start over.^000000"; close; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou hammered the"; mes "oridecon: it looks"; mes "like this will work.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; } break; case 3: mes "^3355FFThe damage to the gate"; mes "has caused all these"; mes "cracks. You'll have to"; mes "weld them solid somehow.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood to fix"; mes "this problem, but it seems"; mes "to have made it worse."; mes "You'll have to start all over.^000000"; close; case 2: mes "^3355FFYou used steel to weld"; mes "all the cracks: the gate is"; mes "is starting to look more solid.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 3: mes "^3355FFYou tried using emveretarcon"; mes "to reinforce the gate, but it's"; mes "not working well at all."; mes "You'll have to start over.^000000"; close; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } break; case 4: mes "^3355FFNow you need to make"; mes "sure that the gate is held"; mes "together pretty solidly.^000000"; next; switch(select("Trunk:Steel:Emveretarcon:Oridecon")) { case 1: mes "^3355FFYou tried using wood to fix"; mes "this problem, but it seems"; mes "to have made it worse."; mes "You'll have to start all over.^000000"; close; case 2: mes "^3355FFYou tried using steel,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; case 3: mes "^3355FFYou successfully used"; mes "the emveretarcon to repair"; mes "much of the gate's damage.^000000"; set .@rp_temp,.@rp_temp + 1; set .@ro_of02,.@ro_of02 + 1; specialeffect2 EF_REPAIRWEAPON; next; break; case 4: mes "^3355FFYou tried using oridecon,"; mes "but it's not working very"; mes "well. You'll have to try"; mes "something else.^000000"; close; } } } } mes "^3355FFWell, it looks like"; mes "you're just about done"; mes "with repairing the gate.^000000"; next; if (agitcheck2() == 0) { mes "^3355FFUnfortunately, the Fortress"; mes "Gate can't be reconstructed:"; mes "the Emperium is no longer here.^000000"; close; } else { if (.@rp_temp == .@ro_of01) { mes "^3355FFThe Fortress Gate has"; mes "been successfully repaired!^000000"; delitem 1019,30; //Wooden_Block delitem 999,10; //Steel delitem 1011,10; //Emveretarcon delitem 984,5; //Oridecon close2; donpcevent "#aru05_RL03::OnEnable"; disablenpc "Control Device03#aru05"; mapannounce "arug_cas05","The 3rd Fortress Gate has been reconstructed!",bc_map,"0x00ff00"; setarray $agit_ar05[4],0; setarray $agit_ar05[3],2; donpcevent "Control Device02#aru05::OnEnable"; end; } else { mes "^3355FFThe wall has been breached,"; mes "and the attempt to repair the"; mes "Fortress Gate has failed."; mes "You lost some of your"; mes "repair resources...^000000"; delitem 984,2; //Oridecon delitem 999,4; //Steel delitem 1019,14; //Wooden_Block delitem 1011,3; //Emveretarcon close; } } } else { mes "^3355FFYou can't attempt to repair"; mes "the Fortress Gate if you don't"; mes "have all the needed materials.^000000"; close; } } } } end; OnInit: disablenpc "Control Device03#aru05"; end; OnEnable: enablenpc "Control Device03#aru05"; end; OnDisable: disablenpc "Control Device03#aru05"; end; } // Link Flags arug_cas05,122,314,0 script LF-01#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("First Gate House:Second Gate House:Cancel")) { case 1: warp "arug_cas05",84,158; end; case 2: warp "arug_cas05",197,136; end; case 3: close; } } end; } arug_cas05,125,314,0 script LF-02#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("Defense Area 1-1:Defense Area 1-2:Cancel")) { case 1: warp "arug_cas05",65,94; end; case 2: warp "arug_cas05",211,97; end; case 3: close; } } end; } arug_cas05,128,314,0 script LF-03#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("Defense Area 1-3:Defense Area 1-4:Cancel")) { case 1: warp "arug_cas05",112,73; end; case 2: warp "arug_cas05",171,73; end; case 3: close; } } end; } arug_cas05,131,314,0 script LF-04#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("Defense Area 2-1:Defense Area 2-2:Cancel")) { case 1: warp "arug_cas05",112,152; end; case 2: warp "arug_cas05",172,152; end; case 3: close; } } end; } arug_cas05,134,314,0 script LF-05#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("Defense Area 2-3:Defense Area 2-4:Cancel")) { case 1: warp "arug_cas05",120,186; end; case 2: warp "arug_cas05",162,186; end; case 3: close; } } end; } arug_cas05,149,314,0 script LF-06#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("Defense Area 3-1:Defense Area 3-2:Cancel")) { case 1: warp "arug_cas05",116,235; end; case 2: warp "arug_cas05",164,235; end; case 3: close; } } end; } arug_cas05,152,314,0 script LF-07#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("Defense Area 1-1:Defense Area 2-1:Defense Area 3-1:Cancel")) { case 1: warp "arug_cas05",65,94; end; case 2: warp "arug_cas05",112,152; end; case 3: warp "arug_cas05",116,235; end; case 4: close; } } end; } arug_cas05,155,314,0 script LF-08#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("Defense Area 1-2:Defense Area 2-2:Defense Area 3-2:Cancel")) { case 1: warp "arug_cas05",211,97; end; case 2: warp "arug_cas05",172,152; end; case 3: warp "arug_cas05",164,235; end; case 4: close; } } end; } arug_cas05,158,314,0 script LF-09#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Please"; mes "choose a destination"; mes "within the stronghold.^000000"; switch(select("Defense Area 1-4:Defense Area 2-4:Cancel")) { case 1: warp "arug_cas05",171,73; end; case 2: warp "arug_cas05",162,186; end; case 3: close; } } end; } arug_cas05,161,314,0 script LF-10#arug_cas05 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Would"; mes "you like to teleport to the"; mes "Convenience Facility for"; mes "guild members?^000000"; switch(select("Go to Convenience Facility:Cancel")) { case 1: warp "arug_cas05",321,57; end; case 2: close; } } end; } arug_cas05,45,158,0 script Banadis#LF_ar05_01::LF_ar05_01 111,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Would"; mes "you like to teleport to"; mes "the Emperium Center?^000000"; switch(select("Teleport:Cancel")) { case 1: warp "arug_cas05",121,318; end; case 2: close; } } end; } arug_cas05,226,156,0 duplicate(LF_ar05_01) Banadis#LF_ar05_01 111 arug_cas05,134,62,4 duplicate(LF_ar05_01) Banadis#LF_ar05_02 111 arug_cas05,149,62,4 duplicate(LF_ar05_01) Banadis#LF_ar05_03 111 arug_cas05,123,154,0 duplicate(LF_ar05_01) Banadis#LF_ar05_04 111 arug_cas05,160,154,0 duplicate(LF_ar05_01) Banadis#LF_ar05_05 111 arug_cas05,135,205,0 duplicate(LF_ar05_01) Banadis#LF_ar05_06 111 arug_cas05,148,205,0 duplicate(LF_ar05_01) Banadis#LF_ar05_07 111 arug_cas05,134,260,0 duplicate(LF_ar05_01) Banadis#LF_ar05_08 111 //arug_cas05,204,142,0 duplicate(LF_ar05_01) Banadis#LF_ar05_09 111 arug_cas05,148,103,4 script Banadis#LF_ar05_10::LF_ar05_02 722,{ set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { mes "^3355FFThis is the Stronghold"; mes "Teleport Service. Would"; mes "you like to teleport to"; mes "the Emperium Center?^000000"; switch(select("Teleport:Cancel")) { case 1: warp "arug_cas05",121,318; end; case 2: close; } } end; OnRecvCastlear05: FlagEmblem GetCastleData("arug_cas05",1); end; } arug_cas05,135,103,4 duplicate(LF_ar05_02) Banadis#LF_ar05_11 722 arug_cas05,63,51,7 duplicate(LF_ar05_02) Banadis#LF_ar05_12 722 arug_cas05,214,51,1 duplicate(LF_ar05_02) Banadis#LF_ar05_13 722 // Guild Manager arug_cas05,328,98,3 script Steward#aru05 55,{ set .@GID, GetCastleData("arug_cas05",1); if (.@GID == 0) { mes "[ Steward ]"; mes "I await for the master"; mes "whom destiny will choose"; mes "for me. Do you think you"; mes "have to courage and strength"; mes "to conquer this stronghold?"; close; } if (getcharid(2) != .@GID || strcharinfo(0) != getguildmaster(.@GID)) { mes "[ Steward ]"; mes "Hmpf. Your threats don't"; mes "scare me! Guardians, drive"; mes "this infidel away from here!"; mes "I will always be loyal to the"; mes "master of this stronghold,"; mes "the one and only ^FF0000" + getguildmaster(.@GID) + "^000000."; close; } mes "[ Steward ]"; mes "Ah, Master ^FF0000" + getguildmaster(.@GID) + "^000000..."; mes "How shall I serve you today?"; mes "Was there an aspect of this"; mes "stronghold's maintenance"; mes "you wanted to discuss?"; next; switch(select("Stronghold Briefing:Invest in Commercial Growth:Invest in Defense growth:Hire/Fire Storage Staff:Go to Master's room")) { case 1: mes "[ Steward ]"; mes "The Commercial Growth"; mes "Level of the stronghold is ^0000ff" + GetCastleData("arug_cas05",2) + "."; if (GetCastleData("arug_cas05",4) > 0) { mes "Last time, you invested in"; mes "Commercial Growth " + GetCastleData("arug_cas05",4) + "."; } next; mes "[ Steward ]"; mes "Our stronghold's"; mes "safeguard level is " + GetCastleData("arug_cas05",3) + "."; if (GetCastleData("arug_cas05",5) > 0) { mes "Last time, you invested"; mes "in defense " + GetCastleData("arug_cas05",5) + " times."; } mes " "; mes "That is all, master."; close; case 2: set .@Economy,GetCastleData("arug_cas05",2); if (.@Economy < 6) { set .@eco_invest,5000; } else if ((.@Economy >= 6) && (.@Economy <= 10)) { set .@eco_invest,10000; } else if ((.@Economy >= 11) && (.@Economy <= 15)) { set .@eco_invest,20000; } else if ((.@Economy >= 16) && (.@Economy <= 20)) { set .@eco_invest,35000; } else if ((.@Economy >= 21) && (.@Economy <= 25)) { set .@eco_invest,55000; } else if ((.@Economy >= 26) && (.@Economy <= 30)) { set .@eco_invest,80000; } else if ((.@Economy >= 31) && (.@Economy <= 35)) { set .@eco_invest,110000; } else if ((.@Economy >= 36) && (.@Economy <= 40)) { set .@eco_invest,145000; } else if ((.@Economy >= 41) && (.@Economy <= 45)) { set .@eco_invest,185000; } else if ((.@Economy >= 46) && (.@Economy <= 50)) { set .@eco_invest,230000; } else if ((.@Economy >= 51) && (.@Economy <= 55)) { set .@eco_invest,280000; } else if ((.@Economy >= 56) && (.@Economy <= 60)) { set .@eco_invest,335000; } else if ((.@Economy >= 61) && (.@Economy <= 65)) { set .@eco_invest,395000; } else if ((.@Economy >= 66) && (.@Economy <= 70)) { set .@eco_invest,460000; } else if ((.@Economy >= 71) && (.@Economy <= 75)) { set .@eco_invest,530000; } else if ((.@Economy >= 76) && (.@Economy <= 80)) { set .@eco_invest,605000; } else if ((.@Economy >= 81) && (.@Economy <= 85)) { set .@eco_invest,685000; } else if ((.@Economy >= 86) && (.@Economy <= 90)) { set .@eco_invest,770000; } else if ((.@Economy >= 91) && (.@Economy <= 95)) { set .@eco_invest,860000; } else if ((.@Economy >= 96) && (.@Economy <= 100)) { set .@eco_invest,955000; } //Quadruple the cost of investing if you've already invested once. if (GetCastleData("arug_cas05",4)) { set .@eco_invest,.@eco_invest*4; } mes "[ Steward ]"; mes "Raising the stronghold's"; mes "commercial growth will"; mes "increase the quantity of"; mes "goods produced for the guild."; mes "Investing in commercial growth"; mes "will help the guild's future."; next; mes "[ Steward ]"; mes "You can make one investment"; mes "each day, but if you can make"; mes "two investments if you pay"; mes "more zeny: this will speed"; mes "up commercial development,"; mes "but can be quite expensive."; next; if (.@Economy == 100) { mes "[ Steward ]"; mes "However, our stronghold's"; mes "commerical growth level is"; mes "at 100%. It's not possible to"; mes "develop commercial growth"; mes "any further than that."; close; } if (GetCastleData("arug_cas05",4) >= 2) { mes "[ Steward ]"; mes "You've already made two"; mes "investments today, so you'll"; mes "have to wait until tomorrow"; mes "to make another investment."; close; } if (GetCastleData("arug_cas05",4) == 0) { mes "[ Steward ]"; mes "You must pay ^FF0000" + .@eco_invest + "^000000 zeny"; mes "to make an investment"; mes "Will you invest in this"; mes "stronghold's commerical"; mes "development now?"; } else { mes "[ Steward ]"; mes "You must pay ^FF0000" + .@eco_invest + "^000000"; mes "more zeny to make a second"; mes "investment today. Will you"; mes "invest one more time?"; } next; switch(select("Invest in Commercial Growth:Cancel")) { case 1: if (GetCastleData("arug_cas05",4) >= 2) { mes "[ Steward ]"; mes "You've already made two"; mes "investments today, so you'll"; mes "have to wait until tomorrow"; mes "to make another investment."; close; } if (Zeny < .@eco_invest) { mes "[ Steward ]"; mes "I'm sorry, Master, but"; mes "you do not have enough"; mes "zeny to make an investment"; mes "for the guild today."; close; } set zeny,zeny-.@eco_invest; SetCastleData "arug_cas05",4,GetCastleData("arug_cas05",4)+1; mes "[ Steward ]"; mes "A wise use of the guild's"; mes "funds, Master. We can expect"; mes "to see the results of this"; mes "investment by tomorrow."; close; case 2: mes "[ Steward ]"; mes "As you command, Master."; close; } case 3: set .@Defence,GetCastleData("arug_cas05",3); if (.@Defence < 6) { set .@def_invest,10000; } else if ((.@Defence >= 6) && (.@Defence <= 10)) { set .@def_invest,20000; } else if ((.@Defence >= 11) && (.@Defence <= 15)) { set .@def_invest,40000; } else if ((.@Defence >= 16) && (.@Defence <= 20)) { set .@def_invest,70000; } else if ((.@Defence >= 21) && (.@Defence <= 25)) { set .@def_invest,110000; } else if ((.@Defence >= 26) && (.@Defence <= 30)) { set .@def_invest,160000; } else if ((.@Defence >= 31) && (.@Defence <= 35)) { set .@def_invest,220000; } else if ((.@Defence >= 36) && (.@Defence <= 40)) { set .@def_invest,290000; } else if ((.@Defence >= 41) && (.@Defence <= 45)) { set .@def_invest,370000; } else if ((.@Defence >= 46) && (.@Defence <= 50)) { set .@def_invest,460000; } else if ((.@Defence >= 51) && (.@Defence <= 55)) { set .@def_invest,560000; } else if ((.@Defence >= 56) && (.@Defence <= 60)) { set .@def_invest,670000; } else if ((.@Defence >= 61) && (.@Defence <= 65)) { set .@def_invest,790000; } else if ((.@Defence >= 66) && (.@Defence <= 70)) { set .@def_invest,920000; } else if ((.@Defence >= 71) && (.@Defence <= 75)) { set .@def_invest,1060000; } else if ((.@Defence >= 76) && (.@Defence <= 80)) { set .@def_invest,1210000; } else if ((.@Defence >= 81) && (.@Defence <= 85)) { set .@def_invest,1370000; } else if ((.@Defence >= 86) && (.@Defence <= 90)) { set .@def_invest,1540000; } else if ((.@Defence >= 91) && (.@Defence <= 95)) { set .@def_invest,1720000; } else if ((.@Defence >= 96) && (.@Defence <= 100)) { set .@def_invest,1910000; } //Quadruple the cost of investing if you've already invested once. if (GetCastleData("arug_cas05",5)) { set .@def_invest,.@def_invest*4; } mes "[ Steward ]"; mes "Investing in our stronghold's"; mes "defense will enhance the"; mes "durability of our Guardians"; mes "and the Emperium. We'll need"; mes "every advantage to protect"; mes "ourselves from our enemies."; next; mes "[ Steward ]"; mes "You can invest in defense"; mes "once per day, but if you pay"; mes "more zeny, you can invest"; mes "a maximum of two times daily."; next; mes "[ Steward ]"; if (GetCastleData("arug_cas05",3) == 100) { mes "The Defense Level of this"; mes "stronghold is 100%, and"; mes "cannot be increased further."; close; } if (GetCastleData("arug_cas05",5) >= 2) { mes "Master, you've already"; mes "invested in Defense twice"; mes "today. You'll need to wait"; mes "until tomorrow if you really"; mes "want to increase our defenses."; close; } if (GetCastleData("arug_cas05",5) == 0) { mes "We need ^FF0000" + .@def_invest + "^000000"; mes "zeny to invest in our"; mes "stronghold's defenses."; mes "Will you invest now?"; } else { mes "We need ^FF0000" + .@def_invest + "^000000"; mes "zeny to invest in our"; mes "stronghold's defenses"; mes "a second time today."; mes "Will you invest now?"; } next; switch(select("Invest in Defense:Cancel")) { case 1: if (GetCastleData("arug_cas05",5) >= 2) { mes "[ Steward ]"; mes "Master, you've already"; mes "invested in Defense twice"; mes "today. You'll need to wait"; mes "until tomorrow if you really"; mes "want to increase our defenses."; close; } if (Zeny < .@def_invest) { mes "[ Steward ]"; mes "I'm sorry, Master, but"; mes "you do not have enough"; mes "zeny to make an investment"; mes "for the guild today."; close; } set zeny,zeny-.@def_invest; SetCastleData "arug_cas05",5,GetCastleData("arug_cas05",5)+1; mes "[ Steward ]"; mes "A wise use of the guild's"; mes "funds, Master. Increasing"; mes "the frequency of treasure"; mes "procured by the guild will"; mes "definitely help us all."; close; case 2: mes "[ Steward ]"; mes "As you command, Master."; close; } case 4: if (GetCastleData("arug_cas05",9) == 1) { mes "[ Steward ]"; mes "Do you wish to dismiss"; mes "the Kafra Employee that"; mes "we've hired for the guild?"; next; switch(select("Dismiss:Cancel")) { case 1: cutin "kafra_01",2; mes "[ Hired Kafra Employee ]"; mes "Master, please reconsider!"; mes "I've been working very hard"; mes "for the success of the guild!"; mes "I'll try harder to serve the"; mes "guild members of this"; mes "stronghold, I promise!"; next; switch(select("Dismiss:Cancel")) { case 1: mes "[ Hired Kafra Employee ]"; mes "Why?! What have I done"; mes "to deserve this? Waaah~!"; next; cutin "kafra_01",255; break; case 2: mes "[ Hired Kafra Employee ]"; mes "Thank you, Master!"; mes "I'll obey your every"; mes "command as best I can!"; mes "You won't regret this!"; close; } break; case 2: mes "[ Steward ]"; mes "She works very hard,"; mes "in my opinion. It was in"; mes "all of our best interests to"; mes "allow her to stay with us."; close; } disablenpc "Kafra Employee#arug_cas05"; SetCastleData "arug_cas05",9,0; mes "[ Steward ]"; mes "That Kafra Employee"; mes "has been dismissed."; mes "Were really dissatisfied"; mes "by the quality of her service?"; close; } else { mes "[ Steward ]"; mes "Will you hire a"; mes "Kafra Employee to serve"; mes "our stronghold? You must"; mes "pay ^FF000010,000 zeny^000000 to hire one."; next; switch(select("Hire:Cancel")) { case 1: if (getgdskilllv(.@GID,10001) == 0) { mes "[ Steward ]"; mes "Master, we cannot hire a"; mes "Kafra Employee because"; mes "you have not yet attained"; mes "the ^FF0000Contract with Kafra^000000"; mes "guild skill."; close; } if (Zeny < 10000) { mes "[ Steward ]"; mes "Master, we cannot hire a"; mes "Kafra Employee because"; mes "we do not have enough"; mes "funds to pay the contract fee."; close; } set zeny,zeny-10000; enablenpc "Kafra Employee#aru05"; SetCastleData "arug_cas05",9,1; mes "[ Steward ]"; mes "Very well. We have formed"; mes "a contract with the Kafra"; mes "Head Office, and hired a"; mes "Kafra Employee for our"; mes "stronghold. Here she is~"; next; cutin "kafra_01",2; mes "[ Hired Kafra Employee ]"; mes "How do you do? I've"; mes "been dispatched by the"; mes "Kafra Head Office to"; mes "serve your guild's needs."; mes "I'll do my best to follow"; mes "your every command, Master."; next; cutin "kafra_01",255; mes "[ Steward ]"; mes "Our contract will expire"; mes "after one month, so we must"; mes "pay additional fees to keep"; mes "this Kafra Employee in"; mes "the service of our guild."; close; case 2: mes "[ Steward ]"; mes "As you command, Master."; mes "However, I suggest hiring"; mes "a Kafra Employee as soon"; mes "as possible since our guild"; mes "would greatly benefit from"; mes "the convenient Kafra services."; close; } } case 5: mes "[ Steward ]"; mes "Do you wish to enter the"; mes "Guild Treasure Room?"; mes "Only you, the Guild Master,"; mes "are permitted to enter."; next; mes "[ Steward ]"; mes "Please remember to open"; mes "the Treasure Boxes at the"; mes "proper time. Otherwise, the"; mes "treasure may disappear if"; mes "something unexpected happens."; next; switch(select("Go to Treasure Room:Cancel")) { case 1: mes "[ Steward ]"; mes "Allow me to guide you"; mes "on the secret path to"; mes "the Treasure Room."; mes "Press the secret switch"; mes "when you wish to return here."; close2; warp "arug_cas05",292,266; end; case 2: mes "[ Steward ]"; mes "Items in the Treasure Room"; mes "are produced once each day."; mes "Therefore, you must obtain"; mes "the treasure items everyday."; mes "For the sake of the guild,"; mes "prioritize treasure harvesting!"; close; } } Onstop: stopnpctimer; end; OnStartArena: set .@GID,getcharid(2); // Lower castle Economy set .@Economy,GetCastleData("arug_cas05",2) - 5; if (.@Economy < 0) set .@Economy, 0; SetCastleData "arug_cas05", 2, .@Economy; // Lower Castle Defence set .@Defence,GetCastleData("arug_cas05",3) - 5; if (.@Defence < 0) set .@Defence, 0; SetCastleData "arug_cas05", 3, .@Defence; // Set new owner SetCastleData "arug_cas05",1, .@GID; // Clear castle's data. for( set .@i, 4; .@i <= 9; set .@i, .@i+1 ) SetCastleData "arug_cas05", .@i, 0; // Disable Kafra disablenpc "Kafra Employee#aru05"; set .msg,2; if (.msg == 1) { announce "Fortress [" + GetCastleName("arug_cas05") + "]'s 'Valfreyja' was captured by [" + getguildname(.@gid) + "] Guild.",bc_all|bc_woe; donpcevent "Manager#aru05_02::Onstart"; } else if (.msg == 2) { announce "The [" + getguildname(.@gid) + "] conquered the [Valfreyja 5] stronghold of "+GetCastleName("arug_cas05"),bc_all|bc_woe; mapannounce "arug_cas05","The emperium has been shattered!",bc_map,"0x00FF00",FW_NORMAL,20,0,40; if (agitcheck2()) { donpcevent "Manager#aru05_02::Onreset"; initnpctimer; } else { donpcevent "Manager#aru05_02::Onreset"; stopnpctimer; } } else if (.msg == 0) { announce "Fortress [" + GetCastleName("arug_cas05") + "]'s 'Valfreyja' was captured by [" + getguildname(.@gid) + "] Guild.",bc_all|bc_woe; donpcevent "Manager#aru05_02::Onreset"; stopnpctimer; end; } MapRespawnGuildID "arug_cas05",GetCastleData("arug_cas05",1),2; GetCastleData "arug_cas05",0,"::OnRecvCastlear05"; end; OnTimer10000: donpcevent "Manager#aru05_02::Onchange"; mapannounce "arug_cas05","Rebuild this stronghold's Guardian Stones and Fortress Gates to secure your guild's new aquisition!",bc_map,"0x00FF00",FW_NORMAL,20,0,40; end; } // Guild Kafra arug_cas05,315,98,5 script Kafra Employee#aru05 117,{ cutin "kafra_01",2; set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID && getgdskilllv(.@GID,10001)) { mes "[Kafra Employee]"; mes "Welcome, proud member"; mes "of the ^FF0000" + GetGuildName(.@GID) + "^000000 Guild!"; mes "The Kafra Corporation is ready"; mes "to assist you wherever you go!"; next; switch(select("Use Storage:Use Warp Service:Rent Pushcart:Cancel")) { case 1: if (basicskillcheck() && getskilllv("NV_BASIC") < 6) { mes "[Kafra Employee]"; mes "I'm so sorry, but you must"; mes "have at least Novice Skill"; mes "Lv.6 to use the Storage."; } else { openstorage; } break; case 2: mes "[Kafra Employee]"; mes "Please tell me your"; mes "Warp destination."; next; switch(select("Rachel -> 200 z:Cancel")) { case 1: if (Zeny < 200) { mes "[Kafra Employee]"; mes "I'm sorry, but you don't"; mes "have enough zeny to pay"; mes "the warp fee. Would you"; mes "please check your funds again?"; close2; cutin "kafra_01",255; end; } set zeny,zeny-200; warp "rachel",115,125; end; case 2: cutin "kafra_01",255; } break; case 3: if (BaseClass != Job_Merchant) { mes "[Kafra Employee]"; mes "I'm sorry, but the Pushcart"; mes "rental service can only be"; mes "used by Merchant, Blacksmith,"; mes "and Alchemist class characters."; } else if (checkcart() == 1) { mes "[Kafra Employee]"; mes "Hm? You've already"; mes "rented a Pushcart."; } else { mes "[Kafra Employee]"; mes "The Pushcart rental fee"; mes "is 800 zeny. Would you"; mes "like to rent a Pushcart?"; next; switch(select("Rent Pushcart:Cancel")) { case 1: if (Zeny < 800) { mes "[Kafra Employee]"; mes "I'm sorry, but you don't"; mes "have enough zeny to rent"; mes "one of our Pushcarts."; close2; cutin "kafra_01",255; end; } set zeny,zeny-800; setcart; break; case 2: break; } } break; case 4: mes "[Kafra Employee]"; mes "Thank you for using the"; mes "Kafra Service. Wherever"; mes "you go, Kafra will be"; mes "there to support you!"; close2; cutin "kafra_01",255; end; } close2; cutin "kafra_01",255; end; } else { mes "[Kafra Employee]"; mes "I'm sorry, but I've been"; mes "exclusively contracted"; mes "to the members of the"; mes "^FF0000" + GetGuildName(.@GID) + "^000000 Guild."; mes "You'll have to ask another"; mes "Kafra Employee to help you..."; close2; cutin "kafra_01",255; end; } OnRecvCastlear05: if (GetCastleData("arug_cas05",1) == 0) { monster "arug_cas05",0,0,"Evil Druid",1117,10; monster "arug_cas05",0,0,"Khalitzburg",1132,4; monster "arug_cas05",0,0,"Abysmal Knight",1219,3; monster "arug_cas05",0,0,"Executioner",1205,1; monster "arug_cas05",0,0,"Penomena",1216,10; monster "arug_cas05",0,0,"Alarm",1193,18; monster "arug_cas05",0,0,"Clock",1269,9; monster "arug_cas05",0,0,"Raydric Archer",1276,12; monster "arug_cas05",0,0,"Wanderer",1208,3; monster "arug_cas05",0,0,"Alice",1275,1; monster "arug_cas05",0,0,"Bloody Knight",1268,2; monster "arug_cas05",0,0,"Dark Lord",1272,2; monster "arug_cas05",0,0,"Tower Keeper",1270,4; disablenpc "Kafra Employee#aru05"; } if (GetCastleData("arug_cas05",9) < 1) { disablenpc "Kafra Employee#aru05"; } end; } arug_cas05,299,277,0 script #aru05_switch 111,{ mes " "; mes "^3355FFWill you pull"; mes "this small lever?^000000"; next; switch(select("Pull Lever:Cancel")) { case 1: warp "arug_cas05",321,57; end; case 2: close; } } aru_gld,289,103,6 script Banadis#flag_ar05_1::ar05_Flag 722,{ set .@GID, GetCastleData("arug_cas05",1); if (.@GID == 0) { mes "[ Arunafeltz Royal Edict ]"; mes "The Holy Kingdom of"; mes "Arunafeltz declares that"; mes "one has yet to claim lordship"; mes "over this stronghold. The one"; mes "that breaks the Emperium will"; mes "be recognized as its new owner."; close; } else { if (getcharid(2) == .@GID) { mes "[ Ringing Voice ]"; mes "Courageous one,"; mes "do you wish to return"; mes "to your stronghold?"; next; switch(select("Return to the Stronghold:Cancel")) { case 1: set .@GID, GetCastleData("arug_cas05",1); if (getcharid(2) == .@GID) { warp "arug_cas05",121,318; end; } close; case 2: close; } } mes "[ Arunafeltz Royal Edict ]"; mes "The Holy Kingdom of"; mes "Arunafeltz decrees that"; mes "this stronghold is owned"; mes "by the ^FF0000" + GetGuildName(.@GID) + "^000000 Guild."; next; mes "[ Arunafeltz Royal Edict ]"; mes "^FF0000" + GetGuildMaster(.@GID) + "^000000 is"; mes "Guild Master of ^FF0000" + GetGuildName(.@GID) + "^000000."; mes "Any that object must claim this"; mes "stronghold through strength of"; mes "steel and magic during the"; mes "appointed Guild Siege times."; close; } OnRecvCastlear05: FlagEmblem GetCastleData("arug_cas05",1); end; } aru_gld,289,112,6 duplicate(ar05_Flag) Banadis#flag_ar05_2 722 aru_gld,350,98,6 script Banadis#flag_ar05_3::ar05_Flag2 722,{ set .@GID, GetCastleData("arug_cas05",1); if (.@GID == 0) { mes "[ Arunafeltz Royal Edict ]"; mes "The Holy Kingdom of"; mes "Arunafeltz declares that"; mes "one has yet to claim lordship"; mes "over this stronghold. The one"; mes "that breaks the Emperium will"; mes "be recognized as its new owner."; close; } else { mes "[ Arunafeltz Royal Edict ]"; mes "The Holy Kingdom of"; mes "Arunafeltz decrees that"; mes "this stronghold is owned"; mes "by the ^FF0000" + GetGuildName(.@GID) + "^000000 Guild."; next; mes "[ Arunafeltz Royal Edict ]"; mes "^FF0000" + GetGuildMaster(.@GID) + "^000000 is"; mes "Guild Master of ^FF0000" + GetGuildName(.@GID) + "^000000."; mes "Any that object must claim this"; mes "stronghold through strength of"; mes "steel and magic during the"; mes "appointed Guild Siege times."; close; } OnRecvCastlear05: FlagEmblem GetCastleData("arug_cas05",1); end; } aru_gld,350,88,6 duplicate(ar05_Flag2) Banadis#flag_ar05_4 722