From cf3ef84e5e0c09e2ff1f1683d8546a6822ba7693 Mon Sep 17 00:00:00 2001 From: L0ne_W0lf Date: Mon, 4 Jun 2007 01:11:21 +0000 Subject: * 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 --- npc/events/nguild/nguild_dunsw.txt | 38 +++++++++ npc/events/nguild/nguild_ev_agit.txt | 119 ++++++++++++++++++++++++++ npc/events/nguild/nguild_flags.txt | 147 +++++++++++++++++++++++++++++++++ npc/events/nguild/nguild_guardians.txt | 89 ++++++++++++++++++++ npc/events/nguild/nguild_kafras.txt | 53 ++++++++++++ npc/events/nguild/nguild_managers.txt | 85 +++++++++++++++++++ npc/events/nguild/nguild_treas.txt | 117 ++++++++++++++++++++++++++ npc/events/nguild/nguild_warper.txt | 111 +++++++++++++++++++++++++ 8 files changed, 759 insertions(+) create mode 100644 npc/events/nguild/nguild_dunsw.txt create mode 100644 npc/events/nguild/nguild_ev_agit.txt create mode 100644 npc/events/nguild/nguild_flags.txt create mode 100644 npc/events/nguild/nguild_guardians.txt create mode 100644 npc/events/nguild/nguild_kafras.txt create mode 100644 npc/events/nguild/nguild_managers.txt create mode 100644 npc/events/nguild/nguild_treas.txt create mode 100644 npc/events/nguild/nguild_warper.txt (limited to 'npc/events/nguild') 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; +} -- cgit v1.2.3-70-g09d2