summaryrefslogtreecommitdiff
path: root/src/map/status.c
diff options
context:
space:
mode:
authorDastgir Pojee <dastgirp@gmail.com>2016-10-03 18:20:59 +0530
committerhemagx <ibrahem.h.basyone@gmail.com>2016-10-22 02:22:03 +0200
commit5e04f472e1ef618d9201fd22e382dca829992b3b (patch)
tree6722458b7239dfa722fe136708933e6eb066597c /src/map/status.c
parent63c621ff7ceddb0fa12f8fabf7e074eb63b25eec (diff)
downloadhercules-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.c12
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;