summaryrefslogtreecommitdiff
path: root/world/map/npc/magic
diff options
context:
space:
mode:
authorgumi <git@gumi.ca>2018-01-27 22:31:25 -0500
committergumi <git@gumi.ca>2018-01-27 22:31:25 -0500
commita6dd4cf6028c32db514ae3d9bb727e5ef04d5a46 (patch)
tree7a2457f4acd3c72699f3051aeab77cab3033bd9f /world/map/npc/magic
parent7325a7fa3a4210e31382f1fd3e22cd4e938f646d (diff)
downloadserverdata-a6dd4cf6028c32db514ae3d9bb727e5ef04d5a46.tar.gz
serverdata-a6dd4cf6028c32db514ae3d9bb727e5ef04d5a46.tar.bz2
serverdata-a6dd4cf6028c32db514ae3d9bb727e5ef04d5a46.tar.xz
serverdata-a6dd4cf6028c32db514ae3d9bb727e5ef04d5a46.zip
prevent getting xp from dead players while using magic spells
Diffstat (limited to 'world/map/npc/magic')
-rw-r--r--world/map/npc/magic/level1-lesser-heal.txt1
-rw-r--r--world/map/npc/magic/level2-barrier.txt2
-rw-r--r--world/map/npc/magic/level2-lay-on-hands.txt2
-rw-r--r--world/map/npc/magic/level2-protect.txt2
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;