[MOD 0.13.17+] Rampant
Re: [MOD 0.13.17+] Rampant - 0.15.1
Should be a config option within the mod to toggle the projectiles.
config.useDumbProjectiles = true
set to false.
I haven't migrated the config to the new method in 0.15 yet, but the old config.lua should work.
Out of curiosity, what do you dislike about the non homing versions?
config.useDumbProjectiles = true
set to false.
I haven't migrated the config to the new method in 0.15 yet, but the old config.lua should work.
Out of curiosity, what do you dislike about the non homing versions?
Re: [MOD 0.13.17+] Rampant - 0.15.1
Ok, thanks a lot!Veden wrote:Should be a config option within the mod to toggle the projectiles.
config.useDumbProjectiles = true
set to false.
I haven't migrated the config to the new method in 0.15 yet, but the old config.lua should work.
Out of curiosity, what do you dislike about the non homing versions?
It makes it a lot easier to destroy alien bases because you can dodge the projectiles just by running around. It feels like it kinda makes the worm turrets useless. Otherwise it's a great mod so far. I have high hopes on it that it will make combat a lot more interesting.
Re: [MOD 0.13.17+] Rampant - 0.14.10
How do I deploy this? Do I need to mod the entities or is this pasted into the console?Veden wrote:...
The code below is something I had written for the Natural Evolution Mods to fix the rail targeting and pole destroying issues.
Code: Select all
local autoRepair = { "straight-rail" = true, "curved-rail" = true, "electric-pole" = true } -- this code would be in the onDeath event. Auto repair things like rails, and signals. Also by destroying the entity the enemy retargets. if (event.force == game.forces.enemy) and autoRepair[event.entity.name] then local repairPosition = event.entity.position local repairName = event.entity.name local repairForce = event.entity.force local repairDirection = event.entity.direction event.entity.destroy() local entityRepaired = game.surfaces[1].create_entity({position=repairPosition, name=repairName, direction=repairDirection, force=repairForce}) -- forces enemy to disperse local enemies = game.surfaces[1].find_entities_filtered({area = {{x=repairPosition.x-20, y=repairPosition.y-20}, {x=repairPosition.x+20, y=repairPosition.y+20}}, type = "unit", force = game.forces.enemy}) for i=1, #enemies do local enemy = enemies[i] enemy.set_command({type=defines.command.wander, distraction=defines.distraction.by_enemy}) end end
Re: [MOD 0.13.17+] Rampant - 0.15.3
The build v0.15.3 has that code integrated and configuration options in the mod menu.
Re: [MOD 0.13.17+] Rampant - 0.15.3
Great! I turned it on and things are working great except that if the spitters retreat near some rails they'll destroy them. They do ignore the rails on their way to attack me though.Veden wrote:The build v0.15.3 has that code integrated and configuration options in the mod menu.
edit: nevermind they just murdered some rails without approaching the turrets. I did turn on the options in the mod menu, then loaded the save, then placed the rails. The checkboxes show as on for straight and curved rails.
Re: [MOD 0.13.17+] Rampant - 0.15.4
I didn't name one of the settings very well, "make buildings safe from biters" needs to be enabled for any of the make safe toggles.
I'm uploading a new version with updated verbiage:
"Enable building safety."
I'm uploading a new version with updated verbiage:
"Enable building safety."
Re: [MOD 0.13.17+] Rampant - 0.15.4
Works great, I took out my personal roboports to deal with robots getting out while I'm riding a train and trying to repair rails.Veden wrote:I didn't name one of the settings very well, "make buildings safe from biters" needs to be enabled for any of the make safe toggles.
I'm uploading a new version with updated verbiage:
"Enable building safety."
Re: [MOD 0.13.17+] Rampant - 0.15.4
I'm crossposting because I don't know whose code it would fall under but the Dumb Spitter Shots bypass Walls Block Spitters Mod, rendering my turrets vulnerable when I was expecting otherwise
Re: [MOD 0.13.17+] Rampant - 0.15.4
Hey Veden,
I want to use Rampant AI as a dependency for my Zombie Swarm mod, which replaces some/all of the biters with zombie style enemies, and use your AI mod to give them more interesting behaviours. Is there a way for my mod to modify settings or Rampant AI such as the group sizes and attack frequencies etc? I want to make MASSIVE swarms of zombies attack the player and the player's base very frequently.
I want to use Rampant AI as a dependency for my Zombie Swarm mod, which replaces some/all of the biters with zombie style enemies, and use your AI mod to give them more interesting behaviours. Is there a way for my mod to modify settings or Rampant AI such as the group sizes and attack frequencies etc? I want to make MASSIVE swarms of zombies attack the player and the player's base very frequently.
Re: [MOD 0.13.17+] Rampant - 0.15.4
I don't know how possible it will be to actually make the non-homing versions collide with something due to the fact I'm using the flamethrower as the weapon prototype.Hyratel wrote:I'm crossposting because I don't know whose code it would fall under but the Dumb Spitter Shots bypass Walls Block Spitters Mod, rendering my turrets vulnerable when I was expecting otherwise
I tried last night adding some collision stuff into the prototype and was unable to get it to work, however, that doesn't mean it can't work. I will need to come back to this otherwise maybe Earendel has a solution to put into their wall block spitters mod.
I will have to expose somethings in the remote call interface. Potentially I would be willing to split some of the code into more of a library.kyranzor wrote:Hey Veden,
I want to use Rampant AI as a dependency for my Zombie Swarm mod, which replaces some/all of the biters with zombie style enemies, and use your AI mod to give them more interesting behaviours. Is there a way for my mod to modify settings or Rampant AI such as the group sizes and attack frequencies etc? I want to make MASSIVE swarms of zombies attack the player and the player's base very frequently.
Re: [MOD 0.13.17+] Rampant - 0.15.4
If you were so kind as to add some remote call interfaces to read/write the max wave size and the attack wave generation threshold it would be handy. Is there not a minimum wave size?
Re: [MOD 0.13.17+] Rampant - 0.15.4
Code: Select all
--[[
Used for gaussian random numbers
--]]
local function marsagliaPolarMethod()
local iid1
local iid2
local q
repeat
iid1 = 2 * math.random() + -1
iid2 = 2 * math.random() + -1
q = (iid1 * iid1) + (iid2 * iid2)
until (q ~= 0) and (q < 1)
local s = mSqrt((-2 * mLog10(q)) / q)
return iid1 * s
end
function mathUtils.gaussianRandom(mean, std_dev)
return mean + (marsagliaPolarMethod() * std_dev)
end
function mathUtils.gaussianRandomRange(mean, std_dev, min, max)
local q
repeat
q = mathUtils.gaussianRandom(mean, std_dev)
until (q >= min) and (q <= max)
return q
end
--[[
attackWaveScaling is used to calculate the attack wave size from the evolutionFactor
default is config.attackWaveMaxSize * (evolutionFactor ^ 1.666667)
DOES NOT affect vanilla biters waves
--]]
config.attackWaveScaling = function (evolutionFactor)
local attackWaveMaxSize = settings.startup["rampant-attackWaveMaxSize"].value
return math.ceil(gaussianRandomRange(attackWaveMaxSize * (evolutionFactor ^ 1.66667),
(attackWaveMaxSize * 0.5) * 0.333,
1,
attackWaveMaxSize + (attackWaveMaxSize * 0.25)))
end
I will probably have something together within a day or two.
Re: [MOD 0.13.17+] Rampant - 0.15.4
My only option right now would be to figure out a way for Walls-Block-Spitters to convert all of the stream effects into equivalent projectile effects that have direction_only=true set so they still act 'dumb', i.e. won't track the target but can still be blocked.Veden wrote:I don't know how possible it will be to actually make the non-homing versions collide with something due to the fact I'm using the flamethrower as the weapon prototype.Hyratel wrote:I'm crossposting because I don't know whose code it would fall under but the Dumb Spitter Shots bypass Walls Block Spitters Mod, rendering my turrets vulnerable when I was expecting otherwise
I tried last night adding some collision stuff into the prototype and was unable to get it to work, however, that doesn't mean it can't work. I will need to come back to this otherwise maybe Earendel has a solution to put into their wall block spitters mod.
It's not impossible, but it would be a huge amount of work to do it in a programmatic way that keeps up with any changes to this mod. A slightly more realistic option would be for Veden to either change most of the steams to be projectiles unless they absolutely have to be (such as long continuous streams). My mod stands a decent chance of updating the projectiles to be blocked at that point, or they could just be set up with a collision box and a collision mask that includes "layer-13" just to be sure. This change could also potentially be a config option, or perhaps detect the presence of Walls-Block-Spitters in order to make the change. Both of these options just add more work though.
I think the best immediate course of action is for both of us to make a modding interface request for the 'stream' prototype to support collision_box and collision_mask. If that is done then it can be made to work with streams without other changes.
Re: [MOD 0.13.17+] Rampant - 0.15.5
When im trying to play in multiplyaer with my friend he got this message and after he hits yes game crashed up im 100% rampant is causing this problem because we checked all mods nad when it toggle of everything is fine
- Attachments
-
- factorio-current.log
- (11.83 KiB) Downloaded 125 times
-
- unknown (1).png (2.8 MiB) Viewed 9125 times
Re: [MOD 0.13.17+] Rampant - 0.15.5
Modding Interface Request: Stream type to support collision_box, collision_mask
Re: [MOD 0.13.17+] Rampant - 0.15.5
Thanks for making the request. I will also look into trying out a different way of doing the projectiles.Earendel wrote:Modding Interface Request: Stream type to support collision_box, collision_mask
What version are you running and what is on the server?gum500 wrote:When im trying to play in multiplyaer with my friend he got this message and after he hits yes game crashed up im 100% rampant is causing this problem because we checked all mods nad when it toggle of everything is fine
The log file doesn't have Rampant anywhere in it.
Re: [MOD 0.13.17+] Rampant - 0.15.5
The response is basically that collision on streams will never happen.Veden wrote:Thanks for making the request. I will also look into trying out a different way of doing the projectiles.Earendel wrote:Modding Interface Request: Stream type to support collision_box, collision_mask
I think something visually similar to streams should be possible with projectiles. Projectiles can rotate like a rocket so you can use more of a directional shape. Also you can have them spawn 'smoke' as they go, but that smoke could be visually the same as the stream particles so it looks like a stream.
Re: [MOD 0.13.17+] Rampant - 0.15.5
Im using latest rampant and 0.15.9v of the game idk why log isnt have rampant but when we toogle it off everything is fine
Re: [MOD 0.13.17+] Rampant - 0.15.5
Can we have it so that "Use Natural Evolution Unit Launchers (Needs NE)" is disabled by default in 0.15 unless the NE mod is installed. Tracking down what was causing my game to crash when Quitting and Restarting was the most annoying thing ever when you have 80 mods.
Edit: Or at least give us some warning in the log file.
Edit: Spelling
Edit: Or at least give us some warning in the log file.
Edit: Spelling
Re: [MOD 0.13.17+] Rampant - 0.15.5
What is your mod list?Gentz wrote:Can we have it so that "Use Natural Evolution Unit Launchers (Needs NE)" is disabled by default in 0.15 unless the NE mod is installed. Tracking down what was causing my game to crash when Quitting and Restarting was the most annoying thing ever when you have 80 mods.
Edit: Or at least give us some warning in the log file.
Edit: Spelling
I can make the change, I don't know why it would change anything though. Below is the code that you are toggling and unless NE is detected wont run the NE specific changes.
Code: Select all
local vanillaUpdates = require("prototypes/enemies/UpdatesVanilla")
local bobsUpdates = require("prototypes/enemies/UpdatesBobs")
local NEUpdates = require("prototypes/enemies/UpdatesNE")
local function bobsDetected()
return data.raw["turret"]["bob-big-explosive-worm-turret"] ~= nil
end
local function NEDetected()
return data.raw["unit"]["medium-spitter-Mk3"] ~= nil
end
if settings.startup["rampant-useDumbProjectiles"].value then
vanillaUpdates.useDumbProjectiles()
if bobsDetected() then
require("prototypes/enemies/AttackBobs")
bobsUpdates.useDumbProjectiles()
end
if NEDetected() then
require("prototypes/enemies/AttackNE")
NEUpdates.useDumbProjectiles()
if settings.startup["rampant-useNEUnitLaunchers"].value then
NEUpdates.useNEUnitLaunchers()
end
end
end