From f5d6ff098ed47775147826d3b0becb5934876021 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Wed, 14 Apr 2021 04:08:13 -0300 Subject: Lesser Heal and Lay On Hands took me almost a whole hour to finish. --- npc/magic/level1-lesser-heal.txt | 49 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 npc/magic/level1-lesser-heal.txt (limited to 'npc/magic/level1-lesser-heal.txt') diff --git a/npc/magic/level1-lesser-heal.txt b/npc/magic/level1-lesser-heal.txt new file mode 100644 index 00000000..bf515062 --- /dev/null +++ b/npc/magic/level1-lesser-heal.txt @@ -0,0 +1,49 @@ +// The Mana World script +// Author: Jesusalva +// +// Magic Script: SKILL_LUM (Level 1) +// School: Life 1 + +function script SK_Lum { + // In some cases it is... aborted + if (getunittype(@skillTarget) == UNITTYPE_PC) { + .@me=getcharid(3); + .@ok=true; + attachrid(@skillTarget); + // Kill the GM Event + if (isequipped(MagicGMTopHat)) + .@ok=false; + // Ailments cannot prevent this one because the Lifestione, so... + // Already dead + if (Hp < 1) + .@ok=false; + // Finished + .@limit=MaxHp-Hp; + detachrid(); + attachrid(.@me); + if (!.@ok) return; + } else { + if (getunitdata(@skillTarget, UDT_HP) < 1) return; + .@limit=getunitdata(@skillTarget, UDT_MAXHP)- + getunitdata(@skillTarget, UDT_HP); + } + + // No need for healing? + if (.@limit <= 0) return; + + // Real healing happens here + .@PW=90+(10*@skillLv); + .@dmg=AdjustSpellpower(.@PW); + sc_start(SC_G_LIFEPOTION, 5000, 1+.@dmg/5, 10000, + SCFLAG_NOAVOID|SCFLAG_FIXEDTICK|SCFLAG_FIXEDRATE, @skillTarget); + + // Specifics + if (getskilllv(SKILL_MAGIC_DARK) >= 1) + SC_Bonus(2, SC_BLOODING, 1); // FIXME SC_REBOUND? SC_MAGICMUSHROOM? + + // Gives EXP according to how much you healed + getexp min(.@dmg, .@limit)*getskilllv(SKILL_MAGIC_LIFE), .@PW/10; + GetManaExp(@skillId, 1); + return; +} + -- cgit v1.2.3-60-g2f50