//===== 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.2a //===== 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] //============================================================ // 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 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 { // if (GetCastleData(getarg(0)+".gat",1) == 0) return; MapRespawnGuildID getarg(0)+".gat",GetCastleData(getarg(0)+".gat",1),4; KillMonster getarg(0)+".gat","Agit_"+getarg(1)+"::OnAgitBreak"; GvgOff getarg(0)+".gat"; end; }