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
Earendel wrote:Modding Interface Request: Stream type to support collision_box, collision_mask
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:
Earendel wrote:Modding Interface Request: Stream type to support collision_box, collision_mask
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