summaryrefslogtreecommitdiff
path: root/npc/guild/payg
diff options
context:
space:
mode:
authorValaris <Valaris@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-01-29 16:10:48 +0000
committerValaris <Valaris@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-01-29 16:10:48 +0000
commit620e60eebce2c1f35c5c9a82f6ca365b316587f5 (patch)
tree38a39e0415f419d9a49ae456ed0e26654c23d559 /npc/guild/payg
parenta2675f07d7da22a7c6ae11f545bf8f671e785a82 (diff)
downloadhercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.gz
hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.bz2
hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.xz
hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.zip
AS OF SVN REV. 5901, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/guild/payg')
-rw-r--r--npc/guild/payg/payg_dunsw.txt49
-rw-r--r--npc/guild/payg/payg_ev_agit.txt146
-rw-r--r--npc/guild/payg/payg_flags.txt186
-rw-r--r--npc/guild/payg/payg_guardians.txt108
-rw-r--r--npc/guild/payg/payg_kafras.txt65
-rw-r--r--npc/guild/payg/payg_managers.txt104
-rw-r--r--npc/guild/payg/payg_treas.txt130
7 files changed, 788 insertions, 0 deletions
diff --git a/npc/guild/payg/payg_dunsw.txt b/npc/guild/payg/payg_dunsw.txt
new file mode 100644
index 000000000..227092a62
--- /dev/null
+++ b/npc/guild/payg/payg_dunsw.txt
@@ -0,0 +1,49 @@
+//===== eAthena Script =======================================
+//= War of Emperium Dungeon Switch for Payon Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Switch that warps guild members to the guild dungeon
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ================================================
+payg_cas01.gat,101,25,0 script Switch#DunPy01 111,{
+ callfunc "F_GldDunSw","payg_cas01","01",186,165;
+ close;
+}
+
+
+// Castle 2 ================================================
+payg_cas02.gat,278,247,0 script Switch#DunPy02 111,{
+ callfunc "F_GldDunSw","payg_cas02","01",54,165;
+ close;
+}
+
+
+// Castle 3 ================================================
+payg_cas03.gat,20,44,0 script Switch#DunPy03 111,{
+ callfunc "F_GldDunSw","payg_cas03","01",54,39;
+ close;
+}
+
+
+// Castle 4 ================================================
+payg_cas04.gat,52,48,0 script Switch#DunPy04 111,{
+ callfunc "F_GldDunSw","payg_cas04","01",186,39;
+ close;
+}
+
+
+// Castle 5 ================================================
+payg_cas05.gat,248,14,0 script Switch#DunPy05 111,{
+ callfunc "F_GldDunSw","payg_cas05","01",223,202;
+ close;
+}
diff --git a/npc/guild/payg/payg_ev_agit.txt b/npc/guild/payg/payg_ev_agit.txt
new file mode 100644
index 000000000..05b9cb3c0
--- /dev/null
+++ b/npc/guild/payg/payg_ev_agit.txt
@@ -0,0 +1,146 @@
+//===== eAthena Script =======================================
+//= War of Emperium - Payon Guild Wars Events
+//===== By: ==================================================
+//= jAthena (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Event Triggers of Payon Guild Wars
+//===== Additional Comments: =================================
+//= v1.2 Now using functions for OnAgitStart and OnAgitBreak. [kobra_k88]
+//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus]
+//============================================================
+
+
+// Castle 1 ================================================================
+payg_cas01.gat,139,139,0 script Agit_Py01 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas01.gat",0,"::OnRecvCastlePy01";
+ end;
+OnRecvCastlePy01:
+ RequestGuildInfo GetCastleData("payg_cas01.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas01","Py01",139,139;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas01","Py01";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas01","Py01";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas01.gat",GetCastleData("payg_cas01.gat",1),6;
+ Monster "payg_cas01.gat",139,139,"EMPERIUM",1288,1,"Agit_Py01::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas01","Py01";
+ end;
+}
+
+// Castle 2 ================================================================
+payg_cas02.gat,39,25,0 script Agit_Py02 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas02.gat",0,"::OnRecvCastlePy02";
+ end;
+OnRecvCastlePy02:
+ RequestGuildInfo GetCastleData("payg_cas02.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas02","Py02",39,25;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas02","Py02";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas02","Py02";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas02.gat",GetCastleData("payg_cas02.gat",1),6;
+ Monster "payg_cas02.gat",39,25,"EMPERIUM",1288,1,"Agit_Py02::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas02","Py02";
+ end;
+}
+
+// Castle 3 ================================================================
+payg_cas03.gat,269,265,0 script Agit_Py03 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas03.gat",0,"::OnRecvCastlePy03";
+ end;
+OnRecvCastlePy03:
+ RequestGuildInfo GetCastleData("payg_cas03.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas03","Py03",269,265;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas03","Py03";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas03","Py03";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas03.gat",GetCastleData("payg_cas03.gat",1),6;
+ Monster "payg_cas03.gat",269,265,"EMPERIUM",1288,1,"Agit_Py03::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas03","Py03";
+ end;
+}
+
+// Castle 4 ================================================================
+payg_cas04.gat,271,29,0 script Agit_Py04 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas04.gat",0,"::OnRecvCastlePy04";
+ end;
+OnRecvCastlePy04:
+ RequestGuildInfo GetCastleData("payg_cas04.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas04","Py04",271,29;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas04","Py04";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas04","Py04";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas04.gat",GetCastleData("payg_cas04.gat",1),6;
+ Monster "payg_cas04.gat",271,29,"EMPERIUM",1288,1,"Agit_Py04::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas04","Py04";
+ end;
+}
+
+// Castle 5 ================================================================
+payg_cas05.gat,30,30,0 script Agit_Py05 -1,{
+OnInterIfInitOnce:
+ GetCastleData "payg_cas05.gat",0,"::OnRecvCastlePy05";
+ end;
+OnRecvCastlePy05:
+ RequestGuildInfo GetCastleData("payg_cas05.gat",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","payg_cas05","Py05",30,30;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","payg_cas05","Py05";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","payg_cas05","Py05";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "payg_cas05.gat",GetCastleData("payg_cas05.gat",1),6;
+ Monster "payg_cas05.gat",30,30,"EMPERIUM",1288,1,"Agit_Py05::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","payg_cas05","Py05";
+ end;
+}
diff --git a/npc/guild/payg/payg_flags.txt b/npc/guild/payg/payg_flags.txt
new file mode 100644
index 000000000..7bc707fc8
--- /dev/null
+++ b/npc/guild/payg/payg_flags.txt
@@ -0,0 +1,186 @@
+//===== eAthena Script =======================================
+//= War of Emperium - Payon Guild Flags
+//===== By: ==================================================
+//= jAthena (1.0)
+//= 1.1 by Akaru and ho|yAnge|
+//===== Current Version: =====================================
+//= 1.4
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Castle Guild Flags in Payon and pay_gld
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//= v1.3 Changed to iRO castle names [DracoRPG]
+//= v1.4 Can now only flag in from outside the castle [Kayla]
+//============================================================
+
+
+//============================================================================//
+// Castle 1
+//============================================================================//
+payon.gat,165,177,3 script BrightArbor#f1-1::BrightArbor 722,{
+ callfunc "F_Flags","Payon","payg_cas01",87,29,0;
+ close;
+
+OnRecvCastlePy01:
+ FlagEmblem GetCastleData("payg_cas01.gat",1);
+ end;
+}
+
+pay_gld.gat,125,236,4 script BrightArbor#f1-2::BrightArbor2 722,{
+ callfunc "F_Flags","Payon","payg_cas01",87,29,1;
+ close;
+
+OnRecvCastlePy01:
+ FlagEmblem GetCastleData("payg_cas01.gat",1);
+ end;
+}
+
+// In Guild ===============================================
+pay_gld.gat,110,233,4 duplicate(BrightArbor2) Bright Arbor#f1-3 722
+pay_gld.gat,116,233,4 duplicate(BrightArbor2) Bright Arbor#f1-4 722
+pay_gld.gat,91,239,2 duplicate(BrightArbor2) Bright Arbor#f1-5 722
+// In Castle ===============================================
+payg_cas01.gat,238,67,4 duplicate(BrightArbor) Bright Arbor#f1-6 722
+payg_cas01.gat,233,67,4 duplicate(BrightArbor) Bright Arbor#f1-7 722
+payg_cas01.gat,221,123,4 duplicate(BrightArbor) Bright Arbor#f1-8 722
+payg_cas01.gat,221,116,4 duplicate(BrightArbor) Bright Arbor#f1-9 722
+payg_cas01.gat,206,108,4 duplicate(BrightArbor) Bright Arbor#f1-10 722
+payg_cas01.gat,212,108,4 duplicate(BrightArbor) Bright Arbor#f1-11 722
+
+
+
+//===========================================================================//
+// Castle 2
+//============================================================================//
+payon.gat,165,173,3 script ScarletPalace#f2-1::ScarletPalace 722,{
+ callfunc "F_Flags","Payon","payg_cas02",25,266,0;
+ close;
+
+OnRecvCastlePy02:
+ FlagEmblem GetCastleData("payg_cas02.gat",1);
+ end;
+}
+
+pay_gld.gat,292,112,6 script ScarletPalace#f2-2::ScarletPalace2 722,{
+ callfunc "F_Flags","Payon","payg_cas02",25,266,1;
+ close;
+
+OnRecvCastlePy02:
+ FlagEmblem GetCastleData("payg_cas02.gat",1);
+ end;
+}
+// In Guild ===============================================
+pay_gld.gat,292,120,6 duplicate(ScarletPalace2) Scarlet Palace#f2-3 722
+pay_gld.gat,291,135,6 duplicate(ScarletPalace2) Scarlet Palace#f2-4 722
+pay_gld.gat,271,163,0 duplicate(ScarletPalace2) Scarlet Palace#f2-5 722
+// In Castle ===============================================
+payg_cas02.gat,254,40,6 duplicate(ScarletPalace) Scarlet Palace#f2-6 722
+payg_cas02.gat,254,48,6 duplicate(ScarletPalace) Scarlet Palace#f2-7 722
+payg_cas02.gat,202,49,0 duplicate(ScarletPalace) Scarlet Palace#f2-8 722
+payg_cas02.gat,209,49,0 duplicate(ScarletPalace) Scarlet Palace#f2-9 722
+payg_cas02.gat,59,282,4 duplicate(ScarletPalace) Scarlet Palace#f2-10 722
+payg_cas02.gat,70,282,4 duplicate(ScarletPalace) Scarlet Palace#f2-11 722
+
+
+
+//============================================================================//
+// Castle 3
+//============================================================================//
+payon.gat,165,169,3 script HolyShadow#f3-1::HolyShadow 722,{
+ callfunc "F_Flags","Payon","payg_cas03",9,263,0;
+ close;
+
+OnRecvCastlePy03:
+ FlagEmblem GetCastleData("payg_cas03.gat",1);
+ end;
+}
+
+pay_gld.gat,321,298,2 script HolyShadow#f3-2::HolyShadow2 722,{
+ callfunc "F_Flags","Payon","payg_cas03",9,263,1;
+ close;
+
+OnRecvCastlePy03:
+ FlagEmblem GetCastleData("payg_cas03.gat",1);
+ end;
+}
+
+// In Guild ===============================================
+pay_gld.gat,321,289,2 duplicate(HolyShadow2) Holy Shadow#f3-3 722
+pay_gld.gat,327,304,1 duplicate(HolyShadow2) Holy Shadow#f3-4 722
+pay_gld.gat,333,254,4 duplicate(HolyShadow2) Holy Shadow#f3-5 722
+// In Castle ===============================================
+payg_cas03.gat,236,54,2 duplicate(HolyShadow) Holy Shadow#f3-6 722
+payg_cas03.gat,236,45,2 duplicate(HolyShadow) Holy Shadow#f3-7 722
+payg_cas03.gat,259,66,4 duplicate(HolyShadow) Holy Shadow#f3-8 722
+payg_cas03.gat,266,66,4 duplicate(HolyShadow) Holy Shadow#f3-9 722
+payg_cas03.gat,34,31,4 duplicate(HolyShadow) Holy Shadow#f3-10 722
+payg_cas03.gat,43,31,4 duplicate(HolyShadow) Holy Shadow#f3-11 722
+
+
+
+//============================================================================//
+// Castle 4
+//============================================================================//
+payon.gat,165,165,3 script SacredAltar#f4-1::SacredAltar 722,{
+ callfunc "F_Flags","Payon","payg_cas04",40,235,0;
+ close;
+
+OnRecvCastlePy04:
+ FlagEmblem GetCastleData("payg_cas04.gat",1);
+ end;
+}
+
+pay_gld.gat,143,160,0 script SacredAltar#f4-2::SacredAltar2 722,{
+ callfunc "F_Flags","Payon","payg_cas04",40,235,1;
+ close;
+
+OnRecvCastlePy04:
+ FlagEmblem GetCastleData("payg_cas04.gat",1);
+ end;
+}
+// In Guild ===============================================
+pay_gld.gat,133,151,2 duplicate(SacredAltar2) Sacred Altar#f4-4 722
+pay_gld.gat,153,166,1 duplicate(SacredAltar2) Sacred Altar#f4-5 722
+// In Castle ===============================================
+payg_cas04.gat,255,259,0 duplicate(SacredAltar) Sacred Altar#f4-6 722
+payg_cas04.gat,248,259,0 duplicate(SacredAltar) Sacred Altar#f4-7 722
+payg_cas04.gat,248,168,6 duplicate(SacredAltar) Sacred Altar#f4-8 722
+payg_cas04.gat,248,160,6 duplicate(SacredAltar) Sacred Altar#f4-9 722
+payg_cas04.gat,232,181,4 duplicate(SacredAltar) Sacred Altar#f4-10 722
+payg_cas04.gat,239,181,4 duplicate(SacredAltar) Sacred Altar#f4-11 722
+
+
+
+//============================================================================//
+// Castle 5
+//============================================================================//
+payon.gat,165,161,3 script BambooGrove Hill#f5-1::BambooGroveHill 722,{
+ callfunc "F_Flags","Payon","payg_cas05",276,227,0;
+ close;
+
+OnRecvCastlePy05:
+ FlagEmblem GetCastleData("payg_cas05.gat",1);
+ end;
+}
+
+pay_gld.gat,208,268,4 script BambooGrove Hill#f5-2::BambooGroveHill2 722,{
+ callfunc "F_Flags","Payon","payg_cas05",276,227,1;
+ close;
+
+OnRecvCastlePy05:
+ FlagEmblem GetCastleData("payg_cas05.gat",1);
+ end;
+}
+// In Guild ===============================================
+pay_gld.gat,199,268,4 duplicate(BambooGroveHill2) Bamboo Grove Hill#f5-3 722
+pay_gld.gat,190,277,3 duplicate(BambooGroveHill2) Bamboo Grove Hill#f5-4 722
+pay_gld.gat,187,294,2 duplicate(BambooGroveHill2) Bamboo Grove Hill#f5-5 722
+// In Castle ===============================================
+payg_cas05.gat,32,249,4 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-6 722
+payg_cas05.gat,24,249,4 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-7 722
+payg_cas05.gat,62,271,0 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-8 722
+payg_cas05.gat,57,271,0 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-9 722
+payg_cas05.gat,55,252,2 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-10 722
+payg_cas05.gat,55,260,2 duplicate(BambooGroveHill) Bamboo Grove Hill#f5-11 722
diff --git a/npc/guild/payg/payg_guardians.txt b/npc/guild/payg/payg_guardians.txt
new file mode 100644
index 000000000..1634babe1
--- /dev/null
+++ b/npc/guild/payg/payg_guardians.txt
@@ -0,0 +1,108 @@
+//===== eAthena Script =======================================
+//= War of Emperium - payg_cas guardians script
+//===== By: ==================================================
+//= holyAngelX (1.0)
+//===== Current Version: =====================================
+//= 1.2a
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Re-spawns guardians on server start if they have been
+//= purchased. Also announces when a guardian dies.
+//===== Additional Comments: =================================
+//= 1.1 by joedukk
+//= 1.2 by Akaru and Valaris
+//= 1.2a Guardians for all payg castles are now in this file.
+//= Minor optimizations.[kobra_k88]
+//============================================================
+
+
+payg_cas01.gat,139,139,0 script Guardian_Py01 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas01.gat",10) == 1) guardian "payg_cas01.gat",210,120,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",0;
+ if (GetCastleData("payg_cas01.gat",11) == 1) guardian "payg_cas01.gat",69,26,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",1;
+ if (GetCastleData("payg_cas01.gat",12) == 1) guardian "payg_cas01.gat",23,141,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",2;
+ if (GetCastleData("payg_cas01.gat",13) == 1) guardian "payg_cas01.gat",224,87,"Archer Guardian",1285,1,"Guardian_Py01::OnGuardianDied",3;
+ if (GetCastleData("payg_cas01.gat",14) == 1) guardian "payg_cas01.gat",81,45,"Archer Guardian",1285,1,"Guardian_Py01::OnGuardianDied",4;
+ if (GetCastleData("payg_cas01.gat",15) == 1) guardian "payg_cas01.gat",214,53,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",5;
+ if (GetCastleData("payg_cas01.gat",16) == 1) guardian "payg_cas01.gat",69,26,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",6;
+ if (GetCastleData("payg_cas01.gat",17) == 1) guardian "payg_cas01.gat",23,141,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas01.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+payg_cas02.gat,39,25,0 script Guardian_Py02 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas02.gat",10) == 1) guardian "payg_cas02.gat",208,37,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",0;
+ if (GetCastleData("payg_cas02.gat",11) == 1) guardian "payg_cas02.gat",51,245,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",1;
+ if (GetCastleData("payg_cas02.gat",12) == 1) guardian "payg_cas02.gat",286,245,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",2;
+ if (GetCastleData("payg_cas02.gat",13) == 1) guardian "payg_cas02.gat",217,42,"Archer Guardian",1285,1,"Guardian_Py02::OnGuardianDied",3;
+ if (GetCastleData("payg_cas02.gat",14) == 1) guardian "payg_cas02.gat",264,266,"Archer Guardian",1285,1,"Guardian_Py02::OnGuardianDied",4;
+ if (GetCastleData("payg_cas02.gat",15) == 1) guardian "payg_cas02.gat",51,245,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",5;
+ if (GetCastleData("payg_cas02.gat",16) == 1) guardian "payg_cas02.gat",279,263,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",6;
+ if (GetCastleData("payg_cas02.gat",17) == 1) guardian "payg_cas02.gat",279,263,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas02.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+payg_cas03.gat,269,265,0 script Guardian_Py03 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas03.gat",10) == 1) guardian "payg_cas03.gat",252,39,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",0;
+ if (GetCastleData("payg_cas03.gat",11) == 1) guardian "payg_cas03.gat",23,283,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",1;
+ if (GetCastleData("payg_cas03.gat",12) == 1) guardian "payg_cas03.gat",34,283,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",2;
+ if (GetCastleData("payg_cas03.gat",13) == 1) guardian "payg_cas03.gat",57,36,"Archer Guardian",1285,1,"Guardian_Py03::OnGuardianDied",3;
+ if (GetCastleData("payg_cas03.gat",14) == 1) guardian "payg_cas03.gat",20,36,"Archer Guardian",1285,1,"Guardian_Py03::OnGuardianDied",4;
+ if (GetCastleData("payg_cas03.gat",15) == 1) guardian "payg_cas03.gat",34,283,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",5;
+ if (GetCastleData("payg_cas03.gat",16) == 1) guardian "payg_cas03.gat",23,283,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",6;
+ if (GetCastleData("payg_cas03.gat",17) == 1) guardian "payg_cas03.gat",28,253,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas03.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+payg_cas04.gat,271,29,0 script Guardian_Py04 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas04.gat",10) == 1) guardian "payg_cas04.gat",236,172,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",0;
+ if (GetCastleData("payg_cas04.gat",11) == 1) guardian "payg_cas04.gat",14,260,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",1;
+ if (GetCastleData("payg_cas04.gat",12) == 1) guardian "payg_cas04.gat",15,30,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",2;
+ if (GetCastleData("payg_cas04.gat",13) == 1) guardian "payg_cas04.gat",257,166,"Archer Guardian",1285,1,"Guardian_Py04::OnGuardianDied",3;
+ if (GetCastleData("payg_cas04.gat",14) == 1) guardian "payg_cas04.gat",65,261,"Archer Guardian",1285,1,"Guardian_Py04::OnGuardianDied",4;
+ if (GetCastleData("payg_cas04.gat",15) == 1) guardian "payg_cas04.gat",65,261,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",5;
+ if (GetCastleData("payg_cas04.gat",16) == 1) guardian "payg_cas04.gat",52,29,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",6;
+ if (GetCastleData("payg_cas04.gat",17) == 1) guardian "payg_cas04.gat",15,30,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas04.gat","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+payg_cas05.gat,30,30,0 script Guardian_Py05 -1,{
+OnAgitInit:
+ if (GetCastleData("payg_cas05.gat",10) == 1) guardian "payg_cas05.gat",51,258,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",0;
+ if (GetCastleData("payg_cas05.gat",11) == 1) guardian "payg_cas05.gat",286,235,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",1;
+ if (GetCastleData("payg_cas05.gat",12) == 1) guardian "payg_cas05.gat",282,277,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",2;
+ if (GetCastleData("payg_cas05.gat",13) == 1) guardian "payg_cas05.gat",18,281,"Archer Guardian",1285,1,"Guardian_Py05::OnGuardianDied",3;
+ if (GetCastleData("payg_cas05.gat",14) == 1) guardian "payg_cas05.gat",289,256,"Archer Guardian",1285,1,"Guardian_Py05::OnGuardianDied",4;
+ if (GetCastleData("payg_cas05.gat",15) == 1) guardian "payg_cas05.gat",275,42,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",5;
+ if (GetCastleData("payg_cas05.gat",16) == 1) guardian "payg_cas05.gat",254,9,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",6;
+ if (GetCastleData("payg_cas05.gat",17) == 1) guardian "payg_cas05.gat",236,256,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "payg_cas05.gat","A Guardian Has Fallen",17;
+ end;
+}
diff --git a/npc/guild/payg/payg_kafras.txt b/npc/guild/payg/payg_kafras.txt
new file mode 100644
index 000000000..75e758ec3
--- /dev/null
+++ b/npc/guild/payg/payg_kafras.txt
@@ -0,0 +1,65 @@
+//== eAthena Script ========================================
+//= War of Emperium Kafras for Payon Guild Castles
+//== By: =================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//== Current Version: ========================================
+//= 1.2
+//== Compatible With: ========================================
+//= eAthena 0.1+; RO Episode 4+
+//== Description: ============================================
+//= Provides Kafra services for guild members of Payon Castles.
+//= Used in conjuction with function F_Kafra.
+//== Additional Comments: ==================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 =============
+payg_cas01.gat,128,58,3 script Kafra Service#Py01 117,{
+ callfunc "F_GKafra", "payg_cas01", "Payon";
+ end;
+OnRecvCastlePy01:
+ if (GetCastleData("payg_cas01.gat",9) < 1) disablenpc "Kafra Service#Py01";
+ end;
+}
+
+
+// Castle 2 =============
+payg_cas02.gat,22,275,5 script Kafra Service#Py02 117,{
+ callfunc "F_GKafra", "payg_cas02", "Payon";
+ end;
+OnRecvCastlePy02:
+ if (GetCastleData("payg_cas02.gat",9) < 1) disablenpc "Kafra Service#Py02";
+ end;
+}
+
+
+// Castle 3 =============
+payg_cas03.gat,9,263,5 script Kafra Service#Py03 117,{
+ callfunc "F_GKafra", "payg_cas03", "Payon";
+ end;
+OnRecvCastlePy03:
+ if (GetCastleData("payg_cas03.gat",9) < 1) disablenpc "Kafra Service#Py03";
+ end;
+}
+
+
+// Castle 4 =============
+payg_cas04.gat,40,235,1 script Kafra Service#Py04 117,{
+ callfunc "F_GKafra", "payg_cas04", "Payon";
+ end;
+OnRecvCastlePy04:
+ if (GetCastleData("payg_cas04.gat",9) < 1) disablenpc "Kafra Service#Py04";
+ end;
+}
+
+
+// Castle 5 =============
+payg_cas05.gat,276,227,1 script Kafra Service#Py05 117,{
+ callfunc "F_GKafra", "payg_cas05", "Payon";
+ end;
+OnRecvCastlePy05:
+ if (GetCastleData("payg_cas05.gat",9) < 1) disablenpc "Kafra Service#Py05";
+ end;
+}
diff --git a/npc/guild/payg/payg_managers.txt b/npc/guild/payg/payg_managers.txt
new file mode 100644
index 000000000..d6277825e
--- /dev/null
+++ b/npc/guild/payg/payg_managers.txt
@@ -0,0 +1,104 @@
+//===== eAthena Script =======================================
+//= War of Emperium Managers for Payon Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ==================================================================================
+payg_cas01.gat,120,58,4 script Grunday 55,{
+ if(callfunc("F_GldManager","Grunday","payg_cas01",290,7,"Py01") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas01.gat",210,120,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas01.gat",69,26,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas01.gat",23,141,"Soldier Guardian",1287,1,"Guardian_Py01::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas01.gat",224,87,"Archer Guardian",1285,1,"Guardian_Py01::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas01.gat",81,45,"Archer Guardian",1285,1,"Guardian_Py01::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas01.gat",214,53,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas01.gat",69,26,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas01.gat",23,141,"Knight Guardian",1286,1,"Guardian_Py01::OnGuardianDied",7;
+ mes "[ Grunday ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 2 ==================================================================================
+payg_cas02.gat,22,260,7 script Cherrios 55,{
+ if(callfunc("F_GldManager","Cherrios","payg_cas02",145,143,"Py02") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas02.gat",208,37,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas02.gat",51,245,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas02.gat",286,245,"Soldier Guardian",1287,1,"Guardian_Py02::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas02.gat",217,42,"Archer Guardian",1285,1,"Guardian_Py02::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas02.gat",264,266,"Archer Guardian",1285,1,"Guardian_Py02::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas02.gat",51,245,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas02.gat",279,263,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas02.gat",279,263,"Knight Guardian",1286,1,"Guardian_Py02::OnGuardianDied",7;
+ mes "[ Cherrios ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 3 ==================================================================================
+payg_cas03.gat,10,277,0 script Garriet 55,{
+ if(callfunc("F_GldManager","Garriet","payg_cas03",158,168,"Py03") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas03.gat",252,39,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas03.gat",23,283,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas03.gat",34,283,"Soldier Guardian",1287,1,"Guardian_Py03::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas03.gat",57,36,"Archer Guardian",1285,1,"Guardian_Py03::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas03.gat",20,36,"Archer Guardian",1285,1,"Guardian_Py03::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas03.gat",34,283,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas03.gat",23,283,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas03.gat",28,253,"Knight Guardian",1286,1,"Guardian_Py03::OnGuardianDied",7;
+ mes "[ Garriet ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 4 ==================================================================================
+payg_cas04.gat,38,284,3 script DJ 55,{
+ if(callfunc("F_GldManager","DJ","payg_cas04",146,48,"Py04") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas04.gat",236,172,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas04.gat",14,260,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas04.gat",15,30,"Soldier Guardian",1287,1,"Guardian_Py04::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas04.gat",257,166,"Archer Guardian",1285,1,"Guardian_Py04::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas04.gat",65,261,"Archer Guardian",1285,1,"Guardian_Py04::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas04.gat",65,261,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas04.gat",52,29,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas04.gat",15,30,"Knight Guardian",1286,1,"Guardian_Py04::OnGuardianDied",7;
+ mes "[ DJ ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 5 ==================================================================================
+payg_cas05.gat,277,249,3 script Najarf 55,{
+ if(callfunc("F_GldManager","Najarf","payg_cas05",156,131,"Py05") == 0) close;
+
+ if(@GDnum==10) guardian "payg_cas05.gat",51,258,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",0;
+ if(@GDnum==11) guardian "payg_cas05.gat",286,235,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",1;
+ if(@GDnum==12) guardian "payg_cas05.gat",282,277,"Soldier Guardian",1287,1,"Guardian_Py05::OnGuardianDied",2;
+ if(@GDnum==13) guardian "payg_cas05.gat",18,281,"Archer Guardian",1285,1,"Guardian_Py05::OnGuardianDied",3;
+ if(@GDnum==14) guardian "payg_cas05.gat",289,256,"Archer Guardian",1285,1,"Guardian_Py05::OnGuardianDied",4;
+ if(@GDnum==15) guardian "payg_cas05.gat",275,42,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",5;
+ if(@GDnum==16) guardian "payg_cas05.gat",254,9,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",6;
+ if(@GDnum==17) guardian "payg_cas05.gat",236,256,"Knight Guardian",1286,1,"Guardian_Py05::OnGuardianDied",7;
+ mes "[ Najarf ]";
+ mes "Guardian has been installed, guardian will protect our guild base against enemies.";
+ close;
+}
diff --git a/npc/guild/payg/payg_treas.txt b/npc/guild/payg/payg_treas.txt
new file mode 100644
index 000000000..b0532f9ac
--- /dev/null
+++ b/npc/guild/payg/payg_treas.txt
@@ -0,0 +1,130 @@
+//===== eAthena Script =======================================
+//= War of Emperium Treasure Rooms for Payon Guild Castles
+//===== By: ==================================================
+//= jAthena - kalen (1.0)
+//= 1.1 by Akaru, ho|yAnge|X, and Valaris
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= v1.2 Optimized with functions.[kobra_k88]
+//============================================================
+
+
+//<================================ Castle 1 ================================>\\
+
+// Treasure Spawn ----------------------------------------------------------
+payg_cas01.gat,1,1,0 script Treasure_Py01 -1,{
+OnRecvCastlePy01:
+ if($boxNumPy01 == 0) end;
+ set $@bxPy01, $boxNumPy01;
+// callfunc "F_GldTreas","payg_cas01","Py01",$boxNumPy01,$@bxPy01,$@boxIdPy01,1344,286,4,295,13,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas01.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy01, $boxNumPy01 -1;
+ if($boxNumPy01 == 0) mapannounce "payg_cas01.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ---------------------------------------------------
+payg_cas01.gat,295,8,0 script Switch#TresPy01 111,{
+ callfunc "F_GldTreasSw", "payg_cas01",120,59;
+ end;
+}
+
+
+//<================================ Castle 2 ================================>\\
+// Treasure Spawn ----------------------------------------------------------
+payg_cas02.gat,1,1,0 script Treasure_Py02 -1,{
+OnRecvCastlePy02:
+ if($boxNumPy02 == 0) end;
+ set $@bxPy02, $boxNumPy02;
+// callfunc "F_GldTreas","payg_cas02","Py02",$boxNumPy02,$@bxPy02,$@boxIdPy02,1346,140,140,148,149,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas02.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy02, $boxNumPy02 -1;
+ if($boxNumPy02 == 0) mapannounce "payg_cas02.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+payg_cas02.gat,149,148,0 script Switch#TresPy02 111,{
+ callfunc "F_GldTreasSw", "payg_cas02",22,261;
+ end;
+}
+
+
+//<================================ Castle 3 ================================>\\
+// Treasure Spawn ----------------------------------------------------------
+payg_cas03.gat,158,168,0 script Treasure_Py03 -1,{
+OnRecvCastlePy03:
+ if($boxNumPy03 == 0) end;
+ set $@bxPy03, $boxNumPy03;
+// callfunc "F_GldTreas","payg_cas03","Py03",$boxNumPy03,$@bxPy03,$@boxIdPy03,1348,154,164,162,173,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas03.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy03, $boxNumPy03 -1;
+ if($boxNumPy03 == 0) mapannounce "payg_cas03.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+payg_cas03.gat,163,167,0 script Switch#TresPy03 111,{
+ callfunc "F_GldTreasSw", "payg_cas03",11,278;
+ end;
+}
+
+
+//<================================ Castle 4 ================================>\\
+// Treasure Spawn ----------------------------------------------------------
+payg_cas04.gat,146,48,0 script Treasure_Py04 -1,{
+OnRecvCastlePy04:
+ if($boxNumPy04 == 0) end;
+ set $@bxPy04, $boxNumPy04;
+// callfunc "F_GldTreas","payg_cas04","Py04",$boxNumPy04,$@bxPy04,$@boxIdPy04,1350,142,44,151,51,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas04.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy04, $boxNumPy04 -1;
+ if($boxNumPy04 == 0) mapannounce "payg_cas04.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+payg_cas04.gat,151,47,0 script Switch#TresPy04 111,{
+ callfunc "F_GldTreasSw", "payg_cas04",38,285;
+ end;
+}
+
+
+//<================================ Castle 5 ================================>\\
+// Treasure Spawn ----------------------------------------------------------
+payg_cas05.gat,156,131,0 script Treasure_Py05 -1,{
+OnRecvCastlePy05:
+ if($boxNumPy05 == 0) end;
+ set $@bxPy05, $boxNumPy05;
+// callfunc "F_GldTreas","payg_cas05","Py05",$boxNumPy05,$@bxPy05,$@boxIdPy05,1352,152,128,160,135,1;
+ end;
+
+OnDied:
+ mapannounce "payg_cas05.gat","Treasure Chest Broken Open",17;
+ set $boxNumPy05, $boxNumPy05 -1;
+ if($boxNumPy05 == 0) mapannounce "payg_cas05.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+payg_cas05.gat,161,136,0 script Switch#TresPy05 111,{
+ callfunc "F_GldTreasSw", "payg_cas05",277,250;
+ end;
+}