summaryrefslogtreecommitdiff
path: root/npc/events/nguild
diff options
context:
space:
mode:
Diffstat (limited to 'npc/events/nguild')
-rw-r--r--npc/events/nguild/nguild_ev_agit.txt7
-rw-r--r--npc/events/nguild/nguild_managers.txt5
-rw-r--r--npc/events/nguild/nguild_treas.txt36
3 files changed, 44 insertions, 4 deletions
diff --git a/npc/events/nguild/nguild_ev_agit.txt b/npc/events/nguild/nguild_ev_agit.txt
index 8afa4631b..4ab643931 100644
--- a/npc/events/nguild/nguild_ev_agit.txt
+++ b/npc/events/nguild/nguild_ev_agit.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.4
+//= 1.5
//===== Compatible With: =====================================
//= eAthena 0.1+; RO Episode 4+
//===== Description: =========================================
@@ -12,6 +12,7 @@
// 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]
//= 1.4 AGIT Functions added, treasure spawning added. [L0ne_W0lf]
+//= 1.5 Emperium should now properly respawn. [L0ne_W0lf]
//============================================================
@@ -106,6 +107,7 @@ OnAgitStart:
end;
OnAgitBreak:
callfunc "F_AgitBreak","nguild_alde","N01";
+ goto OnAgitEliminate;
end;
OnGuildBreak:
callfunc "F_GuildBreak","nguild_alde","N01";
@@ -132,6 +134,7 @@ OnAgitStart:
end;
OnAgitBreak:
callfunc "F_AgitBreak","nguild_gef","N02";
+ goto OnAgitEliminate;
end;
OnGuildBreak:
callfunc "F_GuildBreak","nguild_gef","N02";
@@ -158,6 +161,7 @@ OnAgitStart:
end;
OnAgitBreak:
callfunc "F_AgitBreak","nguild_pay","N03";
+ goto OnAgitEliminate;
end;
OnGuildBreak:
callfunc "F_GuildBreak","nguild_pay","N03";
@@ -184,6 +188,7 @@ OnAgitStart:
end;
OnAgitBreak:
callfunc "F_AgitBreak","nguild_prt","N04";
+ goto OnAgitEliminate;
end;
OnGuildBreak:
callfunc "F_GuildBreak","nguild_prt","N04";
diff --git a/npc/events/nguild/nguild_managers.txt b/npc/events/nguild/nguild_managers.txt
index 8fe345e3d..f6b554c2b 100644
--- a/npc/events/nguild/nguild_managers.txt
+++ b/npc/events/nguild/nguild_managers.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.1
+//= 1.2
//===== Compatible With: =====================================
//= eAthena 0.1+; RO Episode 4+
//===== Description: =========================================
@@ -19,10 +19,11 @@
//= 1.0 Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
//= 1.1 Added modified guild manager function. [L0ne_W0lf]
//= Removed guardian summoning.
+//= 1.2 Corrected function name. (bugreport:1728) [L0ne_W0lf]
//============================================================
//==============================================
-function script F_GldManagerN {
+function script F_GldManager {
set @GID, GetCastleData(getarg(1),1);
mes "[ "+getarg(0)+" ]";
diff --git a/npc/events/nguild/nguild_treas.txt b/npc/events/nguild/nguild_treas.txt
index 6c78cccad..8a1955e92 100644
--- a/npc/events/nguild/nguild_treas.txt
+++ b/npc/events/nguild/nguild_treas.txt
@@ -3,7 +3,7 @@
//===== By: ==================================================
//= kobra_k88
//===== Current Version: =====================================
-//= 1.2
+//= 1.3
//===== Compatible With: =====================================
//= eAthena 0.1+; RO Episode 4+
//===== Description: =========================================
@@ -11,9 +11,43 @@
//===== Additional Comments: =================================
//= Based off existing guild scripts. Do not know if it is accurate.[kobra_k88]
//= 1.2 Official treasure spawn [Lupus]
+//= 1.3 Added F_GldTreas function. (bugreport:1788) [L0ne_W0lf]
//============================================================
+//================================================
+// Treasure Spawning Function
+//================================================
+function script F_GldTreas {
+ if(getarg(10) != 1) {
+ setcastledata getarg(0),4,0;
+ setcastledata getarg(0),5,0;
+
+ // Why on earth are we killing old treasure chest spawns?
+ //killmonster getarg(0),"Treasure_"+getarg(1)+"::OnDied";
+
+ // Don't spawn treasures if Castle is empty, or Eco is greater than 100
+ if(GetCastleData(getarg(0),2) > 100 || GetCastleData(getarg(0),1) == 0) return;
+
+ // Only spawn one treasure chest for notice castles.
+ if (compare(getarg(0),"nguild"))
+ set getarg(2),1;
+ else
+ set getarg(2),GetCastleData(getarg(0),2)/5+4;
+
+ if (getarg(2) <= 0) return;
+
+ //sets the counter variable = to the box number amount
+ set getarg(3), getarg(2);
+ }
+ for (set .@i,1; .@i <= getarg(3) ; set .@i,.@i+1) {
+ // set treasure box ID
+ set getarg(4), getarg(5) + (.@i+1) % 2;
+ areamonster getarg(0),getarg(6),getarg(7),getarg(8),getarg(9),"Treasure Chest",getarg(4),1,"Treasure_"+getarg(1)+"::OnDied";
+ }
+ return;
+}
+
//<=============================== Castle 1 =================================>\\
// Treasure Spawn -----------------------