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/gldfunc_ev_agit.txt | 159 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 159 insertions(+) create mode 100644 npc/guild/gldfunc_ev_agit.txt (limited to 'npc/guild/gldfunc_ev_agit.txt') 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; +} -- cgit v1.2.3-70-g09d2