123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- //===== 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 coordinates.
- //= arg(3): y1 for Emperium coordinates.
- //= 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 {
- set .@map$, getarg(0);
- set .@castle$, getarg(1);
- set .@empx, getarg(2);
- set .@empy, getarg(3);
- MapRespawnGuildID .@map$,GetCastleData(.@map$,1),2;
- monster .@map$,.@empx,.@empy,"EMPERIUM",1288,1,"Agit_"+.@castle$+"::OnAgitBreak";
- GvgOn .@map$;
- if (GetCastleData(.@map$,1) != 0) return;
- if(.@map$ == "aldeg_cas01" || .@map$ == "aldeg_cas02" || .@map$ == "aldeg_cas03" || .@map$ == "aldeg_cas04" || .@map$ == "aldeg_cas05" || .@map$ == "nguild_alde") goto L_AldegCas;
- if(.@map$ == "gefg_cas01" || .@map$ == "gefg_cas02" || .@map$ == "gefg_cas03" || .@map$ == "gefg_cas04" || .@map$ == "gefg_cas05" || .@map$ == "nguild_gef" ) goto L_GefgCas;
- if(.@map$ == "payg_cas01" || .@map$ == "payg_cas02" || .@map$ == "payg_cas03" || .@map$ == "payg_cas04" || .@map$ == "payg_cas05" || .@map$ == "nguild_pay" ) goto L_PaygCas;
- if(.@map$ == "prtg_cas01" || .@map$ == "prtg_cas02" || .@map$ == "prtg_cas03" || .@map$ == "prtg_cas04" || .@map$ == "prtg_cas05" || .@map$ == "nguild_prt" ) goto L_PrtgCas;
- L_AldegCas:
- areamonster .@map$,0,0,300,300,"--ja--",1117,10;
- areamonster .@map$,0,0,300,300,"--ja--",1132,4;
- areamonster .@map$,0,0,300,300,"--ja--",1219,2;
- areamonster .@map$,0,0,300,300,"--ja--",1205,1;
- areamonster .@map$,0,0,300,300,"--ja--",1216,10;
- areamonster .@map$,0,0,300,300,"--ja--",1193,17;
- areamonster .@map$,0,0,300,300,"--ja--",1269,9;
- areamonster .@map$,0,0,300,300,"--ja--",1276,7;
- areamonster .@map$,0,0,300,300,"--ja--",1208,3;
- areamonster .@map$,0,0,300,300,"--ja--",1275,1;
- areamonster .@map$,0,0,300,300,"--ja--",1268,1;
- areamonster .@map$,0,0,300,300,"--ja--",1272,1;
- monster .@map$,.@empx+1,.@empy,"--ja--",1272,1;
- monster .@map$,.@empx-1,.@empy,"--ja--",1270,4;
- monster .@map$,.@empx,.@empy+1,"--ja--",1268,1;
- monster .@map$,.@empx,.@empy-1,"--ja--",1219,1;
- monster .@map$,.@empx,.@empy,"--ja--",1276,5;
- return;
- L_GefgCas:
- areamonster .@map$,0,0,300,300,"--ja--",1117,10;
- areamonster .@map$,0,0,300,300,"--ja--",1263,11;
- areamonster .@map$,0,0,300,300,"--ja--",1102,10;
- areamonster .@map$,0,0,300,300,"--ja--",1130,10;
- areamonster .@map$,0,0,300,300,"--ja--",1140,20;
- areamonster .@map$,0,0,300,300,"--ja--",1163,9;
- areamonster .@map$,0,0,300,300,"--ja--",1275,1;
- areamonster .@map$,0,0,300,300,"--ja--",1219,1;
- areamonster .@map$,0,0,300,300,"--ja--",1150,1;
- areamonster .@map$,0,0,300,300,"--ja--",1159,1;
- monster .@map$,.@empx+1,.@empy,"--ja--",1203,1;
- monster .@map$,.@empx-1,.@empy,"--ja--",1087,1;
- monster .@map$,.@empx,.@empy+1,"--ja--",1213,7;
- monster .@map$,.@empx,.@empy-1,"--ja--",1189,7;
- return;
- L_PaygCas:
- areamonster .@map$,0,0,300,300,"--ja--",1277,10;
- areamonster .@map$,0,0,300,300,"--ja--",1208,10;
- areamonster .@map$,0,0,300,300,"--ja--",1262,5;
- areamonster .@map$,0,0,300,300,"--ja--",1102,5;
- areamonster .@map$,0,0,300,300,"--ja--",1150,1;
- areamonster .@map$,0,0,300,300,"--ja--",1115,1;
- areamonster .@map$,0,0,300,300,"--ja--",1129,11;
- areamonster .@map$,0,0,300,300,"--ja--",1276,5;
- areamonster .@map$,0,0,300,300,"--ja--",1282,4;
- areamonster .@map$,0,0,300,300,"--ja--",1253,5;
- monster .@map$,.@empx,.@empy,"--ja--",1150,1;
- monster .@map$,.@empx,.@empy,"--ja--",1115,1;
- monster .@map$,.@empx,.@empy+1,"--ja--",1208,6;
- monster .@map$,.@empx,.@empy-1,"--ja--",1276,5;
- return;
- L_PrtgCas:
- areamonster .@map$,0,0,300,300,"--ja--",1163,15;
- areamonster .@map$,0,0,300,300,"--ja--",1132,10;
- areamonster .@map$,0,0,300,300,"--ja--",1219,5;
- areamonster .@map$,0,0,300,300,"--ja--",1268,5;
- areamonster .@map$,0,0,300,300,"--ja--",1251,1;
- areamonster .@map$,0,0,300,300,"--ja--",1252,1;
- areamonster .@map$,0,0,300,300,"--ja--",1276,5;
- areamonster .@map$,0,0,300,300,"--ja--",1259,1;
- areamonster .@map$,0,0,300,300,"--ja--",1283,1;
- areamonster .@map$,0,0,300,300,"--ja--",1275,1;
- areamonster .@map$,0,0,300,300,"--ja--",1200,1;
- monster .@map$,.@empx+1,.@empy,"--ja--",1268,1;
- monster .@map$,.@empx-1,.@empy,"--ja--",1251,1;
- monster .@map$,.@empx,.@empy+1,"--ja--",1252,1;
- monster .@map$,.@empx,.@empy-1,"--ja--",1219,2;
- monster .@map$,.@empx,.@empy,"--ja--",1276,5;
- return;
- }
- // Function for OnGuildBreak ======================================
- function script F_GuildBreak {
- set .@map$, getarg(0);
- set .@castle$, getarg(1);
- killmonsterall .@map$;
- Announce "Guild Base [" + GetCastleName(.@map$) + "] has been abandoned.",0;
- disablenpc "Kafra Staff#"+.@castle$;
- SetCastleData .@map$,0,0;
- return;
- }
- // Function for OnAgitBreak ======================================
- function script F_AgitBreak {
- set .@map$, getarg(0);
- set .@castle$, getarg(1);
- //killmonsterall .@map$;
- set .@GID,getcharid(2);
- if (.@GID <= 0) return;
- set .@Economy,GetCastleData(.@map$,2) - 5;
- if (.@Economy < 0) set .@Economy, 0;
- SetCastleData .@map$, 2, .@Economy;
- set .@Defence,GetCastleData(.@map$,3) - 5;
- if (.@Defence < 0) set .@Defence, 0;
- SetCastleData .@map$, 3, .@Defence;
- SetCastleData .@map$,1, .@GID;
- MapAnnounce .@map$,"The emperium has been destroyed.",bc_map,0x00CCFF;
- Announce "The [" + GetCastleName(.@map$) + "] castle has been conquered by the [" + GetGuildName(.@GID) + "] guild.",bc_all;
- GetCastleData .@map$,0,"::OnRecvCastle"+.@castle$;
- disablenpc "Kafra Staff#"+.@castle$;
- for( set .@i, 4; .@i < 25; set .@i, .@i+1 )
- SetCastleData .@map$, .@i, 0;
- return;
- }
- // Function for OnAgitEnd ======================================
- function script F_AgitEnd {
- set .@map$, getarg(0);
- set .@castle$, getarg(1);
- GvgOff .@map$;
- // if (GetCastleData(.@map$,1) == 0) return; //enable this line to allow take over of non captured castles after woe ends
- MapRespawnGuildID .@map$,GetCastleData(.@map$,1),4;
- KillMonster .@map$,"Agit_"+.@castle$+"::OnAgitBreak";
- end;
- }
|