From 502bb1adfbe060d81b8bbcd6d41153170f43031c Mon Sep 17 00:00:00 2001 From: wushin Date: Tue, 8 Mar 2016 18:27:49 -0600 Subject: Add heal_gain_xp --- world/map/npc/magic/level1-lesser-heal.txt | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'world/map/npc/magic/level1-lesser-heal.txt') diff --git a/world/map/npc/magic/level1-lesser-heal.txt b/world/map/npc/magic/level1-lesser-heal.txt index 6b728e81..22aec370 100644 --- a/world/map/npc/magic/level1-lesser-heal.txt +++ b/world/map/npc/magic/level1-lesser-heal.txt @@ -15,16 +15,23 @@ callfunc "adjust_spellpower"; set Sp, Sp - 6; misceffect FX_MAGIC_WHITE, strcharinfo(0); - if (@target_id != BL_ID) misceffect FX_MAGIC_WHITE, @target_id; - // TODO gain_heal_exp - // TODO magic_exp + set .@heal_value, (get(MaxHp, @target_id) - get(Hp, @target_id)); + set @mexp, .exp_gain; + if (.@heal_value < 200) + set .@heal_value, 200; if (@args$ == "Mouboo" || @args$ == "mouboo") goto L_Mouboo; + if (@target_id != BL_ID) goto L_NotMe; + goto L_Continue; - if (getskilllv(SKILL_MAGIC_DARK) >= 1) sc_start SC_HALT_REGENERATE, 2000, 0; +L_NotMe: + misceffect FX_MAGIC_WHITE, @target_id; + callfunc "gain_heal_xp"; + goto L_Continue; - set @heal_amount, 200, @target_id; +L_Continue: + if (getskilllv(SKILL_MAGIC_DARK) >= 1) sc_start SC_HALT_REGENERATE, 2000, 0; if (attachrid(@target_id) != 1) end; // XXX: to avoid the ugly attachrid method we would need some kind of `run_as` builtin - if (!(isdead())) heal @heal_amount, 0, 1; + if (!(isdead())) heal .@heal_value, 1, 1; end; L_Mouboo: @@ -37,5 +44,6 @@ OnInit: void call("magic_register"); set .level, 1; set .exp_gain, 1; + set .heal_xp_value_divisor, 2; end; } -- cgit v1.2.3-70-g09d2