summaryrefslogtreecommitdiff
path: root/npc/woe-fe
diff options
context:
space:
mode:
Diffstat (limited to 'npc/woe-fe')
-rw-r--r--npc/woe-fe/agit_controller.txt81
-rw-r--r--npc/woe-fe/agit_main.txt1350
-rw-r--r--npc/woe-fe/aldeg_cas01.txt142
-rw-r--r--npc/woe-fe/aldeg_cas02.txt136
-rw-r--r--npc/woe-fe/aldeg_cas03.txt139
-rw-r--r--npc/woe-fe/aldeg_cas04.txt139
-rw-r--r--npc/woe-fe/aldeg_cas05.txt138
-rw-r--r--npc/woe-fe/gefg_cas01.txt130
-rw-r--r--npc/woe-fe/gefg_cas02.txt131
-rw-r--r--npc/woe-fe/gefg_cas03.txt134
-rw-r--r--npc/woe-fe/gefg_cas04.txt130
-rw-r--r--npc/woe-fe/gefg_cas05.txt130
-rw-r--r--npc/woe-fe/payg_cas01.txt133
-rw-r--r--npc/woe-fe/payg_cas02.txt134
-rw-r--r--npc/woe-fe/payg_cas03.txt133
-rw-r--r--npc/woe-fe/payg_cas04.txt134
-rw-r--r--npc/woe-fe/payg_cas05.txt133
-rw-r--r--npc/woe-fe/prtg_cas01.txt136
-rw-r--r--npc/woe-fe/prtg_cas02.txt138
-rw-r--r--npc/woe-fe/prtg_cas03.txt136
-rw-r--r--npc/woe-fe/prtg_cas04.txt136
-rw-r--r--npc/woe-fe/prtg_cas05.txt134
-rw-r--r--npc/woe-fe/trs_rp.txt55
23 files changed, 4182 insertions, 0 deletions
diff --git a/npc/woe-fe/agit_controller.txt b/npc/woe-fe/agit_controller.txt
new file mode 100644
index 000000000..8d038c322
--- /dev/null
+++ b/npc/woe-fe/agit_controller.txt
@@ -0,0 +1,81 @@
+//===== Hercules Script ======================================
+//= War of Emperium - WoE Auto-Start
+//===== By: ==================================================
+//= kalen (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 2.0a
+//===== Description: =========================================
+//= Auto Start for War of Emperium
+//=============================================
+//= gettime(3): Gets hour (24 hour time)
+//= gettime(4): Gets day of week 1=Monday, 2=Tuesday,
+//= 3=Wednesday, 4=Thursday, etc.
+//===== Additional Comments: =================================
+//= v1.1a changed OnInit to OnAgitInit.[kobra_k88]
+//= v1.2 added gettime checks. removed $AgitStarted var.[kobra_k88]
+//= v1.3 Moved treasure spawn time here.[kobra_k88]
+//= v1.3a Implemented Shadowlady's idea to allow for different
+//= start/stop times on different days.[kobra_k88]
+//= 1.4 Fixed treasure chests spawn! We had to unroll some loops
+//= Now they appear in castles from 00:01 to 00:24. [Lupus]
+//= 1.5 Fixed WOE end messages on non-WOE days, by Avaj
+//= 1.5a missing tabs [KarLaeda]
+//= 1.6 Corrected multiple "WoE has begun" announces [ultramage]
+//= 1.7 Commented out the WoE start and end announces. [L0ne_W0lf]
+//= 1.8 Castle owners displayed when WoE starts and finished. [L0ne_W0lf]
+//= 1.8a Will now report unoccupied castles at start/end. [L0ne_W0lf]
+//= 1.8b Whoops. Fixed a mistake :D [L0ne_W0lf]
+//= 1.9 Rearranged the time-checks so they no longer use goto. [L0ne_W0lf]
+//= Removed treasure spawning function calls. (No longer needed)
+//= 2.0 Added WoE Battle Log support for broadcasts. [L0ne_W0lf]
+//= 2.0a Removed some brackets
+//============================================================
+//| To know how to set up WoE times, go to doc\woe_time_explanation.txt
+// WoE Start/Stop times
+//======================================
+- script Agit_Event -1,{
+ end;
+
+OnClock2100: //start time for Tues(2), Thurs(4)
+OnClock2300: //end time for Tues(2), Thurs(4)
+OnClock1600: //start time for Sat(6)
+OnClock1800: //end time for Sat(6)
+
+OnAgitInit:
+ // starting time checks
+ if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23) ||
+ (gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23) ||
+ (gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) {
+ if (!agitcheck()) {
+ agitstart;
+ callsub S_DisplayOwners;
+ }
+ end;
+ }
+
+ // end time checks
+ if ((gettime(4)==2) && (gettime(3)==23) ||
+ (gettime(4)==4) && (gettime(3)==23) ||
+ (gettime(4)==6) && (gettime(3)==18)) {
+ if (agitcheck()) {
+ agitend;
+ callsub S_DisplayOwners;
+ }
+ end;
+ }
+ end;
+
+S_DisplayOwners:
+ setarray .@maps$[0],"aldeg_cas01","aldeg_cas02","aldeg_cas03","aldeg_cas04","aldeg_cas05";
+ setarray .@maps$[5],"gefg_cas01","gefg_cas02","gefg_cas03","gefg_cas04","gefg_cas05";
+ setarray .@maps$[10],"payg_cas01","payg_cas02","payg_cas03","payg_cas04","payg_cas05";
+ setarray .@maps$[15],"prtg_cas01","prtg_cas02","prtg_cas03","prtg_cas04","prtg_cas05";
+ for (.@i = 0; .@i <= 19; ++.@i) {
+ if (getcastledata(.@maps$[.@i],1))
+ announce "The [" + getcastlename(.@maps$[.@i]) + "] castle has been conquered by the [" + getguildname(getcastledata(.@maps$[.@i],1)) + "] guild.",bc_all|bc_woe;
+ else
+ announce "The [" + getcastlename(.@maps$[.@i]) + "] castle is currently unoccupied.",bc_all|bc_woe;
+ }
+ end;
+}
diff --git a/npc/woe-fe/agit_main.txt b/npc/woe-fe/agit_main.txt
new file mode 100644
index 000000000..527bebce4
--- /dev/null
+++ b/npc/woe-fe/agit_main.txt
@@ -0,0 +1,1350 @@
+//===== Hercules Script ======================================
+//= War of Emperium Guild Template File
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 2.0
+//===== Description: =========================================
+//= [ Aegis Conversion]
+//= ----------------------------------------------------------
+//= - THIS FILE IS REQUIRED FOR GUILD CASTLES TO FUNCTION.
+//= ----------------------------------------------------------
+//= - Enables AGIT Manager inside Guild Strongholds.
+//= Visible Name required: Agit
+//= Manages the various functions used in and out of WoE.
+//=
+//= - Enables Stewards inside Guild Strongholds which let's
+//= the guild master invest in Defense and Economy, and
+//= to summon guardians, a Kafra, and enter master's room.
+//=
+//= - Guardian Spawning Template
+//= Visible Name required: Guardian
+//= Spawn guardians when guild castle data is recieved.
+//=
+//= - Enables Kafra Services inside Guild Strongholds.
+//= Visible Name required: Kafra Employee
+//= Storage, Guild Storage, Teleport Service, Cart rental.
+//=
+//= - Treasure Chest spawning.
+//= Chests will NOT be saved anymore in the event of crashes.
+//= Treasures will NOT spawn on a location that already has
+//= treasure chest spawned.
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Daily investment will now be reset. [L0ne_W0lf]
+//= Template will no longer try to spawn chests.
+//= 1.2 Fixed Eco Invest option charging twice. [L0ne_W0lf]
+//= 1.3 Fixed a loading flag emblem for Payon 1. [L0ne_W0lf]
+//= Fixed two typos regarding Guild Steward name.
+//= 1.4 Fixed a typo in defense investment. [L0ne_W0lf]
+//= 1.5 Fixed spawn point of the emperium in Payon 1. [L0ne_W0lf]
+//= Double-investing doubles the price now.
+//= 1.6 Corrected Zeny check when summoning guardians. [L0ne_W0lf]
+//= Corrected cost for investing, thanks to Ai4rei.
+//= Second invest is now quadruple the value of the first
+//= Investing now happens at the turn of the day.
+//= 1.6a Corrected conditions in the new investing blocks. [L0ne_W0lf]
+//= 1.6b Moved where investments are added to eco/def. [L0ne_W0lf]
+//= 1.7 Updated Agitbreak announcements, added bc_woe [L0ne_W0lf]
+//= and added extended announcement format for mapannounce.
+//= 1.8 Fixed a possible exploit in guild castle investment. [Brian]
+//= 1.9 Partially rewrote Script. [Masao]
+//= 1.9a Fixed incorrect setcastledata parameter. [Euphy]
+//= 2.0 Fixed an issue where Castle Manager couldn't be fired. [Joseph]
+//============================================================
+
+// WoE : Main Functions
+//============================================================
+- script Gld_Agit_Manager::Gld_Agit_Manager -1,{
+ end;
+
+// War of Emperium has started.
+OnAgitStart:
+ if (strnpcinfo(0) == "Gld_Agit_Manager") end;
+ maprespawnguildid strnpcinfo(2),getcastledata(strnpcinfo(2),1),6;
+ gvgon strnpcinfo(2);
+
+// Spawn (fall through), or respawn the Emperium once it has been broken.
+OnStartArena:
+ // OnAgitStart will fall through and spawn the Emperium.
+ if (strnpcinfo(2) == "aldeg_cas01") { setarray .@emproom[0],216,23; }
+ else if (strnpcinfo(2) == "aldeg_cas02") { setarray .@emproom[0],213,23; }
+ else if (strnpcinfo(2) == "aldeg_cas03") { setarray .@emproom[0],205,31; }
+ else if (strnpcinfo(2) == "aldeg_cas04") { setarray .@emproom[0],36,217; }
+ else if (strnpcinfo(2) == "aldeg_cas05") { setarray .@emproom[0],27,101; }
+ else if (strnpcinfo(2) == "gefg_cas01") { setarray .@emproom[0],197,181; }
+ else if (strnpcinfo(2) == "gefg_cas02") { setarray .@emproom[0],176,178; }
+ else if (strnpcinfo(2) == "gefg_cas03") { setarray .@emproom[0],244,166; }
+ else if (strnpcinfo(2) == "gefg_cas04") { setarray .@emproom[0],174,177; }
+ else if (strnpcinfo(2) == "gefg_cas05") { setarray .@emproom[0],194,184; }
+ else if (strnpcinfo(2) == "payg_cas01") { setarray .@emproom[0],139,139; }
+ else if (strnpcinfo(2) == "payg_cas02") { setarray .@emproom[0],38,25; }
+ else if (strnpcinfo(2) == "payg_cas03") { setarray .@emproom[0],269,265; }
+ else if (strnpcinfo(2) == "payg_cas04") { setarray .@emproom[0],270,28; }
+ else if (strnpcinfo(2) == "payg_cas05") { setarray .@emproom[0],30,30; }
+ else if (strnpcinfo(2) == "prtg_cas01") { setarray .@emproom[0],197,197; }
+ else if (strnpcinfo(2) == "prtg_cas02") { setarray .@emproom[0],157,174; }
+ else if (strnpcinfo(2) == "prtg_cas03") { setarray .@emproom[0],16,220; }
+ else if (strnpcinfo(2) == "prtg_cas04") { setarray .@emproom[0],291,14; }
+ else if (strnpcinfo(2) == "prtg_cas05") { setarray .@emproom[0],266,266; }
+ // Add custom Guild Castles here.
+ else {
+ end;
+ }
+ if (!mobcount(strnpcinfo(2),"Agit#"+strnpcinfo(2)+"::OnAgitBreak")) {
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Emperium",1288,1,"Agit#"+strnpcinfo(2)+"::OnAgitBreak";
+ }
+ end;
+
+// The Emperium has been broken.
+OnAgitBreak:
+ .@GID = getcharid(2);
+ // Show and log error if an unguilded player breaks the Emperium. (Should NEVER happen)
+ if (.@GID <= 0) {
+ .@notice$ = "Character "+strcharinfo(0)+" ("+getcharid(0)+") broke the Emperium in Castle: "+strnpcinfo(2)+" while guildless. No data will be saved and Emperium respawned.";
+ logmes .@notice$; debugmes .@notice$;
+ donpcevent "Agit#"+strnpcinfo(2)+"::OnStartArena";
+ end;
+ }
+ // Adjust Economy Invest Level for Castle
+ .@Economy = getcastledata(strnpcinfo(2),2) - 5;
+ if (.@Economy < 0) .@Economy = 0;
+ setcastledata strnpcinfo(2), 2, .@Economy;
+ // Adjust Defense Invest Level for Castle
+ .@defence = getcastledata(strnpcinfo(2),3) - 5;
+ if (.@defence < 0) .@defence = 0;
+ setcastledata strnpcinfo(2), 3, .@defence;
+
+ // Set new Castle Occupant
+ setcastledata strnpcinfo(2),1, .@GID;
+
+ // Announce that the Emperium is destroyed, and respawn all but new castle-occupants.
+ mapannounce strnpcinfo(2),"The emperium has been destroyed.",bc_map|bc_woe,"0x00CCFF",FW_NORMAL,12;
+ maprespawnguildid strnpcinfo(2),.@GID,6;
+
+ // Refresh castle data, disable Kafra and reset Invest information.
+ donpcevent strnpcinfo(0)+"::OnRecvCastle";
+ disablenpc "Kafra Staff#"+strnpcinfo(2);
+ for (.@i = 4; .@i <= 9; ++.@i) {
+ setcastledata strnpcinfo(2), .@i, 0;
+ }
+ // Erase Guardian Database information if the new owners do not have Guardian Research.
+ if( getgdskilllv(.@GID,10002) == 0 ) {
+ for (.@i = 10; .@i <= 17; ++.@i) {
+ setcastledata strnpcinfo(2), .@i, 0;
+ }
+ }
+ // Respawn the Emperium, and display new owners.
+ sleep 500; // Slow down script execution slightly.
+ if( agitcheck() )
+ donpcevent "Agit#"+strnpcinfo(2)+"::OnStartArena";
+ sleep 7000;
+ announce "The [" + getcastlename(strnpcinfo(2)) + "] castle has been conquered by the [" + getguildname(.@GID) + "] guild.",bc_all|bc_woe;
+ end;
+
+// War of Emperium has ended.
+OnAgitEnd:
+ if (strnpcinfo(0) == "Gld_Agit_Manager") end;
+ gvgoff strnpcinfo(2);
+ // If the castle has no owner at the end of WoE, do not kill Emperium.
+ if (getcastledata(strnpcinfo(2),1)) {
+ killmonster strnpcinfo(2),"Agit#"+strnpcinfo(2)+"::OnAgitBreak";
+ }
+ end;
+
+// Occupying Guild has been disbanded.
+OnGuildBreak:
+ if (strnpcinfo(0) == "Gld_Agit_Manager") end;
+ // Kill guardians, disable the Kafra, and set owner to 0.
+ killmonster strnpcinfo(2),"Guardian#"+strnpcinfo(2)+"::OnGuardianDied";
+ disablenpc "Kafra Staff#"+strnpcinfo(2);
+ setcastledata strnpcinfo(2),1,0;
+ // Wait before refreshing guild information.
+ sleep 7000;
+ announce "Guild Base [" + getcastlename(strnpcinfo(2)) + "] has been abandoned.",0;
+ donpcevent strnpcinfo(0)+"::OnRecvCastle";
+ end;
+
+OnAgitInit:
+OnRecvCastle:
+ if (strnpcinfo(0) == "Gld_Agit_Manager") end;
+ // Spawn Monsters if the castle is empty.
+ .@GID = getcastledata(strnpcinfo(2),1);
+ if (.@GID == 0) {
+ killmonsterall strnpcinfo(2);
+ if (compare(strnpcinfo(2),"aldeg")) {
+ // Normal Spawns
+ monster strnpcinfo(2),0,0,"Evil Druid",1117,10;
+ monster strnpcinfo(2),0,0,"Khalitzburg",1132,4;
+ monster strnpcinfo(2),0,0,"Abysmal Knight",1219,2;
+ monster strnpcinfo(2),0,0,"Executioner",1205,1;
+ monster strnpcinfo(2),0,0,"Penomena",1216,10;
+ monster strnpcinfo(2),0,0,"Alarm",1193,18;
+ monster strnpcinfo(2),0,0,"Clock",1269,9;
+ monster strnpcinfo(2),0,0,"Raydric Archer",1276,7;
+ monster strnpcinfo(2),0,0,"Wanderer",1208,3;
+ monster strnpcinfo(2),0,0,"Alice",1275,1;
+ monster strnpcinfo(2),0,0,"Bloody Knight",1268,1;
+ monster strnpcinfo(2),0,0,"Dark Lord",1272,1;
+ // Set Emperium room spawn coordinates and spawn monsters.
+ if (strnpcinfo(2) == "aldeg_cas01") { setarray .@emproom[0],216,23; }
+ else if (strnpcinfo(2) == "aldeg_cas02") { setarray .@emproom[0],213,23; }
+ else if (strnpcinfo(2) == "aldeg_cas03") { setarray .@emproom[0],205,31; }
+ else if (strnpcinfo(2) == "aldeg_cas04") { setarray .@emproom[0],36,217; }
+ else if (strnpcinfo(2) == "aldeg_cas05") { setarray .@emproom[0],27,101; }
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Dark Lord",1272,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Tower Keeper",1270,4;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Bloody Knight",1268,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Abysmal Knight",1219,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Raydric Archer",1276,5;
+ }
+ else if (compare(strnpcinfo(2),"gefg")) {
+ // Normal Spawns
+ monster strnpcinfo(2),0,0,"Evil Druid",1117,10;
+ monster strnpcinfo(2),0,0,"Wind Ghost",1263,11;
+ monster strnpcinfo(2),0,0,"Bathory",1102,10;
+ monster strnpcinfo(2),0,0,"Jakk",1130,10;
+ monster strnpcinfo(2),0,0,"Marduk",1140,20;
+ monster strnpcinfo(2),0,0,"Raydric",1163,9;
+ monster strnpcinfo(2),0,0,"Alice",1275,1;
+ monster strnpcinfo(2),0,0,"Abysmal Knight",1219,1;
+ monster strnpcinfo(2),0,0,"Moonlight Flower",1150,1;
+ monster strnpcinfo(2),0,0,"Phreeoni",1159,1;
+ // Set Emperium room spawn coordinates and spawn monsters.
+ if (strnpcinfo(2) == "gefg_cas01") { setarray .@emproom[0],197,181; }
+ else if (strnpcinfo(2) == "gefg_cas02") { setarray .@emproom[0],176,178; }
+ else if (strnpcinfo(2) == "gefg_cas03") { setarray .@emproom[0],244,166; }
+ else if (strnpcinfo(2) == "gefg_cas04") { setarray .@emproom[0],174,177; }
+ else if (strnpcinfo(2) == "gefg_cas05") { setarray .@emproom[0],194,184; }
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Mysteltainn",1203,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Orc Hero",1087,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"High Orc",1213,10;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Orc Archer",1189,10;
+ }
+ else if (compare(strnpcinfo(2),"payg")) {
+ // Normal Spawns
+ monster strnpcinfo(2),0,0,"Greatest General",1277,9;
+ monster strnpcinfo(2),0,0,"Wanderer",1208,10;
+ monster strnpcinfo(2),0,0,"Mutant Dragonoid",1262,5;
+ monster strnpcinfo(2),0,0,"Bathory",1102,5;
+ monster strnpcinfo(2),0,0,"Moonlight Flower",1150,1;
+ monster strnpcinfo(2),0,0,"Eddga",1115,1;
+ monster strnpcinfo(2),0,0,"Horong",1129,11;
+ monster strnpcinfo(2),0,0,"Raydric Archer",1276,5;
+ monster strnpcinfo(2),0,0,"Kobold Archer",1282,4;
+ monster strnpcinfo(2),0,0,"Gargoyle",1253,5;
+ // Set Emperium room spawn coordinates and spawn monsters.
+ if (strnpcinfo(2) == "payg_cas01") { setarray .@emproom[0],139,139; }
+ else if (strnpcinfo(2) == "payg_cas02") { setarray .@emproom[0],38,25; }
+ else if (strnpcinfo(2) == "payg_cas03") { setarray .@emproom[0],269,265; }
+ else if (strnpcinfo(2) == "payg_cas04") { setarray .@emproom[0],270,28; }
+ else if (strnpcinfo(2) == "payg_cas05") { setarray .@emproom[0],30,30; }
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Moonlight Flower",1150,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Eddga",1115,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Wanderer",1208,6;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Raydric Archer",1276,5;
+ }
+ else if (compare(strnpcinfo(2),"prtg")) {
+ // Normal Spawns
+ monster strnpcinfo(2),0,0,"Raydric",1163,1;
+ monster strnpcinfo(2),0,0,"Khalitzburg",1132,10;
+ monster strnpcinfo(2),0,0,"Abysmal Knight",1219,5;
+ monster strnpcinfo(2),0,0,"Bloody Knight",1268,5;
+ monster strnpcinfo(2),0,0,"Stormy Knight",1251,1;
+ monster strnpcinfo(2),0,0,"Hatii",1252,1;
+ monster strnpcinfo(2),0,0,"Raydric Archer",1276,5;
+ monster strnpcinfo(2),0,0,"Gryphon",1259,2;
+ monster strnpcinfo(2),0,0,"Chimera",1283,3;
+ monster strnpcinfo(2),0,0,"Alice",1275,1;
+ monster strnpcinfo(2),0,0,"Zealotus",1200,1;
+ // Set Emperium room spawn coordinates and spawn monsters.
+ if (strnpcinfo(2) == "prtg_cas01") { setarray .@emproom[0],197,197; }
+ else if (strnpcinfo(2) == "prtg_cas02") { setarray .@emproom[0],157,174; }
+ else if (strnpcinfo(2) == "prtg_cas03") { setarray .@emproom[0],16,220; }
+ else if (strnpcinfo(2) == "prtg_cas04") { setarray .@emproom[0],291,14; }
+ else if (strnpcinfo(2) == "prtg_cas05") { setarray .@emproom[0],266,266; }
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Guardian Knight",1268,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Guardian Master",1251,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Hatii",1252,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Guardian Knight",1219,1;
+ monster strnpcinfo(2),.@emproom[0],.@emproom[1],"Raydric Archer",1276,5;
+ }
+ // Add custom Guild Castles here.
+ else {
+ end;
+ }
+ donpcevent "Agit#"+strnpcinfo(2)+"::OnStartArena";
+ // Disable Kafra Staff...
+ disablenpc "Kafra Staff#"+strnpcinfo(2);
+ end;
+ }
+ else {
+ // Otherwise place the guild emblem on flags.
+ if (strnpcinfo(2) == "aldeg_cas01") { donpcevent "::OnRecvCastleA01"; }
+ else if (strnpcinfo(2) == "aldeg_cas02") { donpcevent "::OnRecvCastleA02"; }
+ else if (strnpcinfo(2) == "aldeg_cas03") { donpcevent "::OnRecvCastleA03"; }
+ else if (strnpcinfo(2) == "aldeg_cas04") { donpcevent "::OnRecvCastleA04"; }
+ else if (strnpcinfo(2) == "aldeg_cas05") { donpcevent "::OnRecvCastleA05"; }
+ else if (strnpcinfo(2) == "gefg_cas01") { donpcevent "::OnRecvCastleG01"; }
+ else if (strnpcinfo(2) == "gefg_cas02") { donpcevent "::OnRecvCastleG02"; }
+ else if (strnpcinfo(2) == "gefg_cas03") { donpcevent "::OnRecvCastleG03"; }
+ else if (strnpcinfo(2) == "gefg_cas04") { donpcevent "::OnRecvCastleG04"; }
+ else if (strnpcinfo(2) == "gefg_cas05") { donpcevent "::OnRecvCastleG05"; }
+ else if (strnpcinfo(2) == "payg_cas01") { donpcevent "::OnRecvCastlePy01"; }
+ else if (strnpcinfo(2) == "payg_cas02") { donpcevent "::OnRecvCastlePy02"; }
+ else if (strnpcinfo(2) == "payg_cas03") { donpcevent "::OnRecvCastlePy03"; }
+ else if (strnpcinfo(2) == "payg_cas04") { donpcevent "::OnRecvCastlePy04"; }
+ else if (strnpcinfo(2) == "payg_cas05") { donpcevent "::OnRecvCastlePy05"; }
+ else if (strnpcinfo(2) == "prtg_cas01") { donpcevent "::OnRecvCastlePt01"; }
+ else if (strnpcinfo(2) == "prtg_cas02") { donpcevent "::OnRecvCastlePt02"; }
+ else if (strnpcinfo(2) == "prtg_cas03") { donpcevent "::OnRecvCastlePt03"; }
+ else if (strnpcinfo(2) == "prtg_cas04") { donpcevent "::OnRecvCastlePt04"; }
+ else if (strnpcinfo(2) == "prtg_cas05") { donpcevent "::OnRecvCastlePt05"; }
+ // Add custom Guild Castles here.
+ else {
+ end;
+ }
+ // And load purchased Guardian in castles.
+ donpcevent "Guardian#"+strnpcinfo(2)+"::OnSpawnGuardians";
+ // And display Kafra if purchased.
+ if (getcastledata(strnpcinfo(2),9) < 1) disablenpc "Kafra Staff#"+strnpcinfo(2);
+ }
+ end;
+}
+
+// WoE : Guild Kafras
+//============================================================
+- script Kafra Staff#woe::guildkafra -1,{
+
+ .@GID = getcastledata(strnpcinfo(2),1);
+
+ if (compare(strnpcinfo(2),"aldeg")) {
+ setarray .@destination$[0],"Al De Baran","aldebaran";
+ setarray .@coordinates[0],132,103;
+ }
+ else if (compare(strnpcinfo(2),"gefg")) {
+ setarray .@destination$[0],"Geffen","geffen";
+ setarray .@coordinates[0],120,39;
+ }
+ else if (compare(strnpcinfo(2),"payg")) {
+ setarray .@destination$[0],"Payon","payon";
+ setarray .@coordinates[0],70,100;
+ }
+ else if (compare(strnpcinfo(2),"prtg")) {
+ setarray .@destination$[0],"Prontera","prontera";
+ setarray .@coordinates[0],278,211;
+ }
+ // Add custom Guild Castles here.
+ else {
+ end;
+ }
+
+ cutin "kafra_01",2;
+ if (getcharid(2) == .@GID) {
+ mes "[Kafra Employee]";
+ mes "Welcome. ^ff0000" + getguildname(.@GID) + "^000000 Member.";
+ mes "The Kafra Corporation will stay with you wherever you go.";
+ next;
+ switch (select("Use Storage:Use Teleport Service:Rent a Pushcart:Cancel")) {
+ case 1:
+ if (getskilllv("NV_BASIC") < 6) {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you";
+ mes "need the Novice's";
+ mes "Basic Skill Level 6 to";
+ mes "use the Storage Service.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ mes "[Kafra Employee]";
+ mes "Here, let me open";
+ mes "your Storage for you.";
+ mes "Thank you for using";
+ mes "the Kafra Service.";
+ close2;
+ cutin "",255;
+ openstorage;
+ end;
+ case 2:
+ mes "[Kafra Employee]";
+ mes "Please choose";
+ mes "your destination.";
+ next;
+ switch (select(.@destination$+" -> 200z:Cancel")) {
+ case 1:
+ if (Zeny < 200) {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you don't have";
+ mes "enough zeny for the Teleport";
+ mes "Service. The fee to teleport";
+ mes "to "+.@destination$+" is 200 zeny.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ Zeny -= 200;
+ RESRVPTS += 2;
+ close2;
+ warp .@destination$[1],.@coordinates[0],.@coordinates[1];
+ end;
+ case 2:
+ close2;
+ cutin "",255;
+ end;
+ }
+ case 3:
+ if (BaseClass != Job_Merchant) {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but the";
+ mes "Pushcart rental service";
+ mes "is only available to Merchants,";
+ mes "Blacksmiths, Master Smiths,";
+ mes "Alchemists, Biochemists,";
+ mes "Mechanics and Geneticists.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ if (checkcart()) {
+ mes "[Kafra Employee]";
+ mes "You already have";
+ mes "a Pushcart equipped.";
+ mes "Unfortunately, we can't";
+ mes "rent more than one to";
+ mes "each customer at a time.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ mes "[Kafra Employee]";
+ mes "The Pushcart rental";
+ mes "fee is 800 zeny. Would";
+ mes "you like to rent a Pushcart?";
+ next;
+ switch (select("Rent a Pushcart.:Cancel")) {
+ case 1:
+ if (Zeny < 800) {
+ mes "[Kafra Employee]";
+ mes "I'm sorry, but you";
+ mes "don't have enough";
+ mes "zeny to pay the Pushcart";
+ mes "rental fee of 800 zeny.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ RESRVPTS += 8;
+ Zeny -= 800;
+ setcart;
+ close2;
+ cutin "",255;
+ end;
+ case 2:
+ close2;
+ cutin "",255;
+ end;
+ }
+ case 4:
+ mes "[Kafra Employee]";
+ mes "We, here at Kafra Corporation,";
+ mes "are always endeavoring to provide you with the best services. We hope that we meet your adventuring needs and standards of excellence.";
+ close2;
+ cutin "",255;
+ end;
+ }
+ }
+ mes "[Kafra Employee]";
+ mes "I am instructed to only offer my services to the ^ff0000"+getguildname(.@GID)+"^000000 Guild. Please try another Kafra Employee around here. Sorry for the inconvenience.";
+ close2;
+ cutin "",255;
+ end;
+}
+
+// WoE : Castle Managers
+//============================================================
+- script Castle Manager#cm::cm -1,{
+
+ .@GID = getcastledata(strnpcinfo(2),1);
+
+ // .@guardiantype = Defines the types of guardians per castle basis.
+ // 1 - Soldier Guardian, 2 - Archer Guardian, 3 - Knight Guardian
+ // .@guardianposx = Define the x spawn point for each uardian.
+ // [0] = 1st guardian's x spawn point.
+ // .@guardianposy = Define the y spawn point for each guardian.
+ // [0] = 1st guardian's y spawn point.
+ // .@masterroom = Defines the coordinates of the Treasure Room.
+ if (strnpcinfo(2) == "aldeg_cas01") {
+ setarray .@guardiantype[0],1,2,2,2,2,3,3,3;
+ setarray .@guardianposx[0],17,39,38,45,21,218,213,73;
+ setarray .@guardianposy[0],218,208,196,228,194,24,24,70;
+ setarray .@masterroom[0],113,223;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas02") {
+ setarray .@guardiantype[0],3,3,3,1,1,2,2,2;
+ setarray .@guardianposx[0],27,88,117,60,51,21,36,210;
+ setarray .@guardianposy[0],184,43,46,202,183,177,183,7;
+ setarray .@masterroom[0],134,225;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas03") {
+ setarray .@guardiantype[0],3,3,1,1,1,2,2,2;
+ setarray .@guardianposx[0],90,116,86,116,64,212,195,110;
+ setarray .@guardianposy[0],112,112,120,76,103,160,151,217;
+ setarray .@masterroom[0],229,267;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas04") {
+ setarray .@guardiantype[0],2,2,2,1,1,1,3,3;
+ setarray .@guardianposx[0],187,192,148,145,169,198,48,55;
+ setarray .@guardianposy[0],100,42,88,209,53,77,72,88;
+ setarray .@masterroom[0],83,17;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas05") {
+ setarray .@guardiantype[0],2,2,1,1,3,3,3,3;
+ setarray .@guardianposx[0],51,188,157,157,27,145,156,41;
+ setarray .@guardianposy[0],202,79,192,74,221,78,73,112;
+ setarray .@masterroom[0],64,8;
+ }
+ // Geffen (Britoniah) Castles
+ else if (strnpcinfo(2) == "gefg_cas01") {
+ setarray .@guardiantype[0],1,1,1,2,2,3,3,3;
+ setarray .@guardianposx[0],67,184,62,36,50,50,189,200;
+ setarray .@guardianposy[0],179,20,41,186,186,67,41,167;
+ setarray .@masterroom[0],152,117;
+ }
+ else if (strnpcinfo(2) == "gefg_cas02") {
+ setarray .@guardiantype[0],1,1,1,2,2,3,3,3;
+ setarray .@guardianposx[0],64,56,166,35,20,19,166,159;
+ setarray .@guardianposy[0],168,41,25,148,150,41,42,188;
+ setarray .@masterroom[0],145,115;
+ }
+ else if (strnpcinfo(2) == "gefg_cas03") {
+ setarray .@guardiantype[0],2,2,1,1,1,3,3,3;
+ setarray .@guardianposx[0],48,113,48,157,243,157,234,238;
+ setarray .@guardianposy[0],176,214,207,62,41,45,25,160;
+ setarray .@masterroom[0],275,289;
+ }
+ else if (strnpcinfo(2) == "gefg_cas04") {
+ setarray .@guardiantype[0],2,2,1,1,1,3,3,3;
+ setarray .@guardianposx[0],53,31,49,29,147,57,160,148;
+ setarray .@guardianposy[0],191,178,220,46,65,46,50,189;
+ setarray .@masterroom[0],116,123;
+ }
+ else if (strnpcinfo(2) == "gefg_cas05") {
+ setarray .@guardiantype[0],2,2,1,1,1,3,3,3;
+ setarray .@guardianposx[0],45,71,72,66,177,66,177,193;
+ setarray .@guardianposy[0],149,163,142,47,50,17,35,166;
+ setarray .@masterroom[0],149,106;
+ }
+ // Payon (Baulder) Castles
+ else if (strnpcinfo(2) == "payg_cas01") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],229,225,222,99,65,36,51,138;
+ setarray .@guardianposy[0],92,80,111,45,31,127,144,133;
+ setarray .@masterroom[0],295,8;
+ }
+ else if (strnpcinfo(2) == "payg_cas02") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],237,228,210,57,42,287,264,27;
+ setarray .@guardianposy[0],54,72,41,241,241,257,272,20;
+ setarray .@masterroom[0],141,149;
+ }
+ else if (strnpcinfo(2) == "payg_cas03") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],245,269,36,41,39,19,37,268;
+ setarray .@guardianposy[0],37,51,39,39,65,276,277,244;
+ setarray .@masterroom[0],163,167;
+ }
+ else if (strnpcinfo(2) == "payg_cas04") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],251,232,231,32,32,35,36,270;
+ setarray .@guardianposy[0],212,212,175,287,232,45,17,41;
+ setarray .@masterroom[0],151,47;
+ }
+ else if (strnpcinfo(2) == "payg_cas05") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],19,33,266,266,263,263,250,36;
+ setarray .@guardianposy[0],279,260,234,279,37,21,22,36;
+ setarray .@masterroom[0],153,137;
+ }
+ // Prontera (Valkyrie Realms) Castles
+ else if (strnpcinfo(2) == "prtg_cas01") {
+ setarray .@guardiantype[0],1,1,1,2,2,3,3,3;
+ setarray .@guardianposx[0],182,182,153,59,50,184,196,107;
+ setarray .@guardianposy[0],62,116,86,28,36,183,189,179;
+ setarray .@masterroom[0],15,209;
+ }
+ else if (strnpcinfo(2) == "prtg_cas02") {
+ setarray .@guardiantype[0],3,3,3,1,1,2,2,2;
+ setarray .@guardianposx[0],161,153,178,71,49,64,7,75;
+ setarray .@guardianposy[0],161,161,44,75,28,186,196,175;
+ setarray .@masterroom[0],207,229;
+ }
+ else if (strnpcinfo(2) == "prtg_cas03") {
+ setarray .@guardiantype[0],3,3,3,1,1,2,2,2;
+ setarray .@guardianposx[0],191,137,45,50,41,191,179,191;
+ setarray .@guardianposy[0],190,190,99,87,87,42,43,72;
+ setarray .@masterroom[0],190,130;
+ }
+ else if (strnpcinfo(2) == "prtg_cas04") {
+ setarray .@guardiantype[0],3,3,3,1,1,1,2,2;
+ setarray .@guardianposx[0],276,274,246,38,29,33,78,36;
+ setarray .@guardianposy[0],14,35,246,240,240,258,48,61;
+ setarray .@masterroom[0],275,160;
+ }
+ else if (strnpcinfo(2) == "prtg_cas05") {
+ setarray .@guardiantype[0],3,3,3,1,1,1,2,2;
+ setarray .@guardianposx[0],266,287,245,236,251,278,32,44;
+ setarray .@guardianposy[0],262,280,250,63,63,253,253,248;
+ setarray .@masterroom[0],281,176;
+ }
+ // Add custom Guild Castles here.
+ else {
+ end;
+ }
+
+ if (.@GID == 0) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "I have been waiting for a master to fulfill my destiny.";
+ mes "Brave soul... fate will guide you towards your future...";
+ close;
+ }
+ if (getguildmaster(.@GID) != strcharinfo(0)) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "No matter how much you pester me, I'll still follow my master ^ff0000"+getguildmaster(.@GID)+"^000000. Where are the Guardians?! Send these ruffians away right now!";
+ close;
+ }
+ mes "["+strnpcinfo(1)+"]";
+ mes "Welcome. My honorable master, ^ff0000"+strcharinfo(0)+"^000000...";
+ mes "Your humble servent, "+strnpcinfo(1)+", is here to serve you.";
+ next;
+ switch (select("Castle briefing:Invest in commercial growth:Invest in Castle Defenses:Summon Guardian:Hire / Fire a Kafra Employee:Go into Master's room")) {
+ case 1:
+ mes "["+strnpcinfo(1)+"]";
+ mes "I will report the Castle briefing, Master.";
+ mes " ";
+ mes "^0000ffNow, the commercial growth level is "+getcastledata(strnpcinfo(2),2)+".";
+ if (getcastledata(strnpcinfo(2),4)) {
+ mes " You invested "+getcastledata(strnpcinfo(2),4)+" times in past 1 day.";
+ }
+ mes " Now, the Castle Defense level is "+getcastledata(strnpcinfo(2),3)+".^000000";
+ if (getcastledata(strnpcinfo(2),5)) {
+ mes " ^0000ff- You invested "+getcastledata(strnpcinfo(2),5)+" times in past 1 day.^000000";
+ }
+ mes " ";
+ mes "That's all I have to report, Master.";
+ close;
+ case 2:
+ .@Economy = getcastledata(strnpcinfo(2),2);
+ if (.@Economy < 6) { .@eco_invest = 5000; }
+ else if ((.@Economy >= 6) && (.@Economy <= 10)) { .@eco_invest = 10000; }
+ else if ((.@Economy >= 11) && (.@Economy <= 15)) { .@eco_invest = 20000; }
+ else if ((.@Economy >= 16) && (.@Economy <= 20)) { .@eco_invest = 35000; }
+ else if ((.@Economy >= 21) && (.@Economy <= 25)) { .@eco_invest = 55000; }
+ else if ((.@Economy >= 26) && (.@Economy <= 30)) { .@eco_invest = 80000; }
+ else if ((.@Economy >= 31) && (.@Economy <= 35)) { .@eco_invest = 110000; }
+ else if ((.@Economy >= 36) && (.@Economy <= 40)) { .@eco_invest = 145000; }
+ else if ((.@Economy >= 41) && (.@Economy <= 45)) { .@eco_invest = 185000; }
+ else if ((.@Economy >= 46) && (.@Economy <= 50)) { .@eco_invest = 230000; }
+ else if ((.@Economy >= 51) && (.@Economy <= 55)) { .@eco_invest = 280000; }
+ else if ((.@Economy >= 56) && (.@Economy <= 60)) { .@eco_invest = 335000; }
+ else if ((.@Economy >= 61) && (.@Economy <= 65)) { .@eco_invest = 395000; }
+ else if ((.@Economy >= 66) && (.@Economy <= 70)) { .@eco_invest = 460000; }
+ else if ((.@Economy >= 71) && (.@Economy <= 75)) { .@eco_invest = 530000; }
+ else if ((.@Economy >= 76) && (.@Economy <= 80)) { .@eco_invest = 605000; }
+ else if ((.@Economy >= 81) && (.@Economy <= 85)) { .@eco_invest = 685000; }
+ else if ((.@Economy >= 86) && (.@Economy <= 90)) { .@eco_invest = 770000; }
+ else if ((.@Economy >= 91) && (.@Economy <= 95)) { .@eco_invest = 860000; }
+ else if ((.@Economy >= 96) && (.@Economy <= 100)) { .@eco_invest = 955000; }
+ //Quadruple the cost of investing if you've already invested once.
+ if (getcastledata(strnpcinfo(2),4)) {
+ .@eco_invest *= 4;
+ }
+ mes "["+strnpcinfo(1)+"]";
+ mes "If you invest in commercial growth, the quantity of goods made by the guild will increase. Therfore, if you consider our future, investments will be a necessity.";
+ mes " ";
+ mes "Initially, you are able to invest just once but if you pay more money, you will be able to invest twice.";
+ if (.@Economy >= 100) {
+ mes " ";
+ mes "^ff0000The commercial growth level of our Castle is at it's highest, 100%. No more investments are needed. Just as I have expected from a great economist like you, Master.^000000";
+ close;
+ }
+ if (getcastledata(strnpcinfo(2),4) >= 2) {
+ mes " ";
+ mes "^ff0000You have already invested twice today. You cannot invest any more.^000000 I expect riches of the guild to grow at a high rate.";
+ close;
+ }
+ if (getcastledata(strnpcinfo(2),4) == 0) {
+ mes " ";
+ mes "The current investment amount required is ^ff0000"+.@eco_invest+"^000000 zeny. Will you invest?";
+ }
+ else {
+ mes " ";
+ mes "You've invested once today... if you wish to invest once more, ^ff0000"+.@eco_invest+"^000000 more zeny will be needed.";
+ }
+ next;
+ switch (select("Invest in commercial growth:Cancel")) {
+ case 1:
+ if (Zeny < .@eco_invest) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "I'm sorry but there is not enough zeny to invest. You will have to try again when you have the funds, Master.";
+ close;
+ }
+ Zeny -= .@eco_invest;
+ setcastledata strnpcinfo(2),4,getcastledata(strnpcinfo(2),4)+1;
+ mes "[ "+strnpcinfo(1)+"]";
+ mes "We finished the investment safely. I expect that our growth level will be increased by tomorrow.";
+ close;
+ case 2:
+ mes "["+strnpcinfo(1)+"]";
+ mes "I'll do as you bid, my master... There is no hurry. We will do our best.";
+ close;
+ }
+ case 3:
+ .@defence = getcastledata(strnpcinfo(2),3);
+ if (.@defence < 6) { .@def_invest = 10000; }
+ else if ((.@defence >= 6) && (.@defence <= 10)) { .@def_invest = 20000; }
+ else if ((.@defence >= 11) && (.@defence <= 15)) { .@def_invest = 40000; }
+ else if ((.@defence >= 16) && (.@defence <= 20)) { .@def_invest = 70000; }
+ else if ((.@defence >= 21) && (.@defence <= 25)) { .@def_invest = 110000; }
+ else if ((.@defence >= 26) && (.@defence <= 30)) { .@def_invest = 160000; }
+ else if ((.@defence >= 31) && (.@defence <= 35)) { .@def_invest = 220000; }
+ else if ((.@defence >= 36) && (.@defence <= 40)) { .@def_invest = 290000; }
+ else if ((.@defence >= 41) && (.@defence <= 45)) { .@def_invest = 370000; }
+ else if ((.@defence >= 46) && (.@defence <= 50)) { .@def_invest = 460000; }
+ else if ((.@defence >= 51) && (.@defence <= 55)) { .@def_invest = 560000; }
+ else if ((.@defence >= 56) && (.@defence <= 60)) { .@def_invest = 670000; }
+ else if ((.@defence >= 61) && (.@defence <= 65)) { .@def_invest = 790000; }
+ else if ((.@defence >= 66) && (.@defence <= 70)) { .@def_invest = 920000; }
+ else if ((.@defence >= 71) && (.@defence <= 75)) { .@def_invest = 1060000; }
+ else if ((.@defence >= 76) && (.@defence <= 80)) { .@def_invest = 1210000; }
+ else if ((.@defence >= 81) && (.@defence <= 85)) { .@def_invest = 1370000; }
+ else if ((.@defence >= 86) && (.@defence <= 90)) { .@def_invest = 1540000; }
+ else if ((.@defence >= 91) && (.@defence <= 95)) { .@def_invest = 1720000; }
+ else if ((.@defence >= 96) && (.@defence <= 100)) { .@def_invest = 1910000; }
+ //Quadruple the cost of investing if you've already invested once.
+ if (getcastledata(strnpcinfo(2),5)) {
+ .@def_invest *= 4;
+ }
+ mes "["+strnpcinfo(1)+"]";
+ mes "If you raise Castle Defenses, the durability of Guardians and the Emperium will increase. Therefore, if you consider our coming battles, some investment in this area will be required.";
+ mes " ";
+ mes "Originally you can invest just once but if you pay more money, you can invest twice.";
+ if (.@defence >= 100) {
+ mes " ";
+ mes "^ff0000But the Castle Defense level of our Castle is at it's highest, 100%. No more investments are needed. Just as I have expected from a great strategist like you, Master.^000000";
+ close;
+ }
+ if (getcastledata(strnpcinfo(2),5) >= 2) {
+ mes " ";
+ mes "^ff0000You have already invested twice today. You cannot invest any more.^000000 I expect the Defenses of the guild to grow at a high rate.";
+ close;
+ }
+ if (getcastledata(strnpcinfo(2),5) == 0) {
+ mes " ";
+ mes "The current investment amount required is ^ff0000"+.@def_invest+"^000000 zeny. Will you invest?";
+ }
+ else {
+ mes " ";
+ mes "You've invested once today... if you wish to invest once more, ^ff0000"+.@def_invest+"^000000 more zeny will be needed.";
+ }
+ next;
+ switch (select("Invest in Castle Defenses.:Cancel")) {
+ case 1:
+ if (Zeny < .@def_invest) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "I'm sorry but there is not enough zeny to invest. You will have to try again when you have the funds, Master.";
+ close;
+ }
+ Zeny -= .@def_invest;
+ setcastledata strnpcinfo(2),5,getcastledata(strnpcinfo(2),5)+1;
+ mes "[ "+strnpcinfo(1)+"]";
+ mes "We finished the investment safely. I expect that our Castle Defense level will be increased by tomorrow.";
+ close;
+ case 2:
+ mes "["+strnpcinfo(1)+"]";
+ mes "I'll do as you bid, my master... There is no hurry. We will do our best.";
+ close;
+ }
+ case 4:
+ mes "["+strnpcinfo(1)+"]";
+ mes "Will you summon a Guardian? It'll be a protector to defend us loyally.";
+ mes "Please select a guardian to defend us.";
+ next;
+ for (.@i = 0; .@i <= 7; ++.@i) {
+ if (.@guardiantype[.@i] == 1) { .@type$ = "Guardian Soldier"; }
+ else if (.@guardiantype[.@i] == 2) { .@type$ = "Guardian Archer"; }
+ else { .@type$ = "Guardian Knight"; }
+ if (guardianinfo(strnpcinfo(2),.@i,0)) {
+ setarray .@gname$[.@i], .@type$ + " - Implemented (" + guardianinfo(strnpcinfo(2),.@i,2) + "/" + guardianinfo(strnpcinfo(2),.@i,1) + ")";
+ }
+ else {
+ setarray .@gname$[.@i], .@type$ + " - Not Implemented";
+ }
+ }
+ .@menu$ = .@gname$[0]+":"+.@gname$[1]+":"+.@gname$[2]+":"+.@gname$[3]+":"+.@gname$[4]+":"+.@gname$[5]+":"+.@gname$[6]+":"+.@gname$[7];
+ .@GDnum = select(.@menu$)+9;
+ mes "["+strnpcinfo(1)+"]";
+ mes "Will you summon the chosen guardian? 10,000 zeny are required to summon a Guardian.";
+ next;
+ switch (select("Summon:Cancel")) {
+ case 1:
+ if (getgdskilllv(.@GID,10002) == 0) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "Master, we have not the resources to Summon the Guardian. If you want to accumulate them, you have to learn the Guild skill. We failed to summon the Guardian.";
+ close;
+ }
+ if (getcastledata(strnpcinfo(2),.@GDnum) == 1) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "Master, you already have summoned that Guardian. We cannot summon another.";
+ close;
+ }
+ if (Zeny < 10000) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "Well... I'm sorry but we don't have funds to summon the Guardian. We failed to summon the Guardian.";
+ close;
+ }
+ Zeny -= 10000;
+ setcastledata strnpcinfo(2),.@GDnum,1; // mark as 'installed'
+ .@UseGID = .@GDnum - 10;
+ if (.@guardiantype[.@UseGID] == 1) { .@type = 1287; }
+ else if (.@guardiantype[.@UseGID] == 2) { .@type = 1285; }
+ else { .@type = 1286; }
+ guardian strnpcinfo(2),.@guardianposx[.@UseGID],.@guardianposy[.@UseGID],strmobinfo(2,.@type),.@type,"Guardian#"+strnpcinfo(2)+"::OnGuardianDied",.@UseGID;
+ mes "["+strnpcinfo(1)+"]";
+ mes "We completed the summoning of the Guardian. Our defenses are now increased with it in place.";
+ close;
+ case 2:
+ mes "["+strnpcinfo(1)+"]";
+ mes "I did as you ordered. But please remember if you the have money to spare, it'll be better to set it up.";
+ close;
+ }
+ case 5:
+ if (getcastledata(strnpcinfo(2),9) == 1) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "We are currently hiring a Kafra Employee... Do you want to fire the Kafra Employee?";
+ next;
+ switch (select("Fire:Cancel")) {
+ case 1:
+ cutin "kafra_01",2;
+ mes "[ Hired Kafra Employee ]";
+ mes "I worked so hard... How can you do that, Master?... Please... Please reconsider... Check it again, Master... Please...";
+ next;
+ switch (select("Fire:Cancel")) {
+ case 1:
+ mes "[ Hired Kafra Employee ]";
+ mes "Oh, my goodness! This is nonsense!";
+ next;
+ cutin "",255;
+ break;
+ case 2:
+ mes "[ Hired Kafra Employee ]";
+ mes "I'll work hard for you... Thank you!";
+ close;
+ }
+ break;
+ case 2:
+ mes "["+strnpcinfo(1)+"]";
+ mes "She worked hard in my opinion. It was a good decision to keep her.";
+ close;
+ }
+ disablenpc "Kafra Staff#"+strnpcinfo(2);
+ setcastledata strnpcinfo(2),9,0;
+ mes "["+strnpcinfo(1)+"]";
+ mes "....";
+ mes "I have discharged the Kafra Employee... But... are you unsatisfied with something?";
+ close;
+ }
+ mes "["+strnpcinfo(1)+"]";
+ mes "Will you contact the kafra Main Office and Hire a Employee for our Castle?";
+ mes "^ff0000 10,000 zeny is required for their services. ";
+ next;
+ switch (select("Hire.:Cancel")) {
+ case 1:
+ if (getgdskilllv(.@GID,10001) == 0) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "Master, we can't hire a Kafra Employee because we don't have a contract with the Kafra Main Office. If you want to obtain a contract with the Kafra Main Office, you will need to learn the Guild skill first.";
+ close;
+ }
+ if (Zeny < 10000) {
+ mes "["+strnpcinfo(1)+"]";
+ mes "Well... I'm sorry but we don't have enough funds to hire a Kafra Employee.";
+ close;
+ }
+ Zeny -= 10000;
+ enablenpc "Kafra Staff#"+strnpcinfo(2);
+ setcastledata strnpcinfo(2),9,1;
+ mes "["+strnpcinfo(1)+"]";
+ mes "We obtained a contract with the kafra Main Office, and hired a Kafra Employee.";
+ next;
+ cutin "kafra_01",2;
+ mes "[ Hired Kafra Employee ]";
+ mes "How do you do? I was dispatched from the Main Office.";
+ mes "I'll do my best to not tarnish the reputation of the Guild.";
+ next;
+ cutin "",255;
+ mes "["+strnpcinfo(1)+"]";
+ mes "The Contract terms of the hired Kafra Employee are for 1 month and after this term, you will need to to pay an additional fee.";
+ mes "It will be useful for our members.";
+ close;
+ case 2:
+ mes "["+strnpcinfo(1)+"]";
+ mes "I did as you ordered, but some of our members will be unhappy. It will be better to hire a Kafra Employee quickly.";
+ close;
+ }
+ case 6:
+ mes "["+strnpcinfo(1)+"]";
+ mes "Do you want to visit the room where our valuables are stored?";
+ mes "That room is restricted to you... you are the only one with access to it.";
+ next;
+ switch (select("Go into Master's room.:Cancel")) {
+ case 1:
+ mes "["+strnpcinfo(1)+"]";
+ mes "I'll show you the secret path. Follow me...please.";
+ mes "When you want to return here, please press the secret switch.";
+ close2;
+ warp strnpcinfo(2),.@masterroom[0],.@masterroom[1];
+ end;
+ case 2:
+ mes "["+strnpcinfo(1)+"]";
+ mes "Goods are produced once a day... if you don't remove them in time, they will not be produced anymore.";
+ mes "Therefore, it will be better if you check up on them from time to time.";
+ close;
+ }
+ }
+}
+
+// WoE : Guild Dungeon Entrances
+//============================================================
+- script Lever#gd::gdlever -1,{
+
+ .@GID = getcastledata(strnpcinfo(2),1);
+
+ if (.@GID == 0) {
+ mes "[Ringing Voice]";
+ mes "'Those who overcome an ordeal shows a great deal of bravery... and will find their way to another ordeal.'";
+ close;
+ }
+
+ if (compare(strnpcinfo(2),"aldeg")) {
+ .@destination$ = "gld_dun02";
+ if (compare(strnpcinfo(2),"cas01")) setarray .@coordinates[0],32,122;
+ else if (compare(strnpcinfo(2),"cas02")) setarray .@coordinates[0],79,30;
+ else if (compare(strnpcinfo(2),"cas03")) setarray .@coordinates[0],165,38;
+ else if (compare(strnpcinfo(2),"cas04")) setarray .@coordinates[0],160,148;
+ else if (compare(strnpcinfo(2),"cas05")) setarray .@coordinates[0],103,169;
+ }
+ else if (compare(strnpcinfo(2),"gefg")) {
+ .@destination$ = "gld_dun04";
+ if (compare(strnpcinfo(2),"cas01")) setarray .@coordinates[0],39,258;
+ else if (compare(strnpcinfo(2),"cas02")) setarray .@coordinates[0],125,270;
+ else if (compare(strnpcinfo(2),"cas03")) setarray .@coordinates[0],268,251;
+ else if (compare(strnpcinfo(2),"cas04")) setarray .@coordinates[0],268,108;
+ else if (compare(strnpcinfo(2),"cas05")) setarray .@coordinates[0],230,35;
+ }
+ else if (compare(strnpcinfo(2),"payg")) {
+ .@destination$ = "gld_dun01";
+ if (compare(strnpcinfo(2),"cas01")) setarray .@coordinates[0],186,165;
+ else if (compare(strnpcinfo(2),"cas02")) setarray .@coordinates[0],54,165;
+ else if (compare(strnpcinfo(2),"cas03")) setarray .@coordinates[0],54,39;
+ else if (compare(strnpcinfo(2),"cas04")) setarray .@coordinates[0],186,39;
+ else if (compare(strnpcinfo(2),"cas05")) setarray .@coordinates[0],223,202;
+ }
+ else if (compare(strnpcinfo(2),"prtg")) {
+ .@destination$ = "gld_dun03";
+ if (compare(strnpcinfo(2),"cas01")) setarray .@coordinates[0],28,251;
+ else if (compare(strnpcinfo(2),"cas02")) setarray .@coordinates[0],164,268;
+ else if (compare(strnpcinfo(2),"cas03")) setarray .@coordinates[0],164,179;
+ else if (compare(strnpcinfo(2),"cas04")) setarray .@coordinates[0],268,203;
+ else if (compare(strnpcinfo(2),"cas05")) setarray .@coordinates[0],199,28;
+ }
+ // Add custom Guild Castles here.
+ else {
+ end;
+ }
+
+ mes "[Ringing Voice]";
+ mes "'Only the truly brave can take the test.'";
+ next;
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Don't pull.") == 1) {
+ if (getcharid(2) == .@GID) {
+ close2;
+ warp .@destination$,.@coordinates[0],.@coordinates[1];
+ end;
+ }
+ mes " ";
+ mes "Nothing happened.";
+ close;
+ }
+ close;
+}
+
+// Guardian Spawner Template
+//============================================================
+- script Gld_Guard_Template::Gld_Guard_Template -1,{
+// Spawn Guardians in castles
+// When adding new castles, ensure that the coordinates coincide
+// with the coordinates defined in the Guild Steward template.
+OnSpawnGuardians:
+ // Define the types of guardians on a per castle basis.
+ // 1 - Soldier Guardian; 2 - Archer Guardian; 3 - Knight Guardian
+ // Define the x spawn point for each uardian.
+ // [0] = 1st guardian's x spawn point.
+ // Define the y spawn point for each uardian.
+ // [0] = 1st guardian's y spawn point.
+ // Aldebaran (Luina) Castles
+ if (strnpcinfo(2) == "aldeg_cas01") {
+ setarray .@guardiantype[0],1,2,2,2,2,3,3,3;
+ setarray .@guardianposx[0],17,39,38,45,21,218,213,73;
+ setarray .@guardianposy[0],218,208,196,228,194,24,24,70;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas02") {
+ setarray .@guardiantype[0],3,3,3,1,1,2,2,2;
+ setarray .@guardianposx[0],27,88,117,60,51,21,36,210;
+ setarray .@guardianposy[0],184,43,46,202,183,177,183,7;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas03") {
+ setarray .@guardiantype[0],3,3,1,1,1,2,2,2;
+ setarray .@guardianposx[0],90,116,86,116,64,212,195,110;
+ setarray .@guardianposy[0],112,112,120,76,103,160,151,217;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas04") {
+ setarray .@guardiantype[0],2,2,2,1,1,1,3,3;
+ setarray .@guardianposx[0],187,192,148,145,169,198,48,55;
+ setarray .@guardianposy[0],100,42,88,209,53,77,72,88;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas05") {
+ setarray .@guardiantype[0],2,2,1,1,3,3,3,3;
+ setarray .@guardianposx[0],51,188,157,157,27,145,156,41;
+ setarray .@guardianposy[0],202,79,192,74,221,78,73,112;
+ }
+ // Geffen (Britoniah) Castles
+ else if (strnpcinfo(2) == "gefg_cas01") {
+ setarray .@guardiantype[0],1,1,1,2,2,3,3,3;
+ setarray .@guardianposx[0],67,184,62,36,50,50,189,200;
+ setarray .@guardianposy[0],179,20,41,186,186,67,41,167;
+ }
+ else if (strnpcinfo(2) == "gefg_cas02") {
+ setarray .@guardiantype[0],1,1,1,2,2,3,3,3;
+ setarray .@guardianposx[0],64,56,166,35,20,19,166,159;
+ setarray .@guardianposy[0],168,41,25,148,150,41,42,188;
+ }
+ else if (strnpcinfo(2) == "gefg_cas03") {
+ setarray .@guardiantype[0],2,2,1,1,1,3,3,3;
+ setarray .@guardianposx[0],48,113,48,157,243,157,234,238;
+ setarray .@guardianposy[0],176,214,207,62,41,45,25,160;
+ }
+ else if (strnpcinfo(2) == "gefg_cas04") {
+ setarray .@guardiantype[0],2,2,1,1,1,3,3,3;
+ setarray .@guardianposx[0],53,31,49,29,147,57,160,148;
+ setarray .@guardianposy[0],191,178,220,46,65,46,50,189;
+ }
+ else if (strnpcinfo(2) == "gefg_cas05") {
+ setarray .@guardiantype[0],2,2,1,1,1,3,3,3;
+ setarray .@guardianposx[0],45,71,72,66,177,66,177,193;
+ setarray .@guardianposy[0],149,163,142,47,50,17,35,166;
+ }
+ // Payon (Baulder) Castles
+ else if (strnpcinfo(2) == "payg_cas01") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],229,225,222,99,65,36,51,138;
+ setarray .@guardianposy[0],92,80,111,45,31,127,144,133;
+ }
+ else if (strnpcinfo(2) == "payg_cas02") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],237,228,210,57,42,287,264,27;
+ setarray .@guardianposy[0],54,72,41,241,241,257,272,20;
+ }
+ else if (strnpcinfo(2) == "payg_cas03") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],245,269,36,41,39,19,37,268;
+ setarray .@guardianposy[0],37,51,39,39,65,276,277,244;
+ }
+ else if (strnpcinfo(2) == "payg_cas04") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],251,232,231,32,32,35,36,270;
+ setarray .@guardianposy[0],212,212,175,287,232,45,17,41;
+ }
+ else if (strnpcinfo(2) == "payg_cas05") {
+ setarray .@guardiantype[0],2,2,2,2,2,2,2,3;
+ setarray .@guardianposx[0],19,33,266,266,263,263,250,36;
+ setarray .@guardianposy[0],279,260,234,279,37,21,22,36;
+ }
+ // Prontera (Valkyrie Realms) Castles
+ else if (strnpcinfo(2) == "prtg_cas01") {
+ setarray .@guardiantype[0],1,1,1,2,2,3,3,3;
+ setarray .@guardianposx[0],182,182,153,59,50,184,196,107;
+ setarray .@guardianposy[0],62,116,86,28,36,183,189,179;
+ }
+ else if (strnpcinfo(2) == "prtg_cas02") {
+ setarray .@guardiantype[0],3,3,3,1,1,2,2,2;
+ setarray .@guardianposx[0],161,153,178,71,49,64,7,75;
+ setarray .@guardianposy[0],161,161,44,75,28,186,196,175;
+ }
+ else if (strnpcinfo(2) == "prtg_cas03") {
+ setarray .@guardiantype[0],3,3,3,1,1,2,2,2;
+ setarray .@guardianposx[0],191,137,45,50,41,191,179,191;
+ setarray .@guardianposy[0],190,190,99,87,87,42,43,72;
+ }
+ else if (strnpcinfo(2) == "prtg_cas04") {
+ setarray .@guardiantype[0],3,3,3,1,1,1,2,2;
+ setarray .@guardianposx[0],276,274,246,38,29,33,78,36;
+ setarray .@guardianposy[0],14,35,246,240,240,258,48,61;
+ }
+ else if (strnpcinfo(2) == "prtg_cas05") {
+ setarray .@guardiantype[0],3,3,3,1,1,1,2,2;
+ setarray .@guardianposx[0],266,287,245,236,251,278,32,44;
+ setarray .@guardianposy[0],262,280,250,63,63,253,253,248;
+ }
+ // Add custom Guild Castles here.
+ else {
+ end;
+ }
+
+ // Kill all existing guardians before spawning new ones.
+ // This should prevent duplicating Guardians when char Server disconnects.
+ killmonster strnpcinfo(2),strnpcinfo(0)+"::OnGuardianDied";
+
+ for (.@i = 0; .@i <= 7; ++.@i) {
+ .@UseGID = .@i + 10;
+ if (.@guardiantype[.@i] == 1) { .@type = 1287; }
+ else if (.@guardiantype[.@i] == 2) { .@type = 1285; }
+ else { .@type = 1286; }
+ if (getcastledata(strnpcinfo(2),.@UseGID)) {
+ guardian strnpcinfo(2),.@guardianposx[.@i],.@guardianposy[.@i],strmobinfo(2,.@type),.@type,"Guardian#"+strnpcinfo(2)+"::OnGuardianDied",.@i;
+ }
+ }
+ end;
+
+OnGuardianDied:
+ end;
+}
+
+// Treasure Room Spawn Template
+//============================================================
+- script Gld_Trea_Spawn::Gld_Trea_Spawn -1,{
+ end;
+
+OnClock0001:
+ // Do nothing if this script is the template.
+ if (strnpcinfo(1) == "Gld_Trea_Spawn") end;
+
+ .@GID = getcastledata(strnpcinfo(2),1);
+
+ // If there is no owner, do nothing.
+ if (!.@GID) end;
+
+ // Is there Economy in this castle?
+ .@Treasure = getcastledata(strnpcinfo(2),2)/5+4;
+
+ // Set information
+ if (strnpcinfo(2) == "aldeg_cas01") {
+ .@treasurebox = 1324;
+ setarray .@treasurex[0],115,122,115,122,116,117,118,119,120,121,121,121,121,121,121,120,119,118,117,116,116,116,116,116;
+ setarray .@treasurey[0],226,226,219,219,225,225,225,225,225,225,224,223,222,221,220,220,220,220,220,220,221,222,223,224;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas02") {
+ .@treasurebox = 1326;
+ setarray .@treasurex[0],134,135,135,134,132,133,134,135,136,137,137,137,137,137,137,136,135,134,133,132,132,132,132,132;
+ setarray .@treasurey[0],231,231,230,230,233,233,233,233,233,233,232,231,230,229,228,228,228,228,228,228,229,230,231,232;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas03") {
+ .@treasurebox = 1328;
+ setarray .@treasurex[0],224,225,225,224,222,223,224,225,226,227,227,227,227,227,227,226,225,224,223,222,222,222,222,222;
+ setarray .@treasurey[0],269,269,268,268,271,271,271,271,271,271,270,269,268,267,266,266,266,266,266,266,267,268,269,270;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas04") {
+ .@treasurebox = 1330;
+ setarray .@treasurex[0],84,85,85,84,82,83,84,85,86,87,87,87,87,87,87,86,85,84,83,82,82,82,82,82;
+ setarray .@treasurey[0],13,13,12,12,15,15,15,15,15,15,14,13,12,11,10,10,10,10,10,10,11,12,13,14;
+ }
+ else if (strnpcinfo(2) == "aldeg_cas05") {
+ .@treasurebox = 1332;
+ setarray .@treasurex[0],61,62,62,61,59,60,61,62,63,64,64,64,64,64,64,63,62,61,60,59,59,59,59,59;
+ setarray .@treasurey[0],12,12,11,11,14,14,14,14,14,14,13,12,11,10,9,9,9,9,9,9,10,11,12,13;
+ }
+ else if (strnpcinfo(2) == "gefg_cas01") {
+ .@treasurebox = 1334;
+ setarray .@treasurex[0],153,154,154,153,151,152,153,154,155,156,156,156,156,156,156,155,154,153,152,151,151,151,151,151;
+ setarray .@treasurey[0],113,113,112,112,115,115,115,115,115,115,114,113,112,111,110,110,110,110,110,110,111,112,113,114;
+ }
+ else if (strnpcinfo(2) == "gefg_cas02") {
+ .@treasurebox = 1336;
+ setarray .@treasurex[0],139,140,140,139,137,138,139,140,141,142,142,142,142,142,142,141,140,139,138,137,137,137,137,137;
+ setarray .@treasurey[0],115,115,114,114,117,117,117,117,117,117,116,115,114,113,112,112,112,112,112,112,113,114,115,116;
+ }
+ else if (strnpcinfo(2) == "gefg_cas03") {
+ .@treasurebox = 1338;
+ setarray .@treasurex[0],269,270,270,269,267,268,269,270,271,272,272,272,272,272,272,271,270,269,268,267,267,267,267,267;
+ setarray .@treasurey[0],291,291,290,290,293,293,293,293,293,293,292,291,290,289,288,288,288,288,288,288,289,290,291,292;
+ }
+ else if (strnpcinfo(2) == "gefg_cas04") {
+ .@treasurebox = 1340;
+ setarray .@treasurex[0],115,116,116,115,113,114,115,116,117,118,118,118,118,118,118,117,116,115,114,113,113,113,113,113;
+ setarray .@treasurey[0],119,119,118,118,121,121,121,121,121,121,120,119,118,117,116,116,116,116,116,116,117,118,119,120;
+ }
+ else if (strnpcinfo(2) == "gefg_cas05") {
+ .@treasurebox = 1342;
+ setarray .@treasurex[0],143,144,144,143,141,142,143,144,145,146,146,146,146,146,146,145,144,143,142,141,141,141,141,141;
+ setarray .@treasurey[0],110,110,109,109,112,112,112,112,112,112,111,110,109,108,107,107,107,107,107,107,108,109,110,111;
+ }
+ else if (strnpcinfo(2) == "payg_cas01") {
+ .@treasurebox = 1344;
+ setarray .@treasurex[0],289,292,292,289,288,289,290,291,292,293,293,293,293,293,293,292,291,290,289,288,288,288,288,288;
+ setarray .@treasurey[0],10,10,7,7,11,11,11,11,11,11,10,9,8,7,6,6,6,6,6,6,7,8,9,10;
+ }
+ else if (strnpcinfo(2) == "payg_cas02") {
+ .@treasurebox = 1346;
+ setarray .@treasurex[0],143,146,146,143,142,143,144,145,146,147,147,147,147,147,147,146,145,144,143,142,142,142,142,142;
+ setarray .@treasurey[0],146,146,143,143,147,147,147,147,147,147,146,145,144,143,142,142,142,142,142,142,143,144,145,146;
+ }
+ else if (strnpcinfo(2) == "payg_cas03") {
+ .@treasurebox = 1348;
+ setarray .@treasurex[0],158,159,159,158,156,157,158,159,160,161,161,161,161,161,161,160,159,158,157,156,156,156,156,156;
+ setarray .@treasurey[0],169,169,168,168,171,171,171,171,171,171,170,169,168,167,166,166,166,166,166,166,167,168,169,170;
+ }
+ else if (strnpcinfo(2) == "payg_cas04") {
+ .@treasurebox = 1350;
+ setarray .@treasurex[0],146,147,147,146,144,145,146,147,148,149,149,149,149,149,149,148,147,146,145,144,144,144,144,144;
+ setarray .@treasurey[0],48,48,47,47,50,50,50,50,50,50,49,48,47,46,45,45,45,45,45,45,46,47,48,49;
+ }
+ else if (strnpcinfo(2) == "payg_cas05") {
+ .@treasurebox = 1352;
+ setarray .@treasurex[0],155,158,158,155,154,155,156,157,158,159,159,159,159,159,159,158,157,156,155,154,154,154,154,154;
+ setarray .@treasurey[0],134,134,131,131,135,135,135,135,135,135,134,133,132,131,130,130,130,130,130,130,131,132,133,134;
+ }
+ else if (strnpcinfo(2) == "prtg_cas01") {
+ .@treasurebox = 1354;
+ setarray .@treasurex[0],10,11,11,10,8,9,10,11,12,13,13,13,13,13,13,12,11,10,9,8,8,8,8,8;
+ setarray .@treasurey[0],209,209,208,208,211,211,211,211,211,211,210,209,208,207,206,206,206,206,206,206,207,208,209,210;
+ }
+ else if (strnpcinfo(2) == "prtg_cas02") {
+ .@treasurebox = 1356;
+ setarray .@treasurex[0],201,202,202,201,199,200,201,202,203,204,204,204,204,204,204,203,202,201,200,199,199,199,199,199;
+ setarray .@treasurey[0],228,228,227,227,230,230,230,230,230,230,229,228,227,226,225,225,225,225,225,225,226,227,228,229;
+ }
+ else if (strnpcinfo(2) == "prtg_cas03") {
+ .@treasurebox = 1358;
+ setarray .@treasurex[0],187,188,188,187,185,186,187,188,189,190,190,190,190,190,190,189,188,187,186,185,185,185,185,185;
+ setarray .@treasurey[0],132,132,131,131,134,134,134,134,134,134,133,132,131,130,129,129,129,129,129,129,130,131,132,133;
+ }
+ else if (strnpcinfo(2) == "prtg_cas04") {
+ .@treasurebox = 1360;
+ setarray .@treasurex[0],269,270,270,269,267,268,269,270,271,272,272,272,272,272,272,271,270,269,268,267,267,267,267,267;
+ setarray .@treasurey[0],162,162,161,161,164,164,164,164,164,164,163,162,161,160,159,159,159,159,159,159,160,161,162,163;
+ }
+ else if (strnpcinfo(2) == "prtg_cas05") {
+ .@treasurebox = 1362;
+ setarray .@treasurex[0],275,276,276,275,273,274,275,276,277,278,278,278,278,278,278,277,276,275,274,273,273,273,273,273;
+ setarray .@treasurey[0],178,178,177,177,180,180,180,180,180,180,179,178,177,176,175,175,175,175,175,175,176,177,178,179;
+ }
+ // Add custom Guild Castles here.
+ else {
+ end;
+ }
+
+ // Apply investment to Eco. and Def. Only happens if there were investments made.
+ // Permanent Development can only happen once per day.
+ if (getcastledata(strnpcinfo(2),4)) {
+ .@Economy = getcastledata(strnpcinfo(2),2);
+ setcastledata strnpcinfo(2),2,.@Economy + getcastledata(strnpcinfo(2),4) + (rand(2) && getgdskilllv(.@GID,10014));
+ if (getcastledata(strnpcinfo(2),2) > 100) setcastledata strnpcinfo(2),2,100;
+ }
+ if (getcastledata(strnpcinfo(2),5)) {
+ .@defence = getcastledata(strnpcinfo(2),3);
+ setcastledata strnpcinfo(2),3,.@defence + getcastledata(strnpcinfo(2),5);
+ if (getcastledata(strnpcinfo(2),3) > 100) setcastledata strnpcinfo(2),3,100;
+ }
+ // Reset daily investment limits.
+ setcastledata strnpcinfo(2),4,0;
+ setcastledata strnpcinfo(2),5,0;
+
+ // Spawn boxes in proper order.
+ for (.@i = 0; .@i < .@Treasure ; ++.@i) {
+ // set treasure box ID
+ .@boxid = .@treasurebox + (.@i+2) % 2;
+ .@box = 1 << .@i;
+ // Spawn or do not spawn chests if one already exists.
+ if ((getd("$@"+strnpcinfo(2)+"_treasure") & .@box) == 0) {
+ monster strnpcinfo(2),.@treasurex[.@i],.@treasurey[.@i],"Treasure Chest",.@boxid,1,"Treasure#"+strnpcinfo(2)+"::OnTreasureDied"+.@i;
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") | .@box;
+ }
+ }
+ end;
+
+// Individual "You killed a chest" events to ensure proper spawning at the change of day.
+OnTreasureDied0:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~1;
+ end;
+OnTreasureDied1:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~2;
+ end;
+OnTreasureDied2:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~4;
+ end;
+OnTreasureDied3:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~8;
+ end;
+OnTreasureDied4:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~16;
+ end;
+OnTreasureDied5:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~32;
+ end;
+OnTreasureDied6:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~64;
+ end;
+OnTreasureDied7:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~128;
+ end;
+OnTreasureDied8:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~256;
+ end;
+OnTreasureDied9:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~512;
+ end;
+OnTreasureDied10:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~1024;
+ end;
+OnTreasureDied11:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~2048;
+ end;
+OnTreasureDied12:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~4096;
+ end;
+OnTreasureDied13:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~8192;
+ end;
+OnTreasureDied14:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~16384;
+ end;
+OnTreasureDied15:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~32768;
+ end;
+OnTreasureDied16:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~65536;
+ end;
+OnTreasureDied17:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~131072;
+ end;
+OnTreasureDied18:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~262144;
+ end;
+OnTreasureDied19:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~524288;
+ end;
+OnTreasureDied20:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~1048576;
+ end;
+OnTreasureDied21:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~2097152;
+ end;
+OnTreasureDied22:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~4194304;
+ end;
+OnTreasureDied23:
+ setd "$@"+strnpcinfo(2)+"_treasure",getd("$@"+strnpcinfo(2)+"_treasure") & ~8388608;
+ end;
+}
diff --git a/npc/woe-fe/aldeg_cas01.txt b/npc/woe-fe/aldeg_cas01.txt
new file mode 100644
index 000000000..e72b121c5
--- /dev/null
+++ b/npc/woe-fe/aldeg_cas01.txt
@@ -0,0 +1,142 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Al De Baran)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Al De Baran Guild Castle 1
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Neuschwanstein#1::OutsideFlagsA1 GUILD_FLAG,{
+
+ .@GID = getcastledata("aldeg_cas01",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("aldeg_cas01",1)) {
+ warp "aldeg_cas01",218,170;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleA01:
+ flagemblem getcastledata("aldeg_cas01",1);
+ end;
+}
+
+alde_gld,61,87,6 duplicate(OutsideFlagsA1) Neuschwanstein#1-2 GUILD_FLAG
+alde_gld,61,79,6 duplicate(OutsideFlagsA1) Neuschwanstein#2 GUILD_FLAG
+alde_gld,45,87,8 duplicate(OutsideFlagsA1) Neuschwanstein#3 GUILD_FLAG
+alde_gld,51,87,8 duplicate(OutsideFlagsA1) Neuschwanstein#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Neuschwanstein#5::InsideFlagsA1 GUILD_FLAG,{
+ end;
+
+OnRecvCastleA01:
+ flagemblem getcastledata("aldeg_cas01",1);
+ end;
+}
+
+aldeg_cas01,30,248,4 duplicate(InsideFlagsA1) Neuschwanstein#5-2 GUILD_FLAG
+aldeg_cas01,30,248,4 duplicate(InsideFlagsA1) Neuschwanstein#6 GUILD_FLAG
+aldeg_cas01,37,248,4 duplicate(InsideFlagsA1) Neuschwanstein#7 GUILD_FLAG
+aldeg_cas01,37,246,4 duplicate(InsideFlagsA1) Neuschwanstein#8 GUILD_FLAG
+aldeg_cas01,30,246,4 duplicate(InsideFlagsA1) Neuschwanstein#9 GUILD_FLAG
+aldeg_cas01,95,80,2 duplicate(InsideFlagsA1) Neuschwanstein#10 GUILD_FLAG
+aldeg_cas01,95,59,2 duplicate(InsideFlagsA1) Neuschwanstein#11 GUILD_FLAG
+aldeg_cas01,62,75,2 duplicate(InsideFlagsA1) Neuschwanstein#12 GUILD_FLAG
+aldeg_cas01,66,75,2 duplicate(InsideFlagsA1) Neuschwanstein#13 GUILD_FLAG
+aldeg_cas01,70,75,2 duplicate(InsideFlagsA1) Neuschwanstein#14 GUILD_FLAG
+aldeg_cas01,74,75,2 duplicate(InsideFlagsA1) Neuschwanstein#15 GUILD_FLAG
+aldeg_cas01,62,64,2 duplicate(InsideFlagsA1) Neuschwanstein#16 GUILD_FLAG
+aldeg_cas01,66,64,2 duplicate(InsideFlagsA1) Neuschwanstein#17 GUILD_FLAG
+aldeg_cas01,70,64,2 duplicate(InsideFlagsA1) Neuschwanstein#18 GUILD_FLAG
+aldeg_cas01,74,64,2 duplicate(InsideFlagsA1) Neuschwanstein#19 GUILD_FLAG
+aldeg_cas01,74,64,2 duplicate(InsideFlagsA1) Neuschwanstein#20 GUILD_FLAG
+aldeg_cas01,203,150,4 duplicate(InsideFlagsA1) Neuschwanstein#21 GUILD_FLAG
+aldeg_cas01,210,150,4 duplicate(InsideFlagsA1) Neuschwanstein#22 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+aldebaran,152,97,4 duplicate(InsideFlagsA1) Neuschwanstein#23 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+aldeg_cas01,218,170,0 duplicate(guildkafra) Kafra Staff#aldeg_cas01 4_F_KAFRA1
+
+// Steward
+//============================================================
+aldeg_cas01,218,175,0 duplicate(cm) Alfredo#aldeg_cas01 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+aldeg_cas01,123,223,0 script #lever_A01 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "aldeg_cas01",218,176;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+aldeg_cas01,211,181,0 duplicate(gdlever) #aldeg_cas01 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+aldeg_cas01,118,223,0 duplicate(Gld_Trea_Spawn) Treasure#aldeg_cas01 -1
+
+// AGIT Manager
+//============================================================
+aldeg_cas01,216,24,0 duplicate(Gld_Agit_Manager) Agit#aldeg_cas01 -1
+
+// Guardians
+//============================================================
+aldeg_cas01,218,175,0 duplicate(Gld_Guard_Template) Guardian#aldeg_cas01 -1
diff --git a/npc/woe-fe/aldeg_cas02.txt b/npc/woe-fe/aldeg_cas02.txt
new file mode 100644
index 000000000..938e511da
--- /dev/null
+++ b/npc/woe-fe/aldeg_cas02.txt
@@ -0,0 +1,136 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Al De Baran)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Al De Baran Guild Castle 2
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Hohenschwangau#1::OutsideFlagsA2 GUILD_FLAG,{
+
+ .@GID = getcastledata("aldeg_cas02",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("aldeg_cas02",1)) {
+ warp "aldeg_cas02",220,190;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleA02:
+ flagemblem getcastledata("aldeg_cas02",1);
+ end;
+}
+
+alde_gld,99,251,4 duplicate(OutsideFlagsA2) Hohenschwangau#1-2 GUILD_FLAG
+alde_gld,99,244,4 duplicate(OutsideFlagsA2) Hohenschwangau#2 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Hohenschwangau#3::InsideFlagsA2 GUILD_FLAG,{
+ end;
+
+OnRecvCastleA02:
+ flagemblem getcastledata("aldeg_cas02",1);
+ end;
+}
+
+aldeg_cas02,82,71,2 duplicate(InsideFlagsA2) Hohenschwangau#3-2 GUILD_FLAG
+aldeg_cas02,67,30,2 duplicate(InsideFlagsA2) Hohenschwangau#4 GUILD_FLAG
+aldeg_cas02,183,140,2 duplicate(InsideFlagsA2) Hohenschwangau#5 GUILD_FLAG
+aldeg_cas02,212,152,2 duplicate(InsideFlagsA2) Hohenschwangau#6 GUILD_FLAG
+aldeg_cas02,108,39,2 duplicate(InsideFlagsA2) Hohenschwangau#7 GUILD_FLAG
+aldeg_cas02,57,213,2 duplicate(InsideFlagsA2) Hohenschwangau#8 GUILD_FLAG
+aldeg_cas02,103,53,2 duplicate(InsideFlagsA2) Hohenschwangau#9 GUILD_FLAG
+aldeg_cas02,73,53,2 duplicate(InsideFlagsA2) Hohenschwangau#10 GUILD_FLAG
+aldeg_cas02,63,41,2 duplicate(InsideFlagsA2) Hohenschwangau#11 GUILD_FLAG
+aldeg_cas02,229,6,2 duplicate(InsideFlagsA2) Hohenschwangau#12 GUILD_FLAG
+aldeg_cas02,230,40,2 duplicate(InsideFlagsA2) Hohenschwangau#13 GUILD_FLAG
+aldeg_cas02,197,40,2 duplicate(InsideFlagsA2) Hohenschwangau#14 GUILD_FLAG
+aldeg_cas02,32,213,2 duplicate(InsideFlagsA2) Hohenschwangau#15 GUILD_FLAG
+aldeg_cas02,121,29,2 duplicate(InsideFlagsA2) Hohenschwangau#16 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+aldebaran,149,97,4 duplicate(InsideFlagsA2) Hohenschwangau#17 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+aldeg_cas02,84,74,0 duplicate(guildkafra) Kafra Staff#aldeg_cas02 4_F_KAFRA1
+
+// Steward
+//============================================================
+aldeg_cas02,78,74,0 duplicate(cm) Chenchenlie#aldeg_cas02 1_M_JOBTESTER
+
+// Treasure Room Lever
+//============================================================
+aldeg_cas02,139,234,0 script #lever_A02 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "aldeg_cas02",78,75;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Lever
+//============================================================
+aldeg_cas02,194,136,0 duplicate(gdlever) #aldeg_cas02 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+aldeg_cas02,135,230,0 duplicate(Gld_Trea_Spawn) Treasure#aldeg_cas02 -1
+
+// AGIT Manager
+//============================================================
+aldeg_cas02,214,24,0 duplicate(Gld_Agit_Manager) Agit#aldeg_cas02 -1
+
+// Guardians
+//============================================================
+aldeg_cas02,78,74,0 duplicate(Gld_Guard_Template) Guardian#aldeg_cas02 -1
diff --git a/npc/woe-fe/aldeg_cas03.txt b/npc/woe-fe/aldeg_cas03.txt
new file mode 100644
index 000000000..c595a8681
--- /dev/null
+++ b/npc/woe-fe/aldeg_cas03.txt
@@ -0,0 +1,139 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Al De Baran)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Al De Baran Guild Castle 3
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flag (Outside Castle)
+//============================================================
+- script Nuernberg#1::OutsideFlagsA3 GUILD_FLAG,{
+
+ .@GID = getcastledata("aldeg_cas03",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("aldeg_cas03",1)) {
+ warp "aldeg_cas03",205,186;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleA03:
+ flagemblem getcastledata("aldeg_cas03",1);
+ end;
+}
+
+alde_gld,146,82,8 duplicate(OutsideFlagsA3) Nuernberg#1-2 GUILD_FLAG
+alde_gld,138,82,8 duplicate(OutsideFlagsA3) Nuernberg#2 GUILD_FLAG
+
+// Guild Flag (Inside Castle)
+//============================================================
+- script Nuernberg#3::InsideFlagsA3 GUILD_FLAG,{
+ end;
+
+OnRecvCastleA03:
+ flagemblem getcastledata("aldeg_cas03",1);
+ end;
+}
+
+aldeg_cas03,176,175,2 duplicate(InsideFlagsA3) Nuernberg#3-2 GUILD_FLAG
+aldeg_cas03,77,115,2 duplicate(InsideFlagsA3) Nuernberg#4 GUILD_FLAG
+aldeg_cas03,77,215,2 duplicate(InsideFlagsA3) Nuernberg#5 GUILD_FLAG
+aldeg_cas03,112,107,2 duplicate(InsideFlagsA3) Nuernberg#6 GUILD_FLAG
+aldeg_cas03,112,117,2 duplicate(InsideFlagsA3) Nuernberg#7 GUILD_FLAG
+aldeg_cas03,69,71,2 duplicate(InsideFlagsA3) Nuernberg#8 GUILD_FLAG
+aldeg_cas03,91,69,2 duplicate(InsideFlagsA3) Nuernberg#9 GUILD_FLAG
+aldeg_cas03,108,60,2 duplicate(InsideFlagsA3) Nuernberg#10 GUILD_FLAG
+aldeg_cas03,121,73,2 duplicate(InsideFlagsA3) Nuernberg#11 GUILD_FLAG
+aldeg_cas03,121,73,2 duplicate(InsideFlagsA3) Nuernberg#12 GUILD_FLAG
+aldeg_cas03,75,102,2 duplicate(InsideFlagsA3) Nuernberg#13 GUILD_FLAG
+aldeg_cas03,199,169,2 duplicate(InsideFlagsA3) Nuernberg#14 GUILD_FLAG
+aldeg_cas03,181,179,2 duplicate(InsideFlagsA3) Nuernberg#15 GUILD_FLAG
+aldeg_cas03,192,44,2 duplicate(InsideFlagsA3) Nuernberg#16 GUILD_FLAG
+aldeg_cas03,208,145,2 duplicate(InsideFlagsA3) Nuernberg#17 GUILD_FLAG
+aldeg_cas03,207,75,2 duplicate(InsideFlagsA3) Nuernberg#18 GUILD_FLAG
+aldeg_cas03,96,62,2 duplicate(InsideFlagsA3) Nuernberg#19 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+aldebaran,134,97,4 duplicate(InsideFlagsA3) Nuernberg#20 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+aldeg_cas03,118,76,0 duplicate(guildkafra) Kafra Staff#aldeg_cas03 4_F_KAFRA1
+
+// Steward
+//============================================================
+aldeg_cas03,110,118,0 duplicate(cm) Nahzarf#aldeg_cas03 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+aldeg_cas03,229,267,0 script #lever_A03 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "aldeg_cas03",110,119;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+aldeg_cas03,200,177,0 duplicate(gdlever) #aldeg_cas03 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+aldeg_cas03,225,269,0 duplicate(Gld_Trea_Spawn) Treasure#aldeg_cas03 -1
+
+// AGIT Manager
+//============================================================
+aldeg_cas03,206,32,0 duplicate(Gld_Agit_Manager) Agit#aldeg_cas03 -1
+
+// Guardians
+//============================================================
+aldeg_cas03,110,118,0 duplicate(Gld_Guard_Template) Guardian#aldeg_cas03 -1
diff --git a/npc/woe-fe/aldeg_cas04.txt b/npc/woe-fe/aldeg_cas04.txt
new file mode 100644
index 000000000..6a6b9d7ec
--- /dev/null
+++ b/npc/woe-fe/aldeg_cas04.txt
@@ -0,0 +1,139 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Al De Baran)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Al De Baran Guild Castle 4
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flag (Outside Castle)
+//============================================================
+- script Wuerzburg#1::OutsideFlagsA4 GUILD_FLAG,{
+
+ .@GID = getcastledata("aldeg_cas04",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("aldeg_cas04",1)) {
+ warp "aldeg_cas04",116,217;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleA04:
+ flagemblem getcastledata("aldeg_cas04",1);
+ end;
+}
+
+alde_gld,239,246,2 duplicate(OutsideFlagsA4) Wuerzburg#1-2 GUILD_FLAG
+alde_gld,239,239,2 duplicate(OutsideFlagsA4) Wuerzburg#2 GUILD_FLAG
+
+// Guild Flag (Inside Castle)
+//============================================================
+- script Wuerzburg#3::InsideFlagsA4 GUILD_FLAG,{
+ end;
+
+OnRecvCastleA04:
+ flagemblem getcastledata("aldeg_cas04",1);
+ end;
+}
+
+aldeg_cas04,167,61,2 duplicate(InsideFlagsA4) Wuerzburg#3-2 GUILD_FLAG
+aldeg_cas04,164,90,2 duplicate(InsideFlagsA4) Wuerzburg#4 GUILD_FLAG
+aldeg_cas04,129,193,2 duplicate(InsideFlagsA4) Wuerzburg#5 GUILD_FLAG
+aldeg_cas04,112,206,2 duplicate(InsideFlagsA4) Wuerzburg#6 GUILD_FLAG
+aldeg_cas04,113,212,2 duplicate(InsideFlagsA4) Wuerzburg#7 GUILD_FLAG
+aldeg_cas04,77,117,2 duplicate(InsideFlagsA4) Wuerzburg#8 GUILD_FLAG
+aldeg_cas04,186,42,2 duplicate(InsideFlagsA4) Wuerzburg#9 GUILD_FLAG
+aldeg_cas04,30,69,2 duplicate(InsideFlagsA4) Wuerzburg#10 GUILD_FLAG
+aldeg_cas04,55,97,2 duplicate(InsideFlagsA4) Wuerzburg#11 GUILD_FLAG
+aldeg_cas04,45,98,2 duplicate(InsideFlagsA4) Wuerzburg#12 GUILD_FLAG
+aldeg_cas04,33,116,2 duplicate(InsideFlagsA4) Wuerzburg#13 GUILD_FLAG
+aldeg_cas04,130,180,2 duplicate(InsideFlagsA4) Wuerzburg#14 GUILD_FLAG
+aldeg_cas04,129,193,2 duplicate(InsideFlagsA4) Wuerzburg#15 GUILD_FLAG
+aldeg_cas04,33,107,2 duplicate(InsideFlagsA4) Wuerzburg#16 GUILD_FLAG
+aldeg_cas04,133,220,2 duplicate(InsideFlagsA4) Wuerzburg#17 GUILD_FLAG
+aldeg_cas04,169,22,2 duplicate(InsideFlagsA4) Wuerzburg#18 GUILD_FLAG
+aldeg_cas04,169,15,2 duplicate(InsideFlagsA4) Wuerzburg#19 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+aldebaran,131,97,4 duplicate(InsideFlagsA4) Wuerzburg#20 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+aldeg_cas04,45,88,0 duplicate(guildkafra) Kafra Staff#aldeg_cas04 4_F_KAFRA1
+
+// Steward
+//============================================================
+aldeg_cas04,67,116,0 duplicate(cm) Brymhensen#aldeg_cas04 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+aldeg_cas04,83,17,0 script #lever_A04 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "aldeg_cas04",67,117;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+aldeg_cas04,76,64,0 duplicate(gdlever) #aldeg_cas04 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+aldeg_cas04,84,13,0 duplicate(Gld_Trea_Spawn) Treasure#aldeg_cas04 -1
+
+// AGIT Manager
+//============================================================
+aldeg_cas04,36,218,0 duplicate(Gld_Agit_Manager) Agit#aldeg_cas04 -1
+
+// Guardians
+//============================================================
+aldeg_cas04,67,116,0 duplicate(Gld_Guard_Template) Guardian#aldeg_cas04 -1
diff --git a/npc/woe-fe/aldeg_cas05.txt b/npc/woe-fe/aldeg_cas05.txt
new file mode 100644
index 000000000..93a78d7fb
--- /dev/null
+++ b/npc/woe-fe/aldeg_cas05.txt
@@ -0,0 +1,138 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Al De Baran)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Al De Baran Guild Castle 5
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flag (Outside Castle)
+//============================================================
+- script Rothenburg#1::OutsideFlagsA5 GUILD_FLAG,{
+
+ .@GID = getcastledata("aldeg_cas05",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("aldeg_cas05",1)) {
+ warp "aldeg_cas05",167,225;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleA05:
+ flagemblem getcastledata("aldeg_cas05",1);
+ end;
+}
+
+alde_gld,265,93,6 duplicate(OutsideFlagsA5) Rothenburg#1-2 GUILD_FLAG
+alde_gld,265,87,6 duplicate(OutsideFlagsA5) Rothenburg#2 GUILD_FLAG
+
+// Guild Flag (Inside Castle)
+//============================================================
+- script Rothenburg#3::InsideFlagsA5 GUILD_FLAG,{
+ end;
+
+OnRecvCastleA05:
+ flagemblem getcastledata("aldeg_cas05",1);
+ end;
+}
+
+aldeg_cas05,170,85,2 duplicate(InsideFlagsA5) Rothenburg#3-2 GUILD_FLAG
+aldeg_cas05,142,212,2 duplicate(InsideFlagsA5) Rothenburg#4 GUILD_FLAG
+aldeg_cas05,149,196,2 duplicate(InsideFlagsA5) Rothenburg#5 GUILD_FLAG
+aldeg_cas05,41,180,2 duplicate(InsideFlagsA5) Rothenburg#6 GUILD_FLAG
+aldeg_cas05,38,201,2 duplicate(InsideFlagsA5) Rothenburg#7 GUILD_FLAG
+aldeg_cas05,65,182,2 duplicate(InsideFlagsA5) Rothenburg#8 GUILD_FLAG
+aldeg_cas05,65,205,2 duplicate(InsideFlagsA5) Rothenburg#9 GUILD_FLAG
+aldeg_cas05,10,218,2 duplicate(InsideFlagsA5) Rothenburg#10 GUILD_FLAG
+aldeg_cas05,10,218,2 duplicate(InsideFlagsA5) Rothenburg#11 GUILD_FLAG
+aldeg_cas05,164,201,2 duplicate(InsideFlagsA5) Rothenburg#12 GUILD_FLAG
+aldeg_cas05,14,117,2 duplicate(InsideFlagsA5) Rothenburg#13 GUILD_FLAG
+aldeg_cas05,10,225,2 duplicate(InsideFlagsA5) Rothenburg#14 GUILD_FLAG
+aldeg_cas05,187,59,2 duplicate(InsideFlagsA5) Rothenburg#15 GUILD_FLAG
+aldeg_cas05,154,51,2 duplicate(InsideFlagsA5) Rothenburg#16 GUILD_FLAG
+aldeg_cas05,22,211,2 duplicate(InsideFlagsA5) Rothenburg#17 GUILD_FLAG
+aldeg_cas05,150,202,2 duplicate(InsideFlagsA5) Rothenburg#18 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+aldebaran,128,97,4 duplicate(InsideFlagsA5) Rothenburg#19 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+aldeg_cas05,31,190,0 duplicate(guildkafra) Kafra Staff#aldeg_cas05 4_F_KAFRA1
+
+// Steward
+//============================================================
+aldeg_cas05,51,179,0 duplicate(cm) Esmarehk#aldeg_cas05 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+aldeg_cas05,64,8,0 script #lever_A05 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "aldeg_cas05",51,179;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+aldeg_cas05,22,205,0 duplicate(gdlever) #aldeg_cas05 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+aldeg_cas05,62,12,0 duplicate(Gld_Trea_Spawn) Treasure#aldeg_cas05 -1
+
+// AGIT Manager
+//============================================================
+aldeg_cas05,28,102,0 duplicate(Gld_Agit_Manager) Agit#aldeg_cas05 -1
+
+// Guardians
+//============================================================
+aldeg_cas05,52,179,0 duplicate(Gld_Guard_Template) Guardian#aldeg_cas05 -1
diff --git a/npc/woe-fe/gefg_cas01.txt b/npc/woe-fe/gefg_cas01.txt
new file mode 100644
index 000000000..6127e62f9
--- /dev/null
+++ b/npc/woe-fe/gefg_cas01.txt
@@ -0,0 +1,130 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Geffen)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Geffen Guild Castle 1
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flag (Outside Castle)
+//============================================================
+- script Repherion#1::OutsideFlagsG1 GUILD_FLAG,{
+
+ .@GID = getcastledata("gefg_cas01",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("gefg_cas01",1)) {
+ warp "gefg_cas01",197,36;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleG01:
+ flagemblem getcastledata("gefg_cas01",1);
+ end;
+}
+
+gef_fild13,148,51,5 duplicate(OutsideFlagsG1) Repherion#1-2 GUILD_FLAG
+gef_fild13,155,54,5 duplicate(OutsideFlagsG1) Repherion#2 GUILD_FLAG
+gef_fild13,212,79,6 duplicate(OutsideFlagsG1) Repherion#3 GUILD_FLAG
+gef_fild13,211,71,6 duplicate(OutsideFlagsG1) Repherion#4 GUILD_FLAG
+
+// Guild Flag (Inside Castle)
+//============================================================
+- script Repherion#5::InsideFlagsG1 GUILD_FLAG,{
+ end;
+
+OnRecvCastleG01:
+ flagemblem getcastledata("gefg_cas01",1);
+ end;
+}
+
+gefg_cas01,28,157,4 duplicate(InsideFlagsG1) Repherion#5-2 GUILD_FLAG
+gefg_cas01,22,156,5 duplicate(InsideFlagsG1) Repherion#6 GUILD_FLAG
+gefg_cas01,68,185,3 duplicate(InsideFlagsG1) Repherion#7 GUILD_FLAG
+gefg_cas01,17,171,5 duplicate(InsideFlagsG1) Repherion#8 GUILD_FLAG
+gefg_cas01,59,16,4 duplicate(InsideFlagsG1) Repherion#9 GUILD_FLAG
+gefg_cas01,64,16,4 duplicate(InsideFlagsG1) Repherion#10 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+geffen,109,123,2 duplicate(InsideFlagsG1) Repherion#11 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+gefg_cas01,83,47,3 duplicate(guildkafra) Kafra Staff#gefg_cas01 4_F_KAFRA1
+
+// Steward
+//============================================================
+gefg_cas01,40,48,5 duplicate(cm) Gnahcher#gefg_cas01 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+gefg_cas01,152,117,0 script #lever_G01 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "gefg_cas01",40,49;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+gefg_cas01,78,84,0 duplicate(gdlever) #gefg_cas01 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+gefg_cas01,154,112,0 duplicate(Gld_Trea_Spawn) Treasure#gefg_cas01 -1
+
+// AGIT Manager
+//============================================================
+gefg_cas01,198,182,0 duplicate(Gld_Agit_Manager) Agit#gefg_cas01 -1
+
+// Guardians
+//============================================================
+gefg_cas01,40,48,5 duplicate(Gld_Guard_Template) Guardian#gefg_cas01 -1
diff --git a/npc/woe-fe/gefg_cas02.txt b/npc/woe-fe/gefg_cas02.txt
new file mode 100644
index 000000000..45530849a
--- /dev/null
+++ b/npc/woe-fe/gefg_cas02.txt
@@ -0,0 +1,131 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Geffen)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Geffen Guild Castle 2
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flag (Outside Castle)
+//============================================================
+- script Eeyorbriggar#1::OutsideFlagsG2 GUILD_FLAG,{
+
+ .@GID = getcastledata("gefg_cas02",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("gefg_cas02",1)) {
+ warp "gefg_cas02",178,43;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleG02:
+ flagemblem getcastledata("gefg_cas02",1);
+ end;
+}
+
+gef_fild13,303,243,4 duplicate(OutsideFlagsG2) Eeyorbriggar#1-2 GUILD_FLAG
+gef_fild13,312,243,4 duplicate(OutsideFlagsG2) Eeyorbriggar#2 GUILD_FLAG
+gef_fild13,290,243,4 duplicate(OutsideFlagsG2) Eeyorbriggar#3 GUILD_FLAG
+gef_fild13,324,243,4 duplicate(OutsideFlagsG2) Eeyorbriggar#4 GUILD_FLAG
+
+// Guild Flag (Inside Castle)
+//============================================================
+- script Eeyorbriggar#5::InsideFlagsG2 GUILD_FLAG,{
+ end;
+
+OnRecvCastleG02:
+ flagemblem getcastledata("gefg_cas02",1);
+ end;
+}
+
+gefg_cas02,65,130,5 duplicate(InsideFlagsG2) Eeyorbriggar#5-2 GUILD_FLAG
+gefg_cas02,30,123,5 duplicate(InsideFlagsG2) Eeyorbriggar#6 GUILD_FLAG
+gefg_cas02,65,139,6 duplicate(InsideFlagsG2) Eeyorbriggar#7 GUILD_FLAG
+gefg_cas02,37,177,6 duplicate(InsideFlagsG2) Eeyorbriggar#8 GUILD_FLAG
+gefg_cas02,37,168,6 duplicate(InsideFlagsG2) Eeyorbriggar#9 GUILD_FLAG
+gefg_cas02,68,47,2 duplicate(InsideFlagsG2) Eeyorbriggar#10 GUILD_FLAG
+gefg_cas02,68,36,2 duplicate(InsideFlagsG2) Eeyorbriggar#11 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+geffen,112,129,1 duplicate(InsideFlagsG2) Eeyorbriggar#12 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+gefg_cas02,23,66,3 duplicate(guildkafra) Kafra Staff#gefg_cas02 4_F_KAFRA1
+
+// Steward
+//============================================================
+gefg_cas02,12,66,5 duplicate(cm) Esmarehk#gefg_cas02 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+gefg_cas02,145,114,0 script #lever_G02 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "gefg_cas02",12,67;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+gefg_cas02,167,40,0 duplicate(gdlever) #gefg_cas02 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+gefg_cas02,140,116,0 duplicate(Gld_Trea_Spawn) Treasure#gefg_cas02 -1
+
+// AGIT Manager
+//============================================================
+gefg_cas02,176,178,0 duplicate(Gld_Agit_Manager) Agit#gefg_cas02 -1
+
+// Guardians
+//============================================================
+gefg_cas02,12,66,5 duplicate(Gld_Guard_Template) Guardian#gefg_cas02 -1
diff --git a/npc/woe-fe/gefg_cas03.txt b/npc/woe-fe/gefg_cas03.txt
new file mode 100644
index 000000000..a206c8bac
--- /dev/null
+++ b/npc/woe-fe/gefg_cas03.txt
@@ -0,0 +1,134 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Geffen)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Geffen Guild Castle 3
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flag (Outside Castle)
+//============================================================
+- script Yesnelph#1::OutsideFlagsG3 GUILD_FLAG,{
+
+ .@GID = getcastledata("gefg_cas03",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("gefg_cas03",1)) {
+ warp "gefg_cas03",221,30;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleG03:
+ flagemblem getcastledata("gefg_cas03",1);
+ end;
+}
+
+gef_fild13,78,182,4 duplicate(OutsideFlagsG3) Yesnelph#1-2 GUILD_FLAG
+gef_fild13,87,182,4 duplicate(OutsideFlagsG3) Yesnelph#2 GUILD_FLAG
+gef_fild13,73,295,7 duplicate(OutsideFlagsG3) Yesnelph#3 GUILD_FLAG
+gef_fild13,113,274,7 duplicate(OutsideFlagsG3) Yesnelph#4 GUILD_FLAG
+gef_fild13,144,235,6 duplicate(OutsideFlagsG3) Yesnelph#5 GUILD_FLAG
+gef_fild13,144,244,6 duplicate(OutsideFlagsG3) Yesnelph#6 GUILD_FLAG
+
+// Guild Flag (Inside Castle)
+//============================================================
+- script Yesnelph#7::InsideFlagsG3 GUILD_FLAG,{
+ end;
+
+OnRecvCastleG03:
+ flagemblem getcastledata("gefg_cas03",1);
+ end;
+}
+
+gefg_cas03,122,220,6 duplicate(InsideFlagsG3) Yesnelph#7-2 GUILD_FLAG
+gefg_cas03,122,229,6 duplicate(InsideFlagsG3) Yesnelph#8 GUILD_FLAG
+gefg_cas03,91,257,7 duplicate(InsideFlagsG3) Yesnelph#9 GUILD_FLAG
+gefg_cas03,52,276,7 duplicate(InsideFlagsG3) Yesnelph#10 GUILD_FLAG
+gefg_cas03,56,164,4 duplicate(InsideFlagsG3) Yesnelph#11 GUILD_FLAG
+gefg_cas03,65,164,4 duplicate(InsideFlagsG3) Yesnelph#12 GUILD_FLAG
+gefg_cas03,37,214,1 duplicate(InsideFlagsG3) Yesnelph#13 GUILD_FLAG
+gefg_cas03,34,208,1 duplicate(InsideFlagsG3) Yesnelph#14 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+geffen,120,132,8 duplicate(InsideFlagsG3) Yesnelph#15 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+gefg_cas03,116,89,5 duplicate(guildkafra) Kafra Staff#gefg_cas03 4_F_KAFRA1
+
+// Steward
+//============================================================
+gefg_cas03,106,23,5 duplicate(cm) Jyang#gefg_cas03 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+gefg_cas03,275,289,0 script #lever_G03 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "gefg_cas03",106,24;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+gefg_cas03,221,43,0 duplicate(gdlever) #gefg_cas03 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+gefg_cas03,271,290,0 duplicate(Gld_Trea_Spawn) Treasure#gefg_cas03 -1
+
+// AGIT Manager
+//============================================================
+gefg_cas03,245,167,0 duplicate(Gld_Agit_Manager) Agit#gefg_cas03 -1
+
+// Guardians
+//============================================================
+gefg_cas03,106,23,5 duplicate(Gld_Guard_Template) Guardian#gefg_cas03 -1
diff --git a/npc/woe-fe/gefg_cas04.txt b/npc/woe-fe/gefg_cas04.txt
new file mode 100644
index 000000000..06d37361a
--- /dev/null
+++ b/npc/woe-fe/gefg_cas04.txt
@@ -0,0 +1,130 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Geffen)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Geffen Guild Castle 4
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flag (Outside Castle)
+//============================================================
+- script Bergel#1::OutsideFlagsG4 GUILD_FLAG,{
+
+ .@GID = getcastledata("gefg_cas04",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("gefg_cas04",1)) {
+ warp "gefg_cas04",168,43;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleG04:
+ flagemblem getcastledata("gefg_cas04",1);
+ end;
+}
+
+gef_fild13,190,283,3 duplicate(OutsideFlagsG4) Bergel#1-2 GUILD_FLAG
+gef_fild13,199,274,3 duplicate(OutsideFlagsG4) Bergel#2 GUILD_FLAG
+
+// Guild Flag (Inside Castle)
+//============================================================
+- script Bergel#3::InsideFlagsG4 GUILD_FLAG,{
+ end;
+
+OnRecvCastleG04:
+ flagemblem getcastledata("gefg_cas04",1);
+ end;
+}
+
+gefg_cas04,24,157,4 duplicate(InsideFlagsG4) Bergel#3-2 GUILD_FLAG
+gefg_cas04,35,158,4 duplicate(InsideFlagsG4) Bergel#4 GUILD_FLAG
+gefg_cas04,44,184,4 duplicate(InsideFlagsG4) Bergel#5 GUILD_FLAG
+gefg_cas04,51,184,4 duplicate(InsideFlagsG4) Bergel#6 GUILD_FLAG
+gefg_cas04,39,212,7 duplicate(InsideFlagsG4) Bergel#7 GUILD_FLAG
+gefg_cas04,29,212,1 duplicate(InsideFlagsG4) Bergel#8 GUILD_FLAG
+gefg_cas04,24,73,1 duplicate(InsideFlagsG4) Bergel#9 GUILD_FLAG
+gefg_cas04,35,73,4 duplicate(InsideFlagsG4) Bergel#10 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+geffen,127,130,7 duplicate(InsideFlagsG4) Bergel#11 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+gefg_cas04,59,70,3 duplicate(guildkafra) Kafra Staff#gefg_cas04 4_F_KAFRA1
+
+// Steward
+//============================================================
+gefg_cas04,73,46,3 duplicate(cm) Kellvahni#gefg_cas04 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+gefg_cas04,116,123,0 script #lever_G04 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "gefg_cas04",73,47;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+gefg_cas04,58,75,0 duplicate(gdlever) #gefg_cas04 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+gefg_cas04,116,119,0 duplicate(Gld_Trea_Spawn) Treasure#gefg_cas04 -1
+
+// AGIT Manager
+//============================================================
+gefg_cas04,174,178,0 duplicate(Gld_Agit_Manager) Agit#gefg_cas04 -1
+
+// Guardians
+//============================================================
+gefg_cas04,73,46,3 duplicate(Gld_Guard_Template) Guardian#gefg_cas04 -1
diff --git a/npc/woe-fe/gefg_cas05.txt b/npc/woe-fe/gefg_cas05.txt
new file mode 100644
index 000000000..81ebd3905
--- /dev/null
+++ b/npc/woe-fe/gefg_cas05.txt
@@ -0,0 +1,130 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Geffen)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.2
+//===== Description: =========================================
+//= NPCs that relate to Geffen Guild Castle 5
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.2 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flag (Outside Castle)
+//============================================================
+- script Mersetzdeitz#1::OutsideFlagsG5 GUILD_FLAG,{
+
+ .@GID = getcastledata("gefg_cas05",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("gefg_cas05",1)) {
+ warp "gefg_cas05",168,31;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastleG05:
+ flagemblem getcastledata("gefg_cas05",1);
+ end;
+}
+
+gef_fild13,302,87,7 duplicate(OutsideFlagsG5) Mersetzdeitz#1-2 GUILD_FLAG
+gef_fild13,313,83,0 duplicate(OutsideFlagsG5) Mersetzdeitz#2 GUILD_FLAG
+gef_fild13,252,51,2 duplicate(OutsideFlagsG5) Mersetzdeitz#3 GUILD_FLAG
+gef_fild13,26,147,2 duplicate(OutsideFlagsG5) Mersetzdeitz#4 GUILD_FLAG
+
+// Guild Flag (Inside Castle)
+//============================================================
+- script Mersetzdeitz#5::InsideFlagsG5 GUILD_FLAG,{
+ end;
+
+OnRecvCastleG05:
+ flagemblem getcastledata("gefg_cas05",1);
+ end;
+}
+
+gefg_cas05,77,185,7 duplicate(InsideFlagsG5) Mersetzdeitz#5-2 GUILD_FLAG
+gefg_cas05,92,181,0 duplicate(InsideFlagsG5) Mersetzdeitz#6 GUILD_FLAG
+gefg_cas05,83,158,1 duplicate(InsideFlagsG5) Mersetzdeitz#7 GUILD_FLAG
+gefg_cas05,62,144,7 duplicate(InsideFlagsG5) Mersetzdeitz#8 GUILD_FLAG
+gefg_cas05,62,66,4 duplicate(InsideFlagsG5) Mersetzdeitz#9 GUILD_FLAG
+gefg_cas05,69,66,4 duplicate(InsideFlagsG5) Mersetzdeitz#10 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+geffen,131,123,6 duplicate(InsideFlagsG5) Mersetzdeitz#11 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+gefg_cas05,61,52,5 duplicate(guildkafra) Kafra Staff#gefg_cas05 4_F_KAFRA1
+
+// Steward
+//============================================================
+gefg_cas05,70,52,3 duplicate(cm) Byohre#gefg_cas05 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+gefg_cas05,149,107,0 script #lever_G05 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "gefg_cas05",70,53;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+gefg_cas05,65,22,0 duplicate(gdlever) #gefg_cas05 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+gefg_cas05,144,110,0 duplicate(Gld_Trea_Spawn) Treasure#gefg_cas05 -1
+
+// AGIT Manager
+//============================================================
+gefg_cas05,194,184,0 duplicate(Gld_Agit_Manager) Agit#gefg_cas05 -1
+
+// Guardians
+//============================================================
+gefg_cas05,70,52,3 duplicate(Gld_Guard_Template) Guardian#gefg_cas05 -1
diff --git a/npc/woe-fe/payg_cas01.txt b/npc/woe-fe/payg_cas01.txt
new file mode 100644
index 000000000..1deee9a4f
--- /dev/null
+++ b/npc/woe-fe/payg_cas01.txt
@@ -0,0 +1,133 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Payon)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.3
+//===== Description: =========================================
+//= NPCs that relate to Payon Guild Castle 1
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Removed dialog from interior flags. [L0ne_W0lf]
+//= Fixed position of Guild dungeon switch.
+//= 1.3 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Bright Arbor#1::OutsideFlagsPA1 GUILD_FLAG,{
+
+ .@GID = getcastledata("payg_cas01",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("payg_cas01",1)) {
+ warp "payg_cas01",54,144;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePy01:
+ flagemblem getcastledata("payg_cas01",1);
+ end;
+}
+
+pay_gld,125,236,4 duplicate(OutsideFlagsPA1) Bright Arbor#1-2 GUILD_FLAG
+pay_gld,110,233,4 duplicate(OutsideFlagsPA1) Bright Arbor#2 GUILD_FLAG
+pay_gld,116,233,4 duplicate(OutsideFlagsPA1) Bright Arbor#3 GUILD_FLAG
+pay_gld,91,239,2 duplicate(OutsideFlagsPA1) Bright Arbor#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Bright Arbor#5::InsideFlagsPA1 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePy01:
+ flagemblem getcastledata("payg_cas01",1);
+ end;
+}
+
+payg_cas01,238,67,4 duplicate(InsideFlagsPA1) Bright Arbor#5-2 GUILD_FLAG
+payg_cas01,233,67,4 duplicate(InsideFlagsPA1) Bright Arbor#6 GUILD_FLAG
+payg_cas01,221,123,4 duplicate(InsideFlagsPA1) Bright Arbor#7 GUILD_FLAG
+payg_cas01,221,116,4 duplicate(InsideFlagsPA1) Bright Arbor#8 GUILD_FLAG
+payg_cas01,206,108,4 duplicate(InsideFlagsPA1) Bright Arbor#9 GUILD_FLAG
+payg_cas01,212,108,4 duplicate(InsideFlagsPA1) Bright Arbor#10 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+payon,90,322,4 duplicate(InsideFlagsPA1) Bright Arbor#11 GUILD_FLAG
+payon,166,177,3 duplicate(InsideFlagsPA1) Bright Arbor#12 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+payg_cas01,128,58,3 duplicate(guildkafra) Kafra Staff#payg_cas01 4_F_KAFRA1
+
+// Steward
+//============================================================
+payg_cas01,120,58,4 duplicate(cm) Kurunnadi#payg_cas01 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+payg_cas01,295,8,0 script #lever_PA01 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "payg_cas01",120,59;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+payg_cas01,101,25,0 duplicate(gdlever) #payg_cas01 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+payg_cas01,291,8,0 duplicate(Gld_Trea_Spawn) Treasure#payg_cas01 -1
+
+// AGIT Manager
+//============================================================
+payg_cas01,139,139,0 duplicate(Gld_Agit_Manager) Agit#payg_cas01 -1
+
+// Guardians
+//============================================================
+payg_cas01,120,58,4 duplicate(Gld_Guard_Template) Guardian#payg_cas01 -1
diff --git a/npc/woe-fe/payg_cas02.txt b/npc/woe-fe/payg_cas02.txt
new file mode 100644
index 000000000..92db92c09
--- /dev/null
+++ b/npc/woe-fe/payg_cas02.txt
@@ -0,0 +1,134 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Payon)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
+//= NPCs that relate to Payon Guild Castle 2
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Removed dialog from interior flags. [L0ne_W0lf]
+//= Fixed position of Guild dungeon switch.
+//= 1.3 Partially rewrote Script. [Masao]
+//= 1.4 Fixed names [Streusel]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Scarlet Palace#1::OutsideFlagsPA2 GUILD_FLAG,{
+
+ .@GID = getcastledata("payg_cas02",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("payg_cas02",1)) {
+ warp "payg_cas02",278,251;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePy02:
+ flagemblem getcastledata("payg_cas02",1);
+ end;
+}
+
+pay_gld,292,112,6 duplicate(OutsideFlagsPA2) Scarlet Palace#1-2 GUILD_FLAG
+pay_gld,292,120,6 duplicate(OutsideFlagsPA2) Scarlet Palace#2 GUILD_FLAG
+pay_gld,291,135,6 duplicate(OutsideFlagsPA2) Scarlet Palace#3 GUILD_FLAG
+pay_gld,271,163,0 duplicate(OutsideFlagsPA2) Scarlet Palace#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Scarlet Palace#5::InsideFlagsPA2 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePy02:
+ flagemblem getcastledata("payg_cas02",1);
+ end;
+}
+
+payg_cas02,254,40,6 duplicate(InsideFlagsPA2) Scarlet Palace#5-2 GUILD_FLAG
+payg_cas02,254,48,6 duplicate(InsideFlagsPA2) Scarlet Palace#6 GUILD_FLAG
+payg_cas02,202,49,0 duplicate(InsideFlagsPA2) Scarlet Palace#7 GUILD_FLAG
+payg_cas02,209,49,0 duplicate(InsideFlagsPA2) Scarlet Palace#8 GUILD_FLAG
+payg_cas02,59,282,4 duplicate(InsideFlagsPA2) Scarlet Palace#9 GUILD_FLAG
+payg_cas02,70,282,4 duplicate(InsideFlagsPA2) Scarlet Palace#10 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+payon,97,322,4 duplicate(InsideFlagsPA2) Scarlet Palace#11 GUILD_FLAG
+payon,166,173,3 duplicate(InsideFlagsPA2) Scarlet Palace#12 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+payg_cas02,22,275,5 duplicate(guildkafra) Kafra Staff#payg_cas02 4_F_KAFRA1
+
+// Steward
+//============================================================
+payg_cas02,22,260,7 duplicate(cm) Cherieos#payg_cas02 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+payg_cas02,149,149,0 script #lever_PA02 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "payg_cas02",22,261;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+payg_cas02,278,247,0 duplicate(gdlever) #payg_cas02 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+payg_cas02,145,144,0 duplicate(Gld_Trea_Spawn) Treasure#payg_cas02 -1
+
+// AGIT Manager
+//============================================================
+payg_cas02,39,25,0 duplicate(Gld_Agit_Manager) Agit#payg_cas02 -1
+
+// Guardians
+//============================================================
+payg_cas02,22,260,7 duplicate(Gld_Guard_Template) Guardian#payg_cas02 -1
diff --git a/npc/woe-fe/payg_cas03.txt b/npc/woe-fe/payg_cas03.txt
new file mode 100644
index 000000000..e0e649308
--- /dev/null
+++ b/npc/woe-fe/payg_cas03.txt
@@ -0,0 +1,133 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Payon)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.3
+//===== Description: =========================================
+//= NPCs that relate to Payon Guild Castle 1
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Removed dialog from interior flags. [L0ne_W0lf]
+//= Fixed position of Guild dungeon switch.
+//= 1.3 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Holy Shadow#1::OutsideFlagsPA3 GUILD_FLAG,{
+
+ .@GID = getcastledata("payg_cas03",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("payg_cas03",1)) {
+ warp "payg_cas03",9,263;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePy03:
+ flagemblem getcastledata("payg_cas03",1);
+ end;
+}
+
+pay_gld,321,298,2 duplicate(OutsideFlagsPA3) Holy Shadow#1-2 GUILD_FLAG
+pay_gld,321,289,2 duplicate(OutsideFlagsPA3) Holy Shadow#2 GUILD_FLAG
+pay_gld,327,304,1 duplicate(OutsideFlagsPA3) Holy Shadow#3 GUILD_FLAG
+pay_gld,333,254,4 duplicate(OutsideFlagsPA3) Holy Shadow#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Holy Shadow#5::InsideFlagsPA3 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePy03:
+ flagemblem getcastledata("payg_cas03",1);
+ end;
+}
+
+payg_cas03,236,54,2 duplicate(InsideFlagsPA3) Holy Shadow#5-2 GUILD_FLAG
+payg_cas03,236,45,2 duplicate(InsideFlagsPA3) Holy Shadow#6 GUILD_FLAG
+payg_cas03,259,66,4 duplicate(InsideFlagsPA3) Holy Shadow#7 GUILD_FLAG
+payg_cas03,266,66,4 duplicate(InsideFlagsPA3) Holy Shadow#8 GUILD_FLAG
+payg_cas03,34,31,4 duplicate(InsideFlagsPA3) Holy Shadow#9 GUILD_FLAG
+payg_cas03,43,31,4 duplicate(InsideFlagsPA3) Holy Shadow#10 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+payon,113,322,4 duplicate(InsideFlagsPA3) Holy Shadow#11 GUILD_FLAG
+payon,166,169,3 duplicate(InsideFlagsPA3) Holy Shadow#12 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+payg_cas03,9,263,5 duplicate(guildkafra) Kafra Staff#payg_cas03 4_F_KAFRA1
+
+// Steward
+//============================================================
+payg_cas03,50,261,3 duplicate(cm) Gheriot#payg_cas03 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+payg_cas03,163,167,0 script #lever_PA03 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "payg_cas03",50,261;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+payg_cas03,38,42,0 duplicate(gdlever) #payg_cas03 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+payg_cas03,159,168,0 duplicate(Gld_Trea_Spawn) Treasure#payg_cas03 -1
+
+// AGIT Manager
+//============================================================
+payg_cas03,269,265,0 duplicate(Gld_Agit_Manager) Agit#payg_cas03 -1
+
+// Guardians
+//============================================================
+payg_cas03,10,277,0 duplicate(Gld_Guard_Template) Guardian#payg_cas03 -1
diff --git a/npc/woe-fe/payg_cas04.txt b/npc/woe-fe/payg_cas04.txt
new file mode 100644
index 000000000..498bc1aed
--- /dev/null
+++ b/npc/woe-fe/payg_cas04.txt
@@ -0,0 +1,134 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Payon)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
+//= NPCs that relate to Payon Guild Castle 4
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Removed dialog from interior flags. [L0ne_W0lf]
+//= Fixed position of Guild dungeon switch.
+//= 1.3 Partially rewrote Script. [Masao]
+//= 1.4 Fixed named [Streusel]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Sacred Altar#1::OutsideFlagsPA4 GUILD_FLAG,{
+
+ .@GID = getcastledata("payg_cas04",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("payg_cas04",1)) {
+ warp "payg_cas04",40,235;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePy04:
+ flagemblem getcastledata("payg_cas04",1);
+ end;
+}
+
+pay_gld,137,160,0 duplicate(OutsideFlagsPA4) Sacred Altar#1-2 GUILD_FLAG
+pay_gld,143,160,0 duplicate(OutsideFlagsPA4) Sacred Altar#2 GUILD_FLAG
+pay_gld,133,151,2 duplicate(OutsideFlagsPA4) Sacred Altar#3 GUILD_FLAG
+pay_gld,153,166,1 duplicate(OutsideFlagsPA4) Sacred Altar#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Sacred Altar#5::InsideFlagsPA4 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePy04:
+ flagemblem getcastledata("payg_cas04",1);
+ end;
+}
+
+payg_cas04,255,259,0 duplicate(InsideFlagsPA4) Sacred Altar#5-2 GUILD_FLAG
+payg_cas04,248,259,0 duplicate(InsideFlagsPA4) Sacred Altar#6 GUILD_FLAG
+payg_cas04,248,168,6 duplicate(InsideFlagsPA4) Sacred Altar#7 GUILD_FLAG
+payg_cas04,248,160,6 duplicate(InsideFlagsPA4) Sacred Altar#8 GUILD_FLAG
+payg_cas04,232,181,4 duplicate(InsideFlagsPA4) Sacred Altar#9 GUILD_FLAG
+payg_cas04,239,181,4 duplicate(InsideFlagsPA4) Sacred Altar#10 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+payon,118,322,4 duplicate(InsideFlagsPA4) Sacred Altar#11 GUILD_FLAG
+payon,166,165,3 duplicate(InsideFlagsPA4) Sacred Altar#12 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+payg_cas04,40,235,1 duplicate(guildkafra) Kafra Staff#payg_cas04 4_F_KAFRA1
+
+// Steward
+//============================================================
+payg_cas04,38,284,3 duplicate(cm) DJ#payg_cas04 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+payg_cas04,151,47,0 script #lever_PA04 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "payg_cas04",38,285;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+payg_cas04,52,48,0 duplicate(gdlever) #payg_cas04 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+payg_cas04,147,48,0 duplicate(Gld_Trea_Spawn) Treasure#payg_cas04 -1
+
+// AGIT Manager
+//============================================================
+payg_cas04,271,29,0 duplicate(Gld_Agit_Manager) Agit#payg_cas04 -1
+
+// Guardians
+//============================================================
+payg_cas04,38,284,3 duplicate(Gld_Guard_Template) Guardian#payg_cas04 -1
diff --git a/npc/woe-fe/payg_cas05.txt b/npc/woe-fe/payg_cas05.txt
new file mode 100644
index 000000000..7b667c4ca
--- /dev/null
+++ b/npc/woe-fe/payg_cas05.txt
@@ -0,0 +1,133 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Payon)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.3
+//===== Description: =========================================
+//= NPCs that relate to Payon Guild Castle 1
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Removed dialog from interior flags. [L0ne_W0lf]
+//= Fixed position of Guild dungeon switch.
+//= 1.3 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Bamboo Grove Hill#1::OutsideFlagsPA5 GUILD_FLAG,{
+
+ .@GID = getcastledata("payg_cas05",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("payg_cas05",1)) {
+ warp "payg_cas05",243,27;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePy05:
+ flagemblem getcastledata("payg_cas05",1);
+ end;
+}
+
+pay_gld,208,268,4 duplicate(OutsideFlagsPA5) Bamboo Grove Hill#1-2 GUILD_FLAG
+pay_gld,199,268,4 duplicate(OutsideFlagsPA5) Bamboo Grove Hill#2 GUILD_FLAG
+pay_gld,190,277,3 duplicate(OutsideFlagsPA5) Bamboo Grove Hill#3 GUILD_FLAG
+pay_gld,187,294,2 duplicate(OutsideFlagsPA5) Bamboo Grove Hill#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Bamboo Grove Hill#5::InsideFlagsPA5 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePy05:
+ flagemblem getcastledata("payg_cas05",1);
+ end;
+}
+
+payg_cas05,32,249,4 duplicate(InsideFlagsPA5) Bamboo Grove Hill#5-2 GUILD_FLAG
+payg_cas05,24,249,4 duplicate(InsideFlagsPA5) Bamboo Grove Hill#6 GUILD_FLAG
+payg_cas05,62,271,0 duplicate(InsideFlagsPA5) Bamboo Grove Hill#7 GUILD_FLAG
+payg_cas05,57,271,0 duplicate(InsideFlagsPA5) Bamboo Grove Hill#8 GUILD_FLAG
+payg_cas05,55,252,2 duplicate(InsideFlagsPA5) Bamboo Grove Hill#9 GUILD_FLAG
+payg_cas05,55,260,2 duplicate(InsideFlagsPA5) Bamboo Grove Hill#10 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+payon,123,322,4 duplicate(InsideFlagsPA5) Bamboo Grove Hill#11 GUILD_FLAG
+payon,166,161,3 duplicate(InsideFlagsPA5) Bamboo Grove Hill#12 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+payg_cas05,276,227,1 duplicate(guildkafra) Kafra Staff#payg_cas05 4_F_KAFRA1
+
+// Steward
+//============================================================
+payg_cas05,277,249,3 duplicate(cm) Nahzarf#payg_cas05 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+payg_cas05,161,136,0 script #lever_PA05 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "payg_cas05",277,250;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+payg_cas05,249,15,0 duplicate(gdlever) #payg_cas05 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+payg_cas05,157,132,0 duplicate(Gld_Trea_Spawn) Treasure#payg_cas05 -1
+
+// AGIT Manager
+//============================================================
+payg_cas05,30,30,0 duplicate(Gld_Agit_Manager) Agit#payg_cas05 -1
+
+// Guardians
+//============================================================
+payg_cas05,277,249,3 duplicate(Gld_Guard_Template) Guardian#payg_cas05 -1
diff --git a/npc/woe-fe/prtg_cas01.txt b/npc/woe-fe/prtg_cas01.txt
new file mode 100644
index 000000000..961453ccd
--- /dev/null
+++ b/npc/woe-fe/prtg_cas01.txt
@@ -0,0 +1,136 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Prontera)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
+//= NPCs that relate to Prontera Guild Castle 1
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Corrected treasure room switch coordinates. [L0ne_W0lf]
+//= 1.3 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.4 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Kriemhild#1::OutsideFlagsPR1 GUILD_FLAG,{
+
+ .@GID = getcastledata("prtg_cas01",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("prtg_cas01",1)) {
+ warp "prtg_cas01",96,173;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePt01:
+ flagemblem getcastledata("prtg_cas01",1);
+ end;
+}
+
+prt_gld,131,60,6 duplicate(OutsideFlagsPR1) Kriemhild#1-2 GUILD_FLAG
+prt_gld,138,68,6 duplicate(OutsideFlagsPR1) Kriemhild#2 GUILD_FLAG
+prt_gld,138,60,6 duplicate(OutsideFlagsPR1) Kriemhild#3 GUILD_FLAG
+prt_gld,135,60,6 duplicate(OutsideFlagsPR1) Kriemhild#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Kriemhild#5::InsideFlagsPR1 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePt01:
+ flagemblem getcastledata("prtg_cas01",1);
+ end;
+}
+
+prtg_cas01,58,56,4 duplicate(InsideFlagsPR1) Kriemhild#5-2 GUILD_FLAG
+prtg_cas01,64,56,4 duplicate(InsideFlagsPR1) Kriemhild#6 GUILD_FLAG
+prtg_cas01,76,32,4 duplicate(InsideFlagsPR1) Kriemhild#7 GUILD_FLAG
+prtg_cas01,84,32,4 duplicate(InsideFlagsPR1) Kriemhild#8 GUILD_FLAG
+prtg_cas01,94,39,4 duplicate(InsideFlagsPR1) Kriemhild#9 GUILD_FLAG
+prtg_cas01,94,24,4 duplicate(InsideFlagsPR1) Kriemhild#10 GUILD_FLAG
+prtg_cas01,73,14,4 duplicate(InsideFlagsPR1) Kriemhild#11 GUILD_FLAG
+prtg_cas01,73,6,4 duplicate(InsideFlagsPR1) Kriemhild#12 GUILD_FLAG
+prtg_cas01,55,46,4 duplicate(InsideFlagsPR1) Kriemhild#13 GUILD_FLAG
+prtg_cas01,45,46,4 duplicate(InsideFlagsPR1) Kriemhild#14 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+prontera,155,190,4 duplicate(InsideFlagsPR1) Kriemhild#15 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+prtg_cas01,96,173,0 duplicate(guildkafra) Kafra Staff#prtg_cas01 4_F_KAFRA1
+
+// Steward
+//============================================================
+prtg_cas01,112,181,0 duplicate(cm) Ahvray#prtg_cas01 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+prtg_cas01,15,208,0 script #Lever_PR01 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "prtg_cas01",112,183;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+prtg_cas01,94,200,0 duplicate(gdlever) #prtg_cas01 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+prtg_cas01,11,208,0 duplicate(Gld_Trea_Spawn) Treasure#prtg_cas01 -1
+
+// AGIT Manager
+//============================================================
+prtg_cas01,197,197,0 duplicate(Gld_Agit_Manager) Agit#prtg_cas01 -1
+
+// Guardians
+//============================================================
+prtg_cas01,112,181,0 duplicate(Gld_Guard_Template) Guardian#prtg_cas01 -1
diff --git a/npc/woe-fe/prtg_cas02.txt b/npc/woe-fe/prtg_cas02.txt
new file mode 100644
index 000000000..315478ba1
--- /dev/null
+++ b/npc/woe-fe/prtg_cas02.txt
@@ -0,0 +1,138 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Prontera)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
+//= NPCs that relate to Prontera Guild Castle 2
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Corrected treasure room switch coordinates. [L0ne_W0lf]
+//= 1.3 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.4 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Swanhild#1::OutsideFlagsPR2 GUILD_FLAG,{
+
+ .@GID = getcastledata("prtg_cas02",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("prtg_cas02",1)) {
+ warp "prtg_cas02",169,55;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePt02:
+ flagemblem getcastledata("prtg_cas02",1);
+ end;
+}
+
+prt_gld,244,126,8 duplicate(OutsideFlagsPR2) Swanhild#1-2 GUILD_FLAG
+prt_gld,244,128,8 duplicate(OutsideFlagsPR2) Swanhild#2 GUILD_FLAG
+prt_gld,236,126,8 duplicate(OutsideFlagsPR2) Swanhild#3 GUILD_FLAG
+prt_gld,236,128,8 duplicate(OutsideFlagsPR2) Swanhild#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Swanhild#5::InsideFlagsPR2 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePt02:
+ flagemblem getcastledata("prtg_cas02",1);
+ end;
+}
+
+prtg_cas02,40,227,4 duplicate(InsideFlagsPR2) Swanhild#5-2 GUILD_FLAG
+prtg_cas02,46,227,4 duplicate(InsideFlagsPR2) Swanhild#6 GUILD_FLAG
+prtg_cas02,11,219,4 duplicate(InsideFlagsPR2) Swanhild#7 GUILD_FLAG
+prtg_cas02,11,214,4 duplicate(InsideFlagsPR2) Swanhild#8 GUILD_FLAG
+prtg_cas02,20,219,4 duplicate(InsideFlagsPR2) Swanhild#9 GUILD_FLAG
+prtg_cas02,20,214,4 duplicate(InsideFlagsPR2) Swanhild#10 GUILD_FLAG
+prtg_cas02,79,227,8 duplicate(InsideFlagsPR2) Swanhild#11 GUILD_FLAG
+prtg_cas02,70,227,8 duplicate(InsideFlagsPR2) Swanhild#12 GUILD_FLAG
+prtg_cas02,38,189,8 duplicate(InsideFlagsPR2) Swanhild#13 GUILD_FLAG
+prtg_cas02,34,189,8 duplicate(InsideFlagsPR2) Swanhild#14 GUILD_FLAG
+prtg_cas02,153,161,4 duplicate(InsideFlagsPR2) Swanhild#15 GUILD_FLAG
+prtg_cas02,162,161,4 duplicate(InsideFlagsPR2) Swanhild#16 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+prontera,146,194,3 duplicate(InsideFlagsPR2) Swanhild#17 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+prtg_cas02,71,36,4 duplicate(guildkafra) Kafra Staff#prtg_cas02 4_F_KAFRA1
+
+// Steward
+//============================================================
+prtg_cas02,94,61,4 duplicate(cm) Roy#prtg_cas02 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+prtg_cas02,207,228,0 script #Lever_PR02 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "prtg_cas02",94,62;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+prtg_cas02,84,72,0 duplicate(gdlever) #prtg_cas02 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+prtg_cas02,202,228,0 duplicate(Gld_Trea_Spawn) Treasure#prtg_cas02 -1
+
+// AGIT Manager
+//============================================================
+prtg_cas02,158,174,0 duplicate(Gld_Agit_Manager) Agit#prtg_cas02 -1
+
+// Guardians
+//============================================================
+prtg_cas02,94,61,4 duplicate(Gld_Guard_Template) Guardian#prtg_cas02 -1
diff --git a/npc/woe-fe/prtg_cas03.txt b/npc/woe-fe/prtg_cas03.txt
new file mode 100644
index 000000000..4b52dbb7f
--- /dev/null
+++ b/npc/woe-fe/prtg_cas03.txt
@@ -0,0 +1,136 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Prontera)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
+//= NPCs that relate to Prontera Guild Castle 3
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Corrected treasure room switch coordinates. [L0ne_W0lf]
+//= 1.3 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.4 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Fadhgridh#1::OutsideFlagsPR3 GUILD_FLAG,{
+
+ .@GID = getcastledata("prtg_cas03",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("prtg_cas03",1)) {
+ warp "prtg_cas03",181,215;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePt03:
+ flagemblem getcastledata("prtg_cas03",1);
+ end;
+}
+
+prt_gld,147,140,4 duplicate(OutsideFlagsPR3) Fadhgridh#1-2 GUILD_FLAG
+prt_gld,147,136,4 duplicate(OutsideFlagsPR3) Fadhgridh#2 GUILD_FLAG
+prt_gld,158,140,4 duplicate(OutsideFlagsPR3) Fadhgridh#3 GUILD_FLAG
+prt_gld,158,136,4 duplicate(OutsideFlagsPR3) Fadhgridh#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Fadhgridh#5::InsideFlagsPR3 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePt03:
+ flagemblem getcastledata("prtg_cas03",1);
+ end;
+}
+
+prtg_cas03,168,28,4 duplicate(InsideFlagsPR3) Fadhgridh#5-2 GUILD_FLAG
+prtg_cas03,182,28,4 duplicate(InsideFlagsPR3) Fadhgridh#6 GUILD_FLAG
+prtg_cas03,43,50,4 duplicate(InsideFlagsPR3) Fadhgridh#7 GUILD_FLAG
+prtg_cas03,48,50,4 duplicate(InsideFlagsPR3) Fadhgridh#8 GUILD_FLAG
+prtg_cas03,43,58,4 duplicate(InsideFlagsPR3) Fadhgridh#9 GUILD_FLAG
+prtg_cas03,48,58,4 duplicate(InsideFlagsPR3) Fadhgridh#10 GUILD_FLAG
+prtg_cas03,158,210,4 duplicate(InsideFlagsPR3) Fadhgridh#11 GUILD_FLAG
+prtg_cas03,169,210,4 duplicate(InsideFlagsPR3) Fadhgridh#12 GUILD_FLAG
+prtg_cas03,162,201,4 duplicate(InsideFlagsPR3) Fadhgridh#13 GUILD_FLAG
+prtg_cas03,165,201,4 duplicate(InsideFlagsPR3) Fadhgridh#14 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+prontera,143,203,2 duplicate(InsideFlagsPR3) Fadhgridh#15 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+prtg_cas03,181,215,4 duplicate(guildkafra) Kafra Staff#prtg_cas03 4_F_KAFRA1
+
+// Steward
+//============================================================
+prtg_cas03,51,100,4 duplicate(cm) Sttick#prtg_cas03 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+prtg_cas03,193,130,0 script #Lever_PR03 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "prtg_cas03",51,101;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+prtg_cas03,5,70,0 duplicate(gdlever) #prtg_cas03 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+prtg_cas03,189,132,0 duplicate(Gld_Trea_Spawn) Treasure#prtg_cas03 -1
+
+// AGIT Manager
+//============================================================
+prtg_cas03,17,221,0 duplicate(Gld_Agit_Manager) Agit#prtg_cas03 -1
+
+// Guardians
+//============================================================
+prtg_cas03,51,100,4 duplicate(Gld_Guard_Template) Guardian#prtg_cas03 -1
diff --git a/npc/woe-fe/prtg_cas04.txt b/npc/woe-fe/prtg_cas04.txt
new file mode 100644
index 000000000..8936b8451
--- /dev/null
+++ b/npc/woe-fe/prtg_cas04.txt
@@ -0,0 +1,136 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Prontera)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
+//= NPCs that relate to Prontera Guild Castle 4
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Corrected treasure room switch coordinates. [L0ne_W0lf]
+//= 1.3 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.4 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Skoegul#1::OutsideFlagsPR4 GUILD_FLAG,{
+
+ .@GID = getcastledata("prtg_cas04",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("prtg_cas04",1)) {
+ warp "prtg_cas04",258,247;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePt04:
+ flagemblem getcastledata("prtg_cas04",1);
+ end;
+}
+
+prt_gld,120,243,6 duplicate(OutsideFlagsPR4) Skoegul#1-2 GUILD_FLAG
+prt_gld,120,236,6 duplicate(OutsideFlagsPR4) Skoegul#2 GUILD_FLAG
+prt_gld,122,243,6 duplicate(OutsideFlagsPR4) Skoegul#3 GUILD_FLAG
+prt_gld,122,236,6 duplicate(OutsideFlagsPR4) Skoegul#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Skoegul#5::InsideFlagsPR4 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePt04:
+ flagemblem getcastledata("prtg_cas04",1);
+ end;
+}
+
+prtg_cas04,82,29,4 duplicate(InsideFlagsPR4) Skoegul#5-2 GUILD_FLAG
+prtg_cas04,75,29,4 duplicate(InsideFlagsPR4) Skoegul#6 GUILD_FLAG
+prtg_cas04,75,27,4 duplicate(InsideFlagsPR4) Skoegul#7 GUILD_FLAG
+prtg_cas04,82,27,4 duplicate(InsideFlagsPR4) Skoegul#8 GUILD_FLAG
+prtg_cas04,59,29,4 duplicate(InsideFlagsPR4) Skoegul#9 GUILD_FLAG
+prtg_cas04,67,29,4 duplicate(InsideFlagsPR4) Skoegul#10 GUILD_FLAG
+prtg_cas04,258,25,4 duplicate(InsideFlagsPR4) Skoegul#11 GUILD_FLAG
+prtg_cas04,258,20,4 duplicate(InsideFlagsPR4) Skoegul#12 GUILD_FLAG
+prtg_cas04,263,20,4 duplicate(InsideFlagsPR4) Skoegul#13 GUILD_FLAG
+prtg_cas04,263,27,4 duplicate(InsideFlagsPR4) Skoegul#14 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+prontera,167,203,6 duplicate(InsideFlagsPR4) Skoegul#15 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+prtg_cas04,258,247,4 duplicate(guildkafra) Kafra Staff#prtg_cas04 4_F_KAFRA1
+
+// Steward
+//============================================================
+prtg_cas04,259,265,4 duplicate(cm) Van Dreth#prtg_cas04 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+prtg_cas04,275,160,0 script #Lever_PR04 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "prtg_cas04",259,265;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+prtg_cas04,56,283,0 duplicate(gdlever) #prtg_cas04 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+prtg_cas04,271,162,0 duplicate(Gld_Trea_Spawn) Treasure#prtg_cas04 -1
+
+// AGIT Manager
+//============================================================
+prtg_cas04,292,14,0 duplicate(Gld_Agit_Manager) Agit#prtg_cas04 -1
+
+// Guardians
+//============================================================
+prtg_cas04,259,265,4 duplicate(Gld_Guard_Template) Guardian#prtg_cas04 -1
diff --git a/npc/woe-fe/prtg_cas05.txt b/npc/woe-fe/prtg_cas05.txt
new file mode 100644
index 000000000..3b9652783
--- /dev/null
+++ b/npc/woe-fe/prtg_cas05.txt
@@ -0,0 +1,134 @@
+//===== Hercules Script ======================================
+//= War of Emperium (Prontera)
+//===== By: ==================================================
+//= L0ne_W0lf
+//===== Current Version: =====================================
+//= 1.4
+//===== Description: =========================================
+//= NPCs that relate to Prontera Guild Castle 5
+//===== Additional Comments: =================================
+//= 1.0 First Version. No longer uses functions. [L0ne_W0lf]
+//= 1.1 Corrected flag-in spawn point. [L0ne_W0lf]
+//= 1.2 Corrected treasure room switch coordinates. [L0ne_W0lf]
+//= 1.3 Removed dialog from interior flags. [L0ne_W0lf]
+//= 1.4 Partially rewrote Script. [Masao]
+//============================================================
+
+// Guild Flags (Outside Castle)
+//============================================================
+- script Gondul#1::OutsideFlagsPR5 GUILD_FLAG,{
+
+ .@GID = getcastledata("prtg_cas05",1);
+
+ if (.@GID == 0) {
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "We declare that";
+ mes "there is no formal master of this castle.";
+ mes " ";
+ mes "2. To the one who can ";
+ mes "overcome all trials";
+ mes "and destroy the Emperium,";
+ mes "the king will endow the one with";
+ mes "ownership of this castle.";
+ close;
+ }
+ if (getcharid(2) == .@GID) {
+ mes "[ Echoing Voice ]";
+ mes "Brave ones...";
+ mes "Do you wish to return to your honorable place?";
+ next;
+ if(select("Return to the guild castle.:Quit.") == 1) {
+ close2;
+ if (getcharid(2) == getcastledata("prtg_cas05",1)) {
+ warp "prtg_cas05",52,41;
+ end;
+ }
+ end;
+ }
+ close;
+ }
+ mes "[ Edict of the Divine Rune-Midgarts Kingdom ]";
+ mes " ";
+ mes "1. Follow the ordinance of The Divine Rune-Midgarts Kingdom, ";
+ mes "we approve that this place is in";
+ mes "the private prossession of ^ff0000"+getguildname(.@GID)+"^000000 Guild.";
+ mes " ";
+ mes "2. The guild Master of ^ff0000"+getguildname(.@GID)+"^000000 Guild is";
+ mes "^ff0000"+getguildmaster(.@GID)+"^000000";
+ mes "If there is anyone who objects to this,";
+ mes "prove your strength and honor with a steel blade in your hand.";
+ close;
+
+OnRecvCastlePt05:
+ flagemblem getcastledata("prtg_cas05",1);
+ end;
+}
+
+prt_gld,199,243,2 duplicate(OutsideFlagsPR5) Gondul#1-2 GUILD_FLAG
+prt_gld,199,236,2 duplicate(OutsideFlagsPR5) Gondul#2 GUILD_FLAG
+prt_gld,197,243,2 duplicate(OutsideFlagsPR5) Gondul#3 GUILD_FLAG
+prt_gld,197,236,2 duplicate(OutsideFlagsPR5) Gondul#4 GUILD_FLAG
+
+// Guild Flags (Inside Castle)
+//============================================================
+- script Gondul#5::InsideFlagsPR5 GUILD_FLAG,{
+ end;
+
+OnRecvCastlePt05:
+ flagemblem getcastledata("prtg_cas05",1);
+ end;
+}
+
+prtg_cas05,19,247,4 duplicate(InsideFlagsPR5) Gondul#5-2 GUILD_FLAG
+prtg_cas05,19,243,4 duplicate(InsideFlagsPR5) Gondul#6 GUILD_FLAG
+prtg_cas05,26,247,4 duplicate(InsideFlagsPR5) Gondul#7 GUILD_FLAG
+prtg_cas05,26,243,4 duplicate(InsideFlagsPR5) Gondul#8 GUILD_FLAG
+prtg_cas05,249,289,4 duplicate(InsideFlagsPR5) Gondul#9 GUILD_FLAG
+prtg_cas05,256,289,4 duplicate(InsideFlagsPR5) Gondul#10 GUILD_FLAG
+prtg_cas05,253,271,4 duplicate(InsideFlagsPR5) Gondul#11 GUILD_FLAG
+prtg_cas05,273,257,4 duplicate(InsideFlagsPR5) Gondul#12 GUILD_FLAG
+
+// Guild Flag (Town)
+//============================================================
+prontera,165,194,5 duplicate(InsideFlagsPR5) Gondul#13 GUILD_FLAG
+
+// Kafra Employee
+//============================================================
+prtg_cas05,52,41,4 duplicate(guildkafra) Kafra Staff#prtg_cas05 4_F_KAFRA1
+
+// Steward
+//============================================================
+prtg_cas05,36,37,4 duplicate(cm) Raynor#prtg_cas05 1_M_JOBTESTER
+
+// Treasure Room Exit
+//============================================================
+prtg_cas05,281,176,0 script #Lever_PR05 HIDDEN_NPC,{
+
+ mes " ";
+ mes "There's a small lever. Will you pull it?";
+ next;
+ if(select("Pull.:Do not.") == 1) {
+ close2;
+ warp "prtg_cas05",36,38;
+ end;
+ }
+ close;
+}
+
+// Guild Dungeon Switch
+//============================================================
+prtg_cas05,212,95,0 duplicate(gdlever) #prtg_cas05 HIDDEN_NPC
+
+// Guild Treasure Spawns
+//============================================================
+prtg_cas05,276,178,0 duplicate(Gld_Trea_Spawn) Treasure#prtg_cas05 -1
+
+// AGIT Manager
+//============================================================
+prtg_cas05,266,266,0 duplicate(Gld_Agit_Manager) Agit#prtg_cas05 -1
+
+// Guardians
+//============================================================
+prtg_cas05,36,37,4 duplicate(Gld_Guard_Template) Guardian#prtg_cas05 -1
diff --git a/npc/woe-fe/trs_rp.txt b/npc/woe-fe/trs_rp.txt
new file mode 100644
index 000000000..d96bd694e
--- /dev/null
+++ b/npc/woe-fe/trs_rp.txt
@@ -0,0 +1,55 @@
+//===== Hercules Script ======================================
+//= Treasure Room Protection
+//===== By: ==================================================
+//= Masao
+//===== Current Version: =====================================
+//= 1.1
+//===== Description: =========================================
+//= Warps every Player out of the Treasure Room except for the
+//= Guildleader.
+//===== Additional Comments: =================================
+//= 1.0 Converted from the official script.
+//= 1.1 Reverted back and optimized. [Daegaladh]
+//============================================================
+
+- script Gld_Trea_Protect::Gld_Trea_Protect -1,{
+
+OnTouch:
+ // Store the Guild ID of castle occupant.
+ .@GID = getcastledata(strnpcinfo(2),1);
+ if (strcharinfo(0) != getguildmaster(.@GID)) {
+ if (compare(strnpcinfo(2),"aldeg"))
+ warp "aldebaran",143,112;
+ else if (compare(strnpcinfo(2),"gefg"))
+ warp "geffen",120,38;
+ else if (compare(strnpcinfo(2),"payg"))
+ warp "payon",100,100;
+ else if (compare(strnpcinfo(2),"prtg"))
+ warp "prontera",119,64;
+ }
+ end;
+}
+
+prtg_cas01,11,208,0 duplicate(Gld_Trea_Protect) ban_warp#prtg_cas01 -1,6,6
+prtg_cas02,202,228,0 duplicate(Gld_Trea_Protect) ban_warp#prtg_cas02 -1,6,6
+prtg_cas03,189,132,0 duplicate(Gld_Trea_Protect) ban_warp#prtg_cas03 -1,6,6
+prtg_cas04,271,162,0 duplicate(Gld_Trea_Protect) ban_warp#prtg_cas04 -1,6,6
+prtg_cas05,276,178,0 duplicate(Gld_Trea_Protect) ban_warp#prtg_cas05 -1,6,6
+
+payg_cas01,291,8,0 duplicate(Gld_Trea_Protect) ban_warp#payg_cas01 -1,6,6
+payg_cas02,145,144,0 duplicate(Gld_Trea_Protect) ban_warp#payg_cas02 -1,6,6
+payg_cas03,159,168,0 duplicate(Gld_Trea_Protect) ban_warp#payg_cas03 -1,6,6
+payg_cas04,147,48,0 duplicate(Gld_Trea_Protect) ban_warp#payg_cas04 -1,6,6
+payg_cas05,157,132,0 duplicate(Gld_Trea_Protect) ban_warp#payg_cas05 -1,6,6
+
+aldeg_cas01,118,223,0 duplicate(Gld_Trea_Protect) ban_warp#aldeg_cas01 -1,8,8
+aldeg_cas02,135,230,0 duplicate(Gld_Trea_Protect) ban_warp#aldeg_cas02 -1,8,8
+aldeg_cas03,225,269,0 duplicate(Gld_Trea_Protect) ban_warp#aldeg_cas03 -1,8,8
+aldeg_cas04,84,13,0 duplicate(Gld_Trea_Protect) ban_warp#aldeg_cas04 -1,8,8
+aldeg_cas05,62,12,0 duplicate(Gld_Trea_Protect) ban_warp#aldeg_cas05 -1,8,8
+
+gefg_cas01,154,112,0 duplicate(Gld_Trea_Protect) ban_warp#gefg_cas01 -1,6,6
+gefg_cas02,140,116,0 duplicate(Gld_Trea_Protect) ban_warp#gefg_cas02 -1,6,6
+gefg_cas03,271,290,0 duplicate(Gld_Trea_Protect) ban_warp#gefg_cas03 -1,6,6
+gefg_cas04,116,119,0 duplicate(Gld_Trea_Protect) ban_warp#gefg_cas04 -1,6,6
+gefg_cas05,144,110,0 duplicate(Gld_Trea_Protect) ban_warp#gefg_cas05 -1,6,6