From ec3e9c674c67cbc52fc95d621e0d4db65d92bacc Mon Sep 17 00:00:00 2001 From: Aaron Veden Date: Sat, 20 Apr 2019 00:02:37 -0700 Subject: [PATCH] see changelog --- changelog.txt | 11 +++++++++ data-updates.lua | 3 ++- info.json | 2 +- locale/en/locale.cfg | 6 ++++- prototypes/Spawner.lua | 35 ++++++++++++++++++++-------- prototypes/utils/ProjectileUtils.lua | 1 + settings.lua | 9 +++++++ 7 files changed, 54 insertions(+), 13 deletions(-) diff --git a/changelog.txt b/changelog.txt index fe10f5c..a9754fb 100755 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,14 @@ +--------------------------------------------------------------------------------------------------- +Version: 0.17.20 +Date: 4. 19. 2019 + Improvements: + - Spawner faction spit spawned biters now lose life over time + - Added mod setting that causes biter projectiles to no longer collide with other biters but still collides everything else + Tweaks: + - Doubled all spawner faction spit spawned biters health (30,60,90,120,150,180,220,500,1000,2000) + Bugfixes: + - Fixed unkillable construction robot settings not clearing and setting new resistance table + --------------------------------------------------------------------------------------------------- Version: 0.17.19 Date: 4. 08. 2019 diff --git a/data-updates.lua b/data-updates.lua index 7e533c3..02430cb 100755 --- a/data-updates.lua +++ b/data-updates.lua @@ -38,7 +38,8 @@ for _, robot in pairs(data.raw["construction-robot"]) do end robot.collision_mask[#robot.collision_mask+1] = "layer-11" - if (settings.startup["rampant-unkillableConstructionRobots"].value) then + if (settings.startup["rampant-unkillableConstructionRobots"].value) then + robot.resistances = {} for damageType, _ in pairs(data.raw["damage-type"]) do robot.resistances[damageType] = { type = damageType, diff --git a/info.json b/info.json index 21a0d10..932bb11 100755 --- a/info.json +++ b/info.json @@ -1,7 +1,7 @@ { "name" : "Rampant", "factorio_version" : "0.17", - "version" : "0.17.19", + "version" : "0.17.20", "title" : "Rampant", "author" : "Veden", "homepage" : "https://forums.factorio.com/viewtopic.php?f=94&t=31445", diff --git a/locale/en/locale.cfg b/locale/en/locale.cfg index eb6c6a8..54c0e37 100755 --- a/locale/en/locale.cfg +++ b/locale/en/locale.cfg @@ -12500,6 +12500,8 @@ rampant-acidEnemy=World: Acid Biter Faction rampant-energyThiefEnemy=World: Energy Thief Biter Faction rampant-poisonEnemy=World: Poison Biter Faction +rampant-disableCollidingProjectiles=Projectiles: Non biter force colliding projectiles + [mod-setting-description] rampant-unitSpawnerBreath=Now unit spawners breath air so they are affected by things like poison capsules rampant-useDumbProjectiles=Use the projectile attacks that are blockable. This should be checked if you are using the new enemies. @@ -12583,4 +12585,6 @@ rampant-suicideEnemy=Suicide Biter Faction, Only Biters that explode when they a rampant-physicalEnemy=Physical Biter Faction, Only Biters. Major resistance to physical, Major resistance to explosive, Minor Weakness to Electric. rampant-acidEnemy=Acid Biter Faction, Major resistance to Acid, Minor resistance to Poison. rampant-energyThiefEnemy=Energy Thief Biter Faction, Major resistance to Electric, Minor resistance to Laser. Destroying powered structures creates draining crystals. -rampant-poisonEnemy=Poison Biter Faction, Only Biters. On death creates a cloud that heals biters and hurts player objects. Major resistance to Poison, Minor weakness to Electric, Minor weakness to Explosive, Minor weakness to Laser, Minor resistance to Fire. \ No newline at end of file +rampant-poisonEnemy=Poison Biter Faction, Only Biters. On death creates a cloud that heals biters and hurts player objects. Major resistance to Poison, Minor weakness to Electric, Minor weakness to Explosive, Minor weakness to Laser, Minor resistance to Fire. + +rampant-disableCollidingProjectiles=Biter projectiles no longer collide with other biters, worms or nests. Everything else still collides with biter projectiles. \ No newline at end of file diff --git a/prototypes/Spawner.lua b/prototypes/Spawner.lua index 7c5420f..ef16855 100755 --- a/prototypes/Spawner.lua +++ b/prototypes/Spawner.lua @@ -562,16 +562,31 @@ function spawner.addFaction() { type = "attribute", name = "health", - [1] = 15, - [2] = 30, - [3] = 45, - [4] = 60, - [5] = 75, - [6] = 90, - [7] = 110, - [8] = 250, - [9] = 500, - [10] = 1000 + [1] = 30, + [2] = 60, + [3] = 90, + [4] = 120, + [5] = 150, + [6] = 180, + [7] = 220, + [8] = 500, + [9] = 1000, + [10] = 2000 + }, + + { + type = "attribute", + name = "healing", + [1] = -0.05, + [2] = -0.05, + [3] = -0.05, + [4] = -0.06, + [5] = -0.07, + [6] = -0.07, + [7] = -0.08, + [8] = -0.08, + [9] = -0.09, + [10] = -0.09 } }, diff --git a/prototypes/utils/ProjectileUtils.lua b/prototypes/utils/ProjectileUtils.lua index 22f266a..8c5d8e9 100755 --- a/prototypes/utils/ProjectileUtils.lua +++ b/prototypes/utils/ProjectileUtils.lua @@ -12,6 +12,7 @@ function projectileUtils.makeProjectile(name, attributes, attack) direction_only = attributes.directionOnly, piercing_damage = attributes.piercingDamage or 0, acceleration = attributes.acceleration or 0.01, + force_condition = (settings.startup["rampant-disableCollidingProjectiles"].value and "not-same") or nil, action = attack, animation = { diff --git a/settings.lua b/settings.lua index 9c1369d..3ccf60c 100755 --- a/settings.lua +++ b/settings.lua @@ -19,6 +19,15 @@ data:extend({ per_user = false }, + { + type = "bool-setting", + name = "rampant-disableCollidingProjectiles", + setting_type = "startup", + default_value = true, + order = "b[modifier]-b[trigger]", + per_user = false + }, + { type = "double-setting", name = "rampant-attackPlayerThreshold",