Toxic Biters


Adds a new biter faction: Toxic biters, spitters and worms! They spread a deadly poison cloud and may infect buildings, taking control of turrets and other things.

Content
a month ago
1.1 - 2.0
30.5K
Enemies

i Improving the quality of life

1 year, 9 months ago
(updated 1 year, 9 months ago)

Hi, MFerrari!
I have suggestions for tweaking your 3 bug mods. I made a fork of 2 of your mods (with a dependency) in which I change only a few parameters. I add an appearance depending on the humidity of the climate (Fiery in dry, icy in wet). I also make their cocoons and bugs immune to their elements. If it is possible to implement the setting of these parameters in the original mod, I would be very grateful.
I already have a working code for these settings.
Also with the function of disabling the spawn of ordinary beetles.

1 year, 9 months ago

Nice. I'd like to know the changes you made. This week I will take a look and then. I'm curious about appearance depending on the humidity of the climate (Fiery in dry, icy in wet)

1 year, 9 months ago
(updated 1 year, 9 months ago)

About spawn :
if water >= 0.5 spawn only "wet"climate
else 0 >= water <= 0.5 spawn only "dry" climate
If water > 1 spawn base enemy stoped
in enemy-autoplace.lua

function enemy_autoplace(params)
.......
if biomes_present then 
    temp_min=-50 
    temp_max=10  --frozen areas
    probability_expression = volume_to_noise_expression
    ({
        temperature_min = temp_min,
        temperature_max = temp_max
    })
else 
probability_expression = volume_to_noise_expression
    ({
        water_min = 0.5,
        water_max = 1
    })
end

if is_base then
    probability_expression = volume_to_noise_expression
({
    water_min = 5,
    water_max = 5
    })
end
......
local function enemy_despawner_autoplace(distance)
  return enemy_autoplace{
    distance_factor = distance,
    order = "b[enemy]-a[spawner]",
    is_base = true
  }
end

About resistance:
It seemed very strange to me that fiery cocoons explode in a chain. I just set the explosion and fire resistance to 100.

local new_fire_resists =
{
  {
    type = "explosion",
    percent = 100,
  },
  {
    type = "fire",
    percent = 100,
  },
  {
    type = "acid",
    percent = 100,
  },
  {
    type = "laser",
    percent = -30,
  },
  {
    type = "electric",
    percent = -40,
  }

And my addition Cold Rocket and Atomic Cold Rocket:

-- [COLD ROCKET] --
local cold_rocket_item = table.deepcopy(data.raw.ammo["rocket"])
cold_rocket_item.name = "cold-rocket"
cold_rocket_item.icon = "__ColdBitersExpanded__/graphics/icons/cold_rocket.png"
cold_rocket_item.ammo_type.action.action_delivery.projectile = "cold-rocket"
cold_rocket_item.order = "d[rocket-launcher]-b[explosive]-a"

local cold_rocket_projectile = table.deepcopy(data.raw.projectile["rocket"])
cold_rocket_projectile.name = "cold-rocket"
cold_rocket_projectile.action = 
{
    {
    type = "direct",
    action_delivery = 
    {
        type = "instant",
        target_effects = 
        {
            {
                type = "create-entity",
                show_in_tooltip = true,
                entity_name = "big-artillery-cold-explosion",

            }
        }
    }
},
{
    type = "area",
    radius = 3,
    action_delivery =
    {
        type = "instant",
        target_effects =
        {
            {
                type = "create-sticker",
                sticker = 'cb-cold-sticker'
            },
            {
                type = "damage",
                damage = { amount = 200, type = "cold" },
            apply_damage_to_trees = false
            }
        }
    }
}
}

data:extend({cold_rocket_item, cold_rocket_projectile})

-- [ATOMIC COLD ROCKET] --
local atomic_cold_rocket_item = table.deepcopy(data.raw.ammo["rocket"])
atomic_cold_rocket_item.name = "atomic-cold-rocket"
atomic_cold_rocket_item.icon = "__ColdBitersExpanded__/graphics/icons/atomic_cold_rocket.png"
atomic_cold_rocket_item.ammo_type.action.action_delivery.projectile = "atomic-cold-rocket"
atomic_cold_rocket_item.order = "d[rocket-launcher]-b[explosive]-a"

local atomic_cold_rocket_projectile = table.deepcopy(data.raw.projectile["rocket"])
atomic_cold_rocket_projectile.name = "atomic-cold-rocket"
atomic_cold_rocket_projectile.action = 
{
{
    type = "direct",
    action_delivery = 
    {
        type = "instant",
        target_effects = 
        {
            {
                type = "create-entity",
                show_in_tooltip = true,
                entity_name = "small-atomic-cold-explosion",

            }
        }
    }
},
{
    type = "area",
    radius = 11,
    action_delivery =
    {
        type = "instant",
        target_effects =
        {
            {
                type = "create-sticker",
                sticker = 'cb-cold-sticker'
            }
        }
    }
}
}

data:extend({atomic_cold_rocket_item, atomic_cold_rocket_projectile})
1 year, 9 months ago
(updated 1 year, 9 months ago)

Checking you explosive-biter-expanded mod, it looks like you are using frost biter values for temperatures... I'm not getting it... is it a mistake ?
The reason I do not add 100% resistance is because people love the chain explosions, and I have a mod that MAY cause two forces of fire biters to fight each other.

1 year, 9 months ago
(updated 1 year, 9 months ago)

-abount temperature:
temp_min
temp_max
-My mistake, i fix.
-about resistance:
Maybe add world-startup setting for on/off resistance?

New response