1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2024-12-30 23:17:53 +02:00
ComfyFactorio/modules/pistol_buffs.lua
2021-03-24 16:46:00 +01:00

39 lines
1.1 KiB
Lua

local Event = require 'utils.event'
local function on_entity_damaged(event)
if not event.cause then
return
end
if not event.cause.valid then
return
end
if event.cause.name ~= 'character' then
return
end
if event.damage_type.name ~= 'physical' then
return
end
local player = event.cause
if player.shooting_state.state == defines.shooting.not_shooting then
return
end
local weapon = player.get_inventory(defines.inventory.character_guns)[player.selected_gun_index]
local ammo = player.get_inventory(defines.inventory.character_ammo)[player.selected_gun_index]
if not weapon.valid_for_read or not ammo.valid_for_read then
return
end
if weapon.name ~= 'pistol' then
return
end
if ammo.name ~= 'firearm-magazine' and ammo.name ~= 'piercing-rounds-magazine' and ammo.name ~= 'uranium-rounds-magazine' then
return
end
if not event.entity.valid then
return
end
event.entity.damage(event.final_damage_amount * 3, player.force, 'impact', player)
end
Event.add(defines.events.on_entity_damaged, on_entity_damaged)