
* Removed junk ЎA text from the 2004 headgears * Changed deprecated Job_Alchem to Job_Alchemist (see r10904) * Fixed a typo in a geffen city npc (Job_Merhcant) * Fixed a typo in the Jobmaster custom script (Job_Gunsliger) * Fixed one old eAAC Quest Warper bug (warp to nonwalkable coords) git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@10940 54d463be-8e91-2dee-dedb-b68131a5f0ec
167 lines
7.6 KiB
Plaintext
167 lines
7.6 KiB
Plaintext
//===== 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.6
|
|
//===== 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]
|
|
//= 1.3a fixed Defence / Economy underflow [Lupus] thanks2 kyoki
|
|
//= 1.4 updated a couple mapannounces in OnAgitBreak. [L0ne_W0lf]
|
|
//= 1.5 Changed the names of the Kafra from "Service" to "Staff" [L0ne_W0lf]
|
|
//= 1.6 Fixed the OnAgitBreak message being map-only and not global. (Lil DomX) [L0ne_W0lf]
|
|
//============================================================
|
|
|
|
|
|
// Function for OnAgitStart =========================================
|
|
function script F_AgitStart {
|
|
|
|
MapRespawnGuildID getarg(0),GetCastleData(getarg(0),1),2;
|
|
Monster getarg(0),getarg(2),getarg(3),"EMPERIUM",1288,1,"Agit_"+getarg(1)+"::OnAgitBreak";
|
|
GvgOn getarg(0);
|
|
if (GetCastleData(getarg(0),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),0,0,300,300,"--ja--",1117,10;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1132,4;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1219,2;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1205,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1216,10;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1193,17;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1269,9;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1276,7;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1208,3;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1275,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1268,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1272,1;
|
|
monster getarg(0),(getarg(2)+1),getarg(3),"--ja--",1272,1;
|
|
monster getarg(0),(getarg(2)-1),getarg(3),"--ja--",1270,4;
|
|
monster getarg(0),getarg(2),(getarg(3)+1),"--ja--",1268,1;
|
|
monster getarg(0),getarg(2),(getarg(3)-1),"--ja--",1219,1;
|
|
monster getarg(0),getarg(2),getarg(3),"--ja--",1276,5;
|
|
return;
|
|
L_GefgCas:
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1117,10;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1263,11;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1102,10;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1130,10;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1140,20;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1163,9;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1275,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1219,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1150,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1159,1;
|
|
monster getarg(0),(getarg(2)+1),getarg(3),"--ja--",1203,1;
|
|
monster getarg(0),(getarg(2)-1),getarg(3),"--ja--",1087,1;
|
|
monster getarg(0),getarg(2),(getarg(3)+1),"--ja--",1213,7;
|
|
monster getarg(0),getarg(2),(getarg(3)-1),"--ja--",1189,7;
|
|
return;
|
|
L_PaygCas:
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1277,10;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1208,10;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1262,5;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1102,5;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1150,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1115,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1129,11;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1276,5;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1282,4;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1253,5;
|
|
monster getarg(0),getarg(2),getarg(3),"--ja--",1150,1;
|
|
monster getarg(0),getarg(2),getarg(3),"--ja--",1115,1;
|
|
monster getarg(0),getarg(2),(getarg(3)+1),"--ja--",1208,6;
|
|
monster getarg(0),getarg(2),(getarg(3)-1),"--ja--",1276,5;
|
|
return;
|
|
L_PrtgCas:
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1163,15;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1132,10;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1219,5;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1268,5;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1251,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1252,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1276,5;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1259,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1283,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1275,1;
|
|
areamonster getarg(0),0,0,300,300,"--ja--",1200,1;
|
|
monster getarg(0),(getarg(2)+1),getarg(3),"--ja--",1268,1;
|
|
monster getarg(0),(getarg(2)-1),getarg(3),"--ja--",1251,1;
|
|
monster getarg(0),getarg(2),(getarg(3)+1),"--ja--",1252,1;
|
|
monster getarg(0),getarg(2),(getarg(3)-1),"--ja--",1219,2;
|
|
monster getarg(0),getarg(2),getarg(3),"--ja--",1276,5;
|
|
return;
|
|
}
|
|
|
|
// Function for OnGuildBreak ======================================
|
|
function script F_GuildBreak {
|
|
killmonsterall getarg(0);
|
|
|
|
Announce "Guild Base [" + GetCastleName(getarg(0)) + "] has been abandoned.",0;
|
|
disablenpc "Kafra Staff#"+getarg(1);
|
|
|
|
SetCastleData getarg(0),0,0;
|
|
return;
|
|
}
|
|
|
|
// Function for OnAgitBreak ======================================
|
|
function script F_AgitBreak {
|
|
//killmonsterall getarg(0);
|
|
set @GID,getcharid(2);
|
|
if (@GID <= 0) return;
|
|
|
|
set @Economy,GetCastleData(getarg(0),2) - 5;
|
|
if (@Economy < 0) set @Economy, 0;
|
|
SetCastleData getarg(0),2, @Economy;
|
|
|
|
set @Defence,GetCastleData(getarg(0),3) - 5;
|
|
if (@Defence < 0) set @Defence, 0;
|
|
SetCastleData getarg(0),3, @Defence;
|
|
|
|
SetCastleData getarg(0),1, @GID;
|
|
MapAnnounce getarg(0),"The emperium has been destroyed.",bc_map,0x00CCFF;
|
|
Announce "The [" + GetCastleName(getarg(0)) + "] castle has been conquered by the [" + GetGuildName(@GID) + "] guild.",bc_all;
|
|
GetCastleData getarg(0),0,"::OnRecvCastle"+getarg(1);
|
|
|
|
disablenpc "Kafra Staff#"+getarg(1);
|
|
set @i, 3;
|
|
|
|
L_Loop:
|
|
set @i, @i + 1;
|
|
SetCastleData getarg(0),@i,0;
|
|
if(@i < 25) goto L_Loop;
|
|
return;
|
|
}
|
|
|
|
|
|
// Function for OnAgitEnd ======================================
|
|
function script F_AgitEnd {
|
|
GvgOff getarg(0);
|
|
// if (GetCastleData(getarg(0),1) == 0) return; //enable this line to allow take over of non captured castles after woe ends
|
|
MapRespawnGuildID getarg(0),GetCastleData(getarg(0),1),4;
|
|
KillMonster getarg(0),"Agit_"+getarg(1)+"::OnAgitBreak";
|
|
end;
|
|
}
|