//================= Hercules Script ======================================= //= _ _ _ //= | | | | | | //= | |_| | ___ _ __ ___ _ _| | ___ ___ //= | _ |/ _ \ '__/ __| | | | |/ _ \/ __| //= | | | | __/ | | (__| |_| | | __/\__ \ //= \_| |_/\___|_| \___|\__,_|_|\___||___/ //================= License =============================================== //= This file is part of Hercules. //= http://herc.ws - http://github.com/HerculesWS/Hercules //= //= Copyright (C) 2012-2015 Hercules Dev Team //= Copyright (C) brianluau //= Copyright (C) L0ne_W0lf //= Copyright (C) Lupus //= Copyright (C) kobra_k88 //= //= 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 . //========================================================================= //= War of Emperium Treasure Rooms for NGuild Guild Castles //================= Description =========================================== //= War of Emperium Treasure Rooms for Novice Guild Castles //================= Current Version ======================================= //= 1.3b //========================================================================= //== Treasure Spawning Function ============================ function script F_GldTreas { if(getarg(10) != 1) { setcastledata getarg(0),4,0; setcastledata getarg(0),5,0; // Why on earth are we killing old treasure chest spawns? //killmonster getarg(0),"Treasure_"+getarg(1)+"::OnDied"; // Don't spawn treasures if Castle is empty, or Eco is greater than 100 if(getcastledata(getarg(0),2) > 100 || getcastledata(getarg(0),1) == 0) return; // Only spawn one treasure chest for novice castles. if (compare(getarg(0),"nguild")) set getarg(2),1; else set getarg(2),getcastledata(getarg(0),2)/5+4; if (getarg(2) <= 0) return; //sets the counter variable = to the box number amount set getarg(3), getarg(2); } for (.@i = 1; .@i <= getarg(3); ++.@i) { // set treasure box ID set getarg(4), getarg(5) + (.@i+1) % 2; areamonster getarg(0),getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied"; } return; } //== Treasure Room Switch ================================== function script F_GldTreasSw { mes " "; mes "There's a small lever. Will you pull it?"; next; if (select("Pull.", "Do not.") == 1) { warp getarg(0),getarg(1),getarg(2); return; } close; } //== Castle 1 ============================================== //- Treasure Spawn - nguild_alde,1,1,1 script Treasure_N01 FAKE_NPC,{ OnRecvCastleN01: end; OnInit: if($boxNumN01 == 0) end; $@bxN01 = $boxNumN01; callfunc "F_GldTreas","nguild_alde","N01",$boxNumN01,$@bxN01,$@boxIdN01,1324+rand(10),114,218,123,227,1; end; OnDied: mapannounce "nguild_alde","Treasure Chest Broken Open",17; --$boxNumN01; if($boxNumN01 == 0) mapannounce "nguild_alde", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; end; } //- Treasure Room Switch - nguild_alde,123,223,0 script Switch#TresN01 HIDDEN_NPC,{ callfunc "F_GldTreasSw", "nguild_alde",218,176; end; } //== Castle 2 ============================================== //- Treasure Spawn - nguild_gef,1,1,1 script Treasure_N02 FAKE_NPC,{ OnRecvCastleN02: end; OnInit: if($boxNumN02 == 0) end; $@bxN02 = $boxNumN02; callfunc "F_GldTreas","nguild_gef","N02",$boxNumN02,$@bxN02,$@boxIdN02,1334+rand(10),150,108,158,114,1; end; OnDied: mapannounce "nguild_gef","Treasure Chest Broken Open",17; --$boxNumN02; if($boxNumN02 == 0) mapannounce "nguild_gef", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; end; } //- Treasure Room Switch - nguild_gef,152,117,0 script Switch#TresN02 HIDDEN_NPC,{ callfunc "F_GldTreasSw","nguild_gef",40,49; end; } //== Castle 3 ============================================== //- Treasure Spawn - nguild_pay,1,1,0 script Treasure_N03 FAKE_NPC,{ OnRecvCastleN03: end; OnInit: if($boxNumN03 == 0) end; $@bxN03 = $boxNumN03; callfunc "F_GldTreas","nguild_pay","N03",$boxNumN03,$@bxN03,$@boxIdN03,1344+rand(10),286,4,295,13,1; end; OnDied: mapannounce "nguild_pay","Treasure Chest Broken Open",17; --$boxNumN03; if($boxNumN03 == 0) mapannounce "nguild_pay", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; end; } //- Treasure Room Switch - nguild_pay,295,8,0 script Switch#TresN03 HIDDEN_NPC,{ callfunc "F_GldTreasSw", "nguild_pay",120,59; end; } //== Castle 4 ============================================== //- Treasure Spawn - nguild_prt,1,1,0 script Treasure_N04 FAKE_NPC,{ OnRecvCastleN04: end; OnInit: if($boxNumN04 == 0) end; $@bxN04 = $boxNumN04; callfunc "F_GldTreas","nguild_prt","N04",$boxNumN04,$@bxN04,$@boxIdN04,1354+rand(10),6,204,15,213,1; end; OnDied: mapannounce "nguild_prt","Treasure Chest Broken Open",17; --$boxNumN04; if($boxNumN04 == 0) mapannounce "nguild_prt", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; end; } //- Treasure Room Switch - nguild_prt,15,209,0 script Switch#TresN04 HIDDEN_NPC,{ callfunc "F_GldTreasSw", "nguild_prt",109,179; end; }