diff options
author | Dastgir Pojee <dastgirp@gmail.com> | 2016-10-02 21:08:34 +0530 |
---|---|---|
committer | hemagx <ibrahem.h.basyone@gmail.com> | 2016-10-22 02:21:52 +0200 |
commit | 72cd2379541e67f1fbb3fd88132cbabb61874647 (patch) | |
tree | cf2ee7cc1afde38e328771d3eeaa96a481696645 /src/map/skill.c | |
parent | 7b270b403ea24811305631d55da5f9d30252ca85 (diff) | |
download | hercules-72cd2379541e67f1fbb3fd88132cbabb61874647.tar.gz hercules-72cd2379541e67f1fbb3fd88132cbabb61874647.tar.bz2 hercules-72cd2379541e67f1fbb3fd88132cbabb61874647.tar.xz hercules-72cd2379541e67f1fbb3fd88132cbabb61874647.zip |
Implemented SU_STOOP Skill.
Reduces Incoming Damange by 90% for 6 seconds.
When Knock Back, the effect disappears.
Diffstat (limited to 'src/map/skill.c')
-rw-r--r-- | src/map/skill.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/map/skill.c b/src/map/skill.c index 5efe74825..4d901236a 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -2141,6 +2141,9 @@ int skill_blown(struct block_list* src, struct block_list* target, int count, in dy = -diry[dir]; } + if (tsc && tsc->data[SC_SU_STOOP]) // Any knockback will cancel it. + status_change_end(target, SC_SU_STOOP, INVALID_TIMER); + return unit->blown(target, dx, dy, count, flag); // send over the proper flag } @@ -6023,6 +6026,13 @@ int skill_castend_nodamage_id(struct block_list *src, struct block_list *bl, uin clif->skill_nodamage(src,bl,skill_id,skill_lv, sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv))); break; + // Works just like the above list of skills, except animation caused by + // status must trigger AFTER the skill cast animation or it will cancel + // out the status's animation. + case SU_STOOP: + clif->skill_nodamage(src,bl,skill_id,skill_lv,1); + sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)); + break; case KN_AUTOCOUNTER: sc_start(src,bl,type,100,skill_lv,skill->get_time(skill_id,skill_lv)); skill->addtimerskill(src, tick + 100, bl->id, 0, 0, skill_id, skill_lv, BF_WEAPON, flag); |