diff options
Diffstat (limited to 'conf')
-rw-r--r-- | conf/magic.conf | 21 |
1 files changed, 17 insertions, 4 deletions
diff --git a/conf/magic.conf b/conf/magic.conf index a0eb7b4a..21a8ddf8 100644 --- a/conf/magic.conf +++ b/conf/magic.conf @@ -211,7 +211,10 @@ SPELL lesser-heal (target : STRING) : "#L00" = => EFFECT CALL adjust_spellpower(school); CALL default_effect(); IF failed(pc(target)) - THEN target = caster; # quest handling goes here + THEN (IF ((target = "mouboo" || target = "Mouboo") + && rdistance(location(caster), location(npc("Mouboo"))) < 2 + (spellpower / 100)) + THEN { mes "Your spell seems to have no effect on the mouboo."; next; close; } + ELSE target = caster); ELSE target = pc(target); CALL heal(target, 200); CALL gain_xp(1); @@ -372,9 +375,19 @@ SPELL lay-on-hands (target : STRING) : "#L10" = )) => EFFECT CALL adjust_spellpower(school); IF failed(pc(target)) - THEN target = caster; # quest handling goes here - ELSE target = pc(target); - needed = max_hp(target) - hp(target); + THEN (IF ((target = "mouboo" || target = "Mouboo") + && rdistance(location(caster), location(npc("Mouboo"))) < 2 + (spellpower / 100)) + THEN (needed = 1000; + { + set @spell, 1; + callfunc "QuestMoubooHeal"; + }) + ELSE (target = caster; + needed = max_hp(target) - hp(target); + )); + ELSE (target = pc(target); + needed = max_hp(target) - hp(target);) + pay_fraction = max(80, 200 - (vit(caster) + (spellpower / 10))); # Pay at least 40% payment = (needed * pay_fraction) / 200; available = hp(caster) - (max_hp(caster) / 20); |