diff options
author | Dastgir Pojee <dastgirp@gmail.com> | 2016-10-03 18:20:59 +0530 |
---|---|---|
committer | hemagx <ibrahem.h.basyone@gmail.com> | 2016-10-22 02:22:03 +0200 |
commit | 5e04f472e1ef618d9201fd22e382dca829992b3b (patch) | |
tree | 6722458b7239dfa722fe136708933e6eb066597c /src/map/status.c | |
parent | 63c621ff7ceddb0fa12f8fabf7e074eb63b25eec (diff) | |
download | hercules-5e04f472e1ef618d9201fd22e382dca829992b3b.tar.gz hercules-5e04f472e1ef618d9201fd22e382dca829992b3b.tar.bz2 hercules-5e04f472e1ef618d9201fd22e382dca829992b3b.tar.xz hercules-5e04f472e1ef618d9201fd22e382dca829992b3b.zip |
Implemented SU_SV_ROOTTWIST Skill.
Duration: (5+(2*SkillLv)) seconds.
Cannot be used on Boss Monsters. Effect is cancelled when Heaven's Drive
or Trample is used.
Enemies trapped on roots receive poison property damage.
Diffstat (limited to 'src/map/status.c')
-rw-r--r-- | src/map/status.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/map/status.c b/src/map/status.c index 462112006..f1423d3c6 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -729,6 +729,7 @@ void initChangeTables(void) add_sc(SU_SV_STEMSPEAR, SC_BLOODING); status->set_sc(SU_CN_POWDERING, SC_CATNIPPOWDER, SI_CATNIPPOWDER, SCB_WATK | SCB_SPEED | SCB_REGEN); add_sc(SU_CN_METEOR, SC_CURSE); + set_sc_with_vfx(SU_SV_ROOTTWIST, SC_SV_ROOTTWIST, SI_SV_ROOTTWIST, SCB_NONE); // Elemental Spirit summoner's 'side' status changes. status->set_sc( EL_CIRCLE_OF_FIRE , SC_CIRCLE_OF_FIRE_OPTION, SI_CIRCLE_OF_FIRE_OPTION, SCB_NONE ); @@ -7805,12 +7806,12 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t case SC_OBLIVIONCURSE: case SC_LEECHESEND: - // Ranger Effects + // Ranger Effects case SC_WUGBITE: case SC_ELECTRICSHOCKER: case SC_MAGNETICFIELD: - // Masquerades + // Masquerades case SC__ENERVATION: case SC__GROOMY: case SC__LAZINESS: @@ -7822,6 +7823,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t case SC_VACUUM_EXTREME: case SC_NETHERWORLD: case SC_FRESHSHRIMP: + case SC_SV_ROOTTWIST: return 0; } } @@ -10011,6 +10013,7 @@ int status_change_start(struct block_list *src, struct block_list *bl, enum sc_t case SC_NEEDLE_OF_PARALYZE: case SC_DEATHBOUND: case SC_NETHERWORLD: + case SC_SV_ROOTTWIST: unit->stop_walking(bl, STOPWALKING_FLAG_FIXPOS); break; case SC_ANKLESNARE: @@ -10869,10 +10872,11 @@ int status_change_end_(struct block_list* bl, enum sc_type type, int tid, const break; case SC_NEUTRALBARRIER_MASTER: case SC_STEALTHFIELD_MASTER: - if( sce->val2 ) { + case SC_SV_ROOTTWIST: + if (sce->val2) { struct skill_unit_group* group = skill->id2group(sce->val2); sce->val2 = 0; - if( group ) /* might have been cleared before status ended, e.g. land protector */ + if (group) /* might have been cleared before status ended, e.g. land protector */ skill->del_unitgroup(group,ALC_MARK); } break; |