summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--db/sc_config.conf7
-rw-r--r--npc/015-3-3/boss.txt2
-rw-r--r--npc/functions/hub.txt6
-rw-r--r--npc/magic/mpregen.txt2
4 files changed, 16 insertions, 1 deletions
diff --git a/db/sc_config.conf b/db/sc_config.conf
index 2eaaff187..3e72630e4 100644
--- a/db/sc_config.conf
+++ b/db/sc_config.conf
@@ -2977,4 +2977,11 @@ SC_PHYSICAL_SHIELD: {
Flags: {
NoSave: true
}
+SC_HALT_REGENERATION: {
+ Visible: true
+ Flags: {
+ NoDispelReset: true
+ NoClearanceReset: true
+ Debuff: true
+ }
}
diff --git a/npc/015-3-3/boss.txt b/npc/015-3-3/boss.txt
index 09e4459e8..d71975eda 100644
--- a/npc/015-3-3/boss.txt
+++ b/npc/015-3-3/boss.txt
@@ -18,7 +18,7 @@
getexp 1000, 320;
compareandsetq HurnscaldQuest_PirateCave, 7, 8;
} else {
- TreasureBox(100); // 1% extra chance
+ TreasureBox(50); // 0.50% extra chance
}
specialeffect(.dir == 0 ? 24 : 25, AREA, getnpcid()); // closed ? opening : closing
close;
diff --git a/npc/functions/hub.txt b/npc/functions/hub.txt
index 144ae2270..bd96481f2 100644
--- a/npc/functions/hub.txt
+++ b/npc/functions/hub.txt
@@ -598,11 +598,17 @@ function script HUB_SkillInvoke {
.@PW=90+(10*@skillLv);
// First aid only works on you, so
.@heal=max(AdjustSpellpower(.@PW), AdjustAttackpower(.@PW));
+ // Penalty if you have HALT_REGEN on (-80%)
+ if (getstatus(SC_HALT_REGENERATION))
+ .@heal /= 5;
heal .@heal, 0;
GetManaExp(TMW2_HEALING, 1);
break;
case TMW2_HEALING:
.@PW=130+(20*@skillLv);
+ // Penalty if you have HALT_REGEN on and trying to self heal
+ if (getstatus(SC_HALT_REGENERATION) && @skillTarget == getcharid(3))
+ .@heal /= 3;
harm(@skillTarget, -AdjustSpellpower(.@PW), HARM_MISC);
GetManaExp(TMW2_HEALING, 2);
break;
diff --git a/npc/magic/mpregen.txt b/npc/magic/mpregen.txt
index f060ddb23..e58af3c87 100644
--- a/npc/magic/mpregen.txt
+++ b/npc/magic/mpregen.txt
@@ -15,6 +15,8 @@ function script SK_mpregen {
.@ratio=max(40, 60-.@lv);
.@mpheal=.@basehp*.@ratio/100;
heal -.@basehp, .@mpheal;
+ // Temporarily block healing and regeneration skills
+ SC_Bonus(1+.@lv, SC_HALT_REGENERATION, 1);
return;
}