summaryrefslogtreecommitdiff
path: root/src/map/skill.c
diff options
context:
space:
mode:
authorMichieru <Michieru@users.noreply.github.com>2014-09-14 17:20:07 +0200
committerMichieru <Michieru@users.noreply.github.com>2014-09-14 17:20:07 +0200
commit51fd6b4def852bbdc9f53cff6f42206ce270287e (patch)
treeb76e9d2ce502efcc85c3bb9c43fd30757916c6f3 /src/map/skill.c
parent35fd42449fcbe8c228a41777e630d4ded8357aae (diff)
downloadhercules-51fd6b4def852bbdc9f53cff6f42206ce270287e.tar.gz
hercules-51fd6b4def852bbdc9f53cff6f42206ce270287e.tar.bz2
hercules-51fd6b4def852bbdc9f53cff6f42206ce270287e.tar.xz
hercules-51fd6b4def852bbdc9f53cff6f42206ce270287e.zip
Storm Gust freeze chance is only 150% and not 300% (Thanks to Playtester)
Spiral Pierce should hitlock to 100% but not work on bosses (Thanks to Playtester) Implemented the official formula for Potion Pitcher when used by monsters (Thanks to Playtester) Golden Thief Bug card should not immune masquerades Desperado should not be reflect by Shield Reflect (bug:7624)
Diffstat (limited to 'src/map/skill.c')
-rw-r--r--src/map/skill.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/map/skill.c b/src/map/skill.c
index 7e27cc17c..27758201c 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -838,9 +838,9 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
#ifdef RENEWAL
sc_start(src,bl,SC_FREEZE,65-(5*skill_lv),skill_lv,skill->get_time2(skill_id,skill_lv));
#else
- // [Tharis] pointed out that this is normal freeze chance with a base of 300%
+ //On third hit, there is a 150% to freeze the target
if(tsc->sg_counter >= 3 &&
- sc_start(src,bl,SC_FREEZE,300,skill_lv,skill->get_time2(skill_id,skill_lv)))
+ sc_start(src,bl,SC_FREEZE,150,skill_lv,skill->get_time2(skill_id,skill_lv)))
tsc->sg_counter = 0;
/**
* being it only resets on success it'd keep stacking and eventually overflowing on mvps, so we reset at a high value
@@ -1006,7 +1006,8 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1
case LK_SPIRALPIERCE:
case ML_SPIRALPIERCE:
- sc_start(src,bl,SC_ANKLESNARE,100,0,skill->get_time2(skill_id,skill_lv));
+ if( dstsd || ( dstmd && !is_boss(bl) ) ) //Does not work on bosses
+ sc_start(src,bl,SC_STOP,100,0,skill_get_time2(skill_id,skill_lv));
break;
case ST_REJECTSWORD:
@@ -6745,7 +6746,14 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin
sp += sp * i / 100;
}
} else {
- hp = (1 + rnd()%400) * (100 + skill_lv*10) / 100;
+ //Maybe replace with potion_hp, but I'm unsure how that works [Playtester]
+ switch (skill_lv) {
+ case 1: hp = 45; break;
+ case 2: hp = 105; break;
+ case 3: hp = 175; break;
+ default: hp = 325; break;
+ }
+ hp = (hp + rnd()%(skill_lv*20+1)) * (150 + skill_lv*10) / 100;
hp = hp * (100 + (tstatus->vit<<1)) / 100;
if( dstsd )
hp = hp * (100 + pc->checkskill(dstsd,SM_RECOVERY)*10) / 100;