- Fixes on schg_cas02 and arug_cas01.txt
- Official Meteor Storm. Meteors can fail and just not fall, and only fall where you can get a shootable path. * Tested on Aegis with help of ultramage. git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@13096 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
1f0d1cd052
commit
6ff274c89c
@ -403,63 +403,63 @@ OnInit:
|
|||||||
arug_cas01,1,1,0 script #aru01_gard01 -1,{
|
arug_cas01,1,1,0 script #aru01_gard01 -1,{
|
||||||
OnEnable:
|
OnEnable:
|
||||||
set .@defence,GetCastleData("arug_cas01",3);
|
set .@defence,GetCastleData("arug_cas01",3);
|
||||||
guardian "arug_cas01",233,83,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //0;
|
guardian "arug_cas01",233,83,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //0;
|
||||||
if ((.@defence > 10) && (.@defence < 31)) {
|
if ((.@defence > 10) && (.@defence < 31)) {
|
||||||
set .MyMobCount,2;
|
set .MyMobCount,2;
|
||||||
guardian "arug_cas01",252,81,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
guardian "arug_cas01",252,81,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
||||||
}
|
}
|
||||||
else if ((.@defence > 30) && (.@defence < 51)) {
|
else if ((.@defence > 30) && (.@defence < 51)) {
|
||||||
set .MyMobCount,3;
|
set .MyMobCount,3;
|
||||||
guardian "arug_cas01",252,81,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
guardian "arug_cas01",252,81,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
||||||
guardian "arug_cas01",232,108,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //2;
|
guardian "arug_cas01",232,108,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //2;
|
||||||
}
|
}
|
||||||
else if ((.@defence > 50) && (.@defence < 71)) {
|
else if ((.@defence > 50) && (.@defence < 71)) {
|
||||||
set .MyMobCount,4;
|
set .MyMobCount,4;
|
||||||
guardian "arug_cas01",252,81,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
guardian "arug_cas01",252,81,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
||||||
guardian "arug_cas01",232,108,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //2;
|
guardian "arug_cas01",232,108,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //2;
|
||||||
guardian "arug_cas01",201,130,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //3;
|
guardian "arug_cas01",201,130,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //3;
|
||||||
}
|
}
|
||||||
else if (.@defence > 70) {
|
else if (.@defence > 70) {
|
||||||
set .MyMobCount,5;
|
set .MyMobCount,5;
|
||||||
guardian "arug_cas01",252,81,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
guardian "arug_cas01",252,81,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
||||||
guardian "arug_cas01",232,108,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //2;
|
guardian "arug_cas01",232,108,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //2;
|
||||||
guardian "arug_cas01",201,130,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //3;
|
guardian "arug_cas01",201,130,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //3;
|
||||||
guardian "arug_cas01",224,168,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //4;
|
guardian "arug_cas01",224,168,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //4;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
set .MyMobCount,2;
|
set .MyMobCount,2;
|
||||||
guardian "arug_cas01",195,250,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
guardian "arug_cas01",195,250,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //1;
|
||||||
}
|
}
|
||||||
initnpctimer;
|
initnpctimer;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer300000:
|
OnTimer300000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",196,137,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //5;
|
guardian "arug_cas01",196,137,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //5;
|
||||||
mapannounce "arug_cas01","The 1st Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
mapannounce "arug_cas01","The 1st Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer900000:
|
OnTimer900000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",269,89,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //6;
|
guardian "arug_cas01",269,89,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //6;
|
||||||
mapannounce "arug_cas01","The 2nd Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
mapannounce "arug_cas01","The 2nd Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer1800000:
|
OnTimer1800000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",252,81,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //7;
|
guardian "arug_cas01",252,81,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //7;
|
||||||
mapannounce "arug_cas01","The 3rd Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
mapannounce "arug_cas01","The 3rd Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer2700000:
|
OnTimer2700000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",201,130,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //8;
|
guardian "arug_cas01",201,130,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //8;
|
||||||
mapannounce "arug_cas01","The 4th Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
mapannounce "arug_cas01","The 4th Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer3600000:
|
OnTimer3600000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",224,168,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //9;
|
guardian "arug_cas01",224,168,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //9;
|
||||||
mapannounce "arug_cas01","The 5th Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
mapannounce "arug_cas01","The 5th Guardian has been summoned from the Gate House.",bc_map,"0xff4500";
|
||||||
stopnpctimer;
|
stopnpctimer;
|
||||||
end;
|
end;
|
||||||
@ -468,7 +468,7 @@ OnGuardianDied:
|
|||||||
set .MyMobCount,.MyMobCount-1;
|
set .MyMobCount,.MyMobCount-1;
|
||||||
if (.MyMobCount < 2) {
|
if (.MyMobCount < 2) {
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",222,129,"Guardian",1899,"#aru01_gard01::OnGuardianDied"; //10;
|
guardian "arug_cas01",222,129,"Guardian Soldier",1899,"#aru01_gard01::OnGuardianDied"; //10;
|
||||||
}
|
}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -481,59 +481,59 @@ Onreset:
|
|||||||
arug_cas01,1,2,0 script #aru01_gard02 -1,{
|
arug_cas01,1,2,0 script #aru01_gard02 -1,{
|
||||||
OnEnable:
|
OnEnable:
|
||||||
set .@defence,GetCastleData("arug_cas01",3);
|
set .@defence,GetCastleData("arug_cas01",3);
|
||||||
guardian "arug_cas01",294,210,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //11;
|
guardian "arug_cas01",294,210,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //11;
|
||||||
if ((.@defence > 10) && (.@defence < 31)) {
|
if ((.@defence > 10) && (.@defence < 31)) {
|
||||||
set .MyMobCount,2;
|
set .MyMobCount,2;
|
||||||
guardian "arug_cas01",256,203,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
guardian "arug_cas01",256,203,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
||||||
}
|
}
|
||||||
else if ((.@defence > 30) && (.@defence < 51)) {
|
else if ((.@defence > 30) && (.@defence < 51)) {
|
||||||
set .MyMobCount,3;
|
set .MyMobCount,3;
|
||||||
guardian "arug_cas01",256,203,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
guardian "arug_cas01",256,203,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
||||||
guardian "arug_cas01",240,133,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //13;
|
guardian "arug_cas01",240,133,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //13;
|
||||||
}
|
}
|
||||||
else if ((.@defence > 50) && (.@defence < 71)) {
|
else if ((.@defence > 50) && (.@defence < 71)) {
|
||||||
set .MyMobCount,4;
|
set .MyMobCount,4;
|
||||||
guardian "arug_cas01",256,203,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
guardian "arug_cas01",256,203,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
||||||
guardian "arug_cas01",240,133,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //13;
|
guardian "arug_cas01",240,133,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //13;
|
||||||
guardian "arug_cas01",246,92,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //14;
|
guardian "arug_cas01",246,92,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //14;
|
||||||
}
|
}
|
||||||
else if (.@defence > 70) {
|
else if (.@defence > 70) {
|
||||||
set .MyMobCount,5;
|
set .MyMobCount,5;
|
||||||
guardian "arug_cas01",256,203,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
guardian "arug_cas01",256,203,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
||||||
guardian "arug_cas01",240,133,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //13;
|
guardian "arug_cas01",240,133,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //13;
|
||||||
guardian "arug_cas01",246,92,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //14;
|
guardian "arug_cas01",246,92,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //14;
|
||||||
guardian "arug_cas01",235,132,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //15;
|
guardian "arug_cas01",235,132,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //15;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
set .MyMobCount,2;
|
set .MyMobCount,2;
|
||||||
guardian "arug_cas01",292,188,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
guardian "arug_cas01",292,188,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //12;
|
||||||
}
|
}
|
||||||
initnpctimer;
|
initnpctimer;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer600000:
|
OnTimer600000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",235,132,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //16;
|
guardian "arug_cas01",235,132,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //16;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer1200000:
|
OnTimer1200000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",246,92,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //17;
|
guardian "arug_cas01",246,92,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //17;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer2100000:
|
OnTimer2100000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",240,133,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //18;
|
guardian "arug_cas01",240,133,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //18;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer3000000:
|
OnTimer3000000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",256,203,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //19;
|
guardian "arug_cas01",256,203,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //19;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer3900000:
|
OnTimer3900000:
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",254,95,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //20;
|
guardian "arug_cas01",254,95,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //20;
|
||||||
stopnpctimer;
|
stopnpctimer;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -541,7 +541,7 @@ OnGuardianDied:
|
|||||||
set .MyMobCount,.MyMobCount-1;
|
set .MyMobCount,.MyMobCount-1;
|
||||||
if (.MyMobCount < 2) {
|
if (.MyMobCount < 2) {
|
||||||
set .MyMobCount,.MyMobCount+1;
|
set .MyMobCount,.MyMobCount+1;
|
||||||
guardian "arug_cas01",242,151,"Guardian",1899,"#aru01_gard02::OnGuardianDied"; //21;
|
guardian "arug_cas01",242,151,"Guardian Soldier",1899,"#aru01_gard02::OnGuardianDied"; //21;
|
||||||
}
|
}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -584,7 +584,7 @@ OnGuardianStoneDied:
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
OnTimer300000:
|
OnTimer300000:
|
||||||
donpcevent "1st Guardian Stone#aru01::OnGuardian";
|
donpcevent "1st Guardian Stone#aru01::OnEnable";
|
||||||
setarray $agit_ar01[0],2; //Global Variable
|
setarray $agit_ar01[0],2; //Global Variable
|
||||||
stopnpctimer;
|
stopnpctimer;
|
||||||
end;
|
end;
|
||||||
@ -1124,7 +1124,7 @@ arug_cas01,308,189,0 script 2nd Guardian Stone#aru01 844,{
|
|||||||
donpcevent "#aru01_RL00::OnEnable";
|
donpcevent "#aru01_RL00::OnEnable";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mapannounce "arug_cas01","The 2nd Guardian Stone was repaired successfully.",bc_map,"0x00ff00";
|
mapannounce "arug_cas01","The 2nd Guardian Stone has been repaired successfully.",bc_map,"0x00ff00";
|
||||||
}
|
}
|
||||||
if ($agit_ar01[5] == 1) {
|
if ($agit_ar01[5] == 1) {
|
||||||
donpcevent "#aru01_gard02::OnEnable";
|
donpcevent "#aru01_gard02::OnEnable";
|
||||||
@ -1169,7 +1169,6 @@ OnDisable:
|
|||||||
end;
|
end;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Barrier Summoners
|
|
||||||
arug_cas01,2,1,0 script #aru01_RL00 -1,{
|
arug_cas01,2,1,0 script #aru01_RL00 -1,{
|
||||||
OnEnable:
|
OnEnable:
|
||||||
setcell "arug_cas01",238,74,245,74,cell_walkable,0;
|
setcell "arug_cas01",238,74,245,74,cell_walkable,0;
|
||||||
|
@ -56,6 +56,7 @@ OnAgitEnd:
|
|||||||
if (GetCastleData("schg_cas02",1)) {
|
if (GetCastleData("schg_cas02",1)) {
|
||||||
KillMonster "schg_cas02","Steward#sch02::OnStartArena";
|
KillMonster "schg_cas02","Steward#sch02::OnStartArena";
|
||||||
donpcevent "Manager#sch02_02::Onreset";
|
donpcevent "Manager#sch02_02::Onreset";
|
||||||
|
donpcevent "Steward#sch02::Onstop";
|
||||||
}
|
}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
@ -106,7 +107,11 @@ Onchange:
|
|||||||
|
|
||||||
OnClock0001:
|
OnClock0001:
|
||||||
if (!GetCastleData("schg_cas02",1)) end;
|
if (!GetCastleData("schg_cas02",1)) end;
|
||||||
killmonster "schg_cas02","Manager#sch02_02::OnMyTreasureDied";
|
killmonster "schg_cas02","Manager#sch02_02::OnTreasureDied";
|
||||||
|
|
||||||
|
setcastledata "schg_cas02",4,0;
|
||||||
|
setcastledata "schg_cas02",5,0;
|
||||||
|
|
||||||
set .@Treasure,GetCastleData("schg_cas02",2)/5+4;
|
set .@Treasure,GetCastleData("schg_cas02",2)/5+4;
|
||||||
if (.@Treasure) {
|
if (.@Treasure) {
|
||||||
monster "schg_cas02",249,378,"Treasure Chest",1939,1,"Manager#sch02_02::OnTreasureDied";
|
monster "schg_cas02",249,378,"Treasure Chest",1939,1,"Manager#sch02_02::OnTreasureDied";
|
||||||
@ -154,8 +159,6 @@ OnClock0001:
|
|||||||
if (.@Treasure < 24) end;
|
if (.@Treasure < 24) end;
|
||||||
monster "schg_cas02",253,370,"Treasure Chest",1324,1,"Manager#sch02_02::OnTreasureDied";
|
monster "schg_cas02",253,370,"Treasure Chest",1324,1,"Manager#sch02_02::OnTreasureDied";
|
||||||
}
|
}
|
||||||
setcastledata "schg_cas02",4,0;
|
|
||||||
setcastledata "schg_cas02",5,0;
|
|
||||||
end;
|
end;
|
||||||
|
|
||||||
OnTreasureDied:
|
OnTreasureDied:
|
||||||
|
@ -2122,13 +2122,18 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr data)
|
|||||||
else {
|
else {
|
||||||
if(src->m != skl->map)
|
if(src->m != skl->map)
|
||||||
break;
|
break;
|
||||||
switch(skl->skill_id) {
|
switch( skl->skill_id )
|
||||||
|
{
|
||||||
case WZ_METEOR:
|
case WZ_METEOR:
|
||||||
if(skl->type >= 0) {
|
if( skl->type >= 0 )
|
||||||
skill_unitsetting(src,skl->skill_id,skl->skill_lv,skl->type>>16,skl->type&0xFFFF,skl->flag);
|
{
|
||||||
|
int x = skl->type>>16, y = skl->type&0xFFFF;
|
||||||
|
if( path_search_long(NULL, src->m, src->x, src->y, x, y, CELL_CHKWALL) )
|
||||||
|
skill_unitsetting(src,skl->skill_id,skl->skill_lv,x,y,skl->flag);
|
||||||
|
if( path_search_long(NULL, src->m, src->x, src->y, skl->x, skl->y, CELL_CHKWALL) )
|
||||||
clif_skill_poseffect(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,tick);
|
clif_skill_poseffect(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,tick);
|
||||||
}
|
}
|
||||||
else
|
else if( path_search_long(NULL, src->m, src->x, src->y, skl->x, skl->y, CELL_CHKWALL) )
|
||||||
skill_unitsetting(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,skl->flag);
|
skill_unitsetting(src,skl->skill_id,skl->skill_lv,skl->x,skl->y,skl->flag);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -5758,23 +5763,27 @@ int skill_castend_pos2(struct block_list* src, int x, int y, int skillid, int sk
|
|||||||
{
|
{
|
||||||
int flag = 0, area = skill_get_splash(skillid, skilllv);
|
int flag = 0, area = skill_get_splash(skillid, skilllv);
|
||||||
short tmpx = 0, tmpy = 0, x1 = 0, y1 = 0;
|
short tmpx = 0, tmpy = 0, x1 = 0, y1 = 0;
|
||||||
|
|
||||||
if( sc && sc->data[SC_MAGICPOWER] )
|
if( sc && sc->data[SC_MAGICPOWER] )
|
||||||
flag = flag|2; //Store the magic power flag for future use. [Skotlex]
|
flag = flag|2; //Store the magic power flag for future use. [Skotlex]
|
||||||
for(i=0;i<2+(skilllv>>1);i++) {
|
|
||||||
tmpx = x;
|
for( i = 0; i < 2 + (skilllv>>1); i++ )
|
||||||
tmpy = y;
|
{
|
||||||
if (!map_search_freecell(NULL, src->m, &tmpx, &tmpy, area, area, 1))
|
// Creates a random Cell in the Splash Area
|
||||||
continue;
|
tmpx = x - area + rand()%(area * 2 + 1);
|
||||||
if(!(flag&1)){
|
tmpy = y - area + rand()%(area * 2 + 1);
|
||||||
|
|
||||||
|
if( i == 0 && path_search_long(NULL, src->m, src->x, src->y, tmpx, tmpy, CELL_CHKWALL) )
|
||||||
clif_skill_poseffect(src,skillid,skilllv,tmpx,tmpy,tick);
|
clif_skill_poseffect(src,skillid,skilllv,tmpx,tmpy,tick);
|
||||||
flag=flag|1;
|
|
||||||
}
|
|
||||||
if( i > 0 )
|
if( i > 0 )
|
||||||
skill_addtimerskill(src,tick+i*1000,0,tmpx,tmpy,skillid,skilllv,(x1<<16)|y1,flag&2); //Only pass the Magic Power flag
|
skill_addtimerskill(src,tick+i*1000,0,tmpx,tmpy,skillid,skilllv,(x1<<16)|y1,flag&2); //Only pass the Magic Power flag
|
||||||
|
|
||||||
x1 = tmpx;
|
x1 = tmpx;
|
||||||
y1 = tmpy;
|
y1 = tmpy;
|
||||||
}
|
}
|
||||||
skill_addtimerskill(src,tick+i*1000,0,tmpx,tmpy,skillid,skilllv,-1,flag&2); //Only pass the Magic Power flag
|
|
||||||
|
skill_addtimerskill(src,tick+i*1000,0,tmpx,tmpy,skillid,skilllv,-1,flag&2);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user