summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDastgir Pojee <dastgirp@gmail.com>2016-10-03 18:26:45 +0530
committerhemagx <ibrahem.h.basyone@gmail.com>2016-10-22 02:22:04 +0200
commitf5297cbb8d4b4f6b45fb1d3d6d72253795eca5ef (patch)
treeb935a93a7b5eeb8eb11a32e2e3d714e7b090c951
parent5e04f472e1ef618d9201fd22e382dca829992b3b (diff)
downloadhercules-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.
-rw-r--r--src/map/battle.c3
-rw-r--r--src/map/skill.c6
-rw-r--r--src/map/status.c2
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 );