From f5297cbb8d4b4f6b45fb1d3d6d72253795eca5ef Mon Sep 17 00:00:00 2001
From: Dastgir Pojee <dastgirp@gmail.com>
Date: Mon, 3 Oct 2016 18:26:45 +0530
Subject: 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.

---
 src/map/battle.c | 3 +++
 src/map/skill.c  | 6 ++++++
 src/map/status.c | 2 ++
 3 files changed, 11 insertions(+)

(limited to 'src')

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 );
-- 
cgit v1.2.3-70-g09d2