--Sawed down version of bot_monochrome_logic.lua, Here so his burst shotgun logic can be used on smaller robots. local function removeCallbacks(player, callbacks) if not IsValid(player) then return end for _, callbackId in pairs(callbacks) do player:RemoveCallback(callbackId) end end function PurpleHeartLogic(_, activator) local callbacks = {} local terminated = false local function terminate() if terminated then return end terminated = true removeCallbacks(activator, callbacks) end callbacks.died = activator:AddCallback(ON_DEATH, function() terminate() end) callbacks.removed = activator:AddCallback(ON_REMOVE, function() terminate() end) callbacks.spawned = activator:AddCallback(ON_SPAWN, function() terminate() end) --used for ability, only does things when check gives it a cond callbacks.hurtpre = activator:AddCallback(ON_DAMAGE_RECEIVED_PRE, function(_, damageInfo) if activator:InCond(5) == true then damageInfo.Damage = damageInfo.Damage * -0.5 return true end end) end