summaryrefslogtreecommitdiff
path: root/npc/events
diff options
context:
space:
mode:
authorL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-06-04 01:11:21 +0000
committerL0ne_W0lf <L0ne_W0lf@54d463be-8e91-2dee-dedb-b68131a5f0ec>2007-06-04 01:11:21 +0000
commitcf3ef84e5e0c09e2ff1f1683d8546a6822ba7693 (patch)
treee858229b6d91af5fee15849e6582d614435e1c3e /npc/events
parent89d430b2c4d770d7d5c073710a21bd24df5f3f0c (diff)
downloadhercules-cf3ef84e5e0c09e2ff1f1683d8546a6822ba7693.tar.gz
hercules-cf3ef84e5e0c09e2ff1f1683d8546a6822ba7693.tar.bz2
hercules-cf3ef84e5e0c09e2ff1f1683d8546a6822ba7693.tar.xz
hercules-cf3ef84e5e0c09e2ff1f1683d8546a6822ba7693.zip
* Updated 2006 headgear quests to semi-official dialog.
* Various updates to the various guild Castle scripts. - Added Guild Master Room protection. Further security so only the master of the current castle can enter the treasure room. - Updated Guild Castle Flags again. Updated remaining dialogs to official. - Updated a couple announces for when the Emperium breaks. Both are now up to par with iRO. - Moved nguild to the events folder and commented it out, as it was a kRO event that was used twice. Updated .confs to reflect this change. * Added the first class skill resetter into Prontera. She resets players under base level 40 who are first or expanded class. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@10669 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/events')
-rw-r--r--npc/events/nguild/nguild_dunsw.txt38
-rw-r--r--npc/events/nguild/nguild_ev_agit.txt119
-rw-r--r--npc/events/nguild/nguild_flags.txt147
-rw-r--r--npc/events/nguild/nguild_guardians.txt89
-rw-r--r--npc/events/nguild/nguild_kafras.txt53
-rw-r--r--npc/events/nguild/nguild_managers.txt85
-rw-r--r--npc/events/nguild/nguild_treas.txt117
-rw-r--r--npc/events/nguild/nguild_warper.txt111
8 files changed, 759 insertions, 0 deletions
diff --git a/npc/events/nguild/nguild_dunsw.txt b/npc/events/nguild/nguild_dunsw.txt
new file mode 100644
index 000000000..81d98f247
--- /dev/null
+++ b/npc/events/nguild/nguild_dunsw.txt
@@ -0,0 +1,38 @@
+//===== eAthena Script =======================================
+//= War of Emperium Dungeon Switch for NGuild Castles
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Switch that warps guild members to the guild dungeon
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ===============================================
+nguild_alde,212,181,0 script Switch#DunN01 111,{
+ callfunc "F_GldDunSw","nguild_alde","02",32,122;
+ close;
+}
+
+// Castle 2 ===============================================
+nguild_gef,78,84,0 script Switch#DunN02 111,{
+ callfunc "F_GldDunSw","nguild_gef","04",39,258;
+ close;
+}
+
+// Castle 3 ===============================================
+nguild_pay,101,25,0 script Switch#DunN03 111,{
+ callfunc "F_GldDunSw","nguild_pay","01",186,165;
+ close;
+}
+
+// Castle 4 ===============================================
+nguild_prt,94,200,0 script Switch#DunN04 111,{
+ callfunc "F_GldDunSw","nguild_prt","03",28,251;
+ close;
+}
diff --git a/npc/events/nguild/nguild_ev_agit.txt b/npc/events/nguild/nguild_ev_agit.txt
new file mode 100644
index 000000000..159104caa
--- /dev/null
+++ b/npc/events/nguild/nguild_ev_agit.txt
@@ -0,0 +1,119 @@
+//===== eAthena Script =======================================
+//= War of Emperium - NGuild Wars Events
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.3
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= Event Triggers for NGuild Wars
+//===== Additional Comments: =================================
+// Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus]
+//============================================================
+
+
+// Castle 1 ================================================================
+nguild_alde,0,0,0 script Agit_N01 -1,{
+OnInterIfInitOnce:
+ GetCastleData "nguild_alde",0,"::OnRecvCastleN01";
+ end;
+OnRecvCastleN01:
+ RequestGuildInfo GetCastleData("nguild_alde",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","nguild_alde","N01",216,24;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","nguild_alde","N01";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","nguild_alde","N01";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "nguild_alde",GetCastleData("nguild_alde",1),6;
+ Monster "nguild_alde",216,24,"EMPERIUM",1288,1,"Agit_N01::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","nguild_alde","N01";
+ end;
+}
+
+// Castle 2 ================================================================
+nguild_gef,0,0,0 script Agit_N02 -1,{
+OnInterIfInitOnce:
+ GetCastleData "nguild_gef",0,"::OnRecvCastleN02";
+ end;
+OnRecvCastleN02:
+ RequestGuildInfo GetCastleData("nguild_gef",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","nguild_gef","N02",198,182;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","nguild_gef","N02";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","nguild_gef","N02";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "nguild_gef",GetCastleData("nguild_gef",1),6;
+ Monster "nguild_gef",198,182,"EMPERIUM",1288,1,"Agit_N02::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","nguild_gef","N02";
+ end;
+}
+
+// Castle 3 ================================================================
+nguild_pay,0,0,0 script Agit_N03 -1,{
+OnInterIfInitOnce:
+ GetCastleData "nguild_pay",0,"::OnRecvCastleN03";
+ end;
+OnRecvCastleN03:
+ RequestGuildInfo GetCastleData("nguild_pay",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","nguild_pay","N03",139,139;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","nguild_pay","N03";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","nguild_pay","N03";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "nguild_pay",GetCastleData("nguild_pay",1),6;
+ Monster "nguild_pay",139,139,"EMPERIUM",1288,1,"Agit_N03::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","nguild_pay","N03";
+ end;
+}
+
+// Castle 4 ================================================================
+nguild_prt,0,0,0 script Agit_N04 -1,{
+OnInterIfInitOnce:
+ GetCastleData "nguild_prt",0,"::OnRecvCastleN04";
+ end;
+OnRecvCastleN04:
+ RequestGuildInfo GetCastleData("nguild_prt",1);
+ end;
+OnAgitStart:
+ callfunc "F_AgitStart","nguild_prt","N04",197,197;
+ end;
+OnAgitBreak:
+ callfunc "F_AgitBreak","nguild_prt","N04";
+ end;
+OnGuildBreak:
+ callfunc "F_GuildBreak","nguild_prt","N04";
+ end;
+OnAgitEliminate:
+ MapRespawnGuildID "nguild_prt",GetCastleData("nguild_prt",1),6;
+ Monster "nguild_prt",197,197,"EMPERIUM",1288,1,"Agit_N04::OnAgitBreak";
+ end;
+OnAgitEnd:
+ callfunc "F_AgitEnd","nguild_prt","N04";
+ end;
+}
diff --git a/npc/events/nguild/nguild_flags.txt b/npc/events/nguild/nguild_flags.txt
new file mode 100644
index 000000000..6229ea8b8
--- /dev/null
+++ b/npc/events/nguild/nguild_flags.txt
@@ -0,0 +1,147 @@
+//===== eAthena Script =======================================
+//= War of Emperium N Guild Flags
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//= WoE flag scripts. Display guild emblems on flags.
+//===== Additional Comments: =================================
+// Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+// 1.1 Inner Flags don't teleport you to your HQ anymore [Lupus]
+// 1.2 updated flags to use the new arguments. [L0ne__W0lf]
+//============================================================
+
+
+//============================================================================//
+// Castle 1
+//============================================================================//
+n_castle,110,96,1 script NGuild Aldebaran#a1-1 722,{
+ callfunc "F_Flags","Al De Baran","nguild_alde",218,170,1,1;
+ close;
+
+OnRecvCastleN01:
+ FlagEmblem GetCastleData("nguild_alde",1);
+ end;
+}
+
+nguild_alde,30,248,4 script NGuild Aldebaran#a1-6::NGuildAlde 722,{
+ callfunc "F_Flags","Al De Baran","nguild_alde",218,170,0,1;
+ close;
+
+OnRecvCastleN01:
+ FlagEmblem GetCastleData("nguild_alde",1);
+ end;
+}
+// In Castle ============================================
+nguild_alde,30,246,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-7 722
+nguild_alde,37,248,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-8 722
+nguild_alde,37,246,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-9 722
+nguild_alde,95,80,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-10 722
+nguild_alde,95,59,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-11 722
+nguild_alde,62,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-12 722
+nguild_alde,70,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-13 722
+nguild_alde,74,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-14 722
+nguild_alde,62,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-15 722
+nguild_alde,66,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-16 722
+nguild_alde,70,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-17 722
+nguild_alde,74,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-18 722
+nguild_alde,203,150,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-19 722
+nguild_alde,210,150,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-20 722
+
+
+
+
+//============================================================================//
+// Castle 2
+//============================================================================//
+n_castle,110,109,3 script NGuild Geffen#g1-1 722,{
+ callfunc "F_Flags","Geffen","nguild_gef",83,47,1,1;
+ close;
+
+OnRecvCastleN02:
+ FlagEmblem GetCastleData("nguild_gef",1);
+ end;
+}
+
+nguild_gef,28,157,4 script NGuild Geffen#g1-6::NGuildGef 722,{
+ callfunc "F_Flags","Geffen","nguild_gef",83,47,0,1;
+ close;
+
+OnRecvCastleN02:
+ FlagEmblem GetCastleData("nguild_gef",1);
+ end;
+}
+// In Castle =============================================
+nguild_gef,32,157,4 duplicate(NGuildGef) NGuild Geffen#g1-7 722
+nguild_gef,22,156,5 duplicate(NGuildGef) NGuild Geffen#g1-8 722
+nguild_gef,68,185,3 duplicate(NGuildGef) NGuild Geffen#g1-9 722
+nguild_gef,17,171,5 duplicate(NGuildGef) NGuild Geffen#g1-10 722
+nguild_gef,59,16,4 duplicate(NGuildGef) NGuild Geffen#g1-11 722
+nguild_gef,64,16,4 duplicate(NGuildGef) NGuild Geffen#g1-12 722
+
+
+
+//============================================================================//
+// Castle 3
+//============================================================================//
+n_castle,94,109,5 script NGuild Payon#f1-1 722,{
+ callfunc "F_Flags","Payon","nguild_pay",87,29,1,1;
+ close;
+
+OnRecvCastleN03:
+ FlagEmblem GetCastleData("nguild_pay",1);
+ end;
+}
+
+nguild_pay,238,67,4 script NGuild Payon#f1-6::NGuildPay 722,{
+ callfunc "F_Flags","Payon","nguild_pay",87,29,0,1;
+ close;
+
+OnRecvCastleN03:
+ FlagEmblem GetCastleData("nguild_pay",1);
+ end;
+}
+// In Castle ===============================================
+nguild_pay,238,67,4 duplicate(NGuildPay) NGuild Payon#f1-6 722
+nguild_pay,233,67,4 duplicate(NGuildPay) NGuild Payon#f1-7 722
+nguild_pay,221,123,4 duplicate(NGuildPay) NGuild Payon#f1-8 722
+nguild_pay,221,116,4 duplicate(NGuildPay) NGuild Payon#f1-9 722
+nguild_pay,206,108,4 duplicate(NGuildPay) NGuild Payon#f1-10 722
+nguild_pay,212,108,4 duplicate(NGuildPay) NGuild Payon#f1-11 722
+
+
+
+
+//=============================================================================//
+// Castle 4
+//=============================================================================//
+n_castle,94,96,7 script NGuild Prontera#p1-1 722,{
+ callfunc "F_Flags","Prontera","nguild_prt",97,174,1,1;
+ close;
+
+OnRecvCastleN04:
+ FlagEmblem GetCastleData("nguild_prt",1);
+ end;
+}
+
+nguild_prt,58,56,4 script NGuild Prontera#p1-7::NGuildPrt 722,{
+ callfunc "F_Flags","Prontera","nguild_prt",97,174,0,1;
+ close;
+
+OnRecvCastleN04:
+ FlagEmblem GetCastleData("nguild_prt",1);
+ end;
+}
+// In Castle =============================================
+nguild_prt,64,56,4 duplicate(NGuildPrt) NGuild Prontera#p1-8 722
+nguild_prt,76,32,4 duplicate(NGuildPrt) NGuild Prontera#p1-9 722
+nguild_prt,84,32,4 duplicate(NGuildPrt) NGuild Prontera#p1-10 722
+nguild_prt,94,39,4 duplicate(NGuildPrt) NGuild Prontera#p1-11 722
+nguild_prt,94,24,4 duplicate(NGuildPrt) NGuild Prontera#p1-12 722
+nguild_prt,73,14,4 duplicate(NGuildPrt) NGuild Prontera#p1-13 722
+nguild_prt,73,6,4 duplicate(NGuildPrt) NGuild Prontera#p1-14 722
+nguild_prt,55,46,4 duplicate(NGuildPrt) NGuild Prontera#p1-15 722
+nguild_prt,45,46,4 duplicate(NGuildPrt) NGuild Prontera#p1-16 722
diff --git a/npc/events/nguild/nguild_guardians.txt b/npc/events/nguild/nguild_guardians.txt
new file mode 100644
index 000000000..9410280c0
--- /dev/null
+++ b/npc/events/nguild/nguild_guardians.txt
@@ -0,0 +1,89 @@
+//===== eAthena Script =======================================
+//= War of Emperium - nguild guardians script
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== 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: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//============================================================
+
+
+//------------------------------------------------------------------------------
+nguild_alde,216,24,0 script Guardian_N01 -1,{
+OnAgitInit:
+ if (GetCastleData("nguild_alde",10) == 1) guardian "nguild_alde",18,219,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",0;
+ if (GetCastleData("nguild_alde",11) == 1) guardian "nguild_alde",117,42,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",1;
+ if (GetCastleData("nguild_alde",12) == 1) guardian "nguild_alde",207,153,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",2;
+ if (GetCastleData("nguild_alde",13) == 1) guardian "nguild_alde",68,70,"Archer Guardian",1285,"Guardian_N01::OnGuardianDied",3;
+ if (GetCastleData("nguild_alde",14) == 1) guardian "nguild_alde",187,140,"Archer Guardian",1285,"Guardian_N01::OnGuardianDied",4;
+ if (GetCastleData("nguild_alde",15) == 1) guardian "nguild_alde",62,204,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",5;
+ if (GetCastleData("nguild_alde",16) == 1) guardian "nguild_alde",113,100,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",6;
+ if (GetCastleData("nguild_alde",17) == 1) guardian "nguild_alde",211,174,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "nguild_alde","A Guardian Has Fallen",17;
+ end;
+}
+
+//------------------------------------------------------------------------------
+nguild_gef,198,182,0 script Guardian_N02 -1,{
+OnAgitInit:
+ if (GetCastleData("nguild_gef",10) == 1) guardian "nguild_gef",30,178,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",0;
+ if (GetCastleData("nguild_gef",11) == 1) guardian "nguild_gef",64,180,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",1;
+ if (GetCastleData("nguild_gef",12) == 1) guardian "nguild_gef",61,25,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",2;
+ if (GetCastleData("nguild_gef",13) == 1) guardian "nguild_gef",61,44,"Archer Guardian",1285,"Guardian_N02::OnGuardianDied",3;
+ if (GetCastleData("nguild_gef",14) == 1) guardian "nguild_gef",189,43,"Archer Guardian",1285,"Guardian_N02::OnGuardianDied",4;
+ if (GetCastleData("nguild_gef",15) == 1) guardian "nguild_gef",51,192,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",5;
+ if (GetCastleData("nguild_gef",16) == 1) guardian "nguild_gef",49,67,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",6;
+ if (GetCastleData("nguild_gef",17) == 1) guardian "nguild_gef",181,14,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "nguild_gef","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+nguild_pay,139,139,0 script Guardian_N03 -1,{
+OnAgitInit:
+ if (GetCastleData("nguild_pay",10) == 1) guardian "nguild_pay",210,120,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",0;
+ if (GetCastleData("nguild_pay",11) == 1) guardian "nguild_pay",69,26,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",1;
+ if (GetCastleData("nguild_pay",12) == 1) guardian "nguild_pay",23,141,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",2;
+ if (GetCastleData("nguild_pay",13) == 1) guardian "nguild_pay",224,87,"Archer Guardian",1285,"Guardian_N03::OnGuardianDied",3;
+ if (GetCastleData("nguild_pay",14) == 1) guardian "nguild_pay",81,45,"Archer Guardian",1285,"Guardian_N03::OnGuardianDied",4;
+ if (GetCastleData("nguild_pay",15) == 1) guardian "nguild_pay",214,53,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",5;
+ if (GetCastleData("nguild_pay",16) == 1) guardian "nguild_pay",69,26,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",6;
+ if (GetCastleData("nguild_pay",17) == 1) guardian "nguild_pay",23,141,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "nguild_pay","A Guardian Has Fallen",17;
+ end;
+}
+//------------------------------------------------------------------------------
+nguild_prt,197,197,0 script Guardian_N04 -1,{
+OnAgitInit:
+ if (GetCastleData("nguild_prt",10) == 1) guardian "nguild_prt",196,92,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",0;
+ if (GetCastleData("nguild_prt",11) == 1) guardian "nguild_prt",113,200,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",1;
+ if (GetCastleData("nguild_prt",12) == 1) guardian "nguild_prt",111,186,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",2;
+ if (GetCastleData("nguild_prt",13) == 1) guardian "nguild_prt",76,202,"Archer Guardian",1285,"Guardian_N04::OnGuardianDied",3;
+ if (GetCastleData("nguild_prt",14) == 1) guardian "nguild_prt",90,26,"Archer Guardian",1285,"Guardian_N04::OnGuardianDied",4;
+ if (GetCastleData("nguild_prt",15) == 1) guardian "nguild_prt",58,59,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",5;
+ if (GetCastleData("nguild_prt",16) == 1) guardian "nguild_prt",112,200,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",6;
+ if (GetCastleData("nguild_prt",17) == 1) guardian "nguild_prt",101,194,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",7;
+ end;
+
+OnGuardianDied:
+ // Event when Guardian dies
+ MapAnnounce "nguild_prt","A Guardian Has Fallen",17;
+ end;
+}
diff --git a/npc/events/nguild/nguild_kafras.txt b/npc/events/nguild/nguild_kafras.txt
new file mode 100644
index 000000000..4d4f17162
--- /dev/null
+++ b/npc/events/nguild/nguild_kafras.txt
@@ -0,0 +1,53 @@
+//===== eAthena Script =======================================
+//= War of Emperium Kafras for N Guild Castles
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.1
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 5+
+//===== Description: =========================================
+//= Provides Kafra services for guild members of NGuild Castles.
+//= Used in conjuction with function F_Kafra.
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//= 1.1 All N Guild Kafras teleport to Prontera only! [Lupus]
+//============================================================
+
+
+// Castle 1 ===============================================
+nguild_alde,218,170,0 script Kafra Service#N01 117,{
+ callfunc "F_GKafra", "nguild_alde", "Prontera";
+ end;
+OnRecvCastleN01:
+ if (GetCastleData("nguild_alde",9) < 1) disablenpc "Kafra Service#N01";
+ end;
+}
+
+// Castle 2 ===============================================
+//nguild_gef,96,173,0 script Kafra Service#N02 117,{
+nguild_gef,35,37,0 script Kafra Service#N02 117,{
+ callfunc "F_GKafra", "nguild_gef", "Prontera";
+ end;
+OnRecvCastleN02:
+ if (GetCastleData("nguild_gef",9) < 1) disablenpc "Kafra Service#N02";
+ end;
+}
+
+// Castle 3 ===============================================
+nguild_pay,128,58,3 script Kafra Service#N03 117,{
+ callfunc "F_GKafra", "nguild_pay", "Prontera";
+ end;
+OnRecvCastleN03:
+ if (GetCastleData("nguild_pay",9) < 1) disablenpc "Kafra Service#N03";
+ end;
+}
+
+// Castle 4 ===============================================
+nguild_prt,96,173,0 script Kafra Service#N04 117,{
+ callfunc "F_GKafra", "nguild_prt", "Prontera";
+ end;
+OnRecvCastleN04:
+ if (GetCastleData("nguild_prt",9) < 1) disablenpc "Kafra Service#N04";
+ end;
+}
diff --git a/npc/events/nguild/nguild_managers.txt b/npc/events/nguild/nguild_managers.txt
new file mode 100644
index 000000000..65ff74f12
--- /dev/null
+++ b/npc/events/nguild/nguild_managers.txt
@@ -0,0 +1,85 @@
+//===== eAthena Script =======================================
+//= War of Emperium Managers for N Guild Castles
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.0
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//============================================================
+
+
+// Castle 1 ==================================================================================
+nguild_alde,218,175,0 script Frolo 55,{
+ if(callfunc("F_GldManager","Frolo","nguild_alde",119,223,"N01") == 0) close;
+
+ if(@GDnum==10) guardian "nguild_alde",18,219,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",0;
+ if(@GDnum==11) guardian "nguild_alde",117,42,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",1;
+ if(@GDnum==12) guardian "nguild_alde",207,153,"Soldier Guardian",1287,"Guardian_N01::OnGuardianDied",2;
+ if(@GDnum==13) guardian "nguild_alde",68,70,"Archer Guardian",1285,"Guardian_N01::OnGuardianDied",3;
+ if(@GDnum==14) guardian "nguild_alde",187,140,"Archer Guardian",1285,"Guardian_N01::OnGuardianDied",4;
+ if(@GDnum==15) guardian "nguild_alde",62,204,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",5;
+ if(@GDnum==16) guardian "nguild_alde",113,100,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",6;
+ if(@GDnum==17) guardian "nguild_alde",211,174,"Knight Guardian",1286,"Guardian_N01::OnGuardianDied",7;
+ mes "[Frolo]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 2 ==================================================================================
+nguild_gef,40,48,5 script Leiber 55,{
+ if(callfunc("F_GldManager","Leiber","nguild_gef",155,112,"N02") == 0) close;
+
+ if(@GDnum==10) guardian "nguild_gef",30,178,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",0;
+ if(@GDnum==11) guardian "nguild_gef",64,180,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",1;
+ if(@GDnum==12) guardian "nguild_gef",61,25,"Soldier Guardian",1287,"Guardian_N02::OnGuardianDied",2;
+ if(@GDnum==13) guardian "nguild_gef",61,44,"Archer Guardian",1285,"Guardian_N02::OnGuardianDied",3;
+ if(@GDnum==14) guardian "nguild_gef",189,43,"Archer Guardian",1285,"Guardian_N02::OnGuardianDied",4;
+ if(@GDnum==15) guardian "nguild_gef",51,192,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",5;
+ if(@GDnum==16) guardian "nguild_gef",49,67,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",6;
+ if(@GDnum==17) guardian "nguild_gef",181,14,"Knight Guardian",1286,"Guardian_N02::OnGuardianDied",7;
+ mes "[Leiber]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 3 ==================================================================================
+nguild_pay,120,58,4 script Dundar 55,{
+ if(callfunc("F_GldManager","Dundar","nguild_pay",290,7,"N03") == 0) close;
+
+ if(@GDnum==10) guardian "nguild_pay",210,120,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",0;
+ if(@GDnum==11) guardian "nguild_pay",69,26,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",1;
+ if(@GDnum==12) guardian "nguild_pay",23,141,"Soldier Guardian",1287,"Guardian_N03::OnGuardianDied",2;
+ if(@GDnum==13) guardian "nguild_pay",224,87,"Archer Guardian",1285,"Guardian_N03::OnGuardianDied",3;
+ if(@GDnum==14) guardian "nguild_pay",81,45,"Archer Guardian",1285,"Guardian_N03::OnGuardianDied",4;
+ if(@GDnum==15) guardian "nguild_pay",214,53,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",5;
+ if(@GDnum==16) guardian "nguild_pay",69,26,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",6;
+ if(@GDnum==17) guardian "nguild_pay",23,141,"Knight Guardian",1286,"Guardian_N03::OnGuardianDied",7;
+ mes "[Dundar]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
+
+
+// Castle 4 ==================================================================================
+nguild_prt,112,181,0 script Thefton 55,{
+ if(callfunc("F_GldManager","Thefton","nguild_prt",15,209,"N04") == 0) close;
+
+ if(@GDnum==10) guardian "nguild_prt",196,92,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",0;
+ if(@GDnum==11) guardian "nguild_prt",113,200,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",1;
+ if(@GDnum==12) guardian "nguild_prt",111,186,"Soldier Guardian",1287,"Guardian_N04::OnGuardianDied",2;
+ if(@GDnum==13) guardian "nguild_prt",76,202,"Archer Guardian",1285,"Guardian_N04::OnGuardianDied",3;
+ if(@GDnum==14) guardian "nguild_prt",90,26,"Archer Guardian",1285,"Guardian_N04::OnGuardianDied",4;
+ if(@GDnum==15) guardian "nguild_prt",58,59,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",5;
+ if(@GDnum==16) guardian "nguild_prt",112,200,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",6;
+ if(@GDnum==17) guardian "nguild_prt",101,194,"Knight Guardian",1286,"Guardian_N04::OnGuardianDied",7;
+ mes "[Thefton]";
+ mes "Guardian has been installed, the guardian will protect our guild base against enemies.";
+ close;
+}
diff --git a/npc/events/nguild/nguild_treas.txt b/npc/events/nguild/nguild_treas.txt
new file mode 100644
index 000000000..445d334dc
--- /dev/null
+++ b/npc/events/nguild/nguild_treas.txt
@@ -0,0 +1,117 @@
+//===== eAthena Script =======================================
+//= War of Emperium Treasure Rooms for NGuild Guild Castles
+//===== By: ==================================================
+//= kobra_k88
+//===== Current Version: =====================================
+//= 1.2
+//===== Compatible With: =====================================
+//= eAthena 0.1+; RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
+//= 1.2 Official treasure spawn [Lupus]
+//============================================================
+
+
+//<=============================== Castle 1 =================================>\\
+
+// Treasure Spawn -----------------------
+nguild_alde,1,1,1 script Treasure_N01 -1,{
+
+OnRecvCastleN01:
+ end;
+OnInit:
+ if($boxNumN01 == 0) end;
+ set $@bxN01, $boxNumN01;
+ callfunc "F_GldTreas","nguild_alde","N01",$boxNumN01,$@bxN01,$@boxIdN01,1324+rand(10),114,218,123,227,1;
+ end;
+
+OnDied:
+ mapannounce "nguild_alde","Treasure Chest Broken Open",17;
+ set $boxNumN01, $boxNumN01 -1;
+ if($boxNumN01 == 0) mapannounce "nguild_alde", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch --------------------
+nguild_alde,123,223,0 script Switch#TresN01 111,{
+ callfunc "F_GldTreasSw", "nguild_alde",218,176;
+ end;
+}
+
+//<================================ Castle 2 ================================>\\
+
+// Treasure Spawn ----------------------------
+nguild_gef,1,1,1 script Treasure_N02 -1,{
+
+OnRecvCastleN02:
+ end;
+OnInit:
+ if($boxNumN02 == 0) end;
+ set $@bxN02, $boxNumN02;
+ callfunc "F_GldTreas","nguild_gef","N02",$boxNumN02,$@bxN02,$@boxIdN02,1334+rand(10),150,108,158,114,1;
+ end;
+
+OnDied:
+ mapannounce "nguild_gef","Treasure Chest Broken Open",17;
+ set $boxNumN02, $boxNumN02 -1;
+ if($boxNumN02 == 0) mapannounce "nguild_gef", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Room Switch ---------------------------------------------------------
+nguild_gef,152,117,0 script Switch#TresN02 111,{
+ callfunc "F_GldTreasSw","nguild_gef",40,49;
+ end;
+}
+
+//<================================ Castle 3 ================================>\\
+
+// Treasure Spawn ---------------------------
+nguild_pay,1,1,0 script Treasure_N03 -1,{
+OnRecvCastleN03:
+ end;
+OnInit:
+ if($boxNumN03 == 0) end;
+ set $@bxN03, $boxNumN03;
+ callfunc "F_GldTreas","nguild_pay","N03",$boxNumN03,$@bxN03,$@boxIdN03,1344+rand(10),286,4,295,13,1;
+ end;
+
+OnDied:
+ mapannounce "nguild_pay","Treasure Chest Broken Open",17;
+ set $boxNumN03, $boxNumN03 -1;
+ if($boxNumN03 == 0) mapannounce "nguild_pay", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ---------------------------------------------------
+nguild_pay,295,8,0 script Switch#TresN03 111,{
+ callfunc "F_GldTreasSw", "nguild_pay",120,59;
+ end;
+}
+
+//<================================ Castle 4 ================================>\\
+
+// Treasure Spawn -------------------------------
+nguild_prt,1,1,0 script Treasure_N04 -1,{
+OnRecvCastleN04:
+ end;
+OnInit:
+ if($boxNumN04 == 0) end;
+ set $@bxN04, $boxNumN04;
+ callfunc "F_GldTreas","nguild_prt","N04",$boxNumN04,$@bxN04,$@boxIdN04,1354+rand(10),6,204,15,213,1;
+ end;
+
+OnDied:
+ mapannounce "nguild_prt","Treasure Chest Broken Open",17;
+ set $boxNumN04, $boxNumN04 -1;
+ if($boxNumN04 == 0) mapannounce "nguild_prt", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0;
+ end;
+}
+
+// Treasure Room Switch ----------------------------------------------------
+nguild_prt,15,209,0 script Switch#TresN04 111,{
+ callfunc "F_GldTreasSw", "nguild_prt",109,179;
+ end;
+}
diff --git a/npc/events/nguild/nguild_warper.txt b/npc/events/nguild/nguild_warper.txt
new file mode 100644
index 000000000..f57600e4a
--- /dev/null
+++ b/npc/events/nguild/nguild_warper.txt
@@ -0,0 +1,111 @@
+//===== eAthena Script =======================================
+//= Novice's Guild Castles War of Emperium Usher NPC
+//===== By: ==================================================
+//= Lupus
+//===== Current Version: =====================================
+//= 1.7
+//===== Compatible With: =====================================
+//= eAthena 1+ with eaclass(); RO Episode 4+
+//===== Description: =========================================
+//=
+//===== Additional Comments: =================================
+//= Now you have access to 4 N Guild castles. They don't have
+//= dungeons. And 2nd Classes can't seize these Castles.
+//= These new castles need a new strategy. It would bring some
+//= fun and live to your game.
+//= NOTE: If your Guild Master is 2nd class, then he could
+//= rule the Castles and gather Treasure Boxes after WoE
+//= 1.1 Now 2nd classes can't enter NC place at all
+//= 1.2 Restricted access of SG/SL. On warp clear some
+//= unallowed buffs [Lupus]
+//= 1.3 Restricted TK,High classes >=90 BaseLevel,
+//= updated list of unallowed buffs [Lupus]
+//= 1.4 Restricted it to 80 Base Level [Lupus]
+//= 1.5 According to official info: 1 Treasure Chest per Castle
+//= 1.6 Only 1st Class < 60 BaseLevel Players can participate
+//= 1.7 Guilds with Emergency Call or with 9+ skill points
+//= can't take part in NWoE. [Lupus]
+//= TODO: The official entrance is in Izlude.
+//============================================================
+
+
+prontera,146,163,6 script Novice Castles 729,{
+ mes "[Cita]";
+ if(getcharid(2)!=0){
+ if(getgdskilllv(getcharid(2),10013)){
+ mes "I see... your guild has Emergency Call mastered.";
+ mes "You cannot enter the Novice Castle area.";
+ emotion e_hmm;
+ emotion e_wah,1;
+ close;
+ }
+ if(
+ getgdskilllv(getcharid(2),10000) +
+ getgdskilllv(getcharid(2),10001) +
+ getgdskilllv(getcharid(2),10002) +
+ getgdskilllv(getcharid(2),10003) +
+ getgdskilllv(getcharid(2),10004) +
+ getgdskilllv(getcharid(2),10005) +
+ getgdskilllv(getcharid(2),10006) +
+ getgdskilllv(getcharid(2),10007) +
+ getgdskilllv(getcharid(2),10008) +
+ getgdskilllv(getcharid(2),10009) +
+ getgdskilllv(getcharid(2),10010) +
+ getgdskilllv(getcharid(2),10011) +
+ getgdskilllv(getcharid(2),10012) +
+ getgdskilllv(getcharid(2),10013) +
+ getgdskilllv(getcharid(2),10014) > 9
+ ){
+ mes "I see... your guild has Emergency Call mastered.";
+ mes "You cannot enter the Novice Castle area.";
+ emotion e_hmm;
+ emotion e_wah,1;
+ close;
+ }
+ } else {
+ mes "^FF0000You have to enter a guild to be able to hit Emperium!^000000";
+ }
+ mes "I'm a new usher of Novice Castles.";
+ next;
+ if( !(eaclass()&(EAJL_2|EAJL_UPPER)) && BaseLevel<60 )
+ menu "Warp me to Novice Castles",M_WARP,"Cancel",-;
+
+ mes "[Cita]";
+ mes "I'm sorry, you can't enter the sacred Novice Castles place.";
+ emotion e_sry;
+ close;
+
+M_WARP:
+ //remove several unallowed buffs
+ sc_end SC_ASSUMPTIO;
+ sc_end SC_IMPOSITIO;
+ sc_end SC_SUFFRAGIUM;
+ sc_end SC_MAGNIFICAT;
+ sc_end SC_WEAPONPERFECTION;
+ sc_end SC_GOSPEL;
+ sc_end SC_BASILICA;
+ sc_end SC_MAGICPOWER;
+ sc_end SC_MARIONETTE;
+ sc_end SC_MARIONETTE2;
+ sc_end SC_DEVOTION;
+ sc_end SC_SACRIFICE;
+ sc_end SC_MAXOVERTHRUST;
+ sc_end SC_SPIRIT;
+ warp "n_castle",102,93+rand(14);
+ close;
+}
+
+
+n_castle,102,107,5 script Cita 729,{
+ mes "[Cita]";
+ mes "Hello, "+ strcharinfo(0) +". Can I help you?";
+ next;
+ menu "Warp me to Prontera!",-,"Cancel",LEnd;
+
+ warp "prontera",155,177+rand(5);
+ close;
+ LEnd:
+ mes "[Cita]";
+ mes "Ok.";
+ close;
+}