From d95ed353498a1fc96b3013804df33e1be475ba10 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Wed, 1 Apr 2026 20:18:55 -0700 Subject: [PATCH 1/3] Update functions.lua --- bobenemies/prototypes/functions.lua | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/bobenemies/prototypes/functions.lua b/bobenemies/prototypes/functions.lua index 74b9c8fdb..45013ce55 100644 --- a/bobenemies/prototypes/functions.lua +++ b/bobenemies/prototypes/functions.lua @@ -693,6 +693,11 @@ function bobmods.enemies.new_biter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) + table.remove(corpse_prototype.animation.layers) + corpse_prototype.animation_render_layer = "corpse" + corpse_prototype.final_render_layer = "corpse" + corpse_prototype.use_decay_layer = false + data:extend({ biter_prototype, corpse_prototype }) end @@ -1342,6 +1347,11 @@ function bobmods.enemies.new_spitter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) + table.remove(corpse_prototype.animation.layers) + corpse_prototype.animation_render_layer = "corpse" + corpse_prototype.final_render_layer = "corpse" + corpse_prototype.use_decay_layer = false + if not inputs.no_acid_stream == true then bobmods.enemies.acid_stream(inputs, final_scale) end @@ -2815,6 +2825,10 @@ function bobmods.enemies.new_worm(inputs) worm_corpse_2.icon = "__base__/graphics/icons/big-worm-corpse.png" worm_corpse_1.localised_name = { "entity-name.bob-enemies-corpse" } worm_corpse_2.localised_name = { "entity-name.bob-enemies-corpse" } + worm_corpse_1.animation_render_layer = "corpse" + worm_corpse_2.animation_render_layer = "corpse" + worm_corpse_1.final_render_layer = "corpse" + worm_corpse_2.final_render_layer = "corpse" if inputs.tint2 then table.insert( @@ -3170,9 +3184,19 @@ function bobmods.enemies.new_spawner(inputs) spawner_decay_animation(3, inputs.tint), }, decay_frame_transition_duration = 360, - final_render_layer = "lower-object-above-shadow", + animation_render_layer = "corpse", + final_render_layer = "corpse", } + table.remove(spawner_corpse.animation[1].layers) + table.remove(spawner_corpse.animation[2].layers) + table.remove(spawner_corpse.animation[3].layers) + table.remove(spawner_corpse.animation[4].layers) + table.remove(spawner_corpse.decay_animation[1].layers) + table.remove(spawner_corpse.decay_animation[2].layers) + table.remove(spawner_corpse.decay_animation[3].layers) + table.remove(spawner_corpse.decay_animation[4].layers) + if inputs.tint2 then table.insert( spawner_prototype.graphics_set.animations[1].layers, From 9d479102326efc8cad104d59731a754f3121c150 Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 5 Apr 2026 11:48:46 -0700 Subject: [PATCH 2/3] Update functions.lua --- bobenemies/prototypes/functions.lua | 26 +------------------------- 1 file changed, 1 insertion(+), 25 deletions(-) diff --git a/bobenemies/prototypes/functions.lua b/bobenemies/prototypes/functions.lua index 45013ce55..74b9c8fdb 100644 --- a/bobenemies/prototypes/functions.lua +++ b/bobenemies/prototypes/functions.lua @@ -693,11 +693,6 @@ function bobmods.enemies.new_biter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) - table.remove(corpse_prototype.animation.layers) - corpse_prototype.animation_render_layer = "corpse" - corpse_prototype.final_render_layer = "corpse" - corpse_prototype.use_decay_layer = false - data:extend({ biter_prototype, corpse_prototype }) end @@ -1347,11 +1342,6 @@ function bobmods.enemies.new_spitter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) - table.remove(corpse_prototype.animation.layers) - corpse_prototype.animation_render_layer = "corpse" - corpse_prototype.final_render_layer = "corpse" - corpse_prototype.use_decay_layer = false - if not inputs.no_acid_stream == true then bobmods.enemies.acid_stream(inputs, final_scale) end @@ -2825,10 +2815,6 @@ function bobmods.enemies.new_worm(inputs) worm_corpse_2.icon = "__base__/graphics/icons/big-worm-corpse.png" worm_corpse_1.localised_name = { "entity-name.bob-enemies-corpse" } worm_corpse_2.localised_name = { "entity-name.bob-enemies-corpse" } - worm_corpse_1.animation_render_layer = "corpse" - worm_corpse_2.animation_render_layer = "corpse" - worm_corpse_1.final_render_layer = "corpse" - worm_corpse_2.final_render_layer = "corpse" if inputs.tint2 then table.insert( @@ -3184,19 +3170,9 @@ function bobmods.enemies.new_spawner(inputs) spawner_decay_animation(3, inputs.tint), }, decay_frame_transition_duration = 360, - animation_render_layer = "corpse", - final_render_layer = "corpse", + final_render_layer = "lower-object-above-shadow", } - table.remove(spawner_corpse.animation[1].layers) - table.remove(spawner_corpse.animation[2].layers) - table.remove(spawner_corpse.animation[3].layers) - table.remove(spawner_corpse.animation[4].layers) - table.remove(spawner_corpse.decay_animation[1].layers) - table.remove(spawner_corpse.decay_animation[2].layers) - table.remove(spawner_corpse.decay_animation[3].layers) - table.remove(spawner_corpse.decay_animation[4].layers) - if inputs.tint2 then table.insert( spawner_prototype.graphics_set.animations[1].layers, From 3d09ae228d8a559eec4f31c45f069c31b95a8eca Mon Sep 17 00:00:00 2001 From: Qatavin <108201496+Qatavin@users.noreply.github.com> Date: Sun, 5 Apr 2026 11:54:42 -0700 Subject: [PATCH 3/3] Make artifacts appear over the corpses that drop them --- bobenemies/prototypes/functions.lua | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/bobenemies/prototypes/functions.lua b/bobenemies/prototypes/functions.lua index 74b9c8fdb..67098aa5d 100644 --- a/bobenemies/prototypes/functions.lua +++ b/bobenemies/prototypes/functions.lua @@ -693,6 +693,11 @@ function bobmods.enemies.new_biter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) + table.remove(corpse_prototype.animation.layers) + corpse_prototype.animation_render_layer = "corpse" + corpse_prototype.final_render_layer = "corpse" + corpse_prototype.use_decay_layer = false + data:extend({ biter_prototype, corpse_prototype }) end @@ -1342,6 +1347,11 @@ function bobmods.enemies.new_spitter(inputs) flags = { "placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map" }, }) + table.remove(corpse_prototype.animation.layers) + corpse_prototype.animation_render_layer = "corpse" + corpse_prototype.final_render_layer = "corpse" + corpse_prototype.use_decay_layer = false + if not inputs.no_acid_stream == true then bobmods.enemies.acid_stream(inputs, final_scale) end @@ -2815,6 +2825,10 @@ function bobmods.enemies.new_worm(inputs) worm_corpse_2.icon = "__base__/graphics/icons/big-worm-corpse.png" worm_corpse_1.localised_name = { "entity-name.bob-enemies-corpse" } worm_corpse_2.localised_name = { "entity-name.bob-enemies-corpse" } + worm_corpse_1.animation_render_layer = "corpse" + worm_corpse_2.animation_render_layer = "corpse" + worm_corpse_1.final_render_layer = "corpse" + worm_corpse_2.final_render_layer = "corpse" if inputs.tint2 then table.insert( @@ -3170,9 +3184,19 @@ function bobmods.enemies.new_spawner(inputs) spawner_decay_animation(3, inputs.tint), }, decay_frame_transition_duration = 360, - final_render_layer = "lower-object-above-shadow", + animation_render_layer = "corpse", + final_render_layer = "corpse", } + table.remove(spawner_corpse.animation[1].layers) + table.remove(spawner_corpse.animation[2].layers) + table.remove(spawner_corpse.animation[3].layers) + table.remove(spawner_corpse.animation[4].layers) + table.remove(spawner_corpse.decay_animation[1].layers) + table.remove(spawner_corpse.decay_animation[2].layers) + table.remove(spawner_corpse.decay_animation[3].layers) + table.remove(spawner_corpse.decay_animation[4].layers) + if inputs.tint2 then table.insert( spawner_prototype.graphics_set.animations[1].layers,