diff options
author | Dastgir Pojee <dastgirp@gmail.com> | 2016-10-03 18:26:45 +0530 |
---|---|---|
committer | hemagx <ibrahem.h.basyone@gmail.com> | 2016-10-22 02:22:04 +0200 |
commit | f5297cbb8d4b4f6b45fb1d3d6d72253795eca5ef (patch) | |
tree | b935a93a7b5eeb8eb11a32e2e3d714e7b090c951 /src | |
parent | 5e04f472e1ef618d9201fd22e382dca829992b3b (diff) | |
download | hercules-f5297cbb8d4b4f6b45fb1d3d6d72253795eca5ef.tar.gz hercules-f5297cbb8d4b4f6b45fb1d3d6d72253795eca5ef.tar.bz2 hercules-f5297cbb8d4b4f6b45fb1d3d6d72253795eca5ef.tar.xz hercules-f5297cbb8d4b4f6b45fb1d3d6d72253795eca5ef.zip |
Implemented SU_SCAROFTAROU Skill.
Heal,Cure,Clearance cancels the effect.
Atk + 100*SkillLv%.
Reduces Fixed Amount of MaxHP for 9 seconds.
For Every 30 Base Levels, Adds an Additional chance that skill will be
activated again.
Diffstat (limited to 'src')
-rw-r--r-- | src/map/battle.c | 3 | ||||
-rw-r--r-- | src/map/skill.c | 6 | ||||
-rw-r--r-- | src/map/status.c | 2 |
3 files changed, 11 insertions, 0 deletions
diff --git a/src/map/battle.c b/src/map/battle.c index 1064cf8a8..f220be17b 100644 --- a/src/map/battle.c +++ b/src/map/battle.c @@ -1674,6 +1674,9 @@ int battle_calc_skillratio(int attack_type, struct block_list *src, struct block case SU_SCRATCH: skillratio += -50 + 50 * skill_lv; break; + case SU_SCAROFTAROU: + skillratio += -100 + 100 * skill_lv; + break; /** * Arch Bishop **/ diff --git a/src/map/skill.c b/src/map/skill.c index b109378a4..1f8171b72 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -1430,6 +1430,9 @@ int skill_additional_effect(struct block_list* src, struct block_list *bl, uint1 case SU_CN_METEOR: sc_start(src, bl, SC_CURSE, 10, skill_lv, skill->get_time2(skill_id, skill_lv)); // TODO: What's the chance/time? break; + case SU_SCAROFTAROU: + sc_start(src, bl, SC_STUN, 10, skill_lv, skill->get_time2(skill_id, skill_lv)); // TODO: What's the chance/time? + break; default: skill->additional_effect_unknown(src, bl, &skill_id, &skill_lv, &attack_type, &dmg_lv, &tick); break; @@ -4915,6 +4918,9 @@ int skill_castend_damage_id(struct block_list* src, struct block_list *bl, uint1 if (status->get_lv(src) >= 30 && (rnd() % 100 < (int)(status->get_lv(src) / 30) + 10)) // TODO: Need activation chance. skill->addtimerskill(src, tick + skill->get_delay(skill_id, skill_lv), bl->id, 0, 0, skill_id, skill_lv, (skill_id == SU_SV_STEMSPEAR) ? BF_MAGIC : BF_WEAPON, flag); break; + case SU_SCAROFTAROU: + sc_start(src, bl, status->skill2sc(skill_id), 10, skill_lv, skill->get_time(skill_id, skill_lv)); // TODO: What's the activation chance for the effect? + break; case 0:/* no skill - basic/normal attack */ if(sd) { diff --git a/src/map/status.c b/src/map/status.c index f1423d3c6..1d87b8f3a 100644 --- a/src/map/status.c +++ b/src/map/status.c @@ -730,6 +730,8 @@ void initChangeTables(void) 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); + add_sc(SU_SCAROFTAROU, SC_STUN ); + status->set_sc(SU_SCAROFTAROU, SC_BITESCAR, SI_BITESCAR, 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 ); |