New Enemies (Vanilla+)


New Nauvis enemies in the vanilla style. Flyers: flying biters in four evolution tiers, with their own nest. They cross walls and water, only anti-air turrets can hit them in the air, and they land to fight on the ground.

Content
14 days ago
2.0
347
Enemies

g Gun turrets

a month ago

I was wondering if it would be possible to allow gun turrets to fire at the flyers while they are airborne? (and possibly laser turrets too, though i don't know if they already can)
If not, could you send me on the right direction me on how to make a small mod to change it myself? I really don't want to install additional mods for specific counterplay- I already have many mods installed and the bloat is getting out of hand as it is
Awesome mod, Can't wait to see where it goes in the future!

a month ago

Thanks a lot, glad you're enjoying it!

I'm going to keep it as it is, though: gun turrets and laser turrets won't shoot flyers while they're in the air. That's the whole point of these enemies. If regular turrets could take them down, they'd just be biters with wings, and the threat they pose would be gone. Dealing with an enemy that comes from the air and needs its own answer is what makes them interesting. They do land, and on the ground every turret can hit them.

I know you'd rather not add more mods, so just as an alternative, in case you ever want dedicated anti-air: I have New Turrets (Vanilla+), with anti-air defenses based on Red Alert 2: the Flak Cannon and the Patriot missile launcher.

That said, if you want to change it for your own game, it only takes a tiny mod. Flyers in the air have the target type air-unit, and New Enemies adds air-unit to the ignore_target_mask of every turret that doesn't declare anti-air. Make a folder my-anti-air-tweak in your mods folder with these two files:

info.json

{
  "name": "my-anti-air-tweak",
  "version": "0.0.1",
  "title": "My anti-air tweak",
  "author": "me",
  "factorio_version": "2.0",
  "dependencies": ["new-enemies"]
}

data-final-fixes.lua

for _, t in pairs({{"ammo-turret", "gun-turret"}, {"electric-turret", "laser-turret"}}) do
  local turret = data.raw[t[1]][t[2]]
  local ignore = turret and turret.ignore_target_mask
  if ignore then
    for i = #ignore, 1, -1 do
      if ignore[i] == "air-unit" then table.remove(ignore, i) end
    end
    if #ignore == 0 then turret.ignore_target_mask = nil end
  end
end

The dependency makes it load after New Enemies, so it undoes that change for those two turrets only. Have fun!

a month ago

thank you for the help, and upon further thought, making gun turrets anti-air capable does trivialize the flyers quite a bit, so i may only change the laser turret to be anti-air capable, which i think solves the issue i have with needing to install another mod, while also giving laser turrets a more valid role, as i tend to avoid them in most bases i make, due to the high energy consumption and low damage compared to flamethrowers.
Thank you again!

New response