From 620e60eebce2c1f35c5c9a82f6ca365b316587f5 Mon Sep 17 00:00:00 2001 From: Valaris Date: Sun, 29 Jan 2006 16:10:48 +0000 Subject: 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 --- npc/guild/aldeg/aldeg_dunsw.txt | 51 ++++ npc/guild/aldeg/aldeg_ev_agit.txt | 146 ++++++++++++ npc/guild/aldeg/aldeg_flags.txt | 243 ++++++++++++++++++++ npc/guild/aldeg/aldeg_guardians.txt | 111 +++++++++ npc/guild/aldeg/aldeg_kafras.txt | 61 +++++ npc/guild/aldeg/aldeg_managers.txt | 110 +++++++++ npc/guild/aldeg/aldeg_treas.txt | 131 +++++++++++ npc/guild/ev_agit_event.txt | 137 +++++++++++ npc/guild/gefg/gefg_dunsw.txt | 49 ++++ npc/guild/gefg/gefg_ev_agit.txt | 146 ++++++++++++ npc/guild/gefg/gefg_flags.txt | 192 ++++++++++++++++ npc/guild/gefg/gefg_guardians.txt | 108 +++++++++ npc/guild/gefg/gefg_kafras.txt | 66 ++++++ npc/guild/gefg/gefg_managers.txt | 104 +++++++++ npc/guild/gefg/gefg_treas.txt | 138 +++++++++++ npc/guild/gldfunc_dunsw.txt | 47 ++++ npc/guild/gldfunc_ev_agit.txt | 159 +++++++++++++ npc/guild/gldfunc_flag.txt | 61 +++++ npc/guild/gldfunc_kafra.txt | 38 +++ npc/guild/gldfunc_manager.txt | 421 ++++++++++++++++++++++++++++++++++ npc/guild/gldfunc_treasure.txt | 112 +++++++++ npc/guild/nguild/nguild_dunsw.txt | 38 +++ npc/guild/nguild/nguild_ev_agit.txt | 119 ++++++++++ npc/guild/nguild/nguild_flags.txt | 146 ++++++++++++ npc/guild/nguild/nguild_guardians.txt | 89 +++++++ npc/guild/nguild/nguild_kafras.txt | 53 +++++ npc/guild/nguild/nguild_managers.txt | 85 +++++++ npc/guild/nguild/nguild_treas.txt | 108 +++++++++ npc/guild/nguild/nguild_warper.txt | 62 +++++ npc/guild/payg/payg_dunsw.txt | 49 ++++ npc/guild/payg/payg_ev_agit.txt | 146 ++++++++++++ npc/guild/payg/payg_flags.txt | 186 +++++++++++++++ npc/guild/payg/payg_guardians.txt | 108 +++++++++ npc/guild/payg/payg_kafras.txt | 65 ++++++ npc/guild/payg/payg_managers.txt | 104 +++++++++ npc/guild/payg/payg_treas.txt | 130 +++++++++++ npc/guild/prtg/prtg_dunsw.txt | 49 ++++ npc/guild/prtg/prtg_ev_agit.txt | 146 ++++++++++++ npc/guild/prtg/prtg_flags.txt | 207 +++++++++++++++++ npc/guild/prtg/prtg_guardians.txt | 108 +++++++++ npc/guild/prtg/prtg_kafras.txt | 66 ++++++ npc/guild/prtg/prtg_managers.txt | 104 +++++++++ npc/guild/prtg/prtg_treas.txt | 134 +++++++++++ 43 files changed, 4933 insertions(+) create mode 100644 npc/guild/aldeg/aldeg_dunsw.txt create mode 100644 npc/guild/aldeg/aldeg_ev_agit.txt create mode 100644 npc/guild/aldeg/aldeg_flags.txt create mode 100644 npc/guild/aldeg/aldeg_guardians.txt create mode 100644 npc/guild/aldeg/aldeg_kafras.txt create mode 100644 npc/guild/aldeg/aldeg_managers.txt create mode 100644 npc/guild/aldeg/aldeg_treas.txt create mode 100644 npc/guild/ev_agit_event.txt create mode 100644 npc/guild/gefg/gefg_dunsw.txt create mode 100644 npc/guild/gefg/gefg_ev_agit.txt create mode 100644 npc/guild/gefg/gefg_flags.txt create mode 100644 npc/guild/gefg/gefg_guardians.txt create mode 100644 npc/guild/gefg/gefg_kafras.txt create mode 100644 npc/guild/gefg/gefg_managers.txt create mode 100644 npc/guild/gefg/gefg_treas.txt create mode 100644 npc/guild/gldfunc_dunsw.txt create mode 100644 npc/guild/gldfunc_ev_agit.txt create mode 100644 npc/guild/gldfunc_flag.txt create mode 100644 npc/guild/gldfunc_kafra.txt create mode 100644 npc/guild/gldfunc_manager.txt create mode 100644 npc/guild/gldfunc_treasure.txt create mode 100644 npc/guild/nguild/nguild_dunsw.txt create mode 100644 npc/guild/nguild/nguild_ev_agit.txt create mode 100644 npc/guild/nguild/nguild_flags.txt create mode 100644 npc/guild/nguild/nguild_guardians.txt create mode 100644 npc/guild/nguild/nguild_kafras.txt create mode 100644 npc/guild/nguild/nguild_managers.txt create mode 100644 npc/guild/nguild/nguild_treas.txt create mode 100644 npc/guild/nguild/nguild_warper.txt create mode 100644 npc/guild/payg/payg_dunsw.txt create mode 100644 npc/guild/payg/payg_ev_agit.txt create mode 100644 npc/guild/payg/payg_flags.txt create mode 100644 npc/guild/payg/payg_guardians.txt create mode 100644 npc/guild/payg/payg_kafras.txt create mode 100644 npc/guild/payg/payg_managers.txt create mode 100644 npc/guild/payg/payg_treas.txt create mode 100644 npc/guild/prtg/prtg_dunsw.txt create mode 100644 npc/guild/prtg/prtg_ev_agit.txt create mode 100644 npc/guild/prtg/prtg_flags.txt create mode 100644 npc/guild/prtg/prtg_guardians.txt create mode 100644 npc/guild/prtg/prtg_kafras.txt create mode 100644 npc/guild/prtg/prtg_managers.txt create mode 100644 npc/guild/prtg/prtg_treas.txt (limited to 'npc/guild') diff --git a/npc/guild/aldeg/aldeg_dunsw.txt b/npc/guild/aldeg/aldeg_dunsw.txt new file mode 100644 index 000000000..dc1acfb25 --- /dev/null +++ b/npc/guild/aldeg/aldeg_dunsw.txt @@ -0,0 +1,51 @@ +//===== eAthena Script ======================================= +//= War of Emperium Dungeon Switch for Al De Baran 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 =============================================== +aldeg_cas01.gat,212,181,0 script Switch#DunA01 111,{ + callfunc "F_GldDunSw","aldeg_cas01","02",32,122; + close; +} + + +// Castle 2 =============================================== +aldeg_cas02.gat,194,136,0 script Switch#DunA02 111,{ + callfunc "F_GldDunSw","aldeg_cas02","02",79,32; + close; +} + + +// Castle 3 =============================================== +aldeg_cas03.gat,200,177,0 script Switch#DunA03 111,{ + callfunc "F_GldDunSw","aldeg_cas03","02",165,38; + close; +} + + +// Castle 4 =============================================== +aldeg_cas04.gat,38,76,0 script Switch#DunA04 111,{ + callfunc "F_GldDunSw","aldeg_cas04","02",160,148; + close; +} + + +// Castle 5 =============================================== + +aldeg_cas05.gat,22,205,0 script Switch#DunA05 111,{ + callfunc "F_GldDunSw","aldeg_cas05","02",103,169; + close; +} diff --git a/npc/guild/aldeg/aldeg_ev_agit.txt b/npc/guild/aldeg/aldeg_ev_agit.txt new file mode 100644 index 000000000..44d9a6aa5 --- /dev/null +++ b/npc/guild/aldeg/aldeg_ev_agit.txt @@ -0,0 +1,146 @@ +//===== eAthena Script ======================================= +//= War of Emperium - Al De Baran 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 Geffen 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 ================================================================ +aldeg_cas01.gat,216,24,0 script Agit_A01 -1,{ +OnInterIfInitOnce: + GetCastleData "aldeg_cas01.gat",0,"::OnRecvCastleA01"; + end; +OnRecvCastleA01: + RequestGuildInfo GetCastleData("aldeg_cas01.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","aldeg_cas01","A01",216,24; + end; +OnAgitBreak: + callfunc "F_AgitBreak","aldeg_cas01","A01"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","aldeg_cas01","A01"; + end; +OnAgitEliminate: + MapRespawnGuildID "aldeg_cas01.gat",GetCastleData("aldeg_cas01.gat",1),6; + Monster "aldeg_cas01.gat",216,24,"EMPERIUM",1288,1,"Agit_A01::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","aldeg_cas01","A01"; + end; +} + +// Castle 2 ================================================================ +aldeg_cas02.gat,214,24,0 script Agit_A02 -1,{ +OnInterIfInitOnce: + GetCastleData "aldeg_cas02.gat",0,"::OnRecvCastleA02"; + end; +OnRecvCastleA02: + RequestGuildInfo GetCastleData("aldeg_cas02.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","aldeg_cas02","A02",214,24; + end; +OnAgitBreak: + callfunc "F_AgitBreak","aldeg_cas02","A02"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","aldeg_cas02","A02"; + end; +OnAgitEliminate: + MapRespawnGuildID "aldeg_cas02.gat",GetCastleData("aldeg_cas02.gat",1),6; + Monster "aldeg_cas02.gat",214,24,"EMPERIUM",1288,1,"Agit_A02::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","aldeg_cas02","A02"; + end; +} + +// Castle 3 ================================================================ +aldeg_cas03.gat,206,32,0 script Agit_A03 -1,{ +OnInterIfInitOnce: + GetCastleData "aldeg_cas03.gat",0,"::OnRecvCastleA03"; + end; +OnRecvCastleA03: + RequestGuildInfo GetCastleData("aldeg_cas03.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","aldeg_cas03","A03",206,32; + end; +OnAgitBreak: + callfunc "F_AgitBreak","aldeg_cas03","A03"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","aldeg_cas03","A03"; + end; +OnAgitEliminate: + MapRespawnGuildID "aldeg_cas03.gat",GetCastleData("aldeg_cas03.gat",1),6; + Monster "aldeg_cas03.gat",206,32,"EMPERIUM",1288,1,"Agit_A03::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","aldeg_cas03","A03"; + end; +} + +// Castle 4 ================================================================ +aldeg_cas04.gat,36,218,0 script Agit_A04 -1,{ +OnInterIfInitOnce: + GetCastleData "aldeg_cas04.gat",0,"::OnRecvCastleA04"; + end; +OnRecvCastleA04: + RequestGuildInfo GetCastleData("aldeg_cas04.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","aldeg_cas04","A04",36,218; + end; +OnAgitBreak: + callfunc "F_AgitBreak","aldeg_cas04","A04"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","aldeg_cas04","A04"; + end; +OnAgitEliminate: + MapRespawnGuildID "aldeg_cas04.gat",GetCastleData("aldeg_cas04.gat",1),6; + Monster "aldeg_cas04.gat",36,218,"EMPERIUM",1288,1,"Agit_A04::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","aldeg_cas04","A04"; + end; +} + +// Castle 5 ================================================================ +aldeg_cas05.gat,28,102,0 script Agit_A05 -1,{ +OnInterIfInitOnce: + GetCastleData "aldeg_cas05.gat",0,"::OnRecvCastleA05"; + end; +OnRecvCastleA05: + RequestGuildInfo GetCastleData("aldeg_cas05.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","aldeg_cas05","A05",28,102; + end; +OnAgitBreak: + callfunc "F_AgitBreak","aldeg_cas05","A05"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","aldeg_cas05","A05"; + end; +OnAgitEliminate: + MapRespawnGuildID "aldeg_cas05.gat",GetCastleData("aldeg_cas05.gat",1),6; + Monster "aldeg_cas05.gat",28,102,"EMPERIUM",1288,1,"Agit_A05::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","aldeg_cas05","A05"; + end; +} diff --git a/npc/guild/aldeg/aldeg_flags.txt b/npc/guild/aldeg/aldeg_flags.txt new file mode 100644 index 000000000..64b4edf8a --- /dev/null +++ b/npc/guild/aldeg/aldeg_flags.txt @@ -0,0 +1,243 @@ +//===== eAthena Script ======================================= +//= War of Emperium Al De Baran Guild Flags +//===== By: ================================================== +//= jAthena - kalen (1.0) +//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= WoE flag scripts. Display guild emblems on flags. +//===== 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 +//================================================================================// +aldebaran.gat,152,97,4 script Neuschwanstein#a1-1::Neuschwanstein 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas01",218,170,0; + close; + +OnRecvCastleA01: + FlagEmblem GetCastleData("aldeg_cas01.gat",1); + end; +} + +alde_gld.gat,61,87,6 script Neuschwanstein#a1-2::Neuschwanstein2 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas01",218,170,1; + close; + +OnRecvCastleA01: + FlagEmblem GetCastleData("aldeg_cas01.gat",1); + end; +} + +// In Guild ============================================= +alde_gld.gat,61,79,6 duplicate(Neuschwanstein2) Neuschwanstein#a1-3 722 +alde_gld.gat,45,87,8 duplicate(Neuschwanstein2) Neuschwanstein#a1-4 722 +alde_gld.gat,51,87,8 duplicate(Neuschwanstein2) Neuschwanstein#a1-5 722 +// In Castle ============================================ +aldeg_cas01.gat,30,248,4 duplicate(Neuschwanstein) Neuschwanstein#a1-6 722 +aldeg_cas01.gat,30,246,4 duplicate(Neuschwanstein) Neuschwanstein#a1-7 722 +aldeg_cas01.gat,37,248,4 duplicate(Neuschwanstein) Neuschwanstein#a1-8 722 +aldeg_cas01.gat,37,246,4 duplicate(Neuschwanstein) Neuschwanstein#a1-9 722 +aldeg_cas01.gat,95,80,2 duplicate(Neuschwanstein) Neuschwanstein#a1-10 722 +aldeg_cas01.gat,95,59,2 duplicate(Neuschwanstein) Neuschwanstein#a1-11 722 +aldeg_cas01.gat,62,75,2 duplicate(Neuschwanstein) Neuschwanstein#a1-12 722 +aldeg_cas01.gat,70,75,2 duplicate(Neuschwanstein) Neuschwanstein#a1-13 722 +aldeg_cas01.gat,74,75,2 duplicate(Neuschwanstein) Neuschwanstein#a1-14 722 +aldeg_cas01.gat,62,64,2 duplicate(Neuschwanstein) Neuschwanstein#a1-15 722 +aldeg_cas01.gat,66,64,2 duplicate(Neuschwanstein) Neuschwanstein#a1-16 722 +aldeg_cas01.gat,70,64,2 duplicate(Neuschwanstein) Neuschwanstein#a1-17 722 +aldeg_cas01.gat,74,64,2 duplicate(Neuschwanstein) Neuschwanstein#a1-18 722 +aldeg_cas01.gat,203,150,4 duplicate(Neuschwanstein) Neuschwanstein#a1-19 722 +aldeg_cas01.gat,210,150,4 duplicate(Neuschwanstein) Neuschwanstein#a1-20 722 + + + + +//================================================================================// +// Castle 2 +//================================================================================// +aldebaran.gat,149,97,4 script Hohenschwangau#a2-1::Hohenschwangau 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas02",85,72,0; + close; + +OnRecvCastleA02: + FlagEmblem GetCastleData("aldeg_cas02.gat",1); + end; +} + +alde_gld.gat,93,250,5 script Hohenschwangau#a2-2::Hohenschwangau2 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas02",85,72,1; + close; + +OnRecvCastleA02: + FlagEmblem GetCastleData("aldeg_cas02.gat",1); + end; +} + +// In Guild ================================================= +alde_gld.gat,98,250,5 duplicate(Hohenschwangau2) Hohenschwangau#a2-3 722 +// In Castle ============================================= +aldeg_cas02.gat,82,71,2 duplicate(Hohenschwangau) Hohenschwangau#a2-4 722 +aldeg_cas02.gat,67,30,2 duplicate(Hohenschwangau) Hohenschwangau#a2-5 722 +aldeg_cas02.gat,183,140,2 duplicate(Hohenschwangau) Hohenschwangau#a2-6 722 +aldeg_cas02.gat,212,152,2 duplicate(Hohenschwangau) Hohenschwangau#a2-7 722 +aldeg_cas02.gat,108,39,2 duplicate(Hohenschwangau) Hohenschwangau#a2-8 722 +aldeg_cas02.gat,57,213,2 duplicate(Hohenschwangau) Hohenschwangau#a2-9 722 +aldeg_cas02.gat,91,181,2 duplicate(Hohenschwangau) Hohenschwangau#a2-10 722 +aldeg_cas02.gat,103,53,2 duplicate(Hohenschwangau) Hohenschwangau#a2-11 722 +aldeg_cas02.gat,73,53,2 duplicate(Hohenschwangau) Hohenschwangau#a2-12 722 +aldeg_cas02.gat,63,41,2 duplicate(Hohenschwangau) Hohenschwangau#a2-13 722 +aldeg_cas02.gat,229,6,2 duplicate(Hohenschwangau) Hohenschwangau#a2-14 722 +aldeg_cas02.gat,230,40,2 duplicate(Hohenschwangau) Hohenschwangau#a2-15 722 +aldeg_cas02.gat,197,40,2 duplicate(Hohenschwangau) Hohenschwangau#a2-16 722 +aldeg_cas02.gat,32,213,2 duplicate(Hohenschwangau) Hohenschwangau#a2-17 722 +aldeg_cas02.gat,88,180,2 duplicate(Hohenschwangau) Hohenschwangau#a2-18 722 +aldeg_cas02.gat,121,29,2 duplicate(Hohenschwangau) Hohenschwangau#a2-19 722 + + + + +//================================================================================// +// Castle 3 +//================================================================================// +aldebaran.gat,134,97,4 script Nuenberg#a3-1::Nuenberg 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas03",118,76,0; + close; + +OnRecvCastleA03: + FlagEmblem GetCastleData("aldeg_cas03.gat",1); + end; +} + +alde_gld.gat,139,83,1 script Nuenberg#a3-2::Nuenberg2 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas03",118,76,1; + close; + +OnRecvCastleA03: + FlagEmblem GetCastleData("aldeg_cas03.gat",1); + end; +} + +// In Guild =============================================== +alde_gld.gat,145,83,1 duplicate(Nuenberg2) Nuenberg#a3-3 722 +// In Castle ============================================= +aldeg_cas03.gat,176,175,2 duplicate(Nuenberg) Nuenberg#a3-4 722 +aldeg_cas03.gat,85,103,2 duplicate(Nuenberg) Nuenberg#a3-5 722 +aldeg_cas03.gat,77,115,2 duplicate(Nuenberg) Nuenberg#a3-6 722 +aldeg_cas03.gat,77,215,2 duplicate(Nuenberg) Nuenberg#a3-7 722 +aldeg_cas03.gat,112,107,2 duplicate(Nuenberg) Nuenberg#a3-8 722 +aldeg_cas03.gat,112,117,2 duplicate(Nuenberg) Nuenberg#a3-9 722 +aldeg_cas03.gat,69,71,2 duplicate(Nuenberg) Nuenberg#a3-10 722 +aldeg_cas03.gat,91,69,2 duplicate(Nuenberg) Nuenberg#a3-11 722 +aldeg_cas03.gat,108,60,2 duplicate(Nuenberg) Nuenberg#a3-12 722 +aldeg_cas03.gat,121,73,2 duplicate(Nuenberg) Nuenberg#a3-13 722 +aldeg_cas03.gat,121,73,2 duplicate(Nuenberg) Nuenberg#a3-14 722 +aldeg_cas03.gat,75,102,2 duplicate(Nuenberg) Nuenberg#a3-15 722 +aldeg_cas03.gat,199,169,2 duplicate(Nuenberg) Nuenberg#a3-16 722 +aldeg_cas03.gat,181,179,2 duplicate(Nuenberg) Nuenberg#a3-17 722 +aldeg_cas03.gat,192,44,2 duplicate(Nuenberg) Nuenberg#a3-18 722 +aldeg_cas03.gat,88,108,2 duplicate(Nuenberg) Nuenberg#a3-19 722 +aldeg_cas03.gat,208,145,2 duplicate(Nuenberg) Nuenberg#a3-20 722 +aldeg_cas03.gat,207,75,2 duplicate(Nuenberg) Nuenberg#a3-21 722 +aldeg_cas03.gat,96,62,2 duplicate(Nuenberg) Nuenberg#a3-22 722 + + + + +//================================================================================// +// Castle 4 +//================================================================================// +aldebaran.gat,131,97,4 script Wuerzburg#a4-1::Wuerzburg 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas04",45,88,0; + close; + +OnRecvCastleA04: + FlagEmblem GetCastleData("aldeg_cas04.gat",1); + end; +} + +alde_gld.gat,239,247,1 script Wuerzburg#a4-2::Wuerzburg2 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas04",45,88,1; + close; + +OnRecvCastleA04: + FlagEmblem GetCastleData("aldeg_cas04.gat",1); + end; +} +// In Guild =============================================== +alde_gld.gat,234,247,1 duplicate(Wuerzburg2) Wuerzburg#a4-3 722 +alde_gld.gat,241,239,7 duplicate(Wuerzburg2) Wuerzburg#a4-4 722 +alde_gld.gat,241,234,7 duplicate(Wuerzburg2) Wuerzburg#a4-5 722 +// In Castle ============================================= +aldeg_cas04.gat,167,61,2 duplicate(Wuerzburg) Wuerzburg#a4-6 722 +aldeg_cas04.gat,164,90,2 duplicate(Wuerzburg) Wuerzburg#a4-7 722 +aldeg_cas04.gat,143,209,2 duplicate(Wuerzburg) Wuerzburg#a4-8 722 +aldeg_cas04.gat,129,193,2 duplicate(Wuerzburg) Wuerzburg#a4-9 722 +aldeg_cas04.gat,112,206,2 duplicate(Wuerzburg) Wuerzburg#a4-10 722 +aldeg_cas04.gat,113,212,2 duplicate(Wuerzburg) Wuerzburg#a4-11 722 +aldeg_cas04.gat,77,117,2 duplicate(Wuerzburg) Wuerzburg#a4-12 722 +aldeg_cas04.gat,186,42,2 duplicate(Wuerzburg) Wuerzburg#a4-13 722 +aldeg_cas04.gat,30,69,2 duplicate(Wuerzburg) Wuerzburg#a4-14 722 +aldeg_cas04.gat,55,97,2 duplicate(Wuerzburg) Wuerzburg#a4-15 722 +aldeg_cas04.gat,45,98,2 duplicate(Wuerzburg) Wuerzburg#a4-16 722 +aldeg_cas04.gat,33,116,2 duplicate(Wuerzburg) Wuerzburg#a4-17 722 +aldeg_cas04.gat,130,180,2 duplicate(Wuerzburg) Wuerzburg#a4-18 722 +aldeg_cas04.gat,129,193,2 duplicate(Wuerzburg) Wuerzburg#a4-19 722 +aldeg_cas04.gat,142,209,2 duplicate(Wuerzburg) Wuerzburg#a4-20 722 +aldeg_cas04.gat,33,107,2 duplicate(Wuerzburg) Wuerzburg#a4-21 722 +aldeg_cas04.gat,133,220,2 duplicate(Wuerzburg) Wuerzburg#a4-22 722 +aldeg_cas04.gat,169,22,2 duplicate(Wuerzburg) Wuerzburg#a4-23 722 +aldeg_cas04.gat,169,15,2 duplicate(Wuerzburg) Wuerzburg#a4-24 722 + + + + +//================================================================================// +// Castle 5 +//================================================================================// +aldebaran.gat,128,97,4 script Rothenburg#a5-1::Rothenburg 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas05",31,190,0; + close; + +OnRecvCastleA05: + FlagEmblem GetCastleData("aldeg_cas05.gat",1); + end; +} + +alde_gld.gat,266,92,7 script Rothenburg#a5-2::Rothenburg2 722,{ + callfunc "F_Flags","Al De Baran","aldeg_cas05",31,190,1; + close; + +OnRecvCastleA05: + FlagEmblem GetCastleData("aldeg_cas05.gat",1); + end; +} + +// In Guild =============================================== +alde_gld.gat,266,88,7 duplicate(Rothenburg2) Rothenburg#a5-3 722 +// In Castle ============================================= +aldeg_cas05.gat,170,85,2 duplicate(Rothenburg) Rothenburg#a5-4 722 +aldeg_cas05.gat,142,212,2 duplicate(Rothenburg) Rothenburg#a5-5 722 +aldeg_cas05.gat,149,196,2 duplicate(Rothenburg) Rothenburg#a5-6 722 +aldeg_cas05.gat,41,180,2 duplicate(Rothenburg) Rothenburg#a5-7 722 +aldeg_cas05.gat,38,201,2 duplicate(Rothenburg) Rothenburg#a5-8 722 +aldeg_cas05.gat,65,182,2 duplicate(Rothenburg) Rothenburg#a5-9 722 +aldeg_cas05.gat,65,205,2 duplicate(Rothenburg) Rothenburg#a5-10 722 +aldeg_cas05.gat,10,218,2 duplicate(Rothenburg) Rothenburg#a5-11 722 +aldeg_cas05.gat,164,201,2 duplicate(Rothenburg) Rothenburg#a5-12 722 +aldeg_cas05.gat,216,96,2 duplicate(Rothenburg) Rothenburg#a5-13 722 +aldeg_cas05.gat,217,80,2 duplicate(Rothenburg) Rothenburg#a5-14 722 +aldeg_cas05.gat,14,117,2 duplicate(Rothenburg) Rothenburg#a5-15 722 +aldeg_cas05.gat,10,225,2 duplicate(Rothenburg) Rothenburg#a5-16 722 +aldeg_cas05.gat,187,59,2 duplicate(Rothenburg) Rothenburg#a5-17 722 +aldeg_cas05.gat,154,51,2 duplicate(Rothenburg) Rothenburg#a5-18 722 +aldeg_cas05.gat,22,211,2 duplicate(Rothenburg) Rothenburg#a5-19 722 +aldeg_cas05.gat,150,202,2 duplicate(Rothenburg) Rothenburg#a5-20 722 diff --git a/npc/guild/aldeg/aldeg_guardians.txt b/npc/guild/aldeg/aldeg_guardians.txt new file mode 100644 index 000000000..3cd10972d --- /dev/null +++ b/npc/guild/aldeg/aldeg_guardians.txt @@ -0,0 +1,111 @@ +//===== eAthena Script ======================================= +//= War of Emperium - aldeg_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 aldeg castles are now in this file. +//= Minor optimizations.[kobra_k88] +//============================================================ + + +aldeg_cas01.gat,216,24,0 script Guardian_A01 -1,{ +OnAgitInit: + if (GetCastleData("aldeg_cas01.gat",10) == 1) guardian "aldeg_cas01.gat",18,219,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",0; + if (GetCastleData("aldeg_cas01.gat",11) == 1) guardian "aldeg_cas01.gat",117,42,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",1; + if (GetCastleData("aldeg_cas01.gat",12) == 1) guardian "aldeg_cas01.gat",207,153,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",2; + if (GetCastleData("aldeg_cas01.gat",13) == 1) guardian "aldeg_cas01.gat",68,70,"Archer Guardian",1285,1,"Guardian_A01::OnGuardianDied",3; + if (GetCastleData("aldeg_cas01.gat",14) == 1) guardian "aldeg_cas01.gat",187,140,"Archer Guardian",1285,1,"Guardian_A01::OnGuardianDied",4; + if (GetCastleData("aldeg_cas01.gat",15) == 1) guardian "aldeg_cas01.gat",62,204,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",5; + if (GetCastleData("aldeg_cas01.gat",16) == 1) guardian "aldeg_cas01.gat",113,100,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",6; + if (GetCastleData("aldeg_cas01.gat",17) == 1) guardian "aldeg_cas01.gat",211,174,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "aldeg_cas01.gat","A Guardian Has Fallen",17; + end; + +//NoSpawn: +// break; +} +//------------------------------------------------------------------------------ +aldeg_cas02.gat,214,24,0 script Guardian_A02 -1,{ +OnAgitInit: + if (GetCastleData("aldeg_cas02.gat",10) == 1) guardian "aldeg_cas02.gat",22,186,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",0; + if (GetCastleData("aldeg_cas02.gat",11) == 1) guardian "aldeg_cas02.gat",88,31,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",1; + if (GetCastleData("aldeg_cas02.gat",12) == 1) guardian "aldeg_cas02.gat",207,176,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",2; + if (GetCastleData("aldeg_cas02.gat",13) == 1) guardian "aldeg_cas02.gat",50,201,"Archer Guardian",1285,1,"Guardian_A02::OnGuardianDied",3; + if (GetCastleData("aldeg_cas02.gat",14) == 1) guardian "aldeg_cas02.gat",197,146,"Archer Guardian",1285,1,"Guardian_A02::OnGuardianDied",4; + if (GetCastleData("aldeg_cas02.gat",15) == 1) guardian "aldeg_cas02.gat",71,193,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",5; + if (GetCastleData("aldeg_cas02.gat",16) == 1) guardian "aldeg_cas02.gat",88,31,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",6; + if (GetCastleData("aldeg_cas02.gat",17) == 1) guardian "aldeg_cas02.gat",219,148,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "aldeg_cas02.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +aldeg_cas03.gat,206,32,0 script Guardian_A03 -1,{ +OnAgitInit: + if (GetCastleData("aldeg_cas03.gat",10) == 1) guardian "aldeg_cas03.gat",57,216,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",0; + if (GetCastleData("aldeg_cas03.gat",11) == 1) guardian "aldeg_cas03.gat",80,108,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",1; + if (GetCastleData("aldeg_cas03.gat",12) == 1) guardian "aldeg_cas03.gat",199,183,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",2; + if (GetCastleData("aldeg_cas03.gat",13) == 1) guardian "aldeg_cas03.gat",98,267,"Archer Guardian",1285,1,"Guardian_A03::OnGuardianDied",3; + if (GetCastleData("aldeg_cas03.gat",14) == 1) guardian "aldeg_cas03.gat",91,88,"Archer Guardian",1285,1,"Guardian_A03::OnGuardianDied",4; + if (GetCastleData("aldeg_cas03.gat",15) == 1) guardian "aldeg_cas03.gat",78,121,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",5; + if (GetCastleData("aldeg_cas03.gat",16) == 1) guardian "aldeg_cas03.gat",200,164,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",6; + if (GetCastleData("aldeg_cas03.gat",17) == 1) guardian "aldeg_cas03.gat",200,164,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "aldeg_cas03.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +aldeg_cas04.gat,36,218,0 script Guardian_A04 -1,{ +OnAgitInit: + if (GetCastleData("aldeg_cas04.gat",10) == 1) guardian "aldeg_cas04.gat",181,33,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",0; + if (GetCastleData("aldeg_cas04.gat",11) == 1) guardian "aldeg_cas04.gat",50,68,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",1; + if (GetCastleData("aldeg_cas04.gat",12) == 1) guardian "aldeg_cas04.gat",50,119,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",2; + if (GetCastleData("aldeg_cas04.gat",13) == 1) guardian "aldeg_cas04.gat",169,49,"Archer Guardian",1285,1,"Guardian_A04::OnGuardianDied",3; + if (GetCastleData("aldeg_cas04.gat",14) == 1) guardian "aldeg_cas04.gat",133,196,"Archer Guardian",1285,1,"Guardian_A04::OnGuardianDied",4; + if (GetCastleData("aldeg_cas04.gat",15) == 1) guardian "aldeg_cas04.gat",177,87,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",5; + if (GetCastleData("aldeg_cas04.gat",16) == 1) guardian "aldeg_cas04.gat",50,119,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",6; + if (GetCastleData("aldeg_cas04.gat",17) == 1) guardian "aldeg_cas04.gat",133,196,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "aldeg_cas04.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +aldeg_cas05.gat,28,102,0 script Guardian_A05 -1,{ +OnAgitInit: + if (GetCastleData("aldeg_cas05.gat",10) == 1) guardian "aldeg_cas05.gat",157,192,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",0; + if (GetCastleData("aldeg_cas05.gat",11) == 1) guardian "aldeg_cas05.gat",194,46,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",1; + if (GetCastleData("aldeg_cas05.gat",12) == 1) guardian "aldeg_cas05.gat",146,214,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",2; + if (GetCastleData("aldeg_cas05.gat",13) == 1) guardian "aldeg_cas05.gat",223,95,"Archer Guardian",1285,1,"Guardian_A05::OnGuardianDied",3; + if (GetCastleData("aldeg_cas05.gat",14) == 1) guardian "aldeg_cas05.gat",131,223,"Archer Guardian",1285,1,"Guardian_A05::OnGuardianDied",4; + if (GetCastleData("aldeg_cas05.gat",15) == 1) guardian "aldeg_cas05.gat",191,68,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",5; + if (GetCastleData("aldeg_cas05.gat",16) == 1) guardian "aldeg_cas05.gat",160,194,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",6; + if (GetCastleData("aldeg_cas05.gat",17) == 1) guardian "aldeg_cas05.gat",49,225,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "aldeg_cas05.gat","A Guardian Has Fallen",17; + end; +} diff --git a/npc/guild/aldeg/aldeg_kafras.txt b/npc/guild/aldeg/aldeg_kafras.txt new file mode 100644 index 000000000..c2005f95a --- /dev/null +++ b/npc/guild/aldeg/aldeg_kafras.txt @@ -0,0 +1,61 @@ +//===== eAthena Script ======================================= +//= War of Emperium Kafras for Al De Baran 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 Al De Baran Castles. +//= Used in conjuction with function F_Kafra. +//===== Additional Comments: ================================= +//= v1.2 Optimized with functions.[kobra_k88] +//============================================================ + + +// Castle 1 =============================================== +aldeg_cas01.gat,218,170,0 script Kafra Service#A01 117,{ + callfunc "F_GKafra", "aldeg_cas01", "Al De Baran"; + end; +OnRecvCastleA01: + if (GetCastleData("aldeg_cas01.gat",9) < 1) disablenpc "Kafra Service#A01"; + end; +} + +// Castle 2 =============================================== +aldeg_cas02.gat,84,74,0 script Kafra Service#A02 117,{ + callfunc "F_GKafra", "aldeg_cas02", "Al De Baran"; + end; +OnRecvCastleA02: + if (GetCastleData("aldeg_cas02.gat",9) < 1) disablenpc "Kafra Service#A02"; + end; +} + +// Castle 3 =============================================== +aldeg_cas03.gat,118,76,0 script Kafra Service#A03 117,{ + callfunc "F_GKafra", "aldeg_cas03", "Al De Baran"; + end; +OnRecvCastleA03: + if (GetCastleData("aldeg_cas03.gat",9) < 1) disablenpc "Kafra Service#A03"; + end; +} + +// Castle 4 =============================================== +aldeg_cas04.gat,45,88,0 script Kafra Service#A04 117,{ + callfunc "F_GKafra", "aldeg_cas04", "Al De Baran"; + end; +OnRecvCastleA04: + if (GetCastleData("aldeg_cas04.gat",9) < 1) disablenpc "Kafra Service#A04"; + end; +} + +// Castle 5 =============================================== +aldeg_cas05.gat,31,190,0 script Kafra Service#A05 117,{ + callfunc "F_GKafra", "aldeg_cas05", "Al De Baran"; + end; +OnRecvCastleA05: + if (GetCastleData("aldeg_cas05.gat",9) < 1) disablenpc "Kafra Service#A05"; + end; +} diff --git a/npc/guild/aldeg/aldeg_managers.txt b/npc/guild/aldeg/aldeg_managers.txt new file mode 100644 index 000000000..e0f2e65dd --- /dev/null +++ b/npc/guild/aldeg/aldeg_managers.txt @@ -0,0 +1,110 @@ +//===== eAthena Script ======================================= +//= War of Emperium Managers for Al De Baran 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 ================================================================================== +aldeg_cas01.gat,218,175,0 script Arl Fredo 55,{ + + if(callfunc("F_GldManager","Arl Fredo","aldeg_cas01",119,223,"A01") == 0) close; + + if(@GDnum==10) guardian "aldeg_cas01.gat",18,219,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",0; + if(@GDnum==11) guardian "aldeg_cas01.gat",117,42,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",1; + if(@GDnum==12) guardian "aldeg_cas01.gat",207,153,"Soldier Guardian",1287,1,"Guardian_A01::OnGuardianDied",2; + if(@GDnum==13) guardian "aldeg_cas01.gat",68,70,"Archer Guardian",1285,1,"Guardian_A01::OnGuardianDied",3; + if(@GDnum==14) guardian "aldeg_cas01.gat",187,140,"Archer Guardian",1285,1,"Guardian_A01::OnGuardianDied",4; + if(@GDnum==15) guardian "aldeg_cas01.gat",62,204,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",5; + if(@GDnum==16) guardian "aldeg_cas01.gat",113,100,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",6; + if(@GDnum==17) guardian "aldeg_cas01.gat",211,174,"Knight Guardian",1286,1,"Guardian_A01::OnGuardianDied",7; + mes "[Arl Fredo]"; + mes "Guardian has been installed, the guardian will protect our guild base against enemies."; + close; +} + + +// Castle 2 ================================================================================== +aldeg_cas02.gat,78,74,0 script Chen Lee 55,{ + + if(callfunc("F_GldManager","Chen Lee","aldeg_cas02",135,231,"A02") == 0) close; + + if(@GDnum==10) guardian "aldeg_cas02.gat",22,186,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",0; + if(@GDnum==11) guardian "aldeg_cas02.gat",88,31,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",1; + if(@GDnum==12) guardian "aldeg_cas02.gat",207,176,"Soldier Guardian",1287,1,"Guardian_A02::OnGuardianDied",2; + if(@GDnum==13) guardian "aldeg_cas02.gat",50,201,"Archer Guardian",1285,1,"Guardian_A02::OnGuardianDied",3; + if(@GDnum==14) guardian "aldeg_cas02.gat",197,146,"Archer Guardian",1285,1,"Guardian_A02::OnGuardianDied",4; + if(@GDnum==15) guardian "aldeg_cas02.gat",71,193,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",5; + if(@GDnum==16) guardian "aldeg_cas02.gat",88,31,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",6; + if(@GDnum==17) guardian "aldeg_cas02.gat",219,148,"Knight Guardian",1286,1,"Guardian_A02::OnGuardianDied",7; + mes "[ Chen Lee ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 3 ================================================================================== +aldeg_cas03.gat,110,118,0 script Chen Lee 55,{ + + if(callfunc("F_GldManager","Chen Lee","aldeg_cas03",225,269,"A03") == 0) close; + + if(@GDnum==10) guardian "aldeg_cas03.gat",57,216,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",0; + if(@GDnum==11) guardian "aldeg_cas03.gat",80,108,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",1; + if(@GDnum==12) guardian "aldeg_cas03.gat",199,183,"Soldier Guardian",1287,1,"Guardian_A03::OnGuardianDied",2; + if(@GDnum==13) guardian "aldeg_cas03.gat",98,267,"Archer Guardian",1285,1,"Guardian_A03::OnGuardianDied",3; + if(@GDnum==14) guardian "aldeg_cas03.gat",91,88,"Archer Guardian",1285,1,"Guardian_A03::OnGuardianDied",4; + if(@GDnum==15) guardian "aldeg_cas03.gat",78,121,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",5; + if(@GDnum==16) guardian "aldeg_cas03.gat",200,164,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",6; + if(@GDnum==17) guardian "aldeg_cas03.gat",200,164,"Knight Guardian",1286,1,"Guardian_A03::OnGuardianDied",7; + mes "[ Chen Lee ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 4 ================================================================================== +aldeg_cas04.gat,53,89,0 script Brimhemsen 55,{ +//aldeg_cas04.gat,67,116,0 script Brimhemsen 55,{ + + if(callfunc("F_GldManager","Brimhemsen","aldeg_cas04",85,12,"A04") == 0) close; + + if(@GDnum==10) guardian "aldeg_cas04.gat",181,33,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",0; + if(@GDnum==11) guardian "aldeg_cas04.gat",50,68,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",1; + if(@GDnum==12) guardian "aldeg_cas04.gat",50,119,"Soldier Guardian",1287,1,"Guardian_A04::OnGuardianDied",2; + if(@GDnum==13) guardian "aldeg_cas04.gat",169,49,"Archer Guardian",1285,1,"Guardian_A04::OnGuardianDied",3; + if(@GDnum==14) guardian "aldeg_cas04.gat",133,196,"Archer Guardian",1285,1,"Guardian_A04::OnGuardianDied",4; + if(@GDnum==15) guardian "aldeg_cas04.gat",177,87,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",5; + if(@GDnum==16) guardian "aldeg_cas04.gat",50,119,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",6; + if(@GDnum==17) guardian "aldeg_cas04.gat",133,196,"Knight Guardian",1286,1,"Guardian_A04::OnGuardianDied",7; + mes "[ Brimhemsen ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 5 ================================================================================== +aldeg_cas05.gat,52,179,0 script Brimhemsen 55,{ + + if(callfunc("F_GldManager","Brimhemsen","aldeg_cas05",66,11,"A05") == 0) close; + + if(@GDnum==10) guardian "aldeg_cas05.gat",157,192,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",0; + if(@GDnum==11) guardian "aldeg_cas05.gat",194,46,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",1; + if(@GDnum==12) guardian "aldeg_cas05.gat",146,214,"Soldier Guardian",1287,1,"Guardian_A05::OnGuardianDied",2; + if(@GDnum==13) guardian "aldeg_cas05.gat",223,95,"Archer Guardian",1285,1,"Guardian_A05::OnGuardianDied",3; + if(@GDnum==14) guardian "aldeg_cas05.gat",131,223,"Archer Guardian",1285,1,"Guardian_A05::OnGuardianDied",4; + if(@GDnum==15) guardian "aldeg_cas05.gat",191,68,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",5; + if(@GDnum==16) guardian "aldeg_cas05.gat",160,194,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",6; + if(@GDnum==17) guardian "aldeg_cas05.gat",49,225,"Knight Guardian",1286,1,"Guardian_A05::OnGuardianDied",7; + mes "[ Brimhemsen ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} diff --git a/npc/guild/aldeg/aldeg_treas.txt b/npc/guild/aldeg/aldeg_treas.txt new file mode 100644 index 000000000..0e5925e50 --- /dev/null +++ b/npc/guild/aldeg/aldeg_treas.txt @@ -0,0 +1,131 @@ +//===== eAthena Script ======================================= +//= War of Emperium Treasure Rooms for Al De Baran 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 ----------------------- +aldeg_cas01.gat,1,1,1 script Treasure_A01 -1,{ + +OnRecvCastleA01: + if($boxNumA01 == 0) end; + set $@bxA01, $boxNumA01; +// callfunc "F_GldTreas","aldeg_cas01","A01",$boxNumA01,$@bxA01,$@boxIdA01,1324,114,218,123,227,1; + end; + +OnDied: + mapannounce "aldeg_cas01.gat","Treasure Chest Broken Open",17; + set $boxNumA01, $boxNumA01 -1; + if($boxNumA01 == 0) mapannounce "aldeg_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 -------------------- +aldeg_cas01.gat,123,223,0 script Switch#TresA01 111,{ + callfunc "F_GldTreasSw", "aldeg_cas01",218,176; + end; +} + +//<================================ Castle 2 ================================>\\ + +// Treasure Spawn ---------------------------- +aldeg_cas02.gat,1,1,1 script Treasure_A02 -1,{ + +OnRecvCastleA02: + if($boxNumA02 == 0) end; + set $@bxA02, $boxNumA02; +// callfunc "F_GldTreas","aldeg_cas02","A02",$boxNumA02,$@bxA02,$@boxIdA02,1326,130,226,138,235,1; + end; + +OnDied: + mapannounce "aldeg_cas02.gat","Treasure Chest Broken Open",17; + set $boxNumA02, $boxNumA02 -1; + if($boxNumA02 == 0) mapannounce "aldeg_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 ---------------------- +aldeg_cas02.gat,139,235,0 script Switch#TresA02 111,{ + callfunc "F_GldTreasSw", "aldeg_cas02",78,75; +} + +//<================================ Castle 3 ================================>\\ + +// Treasure Spawn --------------------------- +aldeg_cas03.gat,1,1,1 script Treasure_A03 -1,{ + +OnRecvCastleA03: + if($boxNumA03 == 0) end; + set $@bxA03, $boxNumA03; +// callfunc "F_GldTreas","aldeg_cas03","A03",$boxNumA03,$@bxA03,$@boxIdA03,1328,220,264,229,273,1; + end; + +OnDied: + mapannounce "aldeg_cas03.gat","Treasure Chest Broken Open",17; + set $boxNumA03, $boxNumA03 -1; + if($boxNumA03 == 0) mapannounce "aldeg_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 ----------------------- +aldeg_cas03.gat,229,267,0 script Switch#TresA03 111,{ + callfunc "F_GldTreasSw", "aldeg_cas03",110,119; +} + +//<================================ Castle 4 ================================>\\ + +// Treasure Spawn ------------------------------- +aldeg_cas04.gat,1,1,1 script Treasure_A04 -1,{ + +OnRecvCastleA04: + if($boxNumA04 == 0) end; + set $@bxA04, $boxNumA04; +// callfunc "F_GldTreas","aldeg_cas04","A04",$boxNumA04,$@bxA04,$@boxIdA04,1330,80,8,89,17,1; + end; + +OnDied: + mapannounce "aldeg_cas04.gat","Treasure Chest Broken Open",17; + set $boxNumA04, $boxNumA04 -1; + if($boxNumA04 == 0) mapannounce "aldeg_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 ------------------------- +aldeg_cas04.gat,83,17,0 script Switch#TresA04 111,{ + callfunc "F_GldTreasSw", "aldeg_cas04",67,117; +} + +//<================================ Castle 5 ================================>\\ + +// Treasure Spawn ------------------------------------ +aldeg_cas05.gat,1,1,1 script Treasure_A05 -1,{ + +OnRecvCastleA05: + if($boxNumA05 == 0) end; + set $@bxA05, $boxNumA05; +// callfunc "F_GldTreas","aldeg_cas05","A05",$boxNumA05,$@bxA05,$@boxIdA05,1332,58,8,65,15,1; + end; + +OnDied: + mapannounce "aldeg_cas05.gat","Treasure Chest Broken Open",17; + set $boxNumA05, $boxNumA05 -1; + if($boxNumA05 == 0) mapannounce "aldeg_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 --------------------------------- +aldeg_cas05.gat,64,8,0 script Switch#TresA05 111,{ + callfunc "F_GldTreasSw", "aldeg_cas05",51,179; +} diff --git a/npc/guild/ev_agit_event.txt b/npc/guild/ev_agit_event.txt new file mode 100644 index 000000000..4e79de3bf --- /dev/null +++ b/npc/guild/ev_agit_event.txt @@ -0,0 +1,137 @@ +//===== eAthena Script ======================================= +//= War of Emperium - WoE Auto-Start +//===== By: ================================================== +//= kalen (1.0) +//= 1.1 by Akaru and ho|yAnge| +//===== Current Version: ===================================== +//= 1.5 +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= Auto Start for War of Emperium +//============================================= +//= gettime(3): Gets hour (24 hour time) +//= gettime(4): Gets day of week 1=Monday, 2=Tuesday, +//= 3=Wednesday, 4=Thursday, etc. +//===== Additional Comments: ================================= +//= v1.1a changed OnInit to OnAgitInit.[kobra_k88] +//= v1.2 added gettime checks. removed $AgitStarted var.[kobra_k88] +//= v1.3 Moved treasure spawn time here.[kobra_k88] +//= v1.3a Implemented Shadowlady's idea to allow for different +//= start/stop times on different days.[kobra_k88] +//= 1.4 Fixed treasure chests spawn! We had to unroll some loops +//= Now they appear in castles from 00:01 to 00:24. [Lupus] +//= 1.5 Fixed WOE end messages on non-WOE days, by Avaj +//============================================================ + +// WoE Start/Stop times +//====================================== +- script Agit_Event -1,{ + end; + +OnClock2100: //start time for Tues(2), Thurs(4) +OnClock2300: //end time for Tues(2), Thurs(4) +OnClock1600: //start time for Sat(6) +OnClock1800: //end time for Sat(6) + +OnAgitInit: +// starting time checks +if((gettime(4)==2) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start; +if((gettime(4)==4) && (gettime(3)>=21 && gettime(3)<23)) goto L_Start; +if((gettime(4)==6) && (gettime(3)>=16 && gettime(3)<18)) goto L_Start; + +// end time checks +if((gettime(4)==2) && (gettime(3)==23)) goto L_End; +if((gettime(4)==4) && (gettime(3)==23)) goto L_End; +if((gettime(4)==6) && (gettime(3)==18)) goto L_End; + end; + +L_End: +Announce "The War Of Emperium is over!",8; +AgitEnd; +end; + +L_Start: + Announce "The War Of Emperium has begun!",8; + AgitStart; + end; +} + +// Treasure Spawn Time +//======================================== +- script TreasSpawn -1,{ + end; + +OnClock0001: + callfunc "F_GldTreas","aldeg_cas01","A01",$boxNumA01,$@bxA01,$@boxIdA01,1324,114,218,123,227,0; + end; +OnClock0002: + callfunc "F_GldTreas","aldeg_cas02","A02",$boxNumA02,$@bxA02,$@boxIdA02,1326,130,226,138,235,0; + end; +OnClock0003: + callfunc "F_GldTreas","aldeg_cas03","A03",$boxNumA03,$@bxA03,$@boxIdA03,1328,220,264,229,273,0; + end; +OnClock0004: + callfunc "F_GldTreas","aldeg_cas04","A04",$boxNumA04,$@bxA04,$@boxIdA04,1330,80,8,89,17,0; + end; +OnClock0005: + callfunc "F_GldTreas","aldeg_cas05","A05",$boxNumA05,$@bxA05,$@boxIdA05,1332,58,8,65,15,0; + end; +OnClock0006: + callfunc "F_GldTreas","gefg_cas01","G01",$boxNumG01,$@bxG01,$@boxIdG01,1334,150,108,158,114,0; + end; +OnClock0007: + callfunc "F_GldTreas","gefg_cas02","G02",$boxNumG02,$@bxG02,$@boxIdG02,1336,136,112,145,118,0; + end; +OnClock0008: + callfunc "F_GldTreas","gefg_cas03","G03",$boxNumG03,$@bxG03,$@boxIdG03,1338,266,286,275,293,0; + end; +OnClock0009: + callfunc "F_GldTreas","gefg_cas04","G04",$boxNumG04,$@bxG04,$@boxIdG04,1340,112,114,119,123,0; + end; +OnClock0010: + callfunc "F_GldTreas","gefg_cas05","G05",$boxNumG05,$@bxG05,$@boxIdG05,1342,140,106,147,113,0; + end; +OnClock0011: + callfunc "F_GldTreas","payg_cas01","Py01",$boxNumPy01,$@bxPy01,$@boxIdPy01,1344,286,4,295,13,0; + end; +OnClock0012: + callfunc "F_GldTreas","payg_cas02","Py02",$boxNumPy02,$@bxPy02,$@boxIdPy02,1346,140,140,148,149,0; + end; +OnClock0013: + callfunc "F_GldTreas","payg_cas03","Py03",$boxNumPy03,$@bxPy03,$@boxIdPy03,1348,154,164,162,173,0; + end; +OnClock0014: + callfunc "F_GldTreas","payg_cas04","Py04",$boxNumPy04,$@bxPy04,$@boxIdPy04,1350,142,44,151,51,0; + end; +OnClock0015: + callfunc "F_GldTreas","payg_cas05","Py05",$boxNumPy05,$@bxPy05,$@boxIdPy05,1352,152,128,160,135,0; + end; +OnClock0016: + callfunc "F_GldTreas","prtg_cas01","Pt01",$boxNumPt01,$@bxPt01,$@boxIdPt01,1354,6,204,15,213,0; + end; +OnClock0017: + callfunc "F_GldTreas","prtg_cas02","Pt02",$boxNumPt02,$@bxPt02,$@boxIdPt02,1356,198,224,207,233,0; + end; +OnClock0018: + callfunc "F_GldTreas","prtg_cas03","Pt03",$boxNumPt03,$@bxPt03,$@boxIdPt03,1358,184,128,193,135,0; + end; +OnClock0019: + callfunc "F_GldTreas","prtg_cas04","Pt04",$boxNumPt04,$@bxPt04,$@boxIdPt04,1360,266,158,275,167,0; + end; +OnClock0020: + callfunc "F_GldTreas","prtg_cas05","Pt05",$boxNumPt05,$@bxPt05,$@boxIdPt05,1362,272,174,279,181,0; + end; +OnClock0021: + callfunc "F_GldTreas","nguild_alde","N01",$boxNumN01,$@bxN01,$@boxIdN01,1324,114,218,123,227,0; + end; +OnClock0022: + callfunc "F_GldTreas","nguild_gef","N02",$boxNumN02,$@bxN02,$@boxIdN02,1334,150,108,158,114,0; + end; +OnClock0023: + callfunc "F_GldTreas","nguild_pay","N03",$boxNumN03,$@bxN03,$@boxIdN03,1344,286,4,295,13,0; + end; +OnClock0024: + callfunc "F_GldTreas","nguild_prt","N04",$boxNumN04,$@bxN04,$@boxIdN04,1354,6,204,15,213,0; + end; +} diff --git a/npc/guild/gefg/gefg_dunsw.txt b/npc/guild/gefg/gefg_dunsw.txt new file mode 100644 index 000000000..f7f794fd2 --- /dev/null +++ b/npc/guild/gefg/gefg_dunsw.txt @@ -0,0 +1,49 @@ +//===== eAthena Script ======================================= +//= War of Emperium Dungeon Switch for Geffen 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 ================================================ +gefg_cas01.gat,78,84,0 script Switch#DunG01 111,{ + callfunc "F_GldDunSw","gefg_cas01","04",39,258; + close; +} + + +// Castle 2 ================================================ +gefg_cas02.gat,167,40,0 script Switch#DunG02 111,{ + callfunc "F_GldDunSw","gefg_cas02","04",125,270; + close; +} + + +// Castle 3 ================================================ +gefg_cas03.gat,221,43,0 script Switch#DunG03 111,{ + callfunc "F_GldDunSw","gefg_cas03","04",268,251; + close; +} + + +// Castle 4 ================================================ +gefg_cas04.gat,58,75,0 script Switch#DunG04 111,{ + callfunc "F_GldDunSw","gefg_cas04","04",268,108; + close; +} + + +// Castle 5 ================================================ +gefg_cas05.gat,66,29,0 script Switch#DunG05 111,{ + callfunc "F_GldDunSw","gefg_cas05","04",230,35; + close; +} diff --git a/npc/guild/gefg/gefg_ev_agit.txt b/npc/guild/gefg/gefg_ev_agit.txt new file mode 100644 index 000000000..26955818e --- /dev/null +++ b/npc/guild/gefg/gefg_ev_agit.txt @@ -0,0 +1,146 @@ +//===== eAthena Script ======================================= +//= War of Emperium - Geffen 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 Geffen 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 ================================================================ +gefg_cas01.gat,198,182,0 script Agit_G01 -1,{ +OnInterIfInitOnce: + GetCastleData "gefg_cas01.gat",0,"::OnRecvCastleG01"; + end; +OnRecvCastleG01: + RequestGuildInfo GetCastleData("gefg_cas01.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","gefg_cas01","G01",198,182; + end; +OnAgitBreak: + callfunc "F_AgitBreak","gefg_cas01","G01"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","gefg_cas01","G01"; + end; +OnAgitEliminate: + MapRespawnGuildID "gefg_cas01.gat",GetCastleData("gefg_cas01.gat",1),6; + Monster "gefg_cas01.gat",198,182,"EMPERIUM",1288,1,"Agit_G01::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","gefg_cas01","G01"; + end; +} + +// Castle 2 ================================================================ +gefg_cas02.gat,176,178,0 script Agit_G02 -1,{ +OnInterIfInitOnce: + GetCastleData "gefg_cas02.gat",0,"::OnRecvCastleG02"; + end; +OnRecvCastleG02: + RequestGuildInfo GetCastleData("gefg_cas02.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","gefg_cas02","G02",176,178; + end; +OnAgitBreak: + callfunc "F_AgitBreak","gefg_cas02","G02"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","gefg_cas02","G02"; + end; +OnAgitEliminate: + MapRespawnGuildID "gefg_cas02.gat",GetCastleData("gefg_cas02.gat",1),6; + Monster "gefg_cas02.gat",176,178,"EMPERIUM",1288,1,"Agit_G02::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","gefg_cas02","G02"; + end; +} + +// Castle 3 ================================================================ +gefg_cas03.gat,245,167,0 script Agit_G03 -1,{ +OnInterIfInitOnce: + GetCastleData "gefg_cas03.gat",0,"::OnRecvCastleG03"; + end; +OnRecvCastleG03: + RequestGuildInfo GetCastleData("gefg_cas03.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","gefg_cas03","G03",245,167; + end; +OnAgitBreak: + callfunc "F_AgitBreak","gefg_cas03","G03"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","gefg_cas03","G03"; + end; +OnAgitEliminate: + MapRespawnGuildID "gefg_cas03.gat",GetCastleData("gefg_cas03.gat",1),6; + Monster "gefg_cas03.gat",245,167,"EMPERIUM",1288,1,"Agit_G03::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","gefg_cas03","G03"; + end; +} + +// Castle 4 ================================================================ +gefg_cas04.gat,174,178,0 script Agit_G04 -1,{ +OnInterIfInitOnce: + GetCastleData "gefg_cas04.gat",0,"::OnRecvCastleG04"; + end; +OnRecvCastleG04: + RequestGuildInfo GetCastleData("gefg_cas04.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","gefg_cas04","G04",174,178; + end; +OnAgitBreak: + callfunc "F_AgitBreak","gefg_cas04","G04"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","gefg_cas04","G04"; + end; +OnAgitEliminate: + MapRespawnGuildID "gefg_cas04.gat",GetCastleData("gefg_cas04.gat",1),6; + Monster "gefg_cas04.gat",174,178,"EMPERIUM",1288,1,"Agit_G04::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","gefg_cas04","G04"; + end; +} + +// Castle 5 ================================================================ +gefg_cas05.gat,194,184,0 script Agit_G05 -1,{ +OnInterIfInitOnce: + GetCastleData "gefg_cas05.gat",0,"::OnRecvCastleG05"; + end; +OnRecvCastleG05: + RequestGuildInfo GetCastleData("gefg_cas05.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","gefg_cas05","G05",194,184; + end; +OnAgitBreak: + callfunc "F_AgitBreak","gefg_cas05","G05"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","gefg_cas05","G05"; + end; +OnAgitEliminate: + MapRespawnGuildID "gefg_cas05.gat",GetCastleData("gefg_cas05.gat",1),6; + Monster "gefg_cas05.gat",194,184,"EMPERIUM",1288,1,"Agit_G05::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","gefg_cas05","G05"; + end; +} diff --git a/npc/guild/gefg/gefg_flags.txt b/npc/guild/gefg/gefg_flags.txt new file mode 100644 index 000000000..b3eedd5d6 --- /dev/null +++ b/npc/guild/gefg/gefg_flags.txt @@ -0,0 +1,192 @@ +//===== eAthena Script ======================================= +//= War of Emperium Geffen Guild Flags +//===== By: ================================================== +//= jAthena - kalen (1.0) +//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= WoE flag scripts. Display guild emblems on flags. +//===== 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 +//================================================================================// +geffen.gat,109,123,2 script Repherion#g1-1::Repherion 722,{ + callfunc "F_Flags","Geffen","gefg_cas01",83,47,0; + close; + +OnRecvCastleG01: + FlagEmblem GetCastleData("gefg_cas01.gat",1); + end; +} + +gef_fild13.gat,148,51,5 script Repherion#g1-2::Repherion2 722,{ + callfunc "F_Flags","Geffen","gefg_cas01",83,47,1; + close; + +OnRecvCastleG01: + FlagEmblem GetCastleData("gefg_cas01.gat",1); + end; +} + +// In Guild =============================================== +gef_fild13.gat,155,54,5 duplicate(Repherion2) Repherion#g1-3 722 +gef_fild13.gat,212,79,6 duplicate(Repherion2) Repherion#g1-4 722 +gef_fild13.gat,211,71,6 duplicate(Repherion2) Repherion#g1-5 722 +// In Castle ============================================= +gefg_cas01.gat,28,157,4 duplicate(Repherion) Repherion#g1-6 722 +gefg_cas01.gat,32,157,4 duplicate(Repherion) Repherion#g1-7 722 +gefg_cas01.gat,22,156,5 duplicate(Repherion) Repherion#g1-8 722 +gefg_cas01.gat,68,185,3 duplicate(Repherion) Repherion#g1-9 722 +gefg_cas01.gat,17,171,5 duplicate(Repherion) Repherion#g1-10 722 +gefg_cas01.gat,59,16,4 duplicate(Repherion) Repherion#g1-11 722 +gefg_cas01.gat,64,16,4 duplicate(Repherion) Repherion#g1-12 722 + + + +//===================================================================================// +// Castle 2 +//===================================================================================// +geffen.gat,113,130,1 script Eeyolbriggar#g2-1::Eeyolbriggar 722,{ + callfunc "F_Flags","Geffen","gefg_cas02",23,66,0; + close; + +OnRecvCastleG02: + FlagEmblem GetCastleData("gefg_cas02.gat",1); + end; +} + +gef_fild13.gat,303,243,4 script Eeyolbriggar#g2-2::Eeyolbriggar2 722,{ + callfunc "F_Flags","Geffen","gefg_cas02",23,66,1; + close; + +OnRecvCastleG02: + FlagEmblem GetCastleData("gefg_cas02.gat",1); + end; +} +// In Guild ============================================== +gef_fild13.gat,312,243,4 duplicate(Eeyolbriggar2) Eeyolbriggar#g2-3 722 +gef_fild13.gat,290,243,4 duplicate(Eeyolbriggar2) Eeyolbriggar#g2-4 722 +gef_fild13.gat,324,243,4 duplicate(Eeyolbriggar2) Eeyolbriggar#g2-5 722 +// In Castle ============================================ +gefg_cas02.gat,65,130,5 duplicate(Eeyolbriggar) Eeyolbriggar#g2-6 722 +gefg_cas02.gat,30,123,5 duplicate(Eeyolbriggar) Eeyolbriggar#g2-7 722 +gefg_cas02.gat,65,139,6 duplicate(Eeyolbriggar) Eeyolbriggar#g2-8 722 +gefg_cas02.gat,37,177,6 duplicate(Eeyolbriggar) Eeyolbriggar#g2-9 722 +gefg_cas02.gat,37,168,6 duplicate(Eeyolbriggar) Eeyolbriggar#g2-10 722 +gefg_cas02.gat,68,47,2 duplicate(Eeyolbriggar) Eeyolbriggar#g2-11 722 +gefg_cas02.gat,68,36,2 duplicate(Eeyolbriggar) Eeyolbriggar#g2-12 722 + + + +//================================================================================// +// Castle 3 +//================================================================================// +geffen.gat,120,132,8 script Yesnelph#g3-1::Yesnelph 722,{ + callfunc "F_Flags","Geffen","gefg_cas03",116,89,0; + close; + +OnRecvCastleG03: + FlagEmblem GetCastleData("gefg_cas03.gat",1); + end; +} + +gef_fild13.gat,78,182,4 script Yesnelph#g3-2::Yesnelph2 722,{ + callfunc "F_Flags","Geffen","gefg_cas03",116,89,1; + close; + +OnRecvCastleG03: + FlagEmblem GetCastleData("gefg_cas03.gat",1); + end; +} +// In Guild =============================================== +gef_fild13.gat,87,182,4 duplicate(Yesnelph2) Yesnelph#g3-3 722 +gef_fild13.gat,73,295,7 duplicate(Yesnelph2) Yesnelph#g3-4 722 +gef_fild13.gat,113,274,7 duplicate(Yesnelph2) Yesnelph#g3-5 722 +gef_fild13.gat,144,235,6 duplicate(Yesnelph2) Yesnelph#g3-6 722 +gef_fild13.gat,144,244,4 duplicate(Yesnelph2) Yesnelph#g3-7 722 +// In Castle ============================================= +gefg_cas03.gat,122,220,6 duplicate(Yesnelph) Yesnelph#g3-8 722 +gefg_cas03.gat,122,229,6 duplicate(Yesnelph) Yesnelph#g3-9 722 +gefg_cas03.gat,91,257,7 duplicate(Yesnelph) Yesnelph#g3-10 722 +gefg_cas03.gat,52,276,7 duplicate(Yesnelph) Yesnelph#g3-11 722 +gefg_cas03.gat,56,164,4 duplicate(Yesnelph) Yesnelph#g3-12 722 +gefg_cas03.gat,65,164,4 duplicate(Yesnelph) Yesnelph#g3-13 722 +gefg_cas03.gat,37,214,1 duplicate(Yesnelph) Yesnelph#g3-14 722 +gefg_cas03.gat,34,208,1 duplicate(Yesnelph) Yesnelph#g3-15 722 + + + +//================================================================================// +// Castle 4 +//================================================================================// +geffen.gat,127,130,7 script Bergel#g4-1::Bergel 722,{ + callfunc "F_Flags","Geffen","gefg_cas04",59,70,0; + close; + +OnRecvCastleG04: + FlagEmblem GetCastleData("gefg_cas04.gat",1); + end; +} + +gef_fild13.gat,190,283,3 script Bergel#g4-2::Bergel2 722,{ + callfunc "F_Flags","Geffen","gefg_cas04",59,70,1; + close; + +OnRecvCastleG04: + FlagEmblem GetCastleData("gefg_cas04.gat",1); + end; +} +// In Guild =============================================== +gef_fild13.gat,199,274,3 duplicate(Bergel2) Bergel#g4-3 722 +// In Castle ============================================= +gefg_cas04.gat,24,157,4 duplicate(Bergel) Bergel#g4-4 722 +gefg_cas04.gat,35,158,4 duplicate(Bergel) Bergel#g4-5 722 +gefg_cas04.gat,44,184,4 duplicate(Bergel) Bergel#g4-6 722 +gefg_cas04.gat,51,184,4 duplicate(Bergel) Bergel#g4-7 722 +gefg_cas04.gat,39,212,7 duplicate(Bergel) Bergel#g4-8 722 +gefg_cas04.gat,29,212,1 duplicate(Bergel) Bergel#g4-9 722 +gefg_cas04.gat,24,73,1 duplicate(Bergel) Bergel#g4-10 722 +gefg_cas04.gat,35,73,4 duplicate(Bergel) Bergel#g4-11 722 + + + +//================================================================================// +// Castle 5 +//================================================================================// +geffen.gat,131,123,6 script Mersetzdeitz#g5-1::Mersetzdeitz 722,{ + callfunc "F_Flags","Geffen","gefg_cas05",61,52,0; + close; + +OnRecvCastleG05: + FlagEmblem GetCastleData("gefg_cas05.gat",1); + end; +} + +gef_fild13.gat,302,87,7 script Mersetzdeitz#g5-2::Mersetzdeitz2 722,{ + callfunc "F_Flags","Geffen","gefg_cas05",61,52,1; + close; + +OnRecvCastleG05: + FlagEmblem GetCastleData("gefg_cas05.gat",1); + end; +} +// In Guild =============================================== +gef_fild13.gat,313,83,0 duplicate(Mersetzdeitz2) Mersetzdeitz#g5-3 722 +gef_fild13.gat,252,51,2 duplicate(Mersetzdeitz2) Mersetzdeitz#g5-4 722 +gef_fild13.gat,26,147,2 duplicate(Mersetzdeitz2) Mersetzdeitz#g5-5 722 +// In Castle ============================================= +gefg_cas05.gat,77,185,7 duplicate(Mersetzdeitz) Mersetzdeitz#g5-6 722 +gefg_cas05.gat,92,181,0 duplicate(Mersetzdeitz) Mersetzdeitz#g5-7 722 +gefg_cas05.gat,83,158,1 duplicate(Mersetzdeitz) Mersetzdeitz#g5-8 722 +gefg_cas05.gat,62,144,7 duplicate(Mersetzdeitz) Mersetzdeitz#g5-9 722 +gefg_cas05.gat,62,66,4 duplicate(Mersetzdeitz) Mersetzdeitz#g5-10 722 +gefg_cas05.gat,69,66,4 duplicate(Mersetzdeitz) Mersetzdeitz#g5-11 722 diff --git a/npc/guild/gefg/gefg_guardians.txt b/npc/guild/gefg/gefg_guardians.txt new file mode 100644 index 000000000..13947fd12 --- /dev/null +++ b/npc/guild/gefg/gefg_guardians.txt @@ -0,0 +1,108 @@ +//===== eAthena Script ======================================= +//= War of Emperium - gefg_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 gefg castles are now in this file. +//= Minor optimizations.[kobra_k88] +//============================================================ + + +gefg_cas01.gat,198,182,0 script Guardian_G01 -1,{ +OnAgitInit: + if (GetCastleData("gefg_cas01.gat",10) == 1) guardian "gefg_cas01.gat",30,178,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",0; + if (GetCastleData("gefg_cas01.gat",11) == 1) guardian "gefg_cas01.gat",64,180,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",1; + if (GetCastleData("gefg_cas01.gat",12) == 1) guardian "gefg_cas01.gat",61,25,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",2; + if (GetCastleData("gefg_cas01.gat",13) == 1) guardian "gefg_cas01.gat",61,44,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",3; + if (GetCastleData("gefg_cas01.gat",14) == 1) guardian "gefg_cas01.gat",189,43,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",4; + if (GetCastleData("gefg_cas01.gat",15) == 1) guardian "gefg_cas01.gat",51,192,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",5; + if (GetCastleData("gefg_cas01.gat",16) == 1) guardian "gefg_cas01.gat",49,67,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",6; + if (GetCastleData("gefg_cas01.gat",17) == 1) guardian "gefg_cas01.gat",181,14,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "gefg_cas01.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +gefg_cas02.gat,176,178,0 script Guardian_G02 -1,{ +OnAgitInit: + if (GetCastleData("gefg_cas02.gat",10) == 1) guardian "gefg_cas02.gat",22,135,"Soldier Guardian",1287,1,"Guardian_G02::OnGuardianDied",0; + if (GetCastleData("gefg_cas02.gat",11) == 1) guardian "gefg_cas02.gat",33,40,"Soldier Guardian",1287,1,"Guardian_G02::OnGuardianDied",1; + if (GetCastleData("gefg_cas02.gat",12) == 1) guardian "gefg_cas02.gat",158,11,"Soldier Guardian",1287,1,"Guardian_G02::OnGuardianDied",2; + if (GetCastleData("gefg_cas02.gat",13) == 1) guardian "gefg_cas02.gat",64,140,"Archer Guardian",1285,1,"Guardian_G02::OnGuardianDied",3; + if (GetCastleData("gefg_cas02.gat",14) == 1) guardian "gefg_cas02.gat",36,140,"Archer Guardian",1285,1,"Guardian_G02::OnGuardianDied",4; + if (GetCastleData("gefg_cas02.gat",15) == 1) guardian "gefg_cas02.gat",166,45,"Knight Guardian",1286,1,"Guardian_G02::OnGuardianDied",5; + if (GetCastleData("gefg_cas02.gat",16) == 1) guardian "gefg_cas02.gat",10,39,"Knight Guardian",1286,1,"Guardian_G02::OnGuardianDied",6; + if (GetCastleData("gefg_cas02.gat",17) == 1) guardian "gefg_cas02.gat",166,35,"Knight Guardian",1286,1,"Guardian_G02::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "gefg_cas02.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +gefg_cas03.gat,245,167,0 script Guardian_G03 -1,{ +OnAgitInit: + if (GetCastleData("gefg_cas03.gat",10) == 1) guardian "gefg_cas03.gat",101,53,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",0; + if (GetCastleData("gefg_cas03.gat",11) == 1) guardian "gefg_cas03.gat",158,40,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",1; + if (GetCastleData("gefg_cas03.gat",12) == 1) guardian "gefg_cas03.gat",158,67,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",2; + if (GetCastleData("gefg_cas03.gat",13) == 1) guardian "gefg_cas03.gat",229,53,"Archer Guardian",1285,1,"Guardian_G03::OnGuardianDied",3; + if (GetCastleData("gefg_cas03.gat",14) == 1) guardian "gefg_cas03.gat",248,53,"Archer Guardian",1285,1,"Guardian_G03::OnGuardianDied",4; + if (GetCastleData("gefg_cas03.gat",15) == 1) guardian "gefg_cas03.gat",122,53,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",5; + if (GetCastleData("gefg_cas03.gat",16) == 1) guardian "gefg_cas03.gat",243,35,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",6; + if (GetCastleData("gefg_cas03.gat",17) == 1) guardian "gefg_cas03.gat",234,33,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "gefg_cas03.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +gefg_cas04.gat,174,178,0 script Guardian_G04 -1,{ +OnAgitInit: + if (GetCastleData("gefg_cas04.gat",10) == 1) guardian "gefg_cas04.gat",49,203,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",0; + if (GetCastleData("gefg_cas04.gat",11) == 1) guardian "gefg_cas04.gat",148,50,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",1; + if (GetCastleData("gefg_cas04.gat",12) == 1) guardian "gefg_cas04.gat",57,20,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",2; + if (GetCastleData("gefg_cas04.gat",13) == 1) guardian "gefg_cas04.gat",34,218,"Archer Guardian",1285,1,"Guardian_G04::OnGuardianDied",3; + if (GetCastleData("gefg_cas04.gat",14) == 1) guardian "gefg_cas04.gat",167,42,"Archer Guardian",1285,1,"Guardian_G04::OnGuardianDied",4; + if (GetCastleData("gefg_cas04.gat",15) == 1) guardian "gefg_cas04.gat",18,52,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",5; + if (GetCastleData("gefg_cas04.gat",16) == 1) guardian "gefg_cas04.gat",50,48,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",6; + if (GetCastleData("gefg_cas04.gat",17) == 1) guardian "gefg_cas04.gat",160,66,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "gefg_cas04.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +gefg_cas05.gat,194,184,0 script Guardian_G05 -1,{ +OnAgitInit: + if (GetCastleData("gefg_cas05.gat",10) == 1) guardian "gefg_cas05.gat",54,149,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",0; + if (GetCastleData("gefg_cas05.gat",11) == 1) guardian "gefg_cas05.gat",80,31,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",1; + if (GetCastleData("gefg_cas05.gat",12) == 1) guardian "gefg_cas05.gat",52,32,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",2; + if (GetCastleData("gefg_cas05.gat",13) == 1) guardian "gefg_cas05.gat",77,149,"Archer Guardian",1285,1,"Guardian_G05::OnGuardianDied",3; + if (GetCastleData("gefg_cas05.gat",14) == 1) guardian "gefg_cas05.gat",65,18,"Archer Guardian",1285,1,"Guardian_G05::OnGuardianDied",4; + if (GetCastleData("gefg_cas05.gat",15) == 1) guardian "gefg_cas05.gat",66,54,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",5; + if (GetCastleData("gefg_cas05.gat",16) == 1) guardian "gefg_cas05.gat",187,43,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",6; + if (GetCastleData("gefg_cas05.gat",17) == 1) guardian "gefg_cas05.gat",167,43,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "gefg_cas05.gat","A Guardian Has Fallen",17; + end; +} diff --git a/npc/guild/gefg/gefg_kafras.txt b/npc/guild/gefg/gefg_kafras.txt new file mode 100644 index 000000000..2080fecc4 --- /dev/null +++ b/npc/guild/gefg/gefg_kafras.txt @@ -0,0 +1,66 @@ +//===== eAthena Script ======================================= +//= War of Emperium Kafras for Geffen 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 Geffen Castles. +//= Used in conjuction with function F_Kafra. +//===== Additional Comments: ================================= +//= v1.2 Optimized with functions.[kobra_k88] +//============================================================ + + +// Castle 1 =============================================== +//gefg_cas01.gat,96,173,0 script Kafra Service#G01 117,{ +gefg_cas01.gat,35,37,0 script Kafra Service#G01 117,{ + callfunc "F_GKafra", "gefg_cas01", "Geffen"; + end; +OnRecvCastleG01: + if (GetCastleData("gefg_cas01.gat",9) < 1) disablenpc "Kafra Service#G01"; + end; +} + + +// Castle 2 =============================================== +gefg_cas02.gat,23,66,3 script Kafra Service#G02 117,{ + callfunc "F_GKafra", "gefg_cas02", "Geffen"; + end; +OnRecvCastleG02: + if (GetCastleData("gefg_cas02.gat",9) < 1) disablenpc "Kafra Service#G02"; + end; +} + + +// Castle 3 =============================================== +gefg_cas03.gat,116,89,5 script Kafra Service#G03 117,{ + callfunc "F_GKafra", "gefg_cas03", "Geffen"; + end; +OnRecvCastleG03: + if (GetCastleData("gefg_cas03.gat",9) < 1) disablenpc "Kafra Service#G03"; + end; +} + + +// Castle 4 =============================================== +gefg_cas04.gat,59,70,3 script Kafra Service#G04 117,{ + callfunc "F_GKafra", "gefg_cas04", "Geffen"; + end; +OnRecvCastleG04: + if (GetCastleData("gefg_cas04.gat",9) < 1) disablenpc "Kafra Service#G04"; + end; +} + + +// Castle 5 =============================================== +gefg_cas05.gat,61,52,5 script Kafra Service#G05 117,{ + callfunc "F_GKafra", "gefg_cas05", "Geffen"; + end; +OnRecvCastleG05: + if (GetCastleData("gefg_cas05.gat",9) < 1) disablenpc "Kafra Service#G05"; + end; +} diff --git a/npc/guild/gefg/gefg_managers.txt b/npc/guild/gefg/gefg_managers.txt new file mode 100644 index 000000000..07e62e5bc --- /dev/null +++ b/npc/guild/gefg/gefg_managers.txt @@ -0,0 +1,104 @@ +//===== eAthena Script ======================================= +//= War of Emperium Managers for Geffen 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 ================================================================================== +gefg_cas01.gat,40,48,5 script Gnaucher 55,{ + if(callfunc("F_GldManager","Gnaucher","gefg_cas01",155,112,"G01") == 0) close; + + if(@GDnum==10) guardian "gefg_cas01.gat",30,178,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",0; + if(@GDnum==11) guardian "gefg_cas01.gat",64,180,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",1; + if(@GDnum==12) guardian "gefg_cas01.gat",61,25,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",2; + if(@GDnum==13) guardian "gefg_cas01.gat",61,44,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",3; + if(@GDnum==14) guardian "gefg_cas01.gat",189,43,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",4; + if(@GDnum==15) guardian "gefg_cas01.gat",51,192,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",5; + if(@GDnum==16) guardian "gefg_cas01.gat",49,67,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",6; + if(@GDnum==17) guardian "gefg_cas01.gat",181,14,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",7; + mes "[ Gnaucher ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 2 ================================================================================== +gefg_cas02.gat,12,66,5 script Esmark 55,{ + if(callfunc("F_GldManager","Esmark","gefg_cas02",141,115,"G02") == 0) close; + + if(@GDnum==10) guardian "gefg_cas02.gat",22,135,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",0; + if(@GDnum==11) guardian "gefg_cas02.gat",33,40,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",1; + if(@GDnum==12) guardian "gefg_cas02.gat",158,11,"Soldier Guardian",1287,1,"Guardian_G01::OnGuardianDied",2; + if(@GDnum==13) guardian "gefg_cas02.gat",64,140,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",3; + if(@GDnum==14) guardian "gefg_cas02.gat",36,140,"Archer Guardian",1285,1,"Guardian_G01::OnGuardianDied",4; + if(@GDnum==15) guardian "gefg_cas02.gat",166,45,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",5; + if(@GDnum==16) guardian "gefg_cas02.gat",10,39,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",6; + if(@GDnum==17) guardian "gefg_cas02.gat",166,35,"Knight Guardian",1286,1,"Guardian_G01::OnGuardianDied",7; + mes "[ Esmark ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 3 ================================================================================== +gefg_cas03.gat,106,23,5 script Jyang 55,{ + if(callfunc("F_GldManager","Jyang","gefg_cas03",270,290,"G03") == 0) close; + + if(@GDnum==10) guardian "gefg_cas03.gat",101,53,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",0; + if(@GDnum==11) guardian "gefg_cas03.gat",158,40,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",1; + if(@GDnum==12) guardian "gefg_cas03.gat",158,67,"Soldier Guardian",1287,1,"Guardian_G03::OnGuardianDied",2; + if(@GDnum==13) guardian "gefg_cas03.gat",229,53,"Archer Guardian",1285,1,"Guardian_G03::OnGuardianDied",3; + if(@GDnum==14) guardian "gefg_cas03.gat",248,53,"Archer Guardian",1285,1,"Guardian_G03::OnGuardianDied",4; + if(@GDnum==15) guardian "gefg_cas03.gat",122,53,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",5; + if(@GDnum==16) guardian "gefg_cas03.gat",243,35,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",6; + if(@GDnum==17) guardian "gefg_cas03.gat",234,33,"Knight Guardian",1286,1,"Guardian_G03::OnGuardianDied",7; + mes "[ Jyang ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 4 ================================================================================== +gefg_cas04.gat,73,46,5 script Kelbany 55,{ + if(callfunc("F_GldManager","Kelbany","gefg_cas04",116,118,"G04") == 0) close; + + if(@GDnum==10) guardian "gefg_cas04.gat",49,203,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",0; + if(@GDnum==11) guardian "gefg_cas04.gat",148,50,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",1; + if(@GDnum==12) guardian "gefg_cas04.gat",57,20,"Soldier Guardian",1287,1,"Guardian_G04::OnGuardianDied",2; + if(@GDnum==13) guardian "gefg_cas04.gat",34,218,"Archer Guardian",1285,1,"Guardian_G04::OnGuardianDied",3; + if(@GDnum==14) guardian "gefg_cas04.gat",167,42,"Archer Guardian",1285,1,"Guardian_G04::OnGuardianDied",4; + if(@GDnum==15) guardian "gefg_cas04.gat",18,52,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",5; + if(@GDnum==16) guardian "gefg_cas04.gat",50,48,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",6; + if(@GDnum==17) guardian "gefg_cas04.gat",160,66,"Knight Guardian",1286,1,"Guardian_G04::OnGuardianDied",7; + mes "[ Kelbany ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 5 ================================================================================== +gefg_cas05.gat,70,52,5 script Beeor 55,{ + if(callfunc("F_GldManager","Beeor","gefg_cas05",144,110,"G05") == 0) close; + + if(@GDnum==10) guardian "gefg_cas05.gat",54,149,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",0; + if(@GDnum==11) guardian "gefg_cas05.gat",80,31,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",1; + if(@GDnum==12) guardian "gefg_cas05.gat",52,32,"Soldier Guardian",1287,1,"Guardian_G05::OnGuardianDied",2; + if(@GDnum==13) guardian "gefg_cas05.gat",77,149,"Archer Guardian",1285,1,"Guardian_G05::OnGuardianDied",3; + if(@GDnum==14) guardian "gefg_cas05.gat",65,18,"Archer Guardian",1285,1,"Guardian_G05::OnGuardianDied",4; + if(@GDnum==15) guardian "gefg_cas05.gat",66,54,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",5; + if(@GDnum==16) guardian "gefg_cas05.gat",187,43,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",6; + if(@GDnum==17) guardian "gefg_cas05.gat",167,43,"Knight Guardian",1286,1,"Guardian_G05::OnGuardianDied",7; + mes "[ Beeor ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} diff --git a/npc/guild/gefg/gefg_treas.txt b/npc/guild/gefg/gefg_treas.txt new file mode 100644 index 000000000..84e2c6dca --- /dev/null +++ b/npc/guild/gefg/gefg_treas.txt @@ -0,0 +1,138 @@ +//===== eAthena Script ======================================= +//= War of Emperium Treasure Rooms for Geffen 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 --------------------------------------------------------- +gefg_cas01.gat,1,1,1 script Treasure_G01 -1,{ + +OnRecvCastleG01: + if($boxNumG01 == 0) end; + set $@bxG01, $boxNumG01; +// callfunc "F_GldTreas","gefg_cas01","G01",$boxNumG01,$@bxG01,$@boxIdG01,1334,150,108,158,114,1; + end; + +OnDied: + mapannounce "gefg_cas01.gat","Treasure Chest Broken Open",17; + set $boxNumG01, $boxNumG01 -1; + if($boxNumG01 == 0) mapannounce "gefg_cas01.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; + end; +} + +// Room Switch --------------------------------------------------------- +gefg_cas01.gat,152,117,0 script Switch#TresG01 111,{ + callfunc "F_GldTreasSw","gefg_cas01",40,49; + end; +} + + +//<================================ Castle 2 ================================>\\ + +// Treasure Spawn --------------------------------------------------------- +gefg_cas02.gat,1,1,1 script Treasure_G02 -1,{ + +OnRecvCastleG02: + if($boxNumG02 == 0) end; + set $@bxG02, $boxNumG02; +// callfunc "F_GldTreas","gefg_cas02","G02",$boxNumG02,$@bxG02,$@boxIdG02,1336,136,112,145,118,1; + end; + +OnDied: + mapannounce "gefg_cas02.gat","Treasure Chest Broken Open",17; + set $boxNumG02, $boxNumG02 -1; + if($boxNumG02 == 0) mapannounce "gefg_cas02.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; + end; +} + +// Room Switch --------------------------------------------------------- +gefg_cas02.gat,145,115,0 script Switch#TresG02 111,{ + callfunc "F_GldTreasSw", "gefg_cas02",12,67; +} + + +//<================================= Castle 3 ===============================>\\ + +// Treasure Spawn --------------------------------------------------------- +gefg_cas03.gat,1,1,1 script Treasure_G03 -1,{ + +OnRecvCastleG03: + if($boxNumG03 == 0) end; + set $@bxG03, $boxNumG03; +// callfunc "F_GldTreas","gefg_cas03","G03",$boxNumG03,$@bxG03,$@boxIdG03,1338,266,286,275,293,1; + end; + +OnDied: + mapannounce "gefg_cas03.gat","Treasure Chest Broken Open",17; + set $boxNumG03, $boxNumG03 -1; + if($boxNumG03 == 0) mapannounce "gefg_cas03.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; + end; +} + +// Room Switch --------------------------------------------------------- +gefg_cas03.gat,275,289,0 script Switch#TresG03 111,{ + callfunc "F_GldTreasSw", "gefg_cas03",106,24; + end; +} + + +//<=============================== Castle 4 ================================>\\ + +// Treasure Spawn --------------------------------------------------------- +gefg_cas04.gat,1,1,1 script Treasure_G04 -1,{ + +OnRecvCastleG04: + if($boxNumG04 == 0) end; + set $@bxG04, $boxNumG04; +// callfunc "F_GldTreas","gefg_cas04","G04",$boxNumG04,$@bxG04,$@boxIdG04,1340,112,114,119,123,1; + end; + +OnDied: + mapannounce "gefg_cas04.gat","Treasure Chest Broken Open",17; + set $boxNumG04, $boxNumG04 -1; + if($boxNumG04 == 0) mapannounce "gefg_cas04.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; + end; +} + +// Room Switch --------------------------------------------------------- +gefg_cas04.gat,117,123,0 script Switch#TresG04 111,{ + callfunc "F_GldTreasSw", "gefg_cas04",73,47; + end; +} + + +//<================================ Castle 5 ================================>\\ + +// Treasure Spawn --------------------------------------------------------- +gefg_cas05.gat,1,1,1 script Treasure_G05 -1,{ + +OnRecvCastleG05: + if($boxNumG05 == 0) end; + set $@bxG05, $boxNumG05; +// callfunc "F_GldTreas","gefg_cas05","G05",$boxNumG05,$@bxG05,$@boxIdG05,1342,140,106,147,113,1; + end; + +OnDied: + mapannounce "gefg_cas05.gat","Treasure Chest Broken Open",17; + set $boxNumG05, $boxNumG05 -1; + if($boxNumG05 == 0) mapannounce "gefg_cas05.gat", "All of the treasure boxes have been opened. You must wait untill the next day for them to appear again.",0; + end; +} + +// Room Switch --------------------------------------------------------- +gefg_cas05.gat,149,107,0 script Switch#TresG05 111,{ + callfunc "F_GldTreasSw", "gefg_cas05",70,53; + close; +} diff --git a/npc/guild/gldfunc_dunsw.txt b/npc/guild/gldfunc_dunsw.txt new file mode 100644 index 000000000..f70eee705 --- /dev/null +++ b/npc/guild/gldfunc_dunsw.txt @@ -0,0 +1,47 @@ +//===== eAthena Script ======================================= +//= War of Emperium Guild Dungeon Switch Function +//===== By: ================================================== +//= jAthena - kalen (1.0) +//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= Switch that warps guild members to guild dungeon. +//========================================== +//= Break down of arguments used in the function: +//= arg(0): name of guild castle. +//= arg(1): guild dungeon level. +//= arg(2): x1 coordinate for warp +//= arg(3): y1 coordinate for warp +//===== Additional Comments: ================================= +//= 1.2: All guild Dungeon Switch npcs use this function.[kobra_k88] +//= 1.3 Reverted back. Don't listen to ... people at forums +// and check all bugs yourself! +// Some not competent people try to change gld_dun -> gld_dun0 +// IT is wrong, because we already supple "02","03",etc as suffix. +// [Lupus] +//============================================================ + +//================================================== +function script F_GldDunSw { + + mes "[ Mysterious Voice ]"; + mes " ' Only brave warriors may lead the guild base.. '"; + next; + mes "(There is little switch over here....... Would you like to pull the switch?)"; + next; + menu "Yes",-,"No",M_No; + + set @GID, GetCastleData(getarg(0)+".gat",1); + if (@GID == 0 || getcharid(2) != @GID) goto L_NotGLead; + warp "gld_dun"+getarg(1)+".gat",getarg(2),getarg(3); + end; + + L_NotGLead: + mes "[ Mysterious Voice ]"; + mes " ' ..... it seems that you are not brave enough...... ' "; + M_No: + return; +} diff --git a/npc/guild/gldfunc_ev_agit.txt b/npc/guild/gldfunc_ev_agit.txt new file mode 100644 index 000000000..d323eb420 --- /dev/null +++ b/npc/guild/gldfunc_ev_agit.txt @@ -0,0 +1,159 @@ +//===== eAthena Script ======================================= +//= War of Emperium Guild Event AgitStart/AgitBreak Functions +//===== By: ================================================== +//= jAthena - kalen (1.0) +//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//===== Current Version: ===================================== +//= 1.3 +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= F_AgitStart is in charge of spawning Emperium and mobs in castles +//= when WoE is started. +//= F_AgitBreak resets guild castle data when a castle has been taken over. +//= It then sets the data for the new guild master if there is one. +//======================================= +//= Break down of arguments used in F_AgitStart: +//= arg(0): name of specific guild castle. +//= arg(1): name of specific agit castle script. +//= arg(2): x1 for Emperium and monster spawn +//= arg(3): y1 for Emperium and monster spawn +//= Break down of arguments used in F_AgitBreak: +//= arg(0): name of specific guild castle. +//= arg(1): name of specific OnRevCastle label. +//===== Additional Comments: ================================= +//= v1.2: All OnAgitStart and OnAgitBreak calls will use these functions.[kobra_k88] +//= v1.2a: Added OnAgitEnd function.[kobra_k88] +//= 1.3 Added code for abandoning captured castles on /breakguild [Lupus] +//============================================================ + + +// Function for OnAgitStart ========================================= +function script F_AgitStart { + + MapRespawnGuildID getarg(0)+".gat",GetCastleData(getarg(0)+".gat",1),2; + Monster getarg(0)+".gat",getarg(2),getarg(3),"EMPERIUM",1288,1,"Agit_"+getarg(1)+"::OnAgitBreak"; + GvgOn getarg(0)+".gat"; + if (GetCastleData(getarg(0)+".gat",1) != 0) return; + if(getarg(0) == "aldeg_cas01" || getarg(0) == "aldeg_cas02" || getarg(0) == "aldeg_cas03" || getarg(0) == "aldeg_cas04" || getarg(0) == "aldeg_cas05" || getarg(0) == "nguild_alde") goto L_AldegCas; + if(getarg(0) == "gefg_cas01" || getarg(0) == "gefg_cas02" || getarg(0) == "gefg_cas03" || getarg(0) == "gefg_cas04" || getarg(0) == "gefg_cas05" || getarg(0) == "nguild_gef") goto L_GefgCas; + if(getarg(0) == "payg_cas01" || getarg(0) == "payg_cas02" || getarg(0) == "payg_cas03" || getarg(0) == "payg_cas04" || getarg(0) == "payg_cas05" || getarg(0) == "nguild_pay") goto L_PaygCas; + if(getarg(0) == "prtg_cas01" || getarg(0) == "prtg_cas02" || getarg(0) == "prtg_cas03" || getarg(0) == "prtg_cas04" || getarg(0) == "prtg_cas05" || getarg(0) == "nguild_prt") goto L_PrtgCas; + +L_AldegCas: + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1117,10; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1132,4; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1219,2; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1205,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1216,10; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1193,17; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1269,9; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1276,7; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1208,3; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1275,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1268,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1272,1; + monster getarg(0)+".gat",(getarg(2)+1),getarg(3),"--ja--",1272,1; + monster getarg(0)+".gat",(getarg(2)-1),getarg(3),"--ja--",1270,4; + monster getarg(0)+".gat",getarg(2),(getarg(3)+1),"--ja--",1268,1; + monster getarg(0)+".gat",getarg(2),(getarg(3)-1),"--ja--",1219,1; + monster getarg(0)+".gat",getarg(2),getarg(3),"--ja--",1276,5; + return; +L_GefgCas: + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1117,10; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1263,11; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1102,10; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1130,10; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1140,20; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1163,9; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1275,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1219,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1150,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1159,1; + monster getarg(0)+".gat",(getarg(2)+1),getarg(3),"--ja--",1203,1; + monster getarg(0)+".gat",(getarg(2)-1),getarg(3),"--ja--",1087,1; + monster getarg(0)+".gat",getarg(2),(getarg(3)+1),"--ja--",1213,7; + monster getarg(0)+".gat",getarg(2),(getarg(3)-1),"--ja--",1189,7; + return; +L_PaygCas: + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1277,10; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1208,10; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1262,5; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1102,5; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1150,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1115,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1129,11; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1276,5; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1282,4; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1253,5; + monster getarg(0)+".gat",getarg(2),getarg(3),"--ja--",1150,1; + monster getarg(0)+".gat",getarg(2),getarg(3),"--ja--",1115,1; + monster getarg(0)+".gat",getarg(2),(getarg(3)+1),"--ja--",1208,6; + monster getarg(0)+".gat",getarg(2),(getarg(3)-1),"--ja--",1276,5; + return; +L_PrtgCas: + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1163,15; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1132,10; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1219,5; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1268,5; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1251,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1252,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1276,5; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1259,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1283,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1275,1; + areamonster getarg(0)+".gat",0,0,300,300,"--ja--",1200,1; + monster getarg(0)+".gat",(getarg(2)+1),getarg(3),"--ja--",1268,1; + monster getarg(0)+".gat",(getarg(2)-1),getarg(3),"--ja--",1251,1; + monster getarg(0)+".gat",getarg(2),(getarg(3)+1),"--ja--",1252,1; + monster getarg(0)+".gat",getarg(2),(getarg(3)-1),"--ja--",1219,2; + monster getarg(0)+".gat",getarg(2),getarg(3),"--ja--",1276,5; + return; +} + +// Function for OnGuildBreak ====================================== +function script F_GuildBreak { + killmonsterall getarg(0)+".gat"; + + Announce "Guild Base [" + GetCastleName(getarg(0)+".gat") + "] has been abandoned.",0; + disablenpc "Kafra Service#"+getarg(1); + + SetCastleData getarg(0)+".gat",0,0; + return; +} + +// Function for OnAgitBreak ====================================== +function script F_AgitBreak { + //killmonsterall getarg(0)+".gat"; + set @GID,getcharid(2); + if (@GID <= 0) return; + set @Economy,GetCastleData(getarg(0)+".gat",2); + SetCastleData getarg(0)+".gat",2, @Economy-5; + if (GetCastleData(getarg(0)+".gat",2) < 0) SetCastleData getarg(0)+".gat",2,0; + set @Defence,GetCastleData(getarg(0)+".gat",3); + SetCastleData getarg(0)+".gat",3, @Defence-5; + if (GetCastleData(getarg(0)+".gat",3) < 0) SetCastleData getarg(0)+".gat",3,0; + SetCastleData getarg(0)+".gat",1, @GID; + MapAnnounce getarg(0)+".gat","The emperium has been destroyed.",17; + Announce "Guild Base [" + GetCastleName(getarg(0)+".gat") + "] has been taken by the [" + GetGuildName(@GID) + "] guild.",0; + GetCastleData getarg(0)+".gat",0,"::OnRecvCastle"+getarg(1); + + disablenpc "Kafra Service#"+getarg(1); + set @i, 3; + + L_Loop: + set @i, @i + 1; + SetCastleData getarg(0)+".gat",@i,0; + if(@i < 25) goto L_Loop; + return; +} + + +// Function for OnAgitEnd ====================================== +function script F_AgitEnd { + GvgOff getarg(0)+".gat"; +// if (GetCastleData(getarg(0)+".gat",1) == 0) return; //enable this line to allow take over of non captured castles after woe ends + MapRespawnGuildID getarg(0)+".gat",GetCastleData(getarg(0)+".gat",1),4; + KillMonster getarg(0)+".gat","Agit_"+getarg(1)+"::OnAgitBreak"; + end; +} diff --git a/npc/guild/gldfunc_flag.txt b/npc/guild/gldfunc_flag.txt new file mode 100644 index 000000000..adde394ec --- /dev/null +++ b/npc/guild/gldfunc_flag.txt @@ -0,0 +1,61 @@ +//===== eAthena Script ======================================= +//= War of Emperium Guild Flags Function +//===== By: ================================================== +//= jAthena - kalen (1.0) +//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//===== Current Version: ===================================== +//= 1.3a +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= Flags display messages stating whether or not a guild castle has been captured. +//= Allows the guild members to return to a captured castle. +//====================================== +//= Break down of arguments used in the function: +//= arg(0): name of City. +//= arg(1): name of guild castle. +//= arg(2): x1 coordinate for warp +//= arg(3): y1 coordinate for warp +//= arg(4): Teleportable (0/1) +//===== Additional Comments: ================================= +//= v1.2: All Guild flags scripts use this function. [kobra_k88] +//= v1.3: Can now only flag in from outside the castle [Kayla] +//= v1.3a: Implemented k3dt's exploit fix [Vicious] +//============================================================ + +function script F_Flags { + + set @GID, GetCastleData(getarg(1)+".gat",1); + if (@GID != 0) goto L_Startg; + + mes "[ Edict of the Divine Rune Midgard Kingdom of " + getarg(0) + " ]"; + mes " "; + mes "1. Honoring the ordinance of the Divine Rune Midgard Kingdom of " + getarg(0) + ", this guild base has not been taken by any guild yet"; + mes " "; + mes "2. In order to take this guild base, you must defeat all the guardians that are protecting the guild base and eliminate the Emperium."; + return; +L_Startg: + if ((getcharid(2) == @GID) && (getarg(4) == 1)) goto L_Startg2; + mes "[ Edict of the Divine Rune Midgard Kingdom of "+ getarg(0) +" ]"; + mes " "; + mes "1. Honoring the ordinance of the"; + mes "Divine Rune Midgard Kingdom of "; + mes getarg(0) +", we approve that this"; + mes "base is in the private possession"; + mes "of the ^ff0000" + GetGuildName(@GID) + "^000000 guild."; + mes " "; + mes "2. The guild master of the"; + mes "^ff0000"+ GetGuildName(@GID) + "^000000 guild, is ^0000FF" + GetGuildMaster(@GID) + "^000000."; + mes "If anyone objects to that, raise your sword to honor yourself."; + return; +L_Startg2: + mes "[ Ringing Voice ]"; + mes "Brave one... would you return to your honorable be?"; + next; + menu "Return.",M_Enter,"Cancel.",-; + return; + + M_Enter: + if (getcharid(2) == GetCastleData(getarg(1)+".gat",1)) warp getarg(1)+".gat",getarg(2),getarg(3); + return; +} diff --git a/npc/guild/gldfunc_kafra.txt b/npc/guild/gldfunc_kafra.txt new file mode 100644 index 000000000..e1113aa7f --- /dev/null +++ b/npc/guild/gldfunc_kafra.txt @@ -0,0 +1,38 @@ +//===== eAthena Script ======================================= +//= War of Emperium Kafras Function +//===== By: ================================================== +//= jAthena - kalen (1.0) +//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//===== Current Version: ===================================== +//= 1.2a +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= Kafra service for guild members +//====================================== +//= Break down of arguments used in the function: +//= arg(0): name of City. +//= arg(1): name of guild castle. +//= arg(2): x1 coordinate for warp +//= arg(3): y1 coordinate for warp +//===== Additional Comments: ================================= +//= v1.2: All Guild kafra scripts use this function. [kobra_k88] +//= 1.2a Added extra check for Contract with Kafra Guild Skill [Lupus] +//============================================================ + +function script F_GKafra { + cutin "kafra_01",2; + set @GID, GetCastleData(getarg(0)+".gat",1); + if (getcharid(2) == @GID && getgdskilllv(@GID,10001)) goto L_StartG; + + mes "[Kafra Service]"; + mes "I am here to serve only ^5533FF" + GetGuildName(@GID) + "^000000 members. Please use different Kafra Service. Thank you."; + cutin "",255; + close; +L_StartG: + set @wrpP[0], 0; + set @wrpD$[0], getarg(1); + setarray @wrpC$[0], @wrpD$[0], "Cancel", "", "", "",""; + callfunc "F_Kafra",2; + end; +} diff --git a/npc/guild/gldfunc_manager.txt b/npc/guild/gldfunc_manager.txt new file mode 100644 index 000000000..59ad69442 --- /dev/null +++ b/npc/guild/gldfunc_manager.txt @@ -0,0 +1,421 @@ +//===== eAthena Script ======================================= +//= War of Emperium Guild Manager Function +//===== By: ================================================== +//= jAthena - kalen (1.0) +//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//===== Current Version: ===================================== +//= 1.31 +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= The Guild Manager allows the Guildmaster to invest in comerce +//= and defense, hire guardians and kafras, go to the treasure room, +//= and surrender the guild castle. +//============================================== +//= Break down of arguments used in the function: +//= arg(0): name of Castle Manager +//= arg(1): name of guild castle. +//= arg(2): x1 coordinate for warp to treasure room +//= arg(3): y1 coordinate for warp to treasure room +//= arg(4): guild script suffix for kafra, gaurdian scripts etc. +//===== Additional Comments: ================================= +//= v1.31: Added support for Emsolute Develop [celest] +//= v1.2: All Guild manager scripts use this function. Optimized +//= Comerce and Defense investment. [kobra_k88] +//= v1.2a Function now returns to script that called it. +//= Added disablenpc line to surrender castle option to remove kafra +//= upon surrender.[kobra_k88] +//= v1.2b U can't surrender the base during WOE [Lupus] +//= v1.2c Fixed issue of guardians hp not increasing upon defense +//= investment.[kobra_k88] +//= v1.3 Now you can't install Guardians during WOE [Lupus] +//= v1.4 Reomve surrender abbility (Was 100% custom as far as I can tell) [Kayla] +//============================================================ + + + +//============================================== +function script F_GldManager { + + set @GID, GetCastleData(getarg(1)+".gat",1); + if (strcharinfo(0) == getguildmaster(@GID)) goto L_Start; + if (@GID == 0) goto L_NotOwn; + if (getcharid(2) == @GID) goto L_Mem; + +L_NotMem: + mes "[ "+getarg(0)+" ]"; + mes "I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command! Hey! Your not even a part of the guild!!"; + mes "Where are the guardians? Destroy these intruders!"; + return 0; + +L_NotOwn: + mes "[ "+getarg(0)+" ]"; + mes "I am waiting for my master. Brave adventurer, follow your destiny!"; + return 0; + +L_Mem: + mes "[ "+getarg(0)+" ]"; + mes "You're not ^5533FF" + getguildmaster(@GID) + "^000000! I am here to follow ^5533FF" + getguildmaster(@GID) + "^000000's command only"; + return 0; + +L_Start: + mes "[ "+getarg(0)+" ]"; + mes "Welcome Master ^5533FF" + getguildmaster(@GID) + "^000000 ! I will assist you in any way I can!"; + next; + menu "Guild Base Briefing",M_Base, "Commerce Investment",M_Comrc, "Defence Investment",M_Def, "Guardian Installation",M_Gaurd, + "Kafra Service Employment / Dismissal",M_Kaf, "Enter Treasure Room",M_Treas, "Cancel",M_End; + + //======================== + M_Base: + //========= + mes "[ "+getarg(0)+" ]"; + mes "Guild Base Investment Information."; + mes " "; + mes "Current Commerce Investment is : ^FF3322" + GetCastleData(getarg(1)+".gat",2) + "^000000 points."; + mes "^0000ff - You have invested " + GetCastleData(getarg(1)+".gat",4) + " times today.^000000"; + next; + mes "[ "+getarg(0)+" ]"; + mes "Current Defence Investment is : ^FF3322" + GetCastleData(getarg(1)+".gat",3) + "^000000 points."; + mes "^0000ff- You have invested " + GetCastleData(getarg(1)+".gat",5) + " times today.^000000"; + mes " "; + mes "That is about it."; + return 0; + + //======================== + M_Comrc: + //========= + set @TriggerE,GetCastleData(getarg(1)+".gat",4); + set @Economy,GetCastleData(getarg(1)+".gat",2); + if(@Economy < 8) set @eco_invest,10000; + if(@Economy >= 8) set @eco_invest,20000; + if(@Economy >= 16) set @eco_invest,40000; + if(@Economy >= 25) set @eco_invest,80000; + if(@Economy >= 34) set @eco_invest,160000; + if(@Economy >= 44) set @eco_invest,320000; + if(@Economy >= 54) set @eco_invest,640000; + if(@Economy >= 65) set @eco_invest,1280000; + if(@Economy >= 76) set @eco_invest,2560000; + if(@Economy >= 88) set @eco_invest,5120000; + + mes "[ "+getarg(0)+" ]"; + if(@TriggerE == 2) goto L_MaxTimesC; + if(@Economy >= 100) goto L_MaxInvestC; + mes "If you improve your Commerce Investment, the guild's productive power increases to produce more goods."; + mes "So an investment will be required if you're considering future growth."; + next; + mes "[ "+getarg(0)+" ]"; + if(@TriggerE == 0) mes "You can invest up to two times a day, but the second time costs more"; + if(@TriggerE == 0) mes "The needed investment amount is ^5533FF" + @eco_invest + "^000000 zeny."; + if(@TriggerE == 1) set @eco_invest,@eco_invest*4; + if(@TriggerE == 1) mes "You've already invested once today, but you can invest again at ^5533FF" + @eco_invest + "^000000 Zeny."; + next; + mes "[ "+getarg(0)+" ]"; + mes "Would you like to invest?"; + next; + menu "Invest Commerce.",-,"Cancel.",M_End; + + if(Zeny < @eco_invest) goto sL_NoZenyC; + set Zeny,Zeny-@eco_invest; + SetCastleData getarg(1)+".gat",4,@TriggerE+1; + // if we learnt Emsolute Develop there's 50% chance to get +1 investment again + if (getgdskilllv(@GID,10014) > 0 && rand(100)>50) set @Economy, @Economy + 1; + SetCastleData getarg(1)+".gat",2,@Economy+1; + mes "[ "+getarg(0)+" ]"; + mes "You have invested successfully."; + return 0; + + sL_NoZenyC: + mes "[ "+getarg(0)+" ]"; + mes "Master, you do not have enough money to invest. Investment has been cancelled."; + return 0; + L_MaxTimesC: + mes "^ff0000You have already invested twice today, and that's the limit.^000000 I'm expecting to see our riches grow at a high level."; + return 0; + L_MaxInvestC: + mes "[ "+getarg(0)+" ]"; + mes " "; + mes "^ff0000This Castle's commerce investment is already maxed at 100 points. You don't have to invest any further.^000000"; + return 0; + + //========================= + M_Def: + //======== + set @TriggerD,GetCastleData(getarg(1)+".gat",5); + set @Defence,GetCastleData(getarg(1)+".gat",3); + if(@Defence < 8) set @def_invest,20000; + if(@Defence >= 8) set @def_invest,40000; + if(@Defence >= 16) set @def_invest,80000; + if(@Defence >= 25) set @def_invest,160000; + if(@Defence >= 34) set @def_invest,320000; + if(@Defence >= 44) set @def_invest,640000; + if(@Defence >= 54) set @def_invest,1280000; + if(@Defence >= 65) set @def_invest,2560000; + if(@Defence >= 76) set @def_invest,5120000; + if(@Defence >= 88) set @def_invest,10240000; + + mes "[ "+getarg(0)+" ]"; + if(@TriggerD == 2) goto L_MaxTimesD; + if(@Defence >= 100) goto L_MaxInvestD; + mes "If you improve investment of defence, the durability of our Guardians and the Emperium will increase."; + mes "So if you consider our future battles, an investment will be required."; + next; + mes "[ "+getarg(0)+" ]"; + if(@TriggerD == 0) mes "You can invest up to two times a day, but the second time costs more"; + if(@TriggerD == 0) mes "The needed investment amount is ^5533FF" + @def_invest + "^000000 zeny."; + if(@TriggerD == 1) set @def_invest,@def_invest*4; + if(@TriggerD == 1) mes "You've already invested once today, but you can invest again at ^5533FF" + @def_invest + "^000000 Zeny."; + next; + mes "[ "+getarg(0)+" ]"; + mes "Would you like to invest?"; + next; + menu "Invest Defence.",-, "Cancel",M_End; + + if(Zeny < @def_invest) goto sL_NoZenyD; + set Zeny,Zeny-@def_invest; + SetCastleData getarg(1)+".gat",5,@TriggerD+1; + SetCastleData getarg(1)+".gat",3,@Defence+1; + // set new hp values for guardians + set @Defence, @Defence + 1; + set @AGuardian, 28634 + (@Defence*2000); + set @KGuardian, 30214 + (@Defence*2000); + set @SGuardian, 15670 + (@Defence*2000); + //set @AGuardian,strmobinfo(4,1285) + (@Defence*2000); + //set @KGuardian,strmobinfo(4,1286) + (@Defence*2000); + //set @SGuardian,strmobinfo(4,1287) + (@Defence*2000); + if (GetCastleData(getarg(1)+".gat",10) == 1) SetCastleData getarg(1)+".gat",18,@SGuardian; + if (GetCastleData(getarg(1)+".gat",11) == 1) SetCastleData getarg(1)+".gat",19,@SGuardian; + if (GetCastleData(getarg(1)+".gat",12) == 1) SetCastleData getarg(1)+".gat",20,@SGuardian; + if (GetCastleData(getarg(1)+".gat",13) == 1) SetCastleData getarg(1)+".gat",21,@AGuardian; + if (GetCastleData(getarg(1)+".gat",14) == 1) SetCastleData getarg(1)+".gat",22,@AGuardian; + if (GetCastleData(getarg(1)+".gat",15) == 1) SetCastleData getarg(1)+".gat",23,@KGuardian; + if (GetCastleData(getarg(1)+".gat",16) == 1) SetCastleData getarg(1)+".gat",24,@KGuardian; + if (GetCastleData(getarg(1)+".gat",17) == 1) SetCastleData getarg(1)+".gat",25,@KGuardian; + + mes "[ "+getarg(0)+" ]"; + mes "You have invested successfully."; + return 0; + + sL_NoZenyD: + mes "[ "+getarg(0)+" ]"; + mes "Master, you do not have enough money to invest in Defence. Defence investment has been cancelled."; + return 0; + L_MaxTimesD: + mes "^ff0000You have already invested twice today, and that's the limit.^000000 I'm expecting to see our riches grow at a high level."; + return 0; + L_MaxInvestD: + mes "^ff0000This Castle's Defence Investment is already maxed at 100 points. You don't have to invest any further.^000000"; + return 0; + + //========================= + M_Gaurd: + //========= + if (getgdskilllv(@GID,10002) == 0) goto L_NoSkGuard; + set @Defence,GetCastleData(getarg(1)+".gat",3); + set @Guardian0,guardianinfo(0); + set @Guardian1,guardianinfo(1); + set @Guardian2,guardianinfo(2); + set @Guardian3,guardianinfo(3); + set @Guardian4,guardianinfo(4); + set @Guardian5,guardianinfo(5); + set @Guardian6,guardianinfo(6); + set @Guardian7,guardianinfo(7); + set @AGuardian, 28634 + (@Defence*2000); + set @KGuardian, 30214 + (@Defence*2000); + set @SGuardian, 15670 + (@Defence*2000); + //set @AGuardian,strmobinfo(4,1285) + (@Defence*2000); + //set @KGuardian,strmobinfo(4,1286) + (@Defence*2000); + //set @SGuardian,strmobinfo(4,1287) + (@Defence*2000); + + mes "[ "+getarg(0)+" ]"; + if(agitcheck(0) != 0) goto L_CantGuard; + mes "Would you like to install a guardian? Guardians will protect the guild base from enemies."; + mes "Please choose a guardian."; + next; + + menu "Soldier Guardian (" + @Guardian0 + "/" + @SGuardian + ")",L4_1, + "Soldier Guardian (" + @Guardian1 + "/" + @SGuardian + ")",L4_2, + "Soldier Guardian (" + @Guardian2 + "/" + @SGuardian + ")",L4_3, + "Archer Guardian (" + @Guardian3 + "/" + @AGuardian + ")",L4_4, + "Archer Guardian (" + @Guardian4 + "/" + @AGuardian + ")",L4_5, + "Knight Guardian (" + @Guardian5 + "/" + @KGuardian + ")",L4_6, + "Knight Guardian (" + @Guardian6 + "/" + @KGuardian + ")",L4_7, + "Knight Guardian (" + @Guardian7 + "/" + @KGuardian + ")",L4_8; + + L4_1: + if (GetCastleData(getarg(1)+".gat",10) == 1) goto L_GotGuard; + set @GDnum,10; + set @GDnum2,18; + set @GuardianHP,@SGuardian; + goto L4_9; + L4_2: + if (GetCastleData(getarg(1)+".gat",11) == 1) goto L_GotGuard; + set @GDnum,11; + set @GDnum2,19; + set @GuardianHP,@SGuardian; + goto L4_9; + L4_3: + if (GetCastleData(getarg(1)+".gat",12) == 1) goto L_GotGuard; + set @GDnum,12; + set @GDnum2,20; + set @GuardianHP,@SGuardian; + goto L4_9; + L4_4: + if (GetCastleData(getarg(1)+".gat",13) == 1) goto L_GotGuard; + set @GDnum,13; + set @GDnum2,21; + set @GuardianHP,@AGuardian; + goto L4_9; + L4_5: + if (GetCastleData(getarg(1)+".gat",14) == 1) goto L_GotGuard; + set @GDnum,14; + set @GDnum2,22; + set @GuardianHP,@AGuardian; + goto L4_9; + L4_6: + if (GetCastleData(getarg(1)+".gat",15) == 1) goto L_GotGuard; + set @GDnum,15; + set @GDnum2,23; + set @GuardianHP,@KGuardian; + goto L4_9; + L4_7: + if (GetCastleData(getarg(1)+".gat",16) == 1) goto L_GotGuard; + set @GDnum,16; + set @GDnum2,24; + set @GuardianHP,@KGuardian; + goto L4_9; + L4_8: + if (GetCastleData(getarg(1)+".gat",17) == 1) goto L_GotGuard; + set @GDnum,17; + set @GDnum2,25; + set @GuardianHP,@KGuardian; + L4_9: + mes "[ "+getarg(0)+" ]"; + mes "Would you really like to install a guardian? You need ^5533FF10,000 zeny^000000 to install one...."; + next; + menu "Install",-, "Cancel",M_End; + + if (Zeny < 10000) goto sL_NoZenyG; + set Zeny,Zeny-10000; + SetCastleData getarg(1)+".gat",@GDnum,1; + SetCastleData getarg(1)+".gat",@GDnum2,@GuardianHP; + return 1; + + sL_NoZenyG: + mes "[ "+getarg(0)+" ]"; + mes "I'm sorry Master, but you do not have enough zeny for a Guardian."; + return 0; + L_NoSkGuard: + mes "[ "+getarg(0)+" ]"; + mes "I'm sorry Master but you cannot install any guardians right now. Your guild must learn the Guild skill ^5533FFGuardian Research^000000 first."; + mes "Guardian Installation has been cancelled."; + return 0; + L_GotGuard: + mes "[ "+getarg(0)+" ]"; + mes "Excuse me Master, but that guardian has already been installed....."; + emotion 4; + return 0; + L_CantGuard: + mes "Master.... don't you know that we can't install guardians during the War Of Emperium?!!"; + emotion 4; + return 0; + + //=========================== + M_Kaf: + //====== + mes "[ "+getarg(0)+" ]"; + if (GetCastleData(getarg(1)+".gat",9) == 1) goto L_Dismiss; + if (getgdskilllv(@GID,10001) == 0) goto L_NoSkKaf; + + L_Hire: + mes "Would you like to employ the services of a Kafra? You will need ^5533FF10,000 Zeny^000000 to do so... "; + next; + menu "Employ Kafra.",-,"Cancel",sM_KafEnd; + + mes "[ "+getarg(0)+" ]"; + if (Zeny < 10000) goto sL_NoZenyK; + set Zeny,Zeny-10000; + enablenpc "Kafra Service#"+getarg(4); + SetCastleData getarg(1)+".gat",9,1; + mes "You have created a contract with the Kafra Service Company."; + next; + cutin "kafra_01",2; + mes "[ Kafra Service ]"; + mes "How do you do? I'm here to provide you with helpful service! I'll do the best I can to serve you."; + next; + cutin "kafra_01",255; + mes "[ "+getarg(0)+" ]"; + //mes "Your employment contract lasts ^5533FF1 month^000000. After this term is over you will have to create a new contract."; + mes "I think the Kafra Service will benefit our guild members."; + return 0; + + sL_NoZenyK: + mes "Master, you do not have enough money to employ a Kafra. Employment has been cancelled."; + return 0; + sM_KafEnd: + mes "[ "+getarg(0)+" ]"; + mes "As you wish Master. But I suggest we get a Kafra as soon as possible!"; + return 0; + + L_Dismiss: + mes "Would you like to dismiss the current Kafra?"; + next; + menu "Dismissal",-,"Cancel",sM_KafEnd2; + + cutin "kafra_01",2; + mes "[ Kafra Service ]"; + mes "Have I done anything wrong? If I did, will you please forgive me?"; + next; + menu "Dismiss",-,"Cancel",ssM_KafEnd2; + + mes "[ Kafra Service ]"; + mes "It's unfortunate that I won't be able to serve your guild anymore...."; + next; + disablenpc "Kafra Service#"+getarg(4); + SetCastleData getarg(1)+".gat",9,0; + cutin "kafra_01",255; + mes "[ "+getarg(0)+" ]"; + mes "The Kafra has been dismissed. But... we should really get a Kafra as soon as possible!"; + return 0; + ssM_KafEnd2: + mes "[ Kafra Service ]"; + mes "Thank you master, I'll do my best! ^^."; + cutin "kafra_01",255; + return 0; + sM_KafEnd2: + mes "[ "+getarg(0)+" ]"; + mes "Master, I think you should keep the current Kafra Service because she is already trying her best to serve us"; + return 0; + + L_NoSkKaf: + mes "Master, you don't have a contract with the Kafra Service Company."; + mes "In order to hire a Kafra, you must first learn the Guild skill ^5533FFContract With Kafra^000000."; + return 0; + + //========================= + M_Treas: + //======== + mes "[ "+getarg(0)+" ]"; + mes "Would you to go to our Treasure Room? Only you, the Guild Master, are allowed to enter this room."; + next; + menu "Enter Treasure room.",-,"Cancel",sM_TresEnd; + + mes "[ "+getarg(0)+" ]"; + mes "Please follow me through the secret passage way."; + mes "You must pull down on the secret switch in order to get out."; + next; + warp getarg(1)+".gat",getarg(2),getarg(3); + return 0; + sM_TresEnd: + mes "[ "+getarg(0)+" ]"; + mes "The goods are produced everyday."; + mes "You should get them whenever you can because they might dissapear if you take them at the wrong time."; + return 0; + + + //========================== + M_End: + //======= + mes "[ "+getarg(0)+" ]"; + mes "As you wish, master."; + return 0; +} diff --git a/npc/guild/gldfunc_treasure.txt b/npc/guild/gldfunc_treasure.txt new file mode 100644 index 000000000..f52403c3e --- /dev/null +++ b/npc/guild/gldfunc_treasure.txt @@ -0,0 +1,112 @@ +//===== eAthena Script ======================================= +//= War of Emperium Guild Treasure Room Functions +//===== By: ================================================== +//= holyAngelX (1.0) +//= 1.1 by Akaru and ho|yAnge|X +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= F_GldTreas spawns treasure chests used by the guild master. +//= F_GldTreasSw allows the player to get out of the treasure room. +//============================================== +//= Break down of arguments used in the F_GldTreas: +//= arg(0): name of guild castle +//= arg(1): name of script that called the function +//= arg(2): $variable for number of boxes to spawn for specific castle +//= arg(2): $variable to be used as a counter +//= arg(4): $variable for box/monster id number. +//= arg(5): box/monster id# +//= arg(6): x1 coordinate for areamonster call +//= arg(7): y1 coordinate for areamonster call +//= arg(8): x2 coordinate for areamonster call +//= arg(9): y1 coordinate for areamonster call +//= arg(10): +//= Break down of arguments used in the F_GldTreasSw: +//= arg(0): name of guild castle. +//= arg(1): x1 coordinate for warp back to guild castle +//= arg(2): y1 coordinate for warp back to guild castle +//===== Additional Comments: ================================= +//= v1.2 Treasure room Spawn, and Treasure room Switch scripts now use these functions.[kobra_k88] +//= v1.2a Function now returns to script that called it. Removed TreasureSpawn2. +//= Changed back to using specific global variables for number of boxes and the box id. [kobra_k88] +//= v1.2b Added a check to allow un broken treasure chests to respawn after map server restart.[kobra_k88] +//= 1.3 Fixed treasure boxes spawn. (Unrolled one loop a bit) [Lupus] +//= 1.4 New number of Treasure Boxes per castle: 25 at 100 Economic pts [Lupus] +//= So you get your first chest only when your Economic Pts >= 4 +//============================================================ + + +//================================================ +// Treasure Spawning Function +//================================================ +function script F_GldTreas { + + if(getarg(10) == 1) goto TreasureSpawn; + SetCastleData getarg(0)+".gat",4,0; + SetCastleData getarg(0)+".gat",5,0; + KillMonster getarg(0)+".gat","Treasure_"+getarg(1)+"::OnDied"; + if (GetCastleData(getarg(0)+".gat",2) > 100) return; + if (GetCastleData(getarg(0)+".gat",1) == 0) return; +//Old Formula for 20 Boxes at 100 pts: + //set getarg(2),GetCastleData(getarg(0)+".gat",2)/5+4; +//New, correct formula for 25 boxes at 100 pts: + set getarg(2),GetCastleData(getarg(0)+".gat",2)/4; + if (getarg(2) <= 0) return; + set getarg(3), getarg(2); //sets the counter variable = to the box number amount + +TreasureSpawn: + + set getarg(4), getarg(5); //sets the box id variable = to the box id + set $@temp, rand(4); + if ($@temp > 2) set getarg(4), getarg(4) + 1; + areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied"; + set getarg(3), getarg(3) - 1; + if(getarg(3) <= 0) return; + + set getarg(4), getarg(5); //sets the box id variable = to the box id + set $@temp, rand(4); + if ($@temp > 2) set getarg(4), getarg(4) + 1; + areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied"; + set getarg(3), getarg(3) - 1; + if(getarg(3) <= 0) return; + + set getarg(4), getarg(5); //sets the box id variable = to the box id + set $@temp, rand(4); + if ($@temp > 2) set getarg(4), getarg(4) + 1; + areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied"; + set getarg(3), getarg(3) - 1; + if(getarg(3) <= 0) return; + + set getarg(4), getarg(5); //sets the box id variable = to the box id + set $@temp, rand(4); + if ($@temp > 2) set getarg(4), getarg(4) + 1; + areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied"; + set getarg(3), getarg(3) - 1; + if(getarg(3) <= 0) return; + + set getarg(4), getarg(5); //sets the box id variable = to the box id + set $@temp, rand(4); + if ($@temp > 2) set getarg(4), getarg(4) + 1; + areamonster getarg(0)+".gat",getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied"; + set getarg(3), getarg(3) - 1; + if(getarg(3) > 0) goto TreasureSpawn; + return; +} + +//============================================================== +// Treasure Room Switch +//=============================================================== +function script F_GldTreasSw { + mes " "; + mes "There is little switch over here"; + mes "Would you like to pull the switch down?"; + next; + menu "Yes",M_1,"No",-; + close; + + M_1: + warp getarg(0)+".gat",getarg(1),getarg(2); + return; +} diff --git a/npc/guild/nguild/nguild_dunsw.txt b/npc/guild/nguild/nguild_dunsw.txt new file mode 100644 index 000000000..0109cf71e --- /dev/null +++ b/npc/guild/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.gat,212,181,0 script Switch#DunN01 111,{ + callfunc "F_GldDunSw","nguild_alde","02",32,122; + close; +} + +// Castle 2 =============================================== +nguild_gef.gat,78,84,0 script Switch#DunN02 111,{ + callfunc "F_GldDunSw","nguild_gef","04",39,258; + close; +} + +// Castle 3 =============================================== +nguild_pay.gat,101,25,0 script Switch#DunN03 111,{ + callfunc "F_GldDunSw","nguild_pay","01",186,165; + close; +} + +// Castle 4 =============================================== +nguild_prt.gat,94,200,0 script Switch#DunN04 111,{ + callfunc "F_GldDunSw","nguild_prt","03",28,251; + close; +} diff --git a/npc/guild/nguild/nguild_ev_agit.txt b/npc/guild/nguild/nguild_ev_agit.txt new file mode 100644 index 000000000..fba0c487f --- /dev/null +++ b/npc/guild/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.gat,0,0,0 script Agit_N01 -1,{ +OnInterIfInitOnce: + GetCastleData "nguild_alde.gat",0,"::OnRecvCastleN01"; + end; +OnRecvCastleN01: + RequestGuildInfo GetCastleData("nguild_alde.gat",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.gat",GetCastleData("nguild_alde.gat",1),6; + Monster "nguild_alde.gat",216,24,"EMPERIUM",1288,1,"Agit_N01::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","nguild_alde","N01"; + end; +} + +// Castle 2 ================================================================ +nguild_gef.gat,0,0,0 script Agit_N02 -1,{ +OnInterIfInitOnce: + GetCastleData "nguild_gef.gat",0,"::OnRecvCastleN02"; + end; +OnRecvCastleN02: + RequestGuildInfo GetCastleData("nguild_gef.gat",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.gat",GetCastleData("nguild_gef.gat",1),6; + Monster "nguild_gef.gat",198,182,"EMPERIUM",1288,1,"Agit_N02::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","nguild_gef","N02"; + end; +} + +// Castle 3 ================================================================ +nguild_pay.gat,0,0,0 script Agit_N03 -1,{ +OnInterIfInitOnce: + GetCastleData "nguild_pay.gat",0,"::OnRecvCastleN03"; + end; +OnRecvCastleN03: + RequestGuildInfo GetCastleData("nguild_pay.gat",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.gat",GetCastleData("nguild_pay.gat",1),6; + Monster "nguild_pay.gat",139,139,"EMPERIUM",1288,1,"Agit_N03::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","nguild_pay","N03"; + end; +} + +// Castle 4 ================================================================ +nguild_prt.gat,0,0,0 script Agit_N04 -1,{ +OnInterIfInitOnce: + GetCastleData "nguild_prt.gat",0,"::OnRecvCastleN04"; + end; +OnRecvCastleN04: + RequestGuildInfo GetCastleData("nguild_prt.gat",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.gat",GetCastleData("nguild_prt.gat",1),6; + Monster "nguild_prt.gat",197,197,"EMPERIUM",1288,1,"Agit_N04::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","nguild_prt","N04"; + end; +} diff --git a/npc/guild/nguild/nguild_flags.txt b/npc/guild/nguild/nguild_flags.txt new file mode 100644 index 000000000..b13509230 --- /dev/null +++ b/npc/guild/nguild/nguild_flags.txt @@ -0,0 +1,146 @@ +//===== eAthena Script ======================================= +//= War of Emperium N Guild Flags +//===== By: ================================================== +//= kobra_k88 +//===== Current Version: ===================================== +//= 1.1 +//===== 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] +//============================================================ + + +//============================================================================// +// Castle 1 +//============================================================================// +n_castle.gat,110,96,1 script NGuild Aldebaran#a1-1 722,{ + callfunc "F_Flags","Al De Baran","nguild_alde",218,170,1; + close; + +OnRecvCastleN01: + FlagEmblem GetCastleData("nguild_alde.gat",1); + end; +} + +nguild_alde.gat,30,248,4 script NGuild Aldebaran#a1-6::NGuildAlde 722,{ + callfunc "F_Flags","Al De Baran","nguild_alde",218,170,0; + close; + +OnRecvCastleN01: + FlagEmblem GetCastleData("nguild_alde.gat",1); + end; +} +// In Castle ============================================ +nguild_alde.gat,30,246,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-7 722 +nguild_alde.gat,37,248,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-8 722 +nguild_alde.gat,37,246,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-9 722 +nguild_alde.gat,95,80,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-10 722 +nguild_alde.gat,95,59,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-11 722 +nguild_alde.gat,62,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-12 722 +nguild_alde.gat,70,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-13 722 +nguild_alde.gat,74,75,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-14 722 +nguild_alde.gat,62,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-15 722 +nguild_alde.gat,66,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-16 722 +nguild_alde.gat,70,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-17 722 +nguild_alde.gat,74,64,2 duplicate(NGuildAlde) NGuild Aldebaran#a1-18 722 +nguild_alde.gat,203,150,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-19 722 +nguild_alde.gat,210,150,4 duplicate(NGuildAlde) NGuild Aldebaran#a1-20 722 + + + + +//============================================================================// +// Castle 2 +//============================================================================// +n_castle.gat,110,109,3 script NGuild Geffen#g1-1 722,{ + callfunc "F_Flags","Geffen","nguild_gef",83,47,1; + close; + +OnRecvCastleN02: + FlagEmblem GetCastleData("nguild_gef.gat",1); + end; +} + +nguild_gef.gat,28,157,4 script NGuild Geffen#g1-6::NGuildGef 722,{ + callfunc "F_Flags","Geffen","nguild_gef",83,47,0; + close; + +OnRecvCastleN02: + FlagEmblem GetCastleData("nguild_gef.gat",1); + end; +} +// In Castle ============================================= +nguild_gef.gat,32,157,4 duplicate(NGuildGef) NGuild Geffen#g1-7 722 +nguild_gef.gat,22,156,5 duplicate(NGuildGef) NGuild Geffen#g1-8 722 +nguild_gef.gat,68,185,3 duplicate(NGuildGef) NGuild Geffen#g1-9 722 +nguild_gef.gat,17,171,5 duplicate(NGuildGef) NGuild Geffen#g1-10 722 +nguild_gef.gat,59,16,4 duplicate(NGuildGef) NGuild Geffen#g1-11 722 +nguild_gef.gat,64,16,4 duplicate(NGuildGef) NGuild Geffen#g1-12 722 + + + +//============================================================================// +// Castle 3 +//============================================================================// +n_castle.gat,94,109,5 script NGuild Payon#f1-1 722,{ + callfunc "F_Flags","Payon","nguild_pay",87,29,1; + close; + +OnRecvCastleN03: + FlagEmblem GetCastleData("nguild_pay.gat",1); + end; +} + +nguild_pay.gat,238,67,4 script NGuild Payon#f1-6::NGuildPay 722,{ + callfunc "F_Flags","Payon","nguild_pay",87,29,0; + close; + +OnRecvCastleN03: + FlagEmblem GetCastleData("nguild_pay.gat",1); + end; +} +// In Castle =============================================== +nguild_pay.gat,238,67,4 duplicate(NGuildPay) NGuild Payon#f1-6 722 +nguild_pay.gat,233,67,4 duplicate(NGuildPay) NGuild Payon#f1-7 722 +nguild_pay.gat,221,123,4 duplicate(NGuildPay) NGuild Payon#f1-8 722 +nguild_pay.gat,221,116,4 duplicate(NGuildPay) NGuild Payon#f1-9 722 +nguild_pay.gat,206,108,4 duplicate(NGuildPay) NGuild Payon#f1-10 722 +nguild_pay.gat,212,108,4 duplicate(NGuildPay) NGuild Payon#f1-11 722 + + + + +//=============================================================================// +// Castle 4 +//=============================================================================// +n_castle.gat,94,96,7 script NGuild Prontera#p1-1 722,{ + callfunc "F_Flags","Prontera","nguild_prt",97,174,1; + close; + +OnRecvCastleN04: + FlagEmblem GetCastleData("nguild_prt.gat",1); + end; +} + +nguild_prt.gat,58,56,4 script NGuild Prontera#p1-7::NGuildPrt 722,{ + callfunc "F_Flags","Prontera","nguild_prt",97,174,0; + close; + +OnRecvCastleN04: + FlagEmblem GetCastleData("nguild_prt.gat",1); + end; +} +// In Castle ============================================= +nguild_prt.gat,64,56,4 duplicate(NGuildPrt) NGuild Prontera#p1-8 722 +nguild_prt.gat,76,32,4 duplicate(NGuildPrt) NGuild Prontera#p1-9 722 +nguild_prt.gat,84,32,4 duplicate(NGuildPrt) NGuild Prontera#p1-10 722 +nguild_prt.gat,94,39,4 duplicate(NGuildPrt) NGuild Prontera#p1-11 722 +nguild_prt.gat,94,24,4 duplicate(NGuildPrt) NGuild Prontera#p1-12 722 +nguild_prt.gat,73,14,4 duplicate(NGuildPrt) NGuild Prontera#p1-13 722 +nguild_prt.gat,73,6,4 duplicate(NGuildPrt) NGuild Prontera#p1-14 722 +nguild_prt.gat,55,46,4 duplicate(NGuildPrt) NGuild Prontera#p1-15 722 +nguild_prt.gat,45,46,4 duplicate(NGuildPrt) NGuild Prontera#p1-16 722 diff --git a/npc/guild/nguild/nguild_guardians.txt b/npc/guild/nguild/nguild_guardians.txt new file mode 100644 index 000000000..b91dee519 --- /dev/null +++ b/npc/guild/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.gat,216,24,0 script Guardian_N01 -1,{ +OnAgitInit: + if (GetCastleData("nguild_alde.gat",10) == 1) guardian "nguild_alde.gat",18,219,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",0; + if (GetCastleData("nguild_alde.gat",11) == 1) guardian "nguild_alde.gat",117,42,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",1; + if (GetCastleData("nguild_alde.gat",12) == 1) guardian "nguild_alde.gat",207,153,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",2; + if (GetCastleData("nguild_alde.gat",13) == 1) guardian "nguild_alde.gat",68,70,"Archer Guardian",1285,1,"Guardian_N01::OnGuardianDied",3; + if (GetCastleData("nguild_alde.gat",14) == 1) guardian "nguild_alde.gat",187,140,"Archer Guardian",1285,1,"Guardian_N01::OnGuardianDied",4; + if (GetCastleData("nguild_alde.gat",15) == 1) guardian "nguild_alde.gat",62,204,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",5; + if (GetCastleData("nguild_alde.gat",16) == 1) guardian "nguild_alde.gat",113,100,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",6; + if (GetCastleData("nguild_alde.gat",17) == 1) guardian "nguild_alde.gat",211,174,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "nguild_alde.gat","A Guardian Has Fallen",17; + end; +} + +//------------------------------------------------------------------------------ +nguild_gef.gat,198,182,0 script Guardian_N02 -1,{ +OnAgitInit: + if (GetCastleData("nguild_gef.gat",10) == 1) guardian "nguild_gef.gat",30,178,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",0; + if (GetCastleData("nguild_gef.gat",11) == 1) guardian "nguild_gef.gat",64,180,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",1; + if (GetCastleData("nguild_gef.gat",12) == 1) guardian "nguild_gef.gat",61,25,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",2; + if (GetCastleData("nguild_gef.gat",13) == 1) guardian "nguild_gef.gat",61,44,"Archer Guardian",1285,1,"Guardian_N02::OnGuardianDied",3; + if (GetCastleData("nguild_gef.gat",14) == 1) guardian "nguild_gef.gat",189,43,"Archer Guardian",1285,1,"Guardian_N02::OnGuardianDied",4; + if (GetCastleData("nguild_gef.gat",15) == 1) guardian "nguild_gef.gat",51,192,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",5; + if (GetCastleData("nguild_gef.gat",16) == 1) guardian "nguild_gef.gat",49,67,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",6; + if (GetCastleData("nguild_gef.gat",17) == 1) guardian "nguild_gef.gat",181,14,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "nguild_gef.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +nguild_pay.gat,139,139,0 script Guardian_N03 -1,{ +OnAgitInit: + if (GetCastleData("nguild_pay.gat",10) == 1) guardian "nguild_pay.gat",210,120,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",0; + if (GetCastleData("nguild_pay.gat",11) == 1) guardian "nguild_pay.gat",69,26,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",1; + if (GetCastleData("nguild_pay.gat",12) == 1) guardian "nguild_pay.gat",23,141,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",2; + if (GetCastleData("nguild_pay.gat",13) == 1) guardian "nguild_pay.gat",224,87,"Archer Guardian",1285,1,"Guardian_N03::OnGuardianDied",3; + if (GetCastleData("nguild_pay.gat",14) == 1) guardian "nguild_pay.gat",81,45,"Archer Guardian",1285,1,"Guardian_N03::OnGuardianDied",4; + if (GetCastleData("nguild_pay.gat",15) == 1) guardian "nguild_pay.gat",214,53,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",5; + if (GetCastleData("nguild_pay.gat",16) == 1) guardian "nguild_pay.gat",69,26,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",6; + if (GetCastleData("nguild_pay.gat",17) == 1) guardian "nguild_pay.gat",23,141,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "nguild_pay.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +nguild_prt.gat,197,197,0 script Guardian_N04 -1,{ +OnAgitInit: + if (GetCastleData("nguild_prt.gat",10) == 1) guardian "nguild_prt.gat",196,92,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",0; + if (GetCastleData("nguild_prt.gat",11) == 1) guardian "nguild_prt.gat",113,200,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",1; + if (GetCastleData("nguild_prt.gat",12) == 1) guardian "nguild_prt.gat",111,186,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",2; + if (GetCastleData("nguild_prt.gat",13) == 1) guardian "nguild_prt.gat",76,202,"Archer Guardian",1285,1,"Guardian_N04::OnGuardianDied",3; + if (GetCastleData("nguild_prt.gat",14) == 1) guardian "nguild_prt.gat",90,26,"Archer Guardian",1285,1,"Guardian_N04::OnGuardianDied",4; + if (GetCastleData("nguild_prt.gat",15) == 1) guardian "nguild_prt.gat",58,59,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",5; + if (GetCastleData("nguild_prt.gat",16) == 1) guardian "nguild_prt.gat",112,200,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",6; + if (GetCastleData("nguild_prt.gat",17) == 1) guardian "nguild_prt.gat",101,194,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "nguild_prt.gat","A Guardian Has Fallen",17; + end; +} diff --git a/npc/guild/nguild/nguild_kafras.txt b/npc/guild/nguild/nguild_kafras.txt new file mode 100644 index 000000000..941d6c0ce --- /dev/null +++ b/npc/guild/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.gat,218,170,0 script Kafra Service#N01 117,{ + callfunc "F_GKafra", "nguild_alde", "Prontera"; + end; +OnRecvCastleN01: + if (GetCastleData("nguild_alde.gat",9) < 1) disablenpc "Kafra Service#N01"; + end; +} + +// Castle 2 =============================================== +//nguild_gef,96,173,0 script Kafra Service#N02 117,{ +nguild_gef.gat,35,37,0 script Kafra Service#N02 117,{ + callfunc "F_GKafra", "nguild_gef", "Prontera"; + end; +OnRecvCastleN02: + if (GetCastleData("nguild_gef.gat",9) < 1) disablenpc "Kafra Service#N02"; + end; +} + +// Castle 3 =============================================== +nguild_pay.gat,128,58,3 script Kafra Service#N03 117,{ + callfunc "F_GKafra", "nguild_pay", "Prontera"; + end; +OnRecvCastleN03: + if (GetCastleData("nguild_pay.gat",9) < 1) disablenpc "Kafra Service#N03"; + end; +} + +// Castle 4 =============================================== +nguild_prt.gat,96,173,0 script Kafra Service#N04 117,{ + callfunc "F_GKafra", "nguild_prt", "Prontera"; + end; +OnRecvCastleN04: + if (GetCastleData("nguild_prt.gat",9) < 1) disablenpc "Kafra Service#N04"; + end; +} diff --git a/npc/guild/nguild/nguild_managers.txt b/npc/guild/nguild/nguild_managers.txt new file mode 100644 index 000000000..6cea67a41 --- /dev/null +++ b/npc/guild/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.gat,218,175,0 script Frolo 55,{ + if(callfunc("F_GldManager","Frolo","nguild_alde",119,223,"N01") == 0) close; + + if(@GDnum==10) guardian "nguild_alde.gat",18,219,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",0; + if(@GDnum==11) guardian "nguild_alde.gat",117,42,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",1; + if(@GDnum==12) guardian "nguild_alde.gat",207,153,"Soldier Guardian",1287,1,"Guardian_N01::OnGuardianDied",2; + if(@GDnum==13) guardian "nguild_alde.gat",68,70,"Archer Guardian",1285,1,"Guardian_N01::OnGuardianDied",3; + if(@GDnum==14) guardian "nguild_alde.gat",187,140,"Archer Guardian",1285,1,"Guardian_N01::OnGuardianDied",4; + if(@GDnum==15) guardian "nguild_alde.gat",62,204,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",5; + if(@GDnum==16) guardian "nguild_alde.gat",113,100,"Knight Guardian",1286,1,"Guardian_N01::OnGuardianDied",6; + if(@GDnum==17) guardian "nguild_alde.gat",211,174,"Knight Guardian",1286,1,"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.gat,40,48,5 script Leiber 55,{ + if(callfunc("F_GldManager","Leiber","nguild_gef",155,112,"N02") == 0) close; + + if(@GDnum==10) guardian "nguild_gef.gat",30,178,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",0; + if(@GDnum==11) guardian "nguild_gef.gat",64,180,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",1; + if(@GDnum==12) guardian "nguild_gef.gat",61,25,"Soldier Guardian",1287,1,"Guardian_N02::OnGuardianDied",2; + if(@GDnum==13) guardian "nguild_gef.gat",61,44,"Archer Guardian",1285,1,"Guardian_N02::OnGuardianDied",3; + if(@GDnum==14) guardian "nguild_gef.gat",189,43,"Archer Guardian",1285,1,"Guardian_N02::OnGuardianDied",4; + if(@GDnum==15) guardian "nguild_gef.gat",51,192,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",5; + if(@GDnum==16) guardian "nguild_gef.gat",49,67,"Knight Guardian",1286,1,"Guardian_N02::OnGuardianDied",6; + if(@GDnum==17) guardian "nguild_gef.gat",181,14,"Knight Guardian",1286,1,"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.gat,120,58,4 script Dundar 55,{ + if(callfunc("F_GldManager","Dundar","nguild_pay",290,7,"N03") == 0) close; + + if(@GDnum==10) guardian "nguild_pay.gat",210,120,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",0; + if(@GDnum==11) guardian "nguild_pay.gat",69,26,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",1; + if(@GDnum==12) guardian "nguild_pay.gat",23,141,"Soldier Guardian",1287,1,"Guardian_N03::OnGuardianDied",2; + if(@GDnum==13) guardian "nguild_pay.gat",224,87,"Archer Guardian",1285,1,"Guardian_N03::OnGuardianDied",3; + if(@GDnum==14) guardian "nguild_pay.gat",81,45,"Archer Guardian",1285,1,"Guardian_N03::OnGuardianDied",4; + if(@GDnum==15) guardian "nguild_pay.gat",214,53,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",5; + if(@GDnum==16) guardian "nguild_pay.gat",69,26,"Knight Guardian",1286,1,"Guardian_N03::OnGuardianDied",6; + if(@GDnum==17) guardian "nguild_pay.gat",23,141,"Knight Guardian",1286,1,"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.gat,112,181,0 script Thefton 55,{ + if(callfunc("F_GldManager","Thefton","nguild_prt",15,209,"N04") == 0) close; + + if(@GDnum==10) guardian "nguild_prt.gat",196,92,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",0; + if(@GDnum==11) guardian "nguild_prt.gat",113,200,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",1; + if(@GDnum==12) guardian "nguild_prt.gat",111,186,"Soldier Guardian",1287,1,"Guardian_N04::OnGuardianDied",2; + if(@GDnum==13) guardian "nguild_prt.gat",76,202,"Archer Guardian",1285,1,"Guardian_N04::OnGuardianDied",3; + if(@GDnum==14) guardian "nguild_prt.gat",90,26,"Archer Guardian",1285,1,"Guardian_N04::OnGuardianDied",4; + if(@GDnum==15) guardian "nguild_prt.gat",58,59,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",5; + if(@GDnum==16) guardian "nguild_prt.gat",112,200,"Knight Guardian",1286,1,"Guardian_N04::OnGuardianDied",6; + if(@GDnum==17) guardian "nguild_prt.gat",101,194,"Knight Guardian",1286,1,"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/guild/nguild/nguild_treas.txt b/npc/guild/nguild/nguild_treas.txt new file mode 100644 index 000000000..7c4a219d3 --- /dev/null +++ b/npc/guild/nguild/nguild_treas.txt @@ -0,0 +1,108 @@ +//===== eAthena Script ======================================= +//= War of Emperium Treasure Rooms for NGuild 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 =================================>\\ + +// Treasure Spawn ----------------------- +nguild_alde.gat,1,1,1 script Treasure_N01 -1,{ + +OnRecvCastleN01: + if($boxNumN01 == 0) end; + set $@bxN01, $boxNumN01; +// callfunc "F_GldTreas","nguild_alde","N01",$boxNumN01,$@bxN01,$@boxIdN01,1324,114,218,123,227,1; + end; + +OnDied: + mapannounce "nguild_alde.gat","Treasure Chest Broken Open",17; + set $boxNumN01, $boxNumN01 -1; + if($boxNumN01 == 0) mapannounce "nguild_alde.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 -------------------- +nguild_alde.gat,123,223,0 script Switch#TresN01 111,{ + callfunc "F_GldTreasSw", "nguild_alde",218,176; + end; +} + +//<================================ Castle 2 ================================>\\ + +// Treasure Spawn ---------------------------- +nguild_gef.gat,1,1,1 script Treasure_N02 -1,{ + +OnRecvCastleN02: + if($boxNumN02 == 0) end; + set $@bxN02, $boxNumN02; +// callfunc "F_GldTreas","nguild_gef","N02",$boxNumN02,$@bxN02,$@boxIdN02,1334,150,108,158,114,1; + end; + +OnDied: + mapannounce "nguild_gef.gat","Treasure Chest Broken Open",17; + set $boxNumN02, $boxNumN02 -1; + if($boxNumN02 == 0) mapannounce "nguild_gef.gat", "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.gat,152,117,0 script Switch#TresN02 111,{ + callfunc "F_GldTreasSw","nguild_gef",40,49; + end; +} + +//<================================ Castle 3 ================================>\\ + +// Treasure Spawn --------------------------- +nguild_pay.gat,1,1,0 script Treasure_N03 -1,{ +OnRecvCastleN03: + if($boxNumN03 == 0) end; + set $@bxN03, $boxNumN03; +// callfunc "F_GldTreas","nguild_pay","N03",$boxNumN03,$@bxN03,$@boxIdN03,1344,286,4,295,13,1; + end; + +OnDied: + mapannounce "nguild_pay.gat","Treasure Chest Broken Open",17; + set $boxNumN03, $boxNumN03 -1; + if($boxNumN03 == 0) mapannounce "nguild_pay.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 --------------------------------------------------- +nguild_pay.gat,295,8,0 script Switch#TresN03 111,{ + callfunc "F_GldTreasSw", "nguild_pay",120,59; + end; +} + +//<================================ Castle 4 ================================>\\ + +// Treasure Spawn ------------------------------- +nguild_prt.gat,1,1,0 script Treasure_N04 -1,{ +OnRecvCastleN04: + if($boxNumN04 == 0) end; + set $@bxN04, $boxNumN04; +// callfunc "F_GldTreas","nguild_prt","N04",$boxNumN04,$@bxN04,$@boxIdN04,1354,6,204,15,213,1; + end; + +OnDied: + mapannounce "nguild_prt.gat","Treasure Chest Broken Open",17; + set $boxNumN04, $boxNumN04 -1; + if($boxNumN04 == 0) mapannounce "nguild_prt.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 ---------------------------------------------------- +nguild_prt.gat,15,209,0 script Switch#TresN04 111,{ + callfunc "F_GldTreasSw", "nguild_prt",109,179; + end; +} diff --git a/npc/guild/nguild/nguild_warper.txt b/npc/guild/nguild/nguild_warper.txt new file mode 100644 index 000000000..baa78bc2f --- /dev/null +++ b/npc/guild/nguild/nguild_warper.txt @@ -0,0 +1,62 @@ +//===== eAthena Script ======================================= +//= Novice's Guild Castles War of Emperium Usher NPC +//===== By: ================================================== +//= Lupus +//===== Current Version: ===================================== +//= 1.2 +//===== Compatible With: ===================================== +//= eAthena 1+; 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] +//============================================================ + + +prontera.gat,146,163,6 script Novice Castles 729,{ + mes "[Cita]"; + mes "Hey! I'm a new usher of Novice Castles."; + next; + if( (Class>=Job_Novice && Class<=Job_Thief) + || Class==Job_Taekwon || Class==Job_SuperNovice || Class==Job_Super_Baby + || (Class>=Job_Baby && Class<=Job_Baby_Thief) + || (Class>=Job_Novice_High && Class<=Job_Thief_High) + ) menu "Warp me to Novice Castles",M_WARP,"Cancel",-; + + mes "[Cita]"; + mes "All the 2nd classes aren't allowed to enter the sacred Novice Castles place."; + emotion 0; + close; + +M_WARP: + //remove several unallowed buffs + sc_end SC_ASSUMPTIO; + sc_end SC_IMPOSITIO; + sc_end SC_SUFFRAGIUM; + sc_end SC_MAGNIFICAT; + warp "n_castle.gat",102,93+rand(14); + close; +} + + +n_castle.gat,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.gat",155,177+rand(5); + close; + LEnd: + mes "[Cita]"; + mes "Ok."; + close; +} \ No newline at end of file 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; +} diff --git a/npc/guild/prtg/prtg_dunsw.txt b/npc/guild/prtg/prtg_dunsw.txt new file mode 100644 index 000000000..8284147a7 --- /dev/null +++ b/npc/guild/prtg/prtg_dunsw.txt @@ -0,0 +1,49 @@ +//===== eAthena Script ======================================= +//= War of Emperium Dungeon Switch for Prontera 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 ================================================ +prtg_cas01.gat,94,200,0 script Switch#DunPt01 111,{ + callfunc "F_GldDunSw","prtg_cas01","03",28,251; + close; +} + + +// Castle 2 ================================================ +prtg_cas02.gat,84,72,0 script Switch#DunPt02 111,{ + callfunc "F_GldDunSw","prtg_cas02","03",164,268; + close; +} + + +// Castle 3 ================================================ +prtg_cas03.gat,5,70,0 script Switch#DunPt03 111,{ + callfunc "F_GldDunSw","prtg_cas03","03",164,179; + close; +} + + +// Castle 4 ================================================ +prtg_cas04.gat,56,283,0 script Switch#DunPt04 111,{ + callfunc "F_GldDunSw","prtg_cas04","03",268,203; + close; +} + + +// Castle 5 ================================================ +prtg_cas05.gat,212,94,0 script Switch#DunPt05 111,{ + callfunc "F_GldDunSw","prtg_cas05","03",199,28; + close; +} diff --git a/npc/guild/prtg/prtg_ev_agit.txt b/npc/guild/prtg/prtg_ev_agit.txt new file mode 100644 index 000000000..aa144141f --- /dev/null +++ b/npc/guild/prtg/prtg_ev_agit.txt @@ -0,0 +1,146 @@ +//===== eAthena Script ======================================= +//= War of Emperium - Prontera 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 Prontera 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 ================================================================ +prtg_cas01.gat,197,197,0 script Agit_Pt01 -1,{ +OnInterIfInitOnce: + GetCastleData "prtg_cas01.gat",0,"::OnRecvCastlePt01"; + end; +OnRecvCastlePt01: + RequestGuildInfo GetCastleData("prtg_cas01.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","prtg_cas01","Pt01",197,197; + end; +OnAgitBreak: + callfunc "F_AgitBreak","prtg_cas01","Pt01"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","prtg_cas01","Pt01"; + end; +OnAgitEliminate: + MapRespawnGuildID "prtg_cas01.gat",GetCastleData("prtg_cas01.gat",1),6; + Monster "prtg_cas01.gat",197,197,"EMPERIUM",1288,1,"Agit_Pt01::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","prtg_cas01","Pt01"; + end; +} + +// Castle 2 ================================================================ +prtg_cas02.gat,158,174,0 script Agit_Pt02 -1,{ +OnInterIfInitOnce: + GetCastleData "prtg_cas02.gat",0,"::OnRecvCastlePt02"; + end; +OnRecvCastlePt02: + RequestGuildInfo GetCastleData("prtg_cas02.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","prtg_cas02","Pt02",158,174; + end; +OnAgitBreak: + callfunc "F_AgitBreak","prtg_cas02","Pt02"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","prtg_cas02","Pt02"; + end; +OnAgitEliminate: + MapRespawnGuildID "prtg_cas02.gat",GetCastleData("prtg_cas02.gat",1),6; + Monster "prtg_cas02.gat",158,174,"EMPERIUM",1288,1,"Agit_Pt02::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","prtg_cas02","Pt02"; + end; +} + +// Castle 3 ================================================================ +prtg_cas03.gat,17,221,0 script Agit_Pt03 -1,{ +OnInterIfInitOnce: + GetCastleData "prtg_cas03.gat",0,"::OnRecvCastlePt03"; + end; +OnRecvCastlePt03: + RequestGuildInfo GetCastleData("prtg_cas03.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","prtg_cas03","Pt03",17,221; + end; +OnAgitBreak: + callfunc "F_AgitBreak","prtg_cas03","Pt03"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","prtg_cas03","Pt03"; + end; +OnAgitEliminate: + MapRespawnGuildID "prtg_cas03.gat",GetCastleData("prtg_cas03.gat",1),6; + Monster "prtg_cas03.gat",17,221,"EMPERIUM",1288,1,"Agit_Pt03::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","prtg_cas03","Pt03"; + end; +} + +// Castle 4 ================================================================ +prtg_cas04.gat,292,14,0 script Agit_Pt04 -1,{ +OnInterIfInitOnce: + GetCastleData "prtg_cas04.gat",0,"::OnRecvCastlePt04"; + end; +OnRecvCastlePt04: + RequestGuildInfo GetCastleData("prtg_cas04.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","prtg_cas04","Pt04",292,14; + end; +OnAgitBreak: + callfunc "F_AgitBreak","prtg_cas04","Pt04"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","prtg_cas04","Pt04"; + end; +OnAgitEliminate: + MapRespawnGuildID "prtg_cas04.gat",GetCastleData("prtg_cas04.gat",1),6; + Monster "prtg_cas04.gat",292,14,"EMPERIUM",1288,1,"Agit_Pt04::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","prtg_cas04","Pt04"; + end; +} + +// Castle 5 ================================================================ +prtg_cas05.gat,266,266,0 script Agit_Pt05 -1,{ +OnInterIfInitOnce: + GetCastleData "prtg_cas05.gat",0,"::OnRecvCastlePt05"; + end; +OnRecvCastlePt05: + RequestGuildInfo GetCastleData("prtg_cas05.gat",1); + end; +OnAgitStart: + callfunc "F_AgitStart","prtg_cas05","Pt05",266,266; + end; +OnAgitBreak: + callfunc "F_AgitBreak","prtg_cas05","Pt05"; + end; +OnGuildBreak: + callfunc "F_GuildBreak","prtg_cas05","Pt05"; + end; +OnAgitEliminate: + MapRespawnGuildID "prtg_cas05.gat",GetCastleData("prtg_cas05.gat",1),6; + Monster "prtg_cas05.gat",266,266,"EMPERIUM",1288,1,"Agit_Pt05::OnAgitBreak"; + end; +OnAgitEnd: + callfunc "F_AgitEnd","prtg_cas05","Pt05"; + end; +} diff --git a/npc/guild/prtg/prtg_flags.txt b/npc/guild/prtg/prtg_flags.txt new file mode 100644 index 000000000..ab835b519 --- /dev/null +++ b/npc/guild/prtg/prtg_flags.txt @@ -0,0 +1,207 @@ +//===== eAthena Script ======================================= +//= War of Emperium Prontera Guild Flags +//===== By: ================================================== +//= jAthena - kalen (1.0) +//= 1.1 by Akaru, ho|yAnge|X, and Valaris +//===== Current Version: ===================================== +//= 1.4 +//===== Compatible With: ===================================== +//= eAthena 0.1+; RO Episode 4+ +//===== Description: ========================================= +//= WoE flag scripts. Displays guild emblems on flags. +//===== 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 +//================================================================================// +prontera.gat,155,190,4 script Kriemhild#p1-1::Kriemhild 722,{ + callfunc "F_Flags","Prontera","prtg_cas01",97,174,0; + close; + +OnRecvCastlePt01: + FlagEmblem GetCastleData("prtg_cas01.gat",1); + end; +} + +prt_gld.gat,131,60,6 script Kriemhild#p1-2::Kriemhild2 722,{ + callfunc "F_Flags","Prontera","prtg_cas01",97,174,1; + close; + +OnRecvCastlePt01: + FlagEmblem GetCastleData("prtg_cas01.gat",1); + end; +} +// In Guild =========================================== +prt_gld.gat,138,68,6 duplicate(Kriemhild2) Kriemhild#p1-3 722 +prt_gld.gat,138,60,6 duplicate(Kriemhild2) Kriemhild#p1-4 722 +prt_gld.gat,135,60,6 duplicate(Kriemhild2) Kriemhild#p1-5 722 +// In Castle ============================================= +prtg_cas01.gat,58,56,4 duplicate(Kriemhild) Kriemhild#p1-6 722 +prtg_cas01.gat,64,56,4 duplicate(Kriemhild) Kriemhild#p1-7 722 +prtg_cas01.gat,76,32,4 duplicate(Kriemhild) Kriemhild#p1-8 722 +prtg_cas01.gat,84,32,4 duplicate(Kriemhild) Kriemhild#p1-9 722 +prtg_cas01.gat,94,39,4 duplicate(Kriemhild) Kriemhild#p1-10 722 +prtg_cas01.gat,94,24,4 duplicate(Kriemhild) Kriemhild#p1-11 722 +prtg_cas01.gat,73,14,4 duplicate(Kriemhild) Kriemhild#p1-12 722 +prtg_cas01.gat,73,6,4 duplicate(Kriemhild) Kriemhild#p1-13 722 +prtg_cas01.gat,55,46,4 duplicate(Kriemhild) Kriemhild#p1-14 722 +prtg_cas01.gat,45,46,4 duplicate(Kriemhild) Kriemhild#p1-15 722 + + + +//================================================================================// +// Castle 2 +//================================================================================// +prontera.gat,146,194,3 script Swanhild#p2-1::Swanhild 722,{ + callfunc "F_Flags","Prontera","prtg_cas02",71,36,0; + close; + +OnRecvCastlePt02: + FlagEmblem GetCastleData("prtg_cas02.gat",1); + end; +} + +prt_gld.gat,244,126,8 script Swanhild#p2-2::Swanhild2 722,{ + callfunc "F_Flags","Prontera","prtg_cas02",71,36,1; + close; + +OnRecvCastlePt02: + FlagEmblem GetCastleData("prtg_cas02.gat",1); + end; +} +// In Guild =========================================== +prt_gld.gat,244,128,8 duplicate(Swanhild2) Swanhild#p2-3 722 +prt_gld.gat,236,126,8 duplicate(Swanhild2) Swanhild#p2-4 722 +prt_gld.gat,236,128,8 duplicate(Swanhild2) Swanhild#p2-5 722 +// In Castle ============================================= +prtg_cas02.gat,40,227,4 duplicate(Swanhild) Swanhild#p2-6 722 +prtg_cas02.gat,46,227,4 duplicate(Swanhild) Swanhild#p2-7 722 +prtg_cas02.gat,11,219,4 duplicate(Swanhild) Swanhild#p2-8 722 +prtg_cas02.gat,11,214,4 duplicate(Swanhild) Swanhild#p2-9 722 +prtg_cas02.gat,20,219,4 duplicate(Swanhild) Swanhild#p2-10 722 +prtg_cas02.gat,20,214,4 duplicate(Swanhild) Swanhild#p2-11 722 +prtg_cas02.gat,79,227,8 duplicate(Swanhild) Swanhild#p2-12 722 +prtg_cas02.gat,70,227,8 duplicate(Swanhild) Swanhild#p2-13 722 +prtg_cas02.gat,38,189,8 duplicate(Swanhild) Swanhild#p2-14 722 +prtg_cas02.gat,34,189,8 duplicate(Swanhild) Swanhild#p2-15 722 +prtg_cas02.gat,153,161,4 duplicate(Swanhild) Swanhild#p2-16 722 +prtg_cas02.gat,162,161,4 duplicate(Swanhild) Swanhild#p2-17 722 + + + + +//================================================================================// +// Castle 3 +//================================================================================// +prontera.gat,143,203,2 script Fadhgridh#p3-1::Fadhgridh 722,{ + callfunc "F_Flags","Prontera","prtg_cas03",45,99,0; + close; + +OnRecvCastlePt03: + FlagEmblem GetCastleData("prtg_cas03.gat",1); + end; +} + +prt_gld.gat,147,140,4 script Fadhgridh#p3-2::Fadhgridh2 722,{ + callfunc "F_Flags","Prontera","prtg_cas03",45,99,1; + close; + +OnRecvCastlePt03: + FlagEmblem GetCastleData("prtg_cas03.gat",1); + end; +} +// In Guild =========================================== +prt_gld.gat,147,136,4 duplicate(Fadhgridh2) Fadhgridh#p3-3 722 +prt_gld.gat,158,140,4 duplicate(Fadhgridh2) Fadhgridh#p3-4 722 +prt_gld.gat,158,136,4 duplicate(Fadhgridh2) Fadhgridh#p3-5 722 +// In Castle ============================================ +prtg_cas03.gat,168,28,4 duplicate(Fadhgridh) Fadhgridh#p3-6 722 +prtg_cas03.gat,182,28,4 duplicate(Fadhgridh) Fadhgridh#p3-7 722 +prtg_cas03.gat,43,50,4 duplicate(Fadhgridh) Fadhgridh#p3-8 722 +prtg_cas03.gat,48,50,4 duplicate(Fadhgridh) Fadhgridh#p3-9 722 +prtg_cas03.gat,43,58,4 duplicate(Fadhgridh) Fadhgridh#p3-10 722 +prtg_cas03.gat,48,58,4 duplicate(Fadhgridh) Fadhgridh#p3-11 722 +prtg_cas03.gat,158,210,4 duplicate(Fadhgridh) Fadhgridh#p3-12 722 +prtg_cas03.gat,169,210,4 duplicate(Fadhgridh) Fadhgridh#p3-13 722 +prtg_cas03.gat,162,201,4 duplicate(Fadhgridh) Fadhgridh#p3-14 722 +prtg_cas03.gat,165,201,4 duplicate(Fadhgridh) Fadhgridh#p3-15 722 + + + +//================================================================================// +// Castle 4 +//================================================================================// +prontera.gat,167,203,6 script Skoegul#p4-1::Skoegul 722,{ + callfunc "F_Flags","Prontera","prtg_cas04",259,265,0; + close; + +OnRecvCastlePt04: + FlagEmblem GetCastleData("prtg_cas04.gat",1); + end; +} + +prt_gld.gat,120,243,6 script Skoegul#p4-2::Skoegul2 722,{ + callfunc "F_Flags","Prontera","prtg_cas04",259,265,1; + close; + +OnRecvCastlePt04: + FlagEmblem GetCastleData("prtg_cas04.gat",1); + end; +} +// In Guild =========================================== +prt_gld.gat,120,236,6 duplicate(Skoegul2) Skoegul#p4-3 722 +prt_gld.gat,122,243,6 duplicate(Skoegul2) Skoegul#p4-4 722 +prt_gld.gat,122,246,6 duplicate(Skoegul2) Skoegul#p4-5 722 +// In Castle ============================================= +prtg_cas04.gat,82,29,4 duplicate(Skoegul) Skoegul#p4-6 722 +prtg_cas04.gat,75,29,4 duplicate(Skoegul) Skoegul#p4-7 722 +prtg_cas04.gat,75,27,4 duplicate(Skoegul) Skoegul#p4-8 722 +prtg_cas04.gat,82,27,4 duplicate(Skoegul) Skoegul#p4-9 722 +prtg_cas04.gat,59,29,4 duplicate(Skoegul) Skoegul#p4-10 722 +prtg_cas04.gat,67,29,4 duplicate(Skoegul) Skoegul#p4-11 722 +prtg_cas04.gat,258,25,4 duplicate(Skoegul) Skoegul#p4-12 722 +prtg_cas04.gat,258,20,4 duplicate(Skoegul) Skoegul#p4-13 722 +prtg_cas04.gat,263,20,4 duplicate(Skoegul) Skoegul#p4-14 722 +prtg_cas04.gat,263,27,4 duplicate(Skoegul) Skoegul#p4-15 722 + + + + +//================================================================================// +// Castle 5 +//================================================================================// +prontera.gat,165,194,5 script Gondul#p5-1::Gondul 722,{ + callfunc "F_Flags","Prontera","prtg_cas05",34,30,0; + close; + +OnRecvCastlePt05: + FlagEmblem GetCastleData("prtg_cas05.gat",1); + end; +} + +prt_gld.gat,199,243,2 script Gondul#p5-2::Gondul2 722,{ + callfunc "F_Flags","Prontera","prtg_cas05",34,30,1; + close; + +OnRecvCastlePt05: + FlagEmblem GetCastleData("prtg_cas05.gat",1); + end; +} +// In Guild =========================================== +prt_gld.gat,199,236,2 duplicate(Gondul2) Gondul#p5-3 722 +prt_gld.gat,197,243,2 duplicate(Gondul2) Gondul#p5-4 722 +prt_gld.gat,197,236,2 duplicate(Gondul2) Gondul#p5-5 722 +// In Castle ============================================= +prtg_cas05.gat,19,247,4 duplicate(Gondul) Gondul#p5-6 722 +prtg_cas05.gat,19,243,4 duplicate(Gondul) Gondul#p5-7 722 +prtg_cas05.gat,26,247,4 duplicate(Gondul) Gondul#p5-8 722 +prtg_cas05.gat,26,243,4 duplicate(Gondul) Gondul#p5-9 722 +prtg_cas05.gat,249,289,4 duplicate(Gondul) Gondul#p5-10 722 +prtg_cas05.gat,256,289,4 duplicate(Gondul) Gondul#p5-11 722 +prtg_cas05.gat,253,271,4 duplicate(Gondul) Gondul#p5-12 722 +prtg_cas05.gat,273,257,4 duplicate(Gondul) Gondul#p5-13 722 diff --git a/npc/guild/prtg/prtg_guardians.txt b/npc/guild/prtg/prtg_guardians.txt new file mode 100644 index 000000000..843572a65 --- /dev/null +++ b/npc/guild/prtg/prtg_guardians.txt @@ -0,0 +1,108 @@ +//===== eAthena Script ======================================= +//= War of Emperium - prtg_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 prtg castles are now in this file. +//= Minor optimizations.[kobra_k88] +//============================================================ + + +prtg_cas01.gat,197,197,0 script Guardian_Pt01 -1,{ +OnAgitInit: + if (GetCastleData("prtg_cas01.gat",10) == 1) guardian "prtg_cas01.gat",196,92,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",0; + if (GetCastleData("prtg_cas01.gat",11) == 1) guardian "prtg_cas01.gat",113,200,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",1; + if (GetCastleData("prtg_cas01.gat",12) == 1) guardian "prtg_cas01.gat",111,186,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",2; + if (GetCastleData("prtg_cas01.gat",13) == 1) guardian "prtg_cas01.gat",76,202,"Archer Guardian",1285,1,"Guardian_Pt01::OnGuardianDied",3; + if (GetCastleData("prtg_cas01.gat",14) == 1) guardian "prtg_cas01.gat",90,26,"Archer Guardian",1285,1,"Guardian_Pt01::OnGuardianDied",4; + if (GetCastleData("prtg_cas01.gat",15) == 1) guardian "prtg_cas01.gat",58,59,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",5; + if (GetCastleData("prtg_cas01.gat",16) == 1) guardian "prtg_cas01.gat",112,200,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",6; + if (GetCastleData("prtg_cas01.gat",17) == 1) guardian "prtg_cas01.gat",101,194,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "prtg_cas01.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +prtg_cas02.gat,158,174,0 script Guardian_Pt02 -1,{ +OnAgitInit: + if (GetCastleData("prtg_cas02.gat",10) == 1) guardian "prtg_cas02.gat",75,71,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",0; + if (GetCastleData("prtg_cas02.gat",11) == 1) guardian "prtg_cas02.gat",56,31,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",1; + if (GetCastleData("prtg_cas02.gat",12) == 1) guardian "prtg_cas02.gat",42,223,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",2; + if (GetCastleData("prtg_cas02.gat",13) == 1) guardian "prtg_cas02.gat",44,195,"Archer Guardian",1285,1,"Guardian_Pt02::OnGuardianDied",3; + if (GetCastleData("prtg_cas02.gat",14) == 1) guardian "prtg_cas02.gat",197,22,"Archer Guardian",1285,1,"Guardian_Pt02::OnGuardianDied",4; + if (GetCastleData("prtg_cas02.gat",15) == 1) guardian "prtg_cas02.gat",68,71,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",5; + if (GetCastleData("prtg_cas02.gat",16) == 1) guardian "prtg_cas02.gat",202,27,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",6; + if (GetCastleData("prtg_cas02.gat",17) == 1) guardian "prtg_cas02.gat",59,24,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "prtg_cas02.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +prtg_cas03.gat,17,221,0 script Guardian_Pt03 -1,{ +OnAgitInit: + if (GetCastleData("prtg_cas03.gat",10) == 1) guardian "prtg_cas03.gat",165,55,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",0; + if (GetCastleData("prtg_cas03.gat",11) == 1) guardian "prtg_cas03.gat",161,181,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",1; + if (GetCastleData("prtg_cas03.gat",12) == 1) guardian "prtg_cas03.gat",165,199,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",2; + if (GetCastleData("prtg_cas03.gat",13) == 1) guardian "prtg_cas03.gat",169,22,"Archer Guardian",1285,1,"Guardian_Pt03::OnGuardianDied",3; + if (GetCastleData("prtg_cas03.gat",14) == 1) guardian "prtg_cas03.gat",165,191,"Archer Guardian",1285,1,"Guardian_Pt03::OnGuardianDied",4; + if (GetCastleData("prtg_cas03.gat",15) == 1) guardian "prtg_cas03.gat",175,13,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",5; + if (GetCastleData("prtg_cas03.gat",16) == 1) guardian "prtg_cas03.gat",169,180,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",6; + if (GetCastleData("prtg_cas03.gat",17) == 1) guardian "prtg_cas03.gat",142,217,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "prtg_cas03.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +prtg_cas04.gat,292,14,0 script Guardian_Pt04 -1,{ +OnAgitInit: + if (GetCastleData("prtg_cas04.gat",10) == 1) guardian "prtg_cas04.gat",30,234,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",0; + if (GetCastleData("prtg_cas04.gat",11) == 1) guardian "prtg_cas04.gat",38,234,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",1; + if (GetCastleData("prtg_cas04.gat",12) == 1) guardian "prtg_cas04.gat",63,26,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",2; + if (GetCastleData("prtg_cas04.gat",13) == 1) guardian "prtg_cas04.gat",253,274,"Archer Guardian",1285,1,"Guardian_Pt04::OnGuardianDied",3; + if (GetCastleData("prtg_cas04.gat",14) == 1) guardian "prtg_cas04.gat",269,256,"Archer Guardian",1285,1,"Guardian_Pt04::OnGuardianDied",4; + if (GetCastleData("prtg_cas04.gat",15) == 1) guardian "prtg_cas04.gat",267,271,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",5; + if (GetCastleData("prtg_cas04.gat",16) == 1) guardian "prtg_cas04.gat",34,281,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",6; + if (GetCastleData("prtg_cas04.gat",17) == 1) guardian "prtg_cas04.gat",33,232,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "prtg_cas04.gat","A Guardian Has Fallen",17; + end; +} +//------------------------------------------------------------------------------ +prtg_cas05.gat,266,266,0 script Guardian_Pt05 -1,{ +OnAgitInit: + if (GetCastleData("prtg_cas05.gat",10) == 1) guardian "prtg_cas05.gat",244,15,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",0; + if (GetCastleData("prtg_cas05.gat",11) == 1) guardian "prtg_cas05.gat",241,14,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",1; + if (GetCastleData("prtg_cas05.gat",12) == 1) guardian "prtg_cas05.gat",68,40,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",2; + if (GetCastleData("prtg_cas05.gat",13) == 1) guardian "prtg_cas05.gat",62,264,"Archer Guardian",1285,1,"Guardian_Pt05::OnGuardianDied",3; + if (GetCastleData("prtg_cas05.gat",14) == 1) guardian "prtg_cas05.gat",244,61,"Archer Guardian",1285,1,"Guardian_Pt05::OnGuardianDied",4; + if (GetCastleData("prtg_cas05.gat",15) == 1) guardian "prtg_cas05.gat",34,24,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",5; + if (GetCastleData("prtg_cas05.gat",16) == 1) guardian "prtg_cas05.gat",208,86,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",6; + if (GetCastleData("prtg_cas05.gat",17) == 1) guardian "prtg_cas05.gat",43,70,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",7; + end; + +OnGuardianDied: + // Event when Guardian dies + MapAnnounce "prtg_cas05.gat","A Guardian Has Fallen",17; + end; +} diff --git a/npc/guild/prtg/prtg_kafras.txt b/npc/guild/prtg/prtg_kafras.txt new file mode 100644 index 000000000..c39236447 --- /dev/null +++ b/npc/guild/prtg/prtg_kafras.txt @@ -0,0 +1,66 @@ +//=== eAthena Script ==================== +//= War of Emperium Kafras for Prontera 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 Prontera Castles. +//= Used in conjuction with function F_Kafra. +//=== Additional Comments: ================= +//= v1.2 Optimized with functions.[kobra_k88] +//============================== + + +// Castle 1 ======================== +prtg_cas01.gat,96,173,0 script Kafra Service#Pt01 117,{ + callfunc "F_GKafra", "prtg_cas01", "Prontera"; + end; +OnRecvCastlePt01: + if (GetCastleData("prtg_cas01.gat",9) < 1) disablenpc "Kafra Service#Pt01"; + end; +} + + +// Castle 2 ======================== +prtg_cas02.gat,71,36,4 script Kafra Service#Pt02 117,{ + callfunc "F_GKafra", "prtg_cas02", "Prontera"; + end; +OnRecvCastlePt02: + if (GetCastleData("prtg_cas02.gat",9) < 1) disablenpc "Kafra Service#Pt02"; + end; +} + + +// Castle 3 ======================== +//prtg_cas03.gat,181,215,4 script Kafra Service#Pt03 117,{ +prtg_cas03.gat,39,99,4 script Kafra Service#Pt03 117,{ + callfunc "F_GKafra", "prtg_cas03", "Prontera"; + end; +OnRecvCastlePt03: + if (GetCastleData("prtg_cas03.gat",9) < 1) disablenpc "Kafra Service#Pt03"; + end; +} + + +// Castle 4 ======================== +prtg_cas04.gat,258,247,4 script Kafra Service#Pt04 117,{ + callfunc "F_GKafra", "prtg_cas04", "Prontera"; + end; +OnRecvCastlePt04: + if (GetCastleData("prtg_cas04.gat",9) < 1) disablenpc "Kafra Service#Pt04"; + end; +} + + +// Castle 5 ======================== +prtg_cas05.gat,52,41,4 script Kafra Service#Pt05 117,{ + callfunc "F_GKafra", "prtg_cas05", "Prontera"; + end; +OnRecvCastlePt05: + if (GetCastleData("prtg_cas05.gat",9) < 1) disablenpc "Kafra Service#Pt05"; + end; +} diff --git a/npc/guild/prtg/prtg_managers.txt b/npc/guild/prtg/prtg_managers.txt new file mode 100644 index 000000000..440d18b6a --- /dev/null +++ b/npc/guild/prtg/prtg_managers.txt @@ -0,0 +1,104 @@ +//===== eAthena Script ======================================= +//= War of Emperium Managers for Prontera 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 ================================================================================== +prtg_cas01.gat,112,181,0 script Abrai 55,{ + if(callfunc("F_GldManager","Abrai","prtg_cas01",15,209,"Pt01") == 0) close; + + if(@GDnum==10) guardian "prtg_cas01.gat",196,92,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",0; + if(@GDnum==11) guardian "prtg_cas01.gat",113,200,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",1; + if(@GDnum==12) guardian "prtg_cas01.gat",111,186,"Soldier Guardian",1287,1,"Guardian_Pt01::OnGuardianDied",2; + if(@GDnum==13) guardian "prtg_cas01.gat",76,202,"Archer Guardian",1285,1,"Guardian_Pt01::OnGuardianDied",3; + if(@GDnum==14) guardian "prtg_cas01.gat",90,26,"Archer Guardian",1285,1,"Guardian_Pt01::OnGuardianDied",4; + if(@GDnum==15) guardian "prtg_cas01.gat",58,59,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",5; + if(@GDnum==16) guardian "prtg_cas01.gat",112,200,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",6; + if(@GDnum==17) guardian "prtg_cas01.gat",101,194,"Knight Guardian",1286,1,"Guardian_Pt01::OnGuardianDied",7; + mes "[ Abrai ]"; + mes "Guardian has been installed, the guardian will protect our guild base against enemies."; + close; +} + + +// Castle 2 ================================================================================== +prtg_cas02.gat,94,61,0 script Rhay 55,{ + if(callfunc("F_GldManager","Rhay","prtg_cas02",201,229,"Pt02") == 0) close; + + if(@GDnum==10) guardian "prtg_cas02.gat",75,71,"Soldier Guardian",1287,1,"Guardian_Pt02::GuardianDied",0; + if(@GDnum==11) guardian "prtg_cas02.gat",56,31,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",1; + if(@GDnum==12) guardian "prtg_cas02.gat",42,223,"Soldier Guardian",1287,1,"Guardian_Pt02::OnGuardianDied",2; + if(@GDnum==13) guardian "prtg_cas02.gat",44,195,"Archer Guardian",1285,1,"Guardian_Pt02::OnGuardianDied",3; + if(@GDnum==14) guardian "prtg_cas02.gat",197,22,"Archer Guardian",1285,1,"Guardian_Pt02::OnGuardianDied",4; + if(@GDnum==15) guardian "prtg_cas02.gat",68,71,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",5; + if(@GDnum==16) guardian "prtg_cas02.gat",202,27,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",6; + if(@GDnum==17) guardian "prtg_cas02.gat",59,24,"Knight Guardian",1286,1,"Guardian_Pt02::OnGuardianDied",7; + mes "[ Rhay ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 3 ================================================================================== +prtg_cas03.gat,51,100,4 script Stick 55,{ + if(callfunc("F_GldManager","Stick","prtg_cas03",189,132,"Pt03") == 0) close; + + if(@GDnum==10) guardian "prtg_cas03.gat",165,55,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",0; + if(@GDnum==11) guardian "prtg_cas03.gat",161,181,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",1; + if(@GDnum==12) guardian "prtg_cas03.gat",165,199,"Soldier Guardian",1287,1,"Guardian_Pt03::OnGuardianDied",2; + if(@GDnum==13) guardian "prtg_cas03.gat",169,22,"Archer Guardian",1285,1,"Guardian_Pt03::OnGuardianDied",3; + if(@GDnum==14) guardian "prtg_cas03.gat",165,191,"Archer Guardian",1285,1,"Guardian_Pt03::OnGuardianDied",4; + if(@GDnum==15) guardian "prtg_cas03.gat",175,13,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",5; + if(@GDnum==16) guardian "prtg_cas03.gat",169,180,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",6; + if(@GDnum==17) guardian "prtg_cas03.gat",142,217,"Knight Guardian",1286,1,"Guardian_Pt03::OnGuardianDied",7; + mes "[ Stick ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 4 ================================================================================== +prtg_cas04.gat,259,265,4 script Bandred 55,{ + if(callfunc("F_GldManager","Bandred","prtg_cas04",271,162,"Pt04") == 0) close; + + if(@GDnum==10) guardian "prtg_cas04.gat",30,234,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",0; + if(@GDnum==11) guardian "prtg_cas04.gat",38,234,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",1; + if(@GDnum==12) guardian "prtg_cas04.gat",63,26,"Soldier Guardian",1287,1,"Guardian_Pt04::OnGuardianDied",2; + if(@GDnum==13) guardian "prtg_cas04.gat",253,274,"Archer Guardian",1285,1,"Guardian_Pt04::OnGuardianDied",3; + if(@GDnum==14) guardian "prtg_cas04.gat",269,256,"Archer Guardian",1285,1,"Guardian_Pt04::OnGuardianDied",4; + if(@GDnum==15) guardian "prtg_cas04.gat",267,271,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",5; + if(@GDnum==16) guardian "prtg_cas04.gat",34,281,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",6; + if(@GDnum==17) guardian "prtg_cas04.gat",33,232,"Knight Guardian",1286,1,"Guardian_Pt04::OnGuardianDied",7; + mes "[ Bandred ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} + + +// Castle 5 ================================================================================== +prtg_cas05.gat,36,37,4 script Reiner 55,{ + if(callfunc("F_GldManager","Reiner","prtg_cas05",273,179,"Pt05") == 0) close; + + if(@GDnum==10) guardian "prtg_cas05.gat",244,15,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",0; + if(@GDnum==11) guardian "prtg_cas05.gat",241,14,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",1; + if(@GDnum==12) guardian "prtg_cas05.gat",68,40,"Soldier Guardian",1287,1,"Guardian_Pt05::OnGuardianDied",2; + if(@GDnum==13) guardian "prtg_cas05.gat",62,264,"Archer Guardian",1285,1,"Guardian_Pt05::OnGuardianDied",3; + if(@GDnum==14) guardian "prtg_cas05.gat",244,61,"Archer Guardian",1285,1,"Guardian_Pt05::OnGuardianDied",4; + if(@GDnum==15) guardian "prtg_cas05.gat",34,24,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",5; + if(@GDnum==16) guardian "prtg_cas05.gat",208,86,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",6; + if(@GDnum==17) guardian "prtg_cas05.gat",43,70,"Knight Guardian",1286,1,"Guardian_Pt05::OnGuardianDied",7; + mes "[ Reiner ]"; + mes "Guardian has been installed, guardian will protect our guild base against enemies."; + close; +} diff --git a/npc/guild/prtg/prtg_treas.txt b/npc/guild/prtg/prtg_treas.txt new file mode 100644 index 000000000..10b27567c --- /dev/null +++ b/npc/guild/prtg/prtg_treas.txt @@ -0,0 +1,134 @@ +//===== eAthena Script ======================================= +//= War of Emperium Treasure Rooms for Prontera 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 ---------------------------------------------------------- +prtg_cas01.gat,1,1,0 script Treasure_Pt01 -1,{ +OnRecvCastlePt01: + if($boxNumPt01 == 0) end; + set $@bxPt01, $boxNumPt01; +// callfunc "F_GldTreas","prtg_cas01","Pt01",$boxNumPt01,$@bxPt01,$@boxIdPt01,1354,6,204,15,213,1; + end; + +OnDied: + mapannounce "prtg_cas01.gat","Treasure Chest Broken Open",17; + set $boxNumPt01, $boxNumPt01 -1; + if($boxNumPt01 == 0) mapannounce "prtg_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 ---------------------------------------------------- +prtg_cas01.gat,15,209,0 script Switch#TresPt01 111,{ + callfunc "F_GldTreasSw", "prtg_cas01",109,179; + end; +} + + +//<================================= Castle 2 ===============================>\\ + +// Treasure Spawn ---------------------------------------------------------- +prtg_cas02.gat,1,1,0 script Treasure_Pt02 -1,{ +OnRecvCastlePt02: + if($boxNumPt02 == 0) end; + set $@bxPt02, $boxNumPt02; +// callfunc "F_GldTreas","prtg_cas02","Pt02",$boxNumPt02,$@bxPt02,$@boxIdPt02,1356,198,224,207,233,1; + end; + +OnDied: + mapannounce "prtg_cas02.gat","Treasure Chest Broken Open",17; + set $boxNumPt02, $boxNumPt02 -1; + if($boxNumPt02 == 0) mapannounce "prtg_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 ---------------------------------------------------- +prtg_cas02.gat,207,228,0 script Switch#TresPt02 111,{ + callfunc "F_GldTreasSw", "prtg_cas02",94,62; + end; +} + + +//<================================ Castle 3 ================================>\\ + +// Treasure Spawn ---------------------------------------------------------- +prtg_cas03.gat,1,1,0 script Treasure_Pt03 -1,{ +OnRecvCastlePt03: + if($boxNumPt03 == 0) end; + set $@bxPt03, $boxNumPt03; +// callfunc "F_GldTreas","prtg_cas03","Pt03",$boxNumPt03,$@bxPt03,$@boxIdPt03,1358,184,128,193,135,1; + end; + +OnDied: + mapannounce "prtg_cas03.gat","Treasure Chest Broken Open",17; + set $boxNumPt03, $boxNumPt03 -1; + if($boxNumPt03 == 0) mapannounce "prtg_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 ---------------------------------------------------- +prtg_cas03.gat,193,130,0 script Switch#TresPt03 111,{ + callfunc "F_GldTreasSw", "prtg_cas03",45,99; + end; +} + + +//<================================ Castle 4 ================================>\\ + +// Treasure Spawn ---------------------------------------------------------- +prtg_cas04.gat,1,1,0 script Treasure_Pt04 -1,{ +OnRecvCastlePt04: + if($boxNumPt04 == 0) end; + set $@bxPt04, $boxNumPt04; +// callfunc "F_GldTreas","prtg_cas04","Pt04",$boxNumPt04,$@bxPt04,$@boxIdPt04,1360,266,158,275,167,1; + end; + +OnDied: + mapannounce "prtg_cas04.gat","Treasure Chest Broken Open",17; + set $boxNumPt04, $boxNumPt04 -1; + if($boxNumPt04 == 0) mapannounce "prtg_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 ---------------------------------------------------- +prtg_cas04.gat,275,160,0 script Switch#TresPt04 111,{ + callfunc "F_GldTreasSw", "prtg_cas04",259,265; + end; +} + + +//<================================ Castle 5 ================================>\\ + +// Treasure Spawn ---------------------------------------------------------- +prtg_cas05.gat,1,1,0 script Treasure_Pt05 -1,{ +OnRecvCastlePt05: + if($boxNumPt05 == 0) end; + set $@bxPt05, $boxNumPt05; +// callfunc "F_GldTreas","prtg_cas05","Pt05",$boxNumPt05,$@bxPt05,$@boxIdPt05,1362,272,174,279,181,1; + end; + +OnDied: + mapannounce "prtg_cas05.gat","Treasure Chest Broken Open",17; + set $boxNumPt05, $boxNumPt05 -1; + if($boxNumPt05 == 0) mapannounce "prtg_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 ---------------------------------------------------- +prtg_cas05.gat,281,176,0 script Switch#TresPt05 111,{ + callfunc "F_GldTreasSw", "prtg_cas05",34,30; + end; +} -- cgit v1.2.3-70-g09d2