summaryrefslogtreecommitdiff
path: root/npc/guild/gldfunc_ev_agit.txt
diff options
context:
space:
mode:
authorValaris <Valaris@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-01-29 16:10:48 +0000
committerValaris <Valaris@54d463be-8e91-2dee-dedb-b68131a5f0ec>2006-01-29 16:10:48 +0000
commit620e60eebce2c1f35c5c9a82f6ca365b316587f5 (patch)
tree38a39e0415f419d9a49ae456ed0e26654c23d559 /npc/guild/gldfunc_ev_agit.txt
parenta2675f07d7da22a7c6ae11f545bf8f671e785a82 (diff)
downloadhercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.gz
hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.bz2
hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.tar.xz
hercules-620e60eebce2c1f35c5c9a82f6ca365b316587f5.zip
AS OF SVN REV. 5901, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO INTO TRUNK.
IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EVERYTHING ELSE GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@5094 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'npc/guild/gldfunc_ev_agit.txt')
-rw-r--r--npc/guild/gldfunc_ev_agit.txt159
1 files changed, 159 insertions, 0 deletions
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;
+}