summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSean Hulka <sean.hulka@gmail.com>2021-05-23 12:03:26 -0700
committerGitHub <noreply@github.com>2021-05-23 16:03:26 -0300
commit597c1869938c63f27029621707970d7605413ee8 (patch)
treed9daa19b9550a16213146c2651e90f05cabf78c2
parentb631e5ac4ed4eb08e2b6773e4fd8bedaec8d9b61 (diff)
downloadserverdata-597c1869938c63f27029621707970d7605413ee8.tar.gz
serverdata-597c1869938c63f27029621707970d7605413ee8.tar.bz2
serverdata-597c1869938c63f27029621707970d7605413ee8.tar.xz
serverdata-597c1869938c63f27029621707970d7605413ee8.zip
Update #upmarmu for functional use (#586)
Has not been tested; Why would I?
-rw-r--r--world/map/npc/magic/level2-magic-knuckles.txt17
1 files changed, 10 insertions, 7 deletions
diff --git a/world/map/npc/magic/level2-magic-knuckles.txt b/world/map/npc/magic/level2-magic-knuckles.txt
index 95ab9120..ab74d474 100644
--- a/world/map/npc/magic/level2-magic-knuckles.txt
+++ b/world/map/npc/magic/level2-magic-knuckles.txt
@@ -1,10 +1,11 @@
-|script|magic-knuckles|32767
{
- if(call("magic_checks")) end;
+ if (call("magic_checks")) end;
if (Sp < 20) end;
if (getskilllv(SKILL_MAGIC) < .level) end;
set .@level, getskilllv(.school);
if (.@level < .level) end;
+ if (getequipid(equip_hand1) != -1 || getequipid(equip_hand2) != -1) end;
if (.@level <= 3 && countitem("Beer") >= 1) delitem "Beer", 1;
elif (.@level <= 3) end;
set @_M_BLOCK, 1; // block casting, until the timer clears it
@@ -13,16 +14,18 @@
set Sp, Sp - 20;
misceffect FX_MAGIC_KNUCKLE_CAST, strcharinfo(0);
setarray @upmarmuspell[0],
- @spellpower,
- ((@spellpower/10) + 10), // charges
- (((200 - Agi) * 1300) / 200), // delay
- Str; // do not allow to equip light armor, cast, and then switch to heavy armor to get bonus str
+ (BASE_ATK), // dmg
+ ((Dex/3) + 10), // charges
+ (sqrt(300 - (Agi * 2))+(5/2)), // delay
+ Agi, // dmg bonus
+ ((sqrt(BaseLevel + 9) + Str) * 2); // do not allow to equip light armor, cast, and then switch to heavy armor to get bonus str
callfunc "magic_exp";
goto L_FreeRecast;
OnAttack:
+ if (getequipid(equip_hand1) != -1 || getequipid(equip_hand2) != -1) goto OnDischarge;
if (target(BL_ID, @target_id, 22) != 22) goto L_FreeRecast; // 0x10 | 0x02 | 0x04
- void call("melee_damage", @upmarmuspell[0], @target_id, (30 + rand((@upmarmuspell[3]*2) + 5)));
+ void call("elt_damage", @upmarmuspell[0], (@upmarmuspell[3] + @upmarmuspell[4]), ELT_WATER, ELT_FIRE, FX_NONE);
set @upmarmuspell[1], @upmarmuspell[1] - 1;
goto L_FreeRecast;
@@ -39,7 +42,7 @@ OnDischarge:
end;
OnSetRecast:
- overrideattack @upmarmuspell[2], 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1];
+ overrideattack (@upmarmuspell[2] * @upmarmuspell[2]), 1, ATTACK_ICON_GENERIC, OVERRIDE_KNUCKLES, strnpcinfo(0)+"::OnAttack", @upmarmuspell[1]; // delay neeeds to be squared
end;
OnInit: