Page 6 of 33
Re: [MOD 0.13.17+] Rampant - 0.15.1
Posted: Sun Apr 30, 2017 1:30 am
by Veden
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?
Re: [MOD 0.13.17+] Rampant - 0.15.1
Posted: Sun Apr 30, 2017 1:44 am
by Shin
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?
Ok, thanks a lot!
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
Posted: Sun Apr 30, 2017 8:46 pm
by admo
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
How do I deploy this? Do I need to mod the entities or is this pasted into the console?
Re: [MOD 0.13.17+] Rampant - 0.15.3
Posted: Sun Apr 30, 2017 10:57 pm
by Veden
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
Posted: Mon May 01, 2017 2:43 am
by admo
Veden wrote:The build v0.15.3 has that code integrated and configuration options in the mod menu.
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.
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
Posted: Mon May 01, 2017 3:15 am
by Veden
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
Posted: Mon May 01, 2017 4:49 am
by admo
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."
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.
Re: [MOD 0.13.17+] Rampant - 0.15.4
Posted: Thu May 04, 2017 6:40 am
by Hyratel
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
Posted: Thu May 04, 2017 9:41 am
by kyranzor
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
Posted: Thu May 04, 2017 5:12 pm
by Veden
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 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.
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.
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.
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.
Re: [MOD 0.13.17+] Rampant - 0.15.4
Posted: Thu May 04, 2017 6:17 pm
by kyranzor
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
Posted: Thu May 04, 2017 6:43 pm
by Veden
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
The code above is how the attack waves scale, so I don't actually specify a minimum.
I will probably have something together within a day or two.
Re: [MOD 0.13.17+] Rampant - 0.15.4
Posted: Sun May 07, 2017 4:27 pm
by Earendel
Veden wrote: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 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.
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.
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.
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
Posted: Sun May 07, 2017 4:37 pm
by gum500
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
Re: [MOD 0.13.17+] Rampant - 0.15.5
Posted: Sun May 07, 2017 5:10 pm
by Earendel
Re: [MOD 0.13.17+] Rampant - 0.15.5
Posted: Sun May 07, 2017 6:46 pm
by Veden
Thanks for making the request. I will also look into trying out a different way of doing the projectiles.
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
What version are you running and what is on the server?
The log file doesn't have Rampant anywhere in it.
Re: [MOD 0.13.17+] Rampant - 0.15.5
Posted: Mon May 08, 2017 11:00 am
by Earendel
Veden wrote:
Thanks for making the request. I will also look into trying out a different way of doing the projectiles.
The response is basically that collision on streams will never happen.
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
Posted: Mon May 08, 2017 1:38 pm
by gum500
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
Posted: Wed May 10, 2017 1:59 am
by Gentz
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
Re: [MOD 0.13.17+] Rampant - 0.15.5
Posted: Wed May 10, 2017 3:39 am
by Veden
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
What is your mod list?
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