- Fixed WZ_WATERBALL + HW_MAGICPOWER

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@5601 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
skotlex 2006-03-14 19:30:42 +00:00
parent 0dfa4e1358
commit c22cfd5ae8
3 changed files with 10 additions and 11 deletions

View File

@ -5,6 +5,7 @@ IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. EV
GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS GOES INTO TRUNK AND WILL BE MERGED INTO STABLE BY VALARIS AND WIZPUTER. -- VALARIS
2006/03/14 2006/03/14
* Fixed WZ_WATERBALL + HW_MAGICPOWER [Skotlex]
* Fixed incorrect range check in autospell-when-hit triggers. [Skotlex] * Fixed incorrect range check in autospell-when-hit triggers. [Skotlex]
* Modified Wedding recall skills to behave as in official [Skotlex] * Modified Wedding recall skills to behave as in official [Skotlex]
* Modified Arrow Shower to be a ground-based skill and work as it should on * Modified Arrow Shower to be a ground-based skill and work as it should on

View File

@ -3362,7 +3362,7 @@ int mobskill_castend_id( int tid, unsigned int tick, int id,int data )
else else
skill_castend_damage_id(&md->bl,bl,md->skillid,md->skilllv,tick,0); skill_castend_damage_id(&md->bl,bl,md->skillid,md->skilllv,tick,0);
if (md->sc.count && md->sc.data[SC_MAGICPOWER].timer != -1 && md->skillid != HW_MAGICPOWER) if (md->sc.count && md->sc.data[SC_MAGICPOWER].timer != -1 && md->skillid != HW_MAGICPOWER && md->skillid != WZ_WATERBALL)
status_change_end(&md->bl, SC_MAGICPOWER, -1); status_change_end(&md->bl, SC_MAGICPOWER, -1);
if (md->db->skill[md->skillidx].emotion >= 0) if (md->db->skill[md->skillidx].emotion >= 0)

View File

@ -2299,7 +2299,7 @@ static int skill_timerskill(int tid, unsigned int tick, int id,int data )
return 0; return 0;
if(status_isdead(src)) if(status_isdead(src))
return 0; return 0;
if(status_isdead(target) && skl->skill_id != RG_INTIMIDATE) if(status_isdead(target) && skl->skill_id != RG_INTIMIDATE && skl->skill_id != WZ_WATERBALL)
return 0; return 0;
switch(skl->skill_id) { switch(skl->skill_id) {
@ -2356,17 +2356,15 @@ static int skill_timerskill(int tid, unsigned int tick, int id,int data )
break; break;
case WZ_WATERBALL: case WZ_WATERBALL:
if (skl->type>1) { if (!status_isdead(target))
skl->timer = 0; // skill_addtimerskillÅŽg—p³êÈ¢æ¤É skill_attack(BF_MAGIC,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag);
if (skl->type>1 && !status_isdead(target)) {
skl->timer = 0;
skill_addtimerskill(src,tick+150,target->id,0,0,skl->skill_id,skl->skill_lv,skl->type-1,skl->flag); skill_addtimerskill(src,tick+150,target->id,0,0,skl->skill_id,skl->skill_lv,skl->type-1,skl->flag);
skl->timer = -1; skl->timer = -1;
} } else {
skill_attack(BF_MAGIC,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag);
if (skl->type <= 1) { // partial fix: it still doesn't end if the target dies
// should put outside of the switch, but since this is the only
// mage targetted spell for now,
struct status_change *sc = status_get_sc(src); struct status_change *sc = status_get_sc(src);
if(sc && sc->data[SC_MAGICPOWER].timer != -1) //ƒ}ƒWƒbƒNƒpƒ??‚Ì?‰Ê?I—¹ if(sc && sc->data[SC_MAGICPOWER].timer != -1)
status_change_end(src,SC_MAGICPOWER,-1); status_change_end(src,SC_MAGICPOWER,-1);
} }
break; break;
@ -5791,7 +5789,7 @@ int skill_castend_id( int tid, unsigned int tick, int id,int data )
else else
skill_castend_damage_id(&sd->bl,bl,sd->skillid,sd->skilllv,tick,0); skill_castend_damage_id(&sd->bl,bl,sd->skillid,sd->skilllv,tick,0);
if(sd->sc.count && sd->sc.data[SC_MAGICPOWER].timer != -1 && sd->skillid != HW_MAGICPOWER) if(sd->sc.count && sd->sc.data[SC_MAGICPOWER].timer != -1 && sd->skillid != HW_MAGICPOWER && sd->skillid != WZ_WATERBALL)
status_change_end(&sd->bl,SC_MAGICPOWER,-1); status_change_end(&sd->bl,SC_MAGICPOWER,-1);
//Clean this up for future references to battle_getcurrentskill. [Skotlex] //Clean this up for future references to battle_getcurrentskill. [Skotlex]