From a6dd4cf6028c32db514ae3d9bb727e5ef04d5a46 Mon Sep 17 00:00:00 2001 From: gumi Date: Sat, 27 Jan 2018 22:31:25 -0500 Subject: prevent getting xp from dead players while using magic spells --- world/map/npc/magic/level1-lesser-heal.txt | 1 + world/map/npc/magic/level2-barrier.txt | 2 +- world/map/npc/magic/level2-lay-on-hands.txt | 2 ++ world/map/npc/magic/level2-protect.txt | 2 +- 4 files changed, 5 insertions(+), 2 deletions(-) diff --git a/world/map/npc/magic/level1-lesser-heal.txt b/world/map/npc/magic/level1-lesser-heal.txt index 37d081dc..b94d4142 100644 --- a/world/map/npc/magic/level1-lesser-heal.txt +++ b/world/map/npc/magic/level1-lesser-heal.txt @@ -24,6 +24,7 @@ L_NotMe: misceffect FX_MAGIC_WHITE, @target_id; + if (get(Hp, @target_id) < 1) end; void call("gain_heal_xp", min(200, (get(MaxHp, @target_id) - get(Hp, @target_id))), 1, 2, 2); goto L_Continue; diff --git a/world/map/npc/magic/level2-barrier.txt b/world/map/npc/magic/level2-barrier.txt index 3b7ffb77..020e670a 100644 --- a/world/map/npc/magic/level2-barrier.txt +++ b/world/map/npc/magic/level2-barrier.txt @@ -10,7 +10,7 @@ set @target_id, getcharid(3, @args$); if (@target_id < 1 || !(isloggedin(@target_id)) || get(INVISIBLE, @target_id) == 1) set @target_id, BL_ID; // fallback to self - + if (get(Hp, @target_id) < 1) end; if (getequipid(equip_head, strcharinfo(0, @target_id)) == 888) end; set @_M_BLOCK, 1; // block casting, until the timer clears it diff --git a/world/map/npc/magic/level2-lay-on-hands.txt b/world/map/npc/magic/level2-lay-on-hands.txt index 1f9d7389..8bb0782b 100644 --- a/world/map/npc/magic/level2-lay-on-hands.txt +++ b/world/map/npc/magic/level2-lay-on-hands.txt @@ -22,6 +22,8 @@ L_Pay: misceffect FX_MAGIC_WHITE, strcharinfo(0); // on caster misceffect FX_MAGIC_WHITE, @args$; // on target + if (get(Hp, @target_id) < 1) end; + set .@fraction, max(80, 200 - (Vit + (@spellpower/10))); // pay at least 40% set .@payment, (@needed * .@fraction) / 200; set .@available, Hp - (MaxHp / 20); diff --git a/world/map/npc/magic/level2-protect.txt b/world/map/npc/magic/level2-protect.txt index 38ea6a7d..27eae516 100644 --- a/world/map/npc/magic/level2-protect.txt +++ b/world/map/npc/magic/level2-protect.txt @@ -9,7 +9,7 @@ set @target_id, getcharid(3, @args$); if (@target_id < 1 || !(isloggedin(@target_id)) || get(INVISIBLE, @target_id)) set @target_id, BL_ID; // fallback to self - + if (get(Hp, @target_id) < 1) end; if (getequipid(equip_head, strcharinfo(0, @target_id)) == 888) end; if (distance(BL_ID, @target_id) >= (@spellpower/30)+2) set @target_id, BL_ID; -- cgit v1.2.3-60-g2f50