- Fixed wizard sightblaster skill which was not knocking back traps. (bugreport:144)

- Fixed soul linker Swoo(Eswoo) skill to make proper application of stun to caster and target when the second is shrunkened.(bugreport:6157)

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17008 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
markzd 2012-12-07 16:42:49 +00:00
parent 78ee33ddda
commit b99e879dfc
2 changed files with 13 additions and 3 deletions

View File

@ -2475,6 +2475,9 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
case HT_LANDMINE:
dmg.dmotion = clif_skill_damage(dsrc,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skillid, -1, type);
break;
case WZ_SIGHTBLASTER:
dmg.dmotion = clif_skill_damage(src,bl,tick, dmg.amotion, dmg.dmotion, damage, dmg.div_, skillid, flag&SD_LEVEL?-1:skilllv, 5);
break;
case AB_DUPLELIGHT_MELEE:
case AB_DUPLELIGHT_MAGIC:
dmg.amotion = 300;/* makes the damage value not overlap with previous damage (when displayed by the client) */
@ -7151,7 +7154,10 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in
case SL_SWOO:
if (tsce) {
sc_start(src,SC_STUN,100,skilllv,10000);
if(sd)
clif_skill_fail(sd,skillid,USESKILL_FAIL_LEVEL,0);
status_change_start(src,SC_STUN,10000,skilllv,0,0,0,10000,8);
status_change_end(bl, SC_SWOO, INVALID_TIMER);
break;
}
case SL_SKA: // [marquis007]

View File

@ -9783,7 +9783,10 @@ int status_change_timer(int tid, unsigned int tick, int id, intptr_t data)
case SC_SIGHT:
case SC_RUWACH:
case SC_SIGHTBLASTER:
map_foreachinrange( status_change_timer_sub, bl, sce->val3, BL_CHAR, bl, sce, type, tick);
if(type == SC_SIGHTBLASTER)
map_foreachinrange( status_change_timer_sub, bl, sce->val3, BL_CHAR|BL_SKILL, bl, sce, type, tick);
else
map_foreachinrange( status_change_timer_sub, bl, sce->val3, BL_CHAR, bl, sce, type, tick);
if( --(sce->val2)>0 ){
sce->val4 += 250; // use for Shadow Form 2 seconds checking.
@ -10566,7 +10569,8 @@ int status_change_timer_sub(struct block_list* bl, va_list ap)
status_check_skilluse(src, bl, WZ_SIGHTBLASTER, 2))
{
skill_attack(BF_MAGIC,src,src,bl,WZ_SIGHTBLASTER,1,tick,0);
if (sce) sce->val2 = 0; //This signals it to end.
if (sce && !(bl->type&BL_SKILL)) //The hit is not counted if it's against a trap
sce->val2 = 0; //This signals it to end.
}
break;
case SC_CLOSECONFINE: