]> git.rm.cloudns.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Use the old method for setting health in hook code to avoid calling mutator hooks
authorMario <mario@smbclan.net>
Sat, 21 Jul 2018 07:04:59 +0000 (17:04 +1000)
committerMario <mario@smbclan.net>
Sat, 21 Jul 2018 07:04:59 +0000 (17:04 +1000)
qcsrc/common/mutators/mutator/vampirehook/sv_vampirehook.qc

index 115e6ca9109341fcaa4c61974eaafe416b342f15..e74cfb1152844c485c94e9f72705d7d004f46e54 100644 (file)
@@ -28,7 +28,9 @@ MUTATOR_HOOKFUNCTION(vh, GrappleHookThink)
                thehook.owner.damage_dealt += autocvar_g_vampirehook_damage;
                Damage(dmgent, thehook, thehook.owner, autocvar_g_vampirehook_damage, WEP_HOOK.m_id, DMG_NOWEP, thehook.origin, '0 0 0');
                entity targ = ((SAME_TEAM(thehook.owner, thehook.aiment)) ? thehook.aiment : thehook.owner);
-               Heal(targ, thehook.owner, autocvar_g_vampirehook_health_steal, g_pickup_healthsmall_max);
+               // TODO: we can't do this due to an issue with globals and the mutator arguments
+               //Heal(targ, thehook.owner, autocvar_g_vampirehook_health_steal, g_pickup_healthsmall_max);
+               SetResourceAmountExplicit(targ, RESOURCE_HEALTH, min(GetResourceAmount(targ, RESOURCE_HEALTH) + autocvar_g_vampirehook_health_steal, g_pickup_healthsmall_max));
 
                if(dmgent == thehook.owner)
                        TakeResource(dmgent, RESOURCE_HEALTH, autocvar_g_vampirehook_damage); // FIXME: friendly fire?!