From 5e1255c584092c1bbd8d014814acd2ac9716ecc6 Mon Sep 17 00:00:00 2001 From: Jesusaves Date: Tue, 13 Apr 2021 23:24:07 -0300 Subject: Optimize magic skill charge code, add warning when low on supply (3 or less) --- npc/magic/config.txt | 17 +++++++++++++++++ npc/magic/level1-flare-dart.txt | 6 +----- 2 files changed, 18 insertions(+), 5 deletions(-) (limited to 'npc') diff --git a/npc/magic/config.txt b/npc/magic/config.txt index 229c0521..ddbbf99d 100644 --- a/npc/magic/config.txt +++ b/npc/magic/config.txt @@ -369,6 +369,23 @@ function script isfocused { return (FOCUSING & .@f); } +// mcharge(item, school, charges) {inheirs = @skillId} +function script mcharge { + .@it=getarg(0); + .@sc=getarg(1); + .@cr=getarg(2, 0); + if (@MCHARGE[@skillId] < 1) { + delitem .@it, 1; + @MCHARGE[@skillId] = .@cr+getskilllv(SKILL_MAGIC)+getskilllv(.@cr); + // Low supply warning + if (countitem(.@it) <= 3) + dispbottom col(b(l("Warning, %d remaining: %s", + 3, getitemname(.@it))), 1); + } + @MCHARGE[@skillId]-=1; + return; +} + - script Magic Load NPC_HIDDEN,{ OnInit: end; diff --git a/npc/magic/level1-flare-dart.txt b/npc/magic/level1-flare-dart.txt index d59aef2f..4d73d73e 100644 --- a/npc/magic/level1-flare-dart.txt +++ b/npc/magic/level1-flare-dart.txt @@ -6,11 +6,7 @@ function script SK_Flar { // Charge code, item check is in skill_db.conf (FIXME) - if (@MCHARGE_FLARE < 1) { - delitem SulphurPowder, 1; - @MCHARGE_FLARE = 2+getskilllv(SKILL_MAGIC_WAR); - } - @MCHARGE_FLARE-=1; + mcharge(SulphurPowder, SKILL_MAGIC_WAR, 1); // Effective magic code .@PW=70+(5*@skillLv); .@dmg=AdjustSpellpower(.@PW); -- cgit v1.2.3-60-g2f50