| | |
| | | need to be considered. |
| | | --]] |
| | | local abdomen_offset = 1 |
| | | local cache_scaled_shielding = {} |
| | | local rad_dmg_cutoff = 0.2 |
| | | local radiated_players = {} |
| | | |
| | |
| | | end |
| | | if ag.radiation then |
| | | return 0.01 * ag.radiation |
| | | elseif armor_enabled then |
| | | return 0 |
| | | end |
| | | if ag.fleshy then |
| | | return math.sqrt(0.01 * ag.fleshy) |
| | |
| | | end |
| | | |
| | | local function dmg_object(pos, object, strength) |
| | | local obj_pos = vector.add(object:getpos(), calculate_object_center(object)) |
| | | local obj_pos = vector.add(object:get_pos(), calculate_object_center(object)) |
| | | local mul |
| | | if armor_enabled or entity_damage then |
| | | -- we need to check may the object be damaged even if armor is disabled |
| | |
| | | local max_dist = strength * rad_dmg_mult_sqrt |
| | | for _, o in pairs(minetest.get_objects_inside_radius(pos, |
| | | max_dist + abdomen_offset)) do |
| | | if entity_damage or o:is_player() then |
| | | if (entity_damage or o:is_player()) and o:get_hp() > 0 then |
| | | dmg_object(pos, o, strength) |
| | | end |
| | | end |
| | |
| | | liquidtype = state, |
| | | liquid_alternative_flowing = "technic:corium_flowing", |
| | | liquid_alternative_source = "technic:corium_source", |
| | | liquid_viscosity = LAVA_VISC, |
| | | liquid_viscosity = 7, -- like lava |
| | | liquid_renewable = false, |
| | | damage_per_second = 6, |
| | | post_effect_color = {a=192, r=80, g=160, b=80}, |
| | |
| | | end, |
| | | }) |
| | | end |
| | | |