mirror of
https://github.com/veden/Rampant.git
synced 2024-12-26 20:54:12 +02:00
still need to add laser, then alignment table, numbers pass
This commit is contained in:
parent
2bf7665412
commit
a2a3344678
@ -182,7 +182,7 @@ function upgrade.attempt(natives)
|
||||
natives.baseIndex = 1
|
||||
natives.baseIncrement = 0
|
||||
|
||||
game.surfaces[1].print("Rampant - Version 0.16.4")
|
||||
game.surfaces[1].print("Rampant - Version 0.16.5")
|
||||
global.version = constants.VERSION_39
|
||||
end
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.16.4
|
||||
Version: 0.16.5
|
||||
Date: 1. 23. 2018
|
||||
Major Feature:
|
||||
- Generated enemies for a large varity of things to battle
|
||||
|
@ -9,16 +9,14 @@ if settings.startup["rampant-newEnemies"].value then
|
||||
require("prototypes/Electric")
|
||||
require("prototypes/Nuclear")
|
||||
require("prototypes/Inferno")
|
||||
-- require("prototypes/Fast")
|
||||
-- require("prototypes/Troll")
|
||||
require("prototypes/Fast")
|
||||
require("prototypes/Troll")
|
||||
-- require("prototypes/Decaying")
|
||||
-- require("prototypes/Poison")
|
||||
-- require("prototypes/Undying")
|
||||
-- require("prototypes/Wasp")
|
||||
-- require("prototypes/Laser")
|
||||
|
||||
end
|
||||
|
||||
if settings.startup["rampant-newEnemies"].value then
|
||||
for k, unitSpawner in pairs(data.raw["unit-spawner"]) do
|
||||
if (unitSpawner.name ~= "biter-spawner") then
|
||||
unitSpawner.autoplace = nil
|
||||
|
@ -19,7 +19,7 @@ if settings.startup["rampant-removeBloodParticles"].value then
|
||||
explosions["blood-explosion-huge"]["created_effect"] = nil
|
||||
end
|
||||
|
||||
if settings.startup["rampant-useDumbProjectiles"].value then
|
||||
if not settings.startup["rampant-newEnemies"].value and settings.startup["rampant-useDumbProjectiles"].value then
|
||||
vanillaUpdates.useDumbProjectiles()
|
||||
if bobsDetected() then
|
||||
require("prototypes/utils/AttackBobs")
|
||||
|
2
data.lua
2
data.lua
@ -1,6 +1,6 @@
|
||||
local acidBall = require("prototypes/utils/AttackBall")
|
||||
|
||||
if settings.startup["rampant-useDumbProjectiles"].value then
|
||||
if not settings.startup["rampant-newEnemies"].value and settings.startup["rampant-useDumbProjectiles"].value then
|
||||
acidBall.generateLegacy()
|
||||
end
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name" : "Rampant",
|
||||
"factorio_version" : "0.16",
|
||||
"version" : "0.16.4",
|
||||
"version" : "0.16.5",
|
||||
"title" : "Rampant",
|
||||
"author" : "Veden",
|
||||
"homepage" : "https://forums.factorio.com/viewtopic.php?f=94&t=31445",
|
||||
|
@ -40,6 +40,26 @@ local NUCLEAR_WORM_VARIATIONS = constants.NUCLEAR_WORM_VARIATIONS
|
||||
local NUCLEAR_NEST_TIERS = constants.NUCLEAR_NEST_TIERS
|
||||
local NUCLEAR_NEST_VARIATIONS = constants.NUCLEAR_NEST_VARIATIONS
|
||||
|
||||
local FIRE_WORM_TIERS = constants.FIRE_WORM_TIERS
|
||||
local FIRE_WORM_VARIATIONS = constants.FIRE_WORM_VARIATIONS
|
||||
local FIRE_NEST_TIERS = constants.FIRE_NEST_TIERS
|
||||
local FIRE_NEST_VARIATIONS = constants.FIRE_NEST_VARIATIONS
|
||||
|
||||
local INFERNO_WORM_TIERS = constants.INFERNO_WORM_TIERS
|
||||
local INFERNO_WORM_VARIATIONS = constants.INFERNO_WORM_VARIATIONS
|
||||
local INFERNO_NEST_TIERS = constants.INFERNO_NEST_TIERS
|
||||
local INFERNO_NEST_VARIATIONS = constants.INFERNO_NEST_VARIATIONS
|
||||
|
||||
local TROLL_WORM_TIERS = constants.TROLL_WORM_TIERS
|
||||
local TROLL_WORM_VARIATIONS = constants.TROLL_WORM_VARIATIONS
|
||||
local TROLL_NEST_TIERS = constants.TROLL_NEST_TIERS
|
||||
local TROLL_NEST_VARIATIONS = constants.TROLL_NEST_VARIATIONS
|
||||
|
||||
local FAST_WORM_TIERS = constants.FAST_WORM_TIERS
|
||||
local FAST_WORM_VARIATIONS = constants.FAST_WORM_VARIATIONS
|
||||
local FAST_NEST_TIERS = constants.FAST_NEST_TIERS
|
||||
local FAST_NEST_VARIATIONS = constants.FAST_NEST_VARIATIONS
|
||||
|
||||
|
||||
local BASE_ALIGNMENT_NEUTRAL = constants.BASE_ALIGNMENT_NEUTRAL
|
||||
local BASE_ALIGNMENT_ACID = constants.BASE_ALIGNMENT_ACID
|
||||
@ -47,6 +67,10 @@ local BASE_ALIGNMENT_ELECTRIC = constants.BASE_ALIGNMENT_ELECTRIC
|
||||
local BASE_ALIGNMENT_PHYSICAL = constants.BASE_ALIGNMENT_PHYSICAL
|
||||
local BASE_ALIGNMENT_SUICIDE = constants.BASE_ALIGNMENT_SUICIDE
|
||||
local BASE_ALIGNMENT_NUCLEAR = constants.BASE_ALIGNMENT_NUCLEAR
|
||||
local BASE_ALIGNMENT_INFERNO = constants.BASE_ALIGNMENT_INFERNO
|
||||
local BASE_ALIGNMENT_FIRE = constants.BASE_ALIGNMENT_FIRE
|
||||
local BASE_ALIGNMENT_FAST = constants.BASE_ALIGNMENT_FAST
|
||||
local BASE_ALIGNMENT_TROLL = constants.BASE_ALIGNMENT_TROLL
|
||||
|
||||
local BASE_WORM_UPGRADE = constants.BASE_WORM_UPGRADE
|
||||
local BASE_SPAWNER_UPGRADE = constants.BASE_SPAWNER_UPGRADE
|
||||
@ -71,8 +95,6 @@ local SENTINEL_IMPASSABLE_CHUNK = constants.SENTINEL_IMPASSABLE_CHUNK
|
||||
local euclideanDistancePoints = mathUtils.euclideanDistancePoints
|
||||
local roundToFloor = mathUtils.roundToFloor
|
||||
|
||||
local isRampant = stringUtils.isRampant
|
||||
|
||||
local gaussianRandomRange = mathUtils.gaussianRandomRange
|
||||
|
||||
local mFloor = math.floor
|
||||
@ -243,8 +265,9 @@ function baseUtils.createBase(map, natives, evolutionFactor, chunk, surface, tic
|
||||
|
||||
local meanLevel = mFloor(distance / 200)
|
||||
|
||||
-- if then
|
||||
-- end
|
||||
local distanceIndex = roundToFloor(mMin(1, distance * BASE_DISTANCE_TO_EVO_INDEX), EVOLUTION_INCREMENTS)
|
||||
local evoIndex = mMax(distanceIndex, roundToFloor(evolutionFactor, EVOLUTION_INCREMENTS))
|
||||
|
||||
--local alignments = { BASE_ALIGNMENT_NEUTRAL }
|
||||
local alignment = BASE_ALIGNMENT_NEUTRAL
|
||||
|
||||
@ -321,6 +344,10 @@ end
|
||||
function baseUtils.rebuildNativeTables(natives, surface)
|
||||
natives.evolutionTableUnitSpawner = {}
|
||||
natives.evolutionTableWorm = {}
|
||||
natives.evolutionTableAlignment = {}
|
||||
|
||||
-- todo fill out alignment evolution levels
|
||||
natives.evolutionTableAlignment =
|
||||
|
||||
processUnitClass(NEUTRAL_NEST_VARIATIONS,
|
||||
NEUTRAL_NEST_TIERS,
|
||||
@ -355,16 +382,16 @@ function baseUtils.rebuildNativeTables(natives, surface)
|
||||
BASE_ALIGNMENT_PHYSICAL,
|
||||
"physical")
|
||||
|
||||
-- processUnitClass(FIRE_NEST_VARIATIONS,
|
||||
-- FIRE_NEST_TIERS,
|
||||
-- FIRE_NEST_VARIATIONS,
|
||||
-- FIRE_NEST_TIERS,
|
||||
-- FIRE_WORM_VARIATIONS,
|
||||
-- FIRE_WORM_TIERS,
|
||||
-- surface,
|
||||
-- natives,
|
||||
-- BASE_ALIGNMENT_FIRE,
|
||||
-- "fire")
|
||||
processUnitClass(FIRE_NEST_VARIATIONS,
|
||||
FIRE_NEST_TIERS,
|
||||
FIRE_NEST_VARIATIONS,
|
||||
FIRE_NEST_TIERS,
|
||||
FIRE_WORM_VARIATIONS,
|
||||
FIRE_WORM_TIERS,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_FIRE,
|
||||
"fire")
|
||||
|
||||
processUnitClass(ELECTRIC_NEST_VARIATIONS,
|
||||
ELECTRIC_NEST_TIERS,
|
||||
@ -399,38 +426,38 @@ function baseUtils.rebuildNativeTables(natives, surface)
|
||||
BASE_ALIGNMENT_NUCLEAR,
|
||||
"nuclear")
|
||||
|
||||
-- processUnitClass(TROLL_NEST_VARIATIONS,
|
||||
-- TROLL_NEST_TIERS,
|
||||
-- TROLL_NEST_VARIATIONS,
|
||||
-- TROLL_NEST_TIERS,
|
||||
-- TROLL_WORM_VARIATIONS,
|
||||
-- TROLL_WORM_TIERS,
|
||||
-- surface,
|
||||
-- natives,
|
||||
-- BASE_ALIGNMENT_TROLL,
|
||||
-- "troll")
|
||||
processUnitClass(TROLL_NEST_VARIATIONS,
|
||||
TROLL_NEST_TIERS,
|
||||
TROLL_NEST_VARIATIONS,
|
||||
TROLL_NEST_TIERS,
|
||||
TROLL_WORM_VARIATIONS,
|
||||
TROLL_WORM_TIERS,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_TROLL,
|
||||
"troll")
|
||||
|
||||
-- processUnitClass(INFERNO_NEST_VARIATIONS,
|
||||
-- INFERNO_NEST_TIERS,
|
||||
-- INFERNO_NEST_VARIATIONS,
|
||||
-- INFERNO_NEST_TIERS,
|
||||
-- INFERNO_WORM_VARIATIONS,
|
||||
-- INFERNO_WORM_TIERS,
|
||||
-- surface,
|
||||
-- natives,
|
||||
-- BASE_ALIGNMENT_INFERNO,
|
||||
-- "inferno")
|
||||
processUnitClass(0,
|
||||
0,
|
||||
INFERNO_NEST_VARIATIONS,
|
||||
INFERNO_NEST_TIERS,
|
||||
INFERNO_WORM_VARIATIONS,
|
||||
INFERNO_WORM_TIERS,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_INFERNO,
|
||||
"inferno")
|
||||
|
||||
-- processUnitClass(FAST_NEST_VARIATIONS,
|
||||
-- FAST_NEST_TIERS,
|
||||
-- FAST_NEST_VARIATIONS,
|
||||
-- FAST_NEST_TIERS,
|
||||
-- FAST_WORM_VARIATIONS,
|
||||
-- FAST_WORM_TIERS,
|
||||
-- surface,
|
||||
-- natives,
|
||||
-- BASE_ALIGNMENT_FAST,
|
||||
-- "fast")
|
||||
processUnitClass(FAST_NEST_VARIATIONS,
|
||||
FAST_NEST_TIERS,
|
||||
FAST_NEST_VARIATIONS,
|
||||
FAST_NEST_TIERS,
|
||||
FAST_WORM_VARIATIONS,
|
||||
FAST_WORM_TIERS,
|
||||
surface,
|
||||
natives,
|
||||
BASE_ALIGNMENT_FAST,
|
||||
"fast")
|
||||
|
||||
-- processUnitClass(DECAYING_NEST_VARIATIONS,
|
||||
-- DECAYING_NEST_TIERS,
|
||||
|
@ -136,12 +136,12 @@ neutralPath[constants.BASE_ALIGNMENT_ACID] = true
|
||||
neutralPath[constants.BASE_ALIGNMENT_FIRE] = true
|
||||
neutralPath[constants.BASE_ALIGNMENT_PHYSICAL] = true
|
||||
neutralPath[constants.BASE_ALIGNMENT_ELECTRIC] = true
|
||||
neutralPath[constants.BASE_ALIGNMENT_DECAYING] = true
|
||||
-- neutralPath[constants.BASE_ALIGNMENT_DECAYING] = true
|
||||
neutralPath[constants.BASE_ALIGNMENT_SUICIDE] = true
|
||||
-- neutralPath[constants.BASE_ALIGNMENT_WEB] = true
|
||||
neutralPath[constants.BASE_ALIGNMENT_TROLL] = true
|
||||
neutralPath[constants.BASE_ALIGNMENT_FAST] = true
|
||||
neutralPath[constants.BASE_ALIGNMENT_WASP] = true
|
||||
-- neutralPath[constants.BASE_ALIGNMENT_WASP] = true
|
||||
|
||||
local suicidePath = {}
|
||||
suicidePath[constants.BASE_ALIGNMENT_NUCLEAR] = true
|
||||
@ -150,11 +150,11 @@ local firePath = {}
|
||||
firePath[constants.BASE_ALIGNMENT_INFERNO] = true
|
||||
|
||||
local acidPath = {}
|
||||
acidPath[constants.BASE_ALIGNMENT_POSION] = true
|
||||
-- acidPath[constants.BASE_ALIGNMENT_POSION] = true
|
||||
-- acidPath[constants.BASE_ALIGNMENT_INFEST] = true
|
||||
|
||||
local decayingPath = {}
|
||||
decayingPath[constants.BASE_ALIGNMENT_UNDYING] = true
|
||||
-- decayingPath[constants.BASE_ALIGNMENT_UNDYING] = true
|
||||
|
||||
local electricPath = {}
|
||||
-- electricPath[constants.BASE_ALIGNMENT_ENERGY_THIEF] = true
|
||||
@ -165,7 +165,7 @@ constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_NEUTRAL] = neutralPath
|
||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_FIRE] = firePath
|
||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_SUICIDE] = suicidePath
|
||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_ACID] = acidPath
|
||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_DECAYING] = decayingPath
|
||||
-- constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_DECAYING] = decayingPath
|
||||
constants.BASE_ALIGNMENT_PATHS[constants.BASE_ALIGNMENT_ELECTRIC] = electricPath
|
||||
|
||||
-- ai retreat
|
||||
|
@ -585,7 +585,7 @@ buildUnitSpawner(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "acid-ball",
|
||||
attackName = "acid-spitter",
|
||||
tint = {r=0, g=0.85, b=0.1, a=0.65},
|
||||
pTint = {r=0, g=1, b=0.1, a=0.5},
|
||||
sTint = {r=0, g=1, b=0.1, a=0.5}
|
||||
@ -1200,7 +1200,7 @@ buildWorm(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "worm-acid-ball",
|
||||
attackName = "acid-worm",
|
||||
tint = {r=0, g=0.85, b=0.1, a=0.65},
|
||||
pTint = {r=0, g=1, b=0.1, a=0.5},
|
||||
sTint = {r=0, g=1, b=0.1, a=0.5}
|
||||
@ -1217,9 +1217,9 @@ buildWorm(
|
||||
[5] = 900,
|
||||
[6] = 1000,
|
||||
[7] = 1500,
|
||||
[8] = 1500,
|
||||
[9] = 2500,
|
||||
[10] = 4500
|
||||
[8] = 3000,
|
||||
[9] = 5000,
|
||||
[10] = 9000
|
||||
},
|
||||
|
||||
{
|
||||
|
@ -622,7 +622,7 @@ buildWorm(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "worm-beam",
|
||||
attackName = "worm-electric",
|
||||
tint = {r=0, g=0.25, b=0.83, a=0.65}
|
||||
},
|
||||
|
||||
@ -637,9 +637,9 @@ buildWorm(
|
||||
[5] = 900,
|
||||
[6] = 1000,
|
||||
[7] = 1500,
|
||||
[8] = 1500,
|
||||
[9] = 2500,
|
||||
[10] = 4500
|
||||
[8] = 3000,
|
||||
[9] = 5000,
|
||||
[10] = 9000
|
||||
},
|
||||
|
||||
{
|
||||
@ -913,10 +913,7 @@ buildWorm(
|
||||
},
|
||||
|
||||
function (attributes)
|
||||
makeBeam(attributes)
|
||||
|
||||
return createElectricAttack(attributes,
|
||||
attributes.name .. "-beam-rampant")
|
||||
return createElectricAttack(attributes, makeBeam(attributes))
|
||||
end,
|
||||
|
||||
ELECTRIC_WORM_VARIATIONS,
|
||||
|
1348
prototypes/Fast.lua
Executable file
1348
prototypes/Fast.lua
Executable file
File diff suppressed because it is too large
Load Diff
@ -582,7 +582,7 @@ buildUnitSpawner(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "spitter-fire",
|
||||
attackName = "fire-spitter",
|
||||
tint = {r=0.65, g=0, b=0, a=0.65},
|
||||
pTint = {r=1, g=1, b=1, a=0.5},
|
||||
sTint = {r=1, g=1, b=1, a=0.5}
|
||||
@ -1126,7 +1126,7 @@ buildWorm(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "worm-fire",
|
||||
attackName = "fire-worm",
|
||||
tint = {r=0.65, g=0, b=0, a=0.65},
|
||||
pTint = {r=1, g=1, b=1, a=0.5},
|
||||
sTint = {r=1, g=1, b=1, a=0.5}
|
||||
|
@ -293,19 +293,19 @@ buildUnitSpawner(
|
||||
[10] = 20000
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
type = "attack",
|
||||
name = "damage",
|
||||
[1] = 4,
|
||||
[2] = 9,
|
||||
[3] = 14,
|
||||
[4] = 23,
|
||||
[5] = 30,
|
||||
[6] = 37,
|
||||
[7] = 45,
|
||||
[8] = 57,
|
||||
[9] = 70,
|
||||
[10] = 80
|
||||
[2] = 4,
|
||||
[3] = 5,
|
||||
[4] = 5,
|
||||
[5] = 6,
|
||||
[6] = 6,
|
||||
[7] = 7,
|
||||
[8] = 7,
|
||||
[9] = 8,
|
||||
[10] = 8
|
||||
},
|
||||
|
||||
{
|
||||
@ -757,9 +757,9 @@ buildWorm(
|
||||
[5] = 900,
|
||||
[6] = 1000,
|
||||
[7] = 1500,
|
||||
[8] = 1500,
|
||||
[9] = 2500,
|
||||
[10] = 4500
|
||||
[8] = 3000,
|
||||
[9] = 5000,
|
||||
[10] = 9000
|
||||
},
|
||||
|
||||
{
|
||||
@ -915,16 +915,16 @@ buildWorm(
|
||||
{
|
||||
type = "attack",
|
||||
name = "damage",
|
||||
[1] = 12,
|
||||
[2] = 20,
|
||||
[3] = 25,
|
||||
[4] = 30,
|
||||
[5] = 35,
|
||||
[6] = 40,
|
||||
[7] = 50,
|
||||
[8] = 60,
|
||||
[9] = 70,
|
||||
[10] = 80
|
||||
[1] = 4,
|
||||
[2] = 4,
|
||||
[3] = 5,
|
||||
[4] = 5,
|
||||
[5] = 6,
|
||||
[6] = 6,
|
||||
[7] = 7,
|
||||
[8] = 7,
|
||||
[9] = 8,
|
||||
[10] = 8
|
||||
},
|
||||
|
||||
{
|
||||
|
@ -99,8 +99,7 @@ buildUnitSpawner(
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "cooldown",
|
||||
[1] = 35,
|
||||
@ -113,11 +112,9 @@ buildUnitSpawner(
|
||||
[8] = 50,
|
||||
[9] = 55,
|
||||
[10] = 57
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "spawningTimeModifer",
|
||||
[1] = 0,
|
||||
@ -130,11 +127,9 @@ buildUnitSpawner(
|
||||
[8] = 10,
|
||||
[9] = 12,
|
||||
[10] = 12
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "pollutionToAttack",
|
||||
[1] = 200,
|
||||
@ -147,11 +142,9 @@ buildUnitSpawner(
|
||||
[8] = 25000,
|
||||
[9] = 30000,
|
||||
[10] = 40000
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "damage",
|
||||
[1] = 7,
|
||||
@ -164,11 +157,9 @@ buildUnitSpawner(
|
||||
[8] = 90,
|
||||
[9] = 150,
|
||||
[10] = 200
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "healing",
|
||||
[1] = 0.01,
|
||||
@ -181,11 +172,9 @@ buildUnitSpawner(
|
||||
[8] = 0.12,
|
||||
[9] = 0.14,
|
||||
[10] = 0.16
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "movement",
|
||||
[1] = 0.2,
|
||||
@ -290,8 +279,7 @@ buildUnitSpawner(
|
||||
|
||||
unitSpawner = {
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "health",
|
||||
[1] = 350,
|
||||
@ -304,11 +292,9 @@ buildUnitSpawner(
|
||||
[8] = 7000,
|
||||
[9] = 10000,
|
||||
[10] = 15000
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "healing",
|
||||
[1] = 0.02,
|
||||
@ -321,11 +307,9 @@ buildUnitSpawner(
|
||||
[8] = 0.032,
|
||||
[9] = 0.034,
|
||||
[10] = 0.036
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "spawingCooldownStart",
|
||||
[1] = 360,
|
||||
@ -338,11 +322,9 @@ buildUnitSpawner(
|
||||
[8] = 345,
|
||||
[9] = 340,
|
||||
[10] = 340
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "spawingCooldownEnd",
|
||||
[1] = 150,
|
||||
@ -355,11 +337,9 @@ buildUnitSpawner(
|
||||
[8] = 135,
|
||||
[9] = 130,
|
||||
[10] = 130
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "evolutionRequirement",
|
||||
[1] = 0,
|
||||
@ -372,25 +352,24 @@ buildUnitSpawner(
|
||||
[8] = 0.72,
|
||||
[9] = 0.82,
|
||||
[10] = 0.92
|
||||
|
||||
},
|
||||
|
||||
{ type = "attribute",
|
||||
name = "unitsOwned",
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 8,
|
||||
[4] = 8,
|
||||
[5] = 9,
|
||||
[6] = 9,
|
||||
[7] = 10,
|
||||
[8] = 10,
|
||||
[9] = 11,
|
||||
[10] = 11
|
||||
|
||||
},
|
||||
{
|
||||
type = "attribute",
|
||||
name = "unitsOwned",
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 8,
|
||||
[4] = 8,
|
||||
[5] = 9,
|
||||
[6] = 9,
|
||||
[7] = 10,
|
||||
[8] = 10,
|
||||
[9] = 11,
|
||||
[10] = 11
|
||||
|
||||
},
|
||||
{
|
||||
type = "attribute",
|
||||
name = "unitsToSpawn",
|
||||
[1] = 5,
|
||||
@ -548,7 +527,7 @@ buildUnitSpawner(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "acid-ball",
|
||||
attackName = "neutral-spitter",
|
||||
tint = {r=0.56, g=0.46, b=0.42, a=0.65},
|
||||
pTint = {r=0, g=1, b=1, a=0.5},
|
||||
sTint = {r=0, g=1, b=1, a=0.5}
|
||||
@ -578,8 +557,7 @@ buildUnitSpawner(
|
||||
|
||||
{
|
||||
unit = {
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "health",
|
||||
[1] = 10,
|
||||
@ -592,11 +570,9 @@ buildUnitSpawner(
|
||||
[8] = 1500,
|
||||
[9] = 2500,
|
||||
[10] = 4500
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "cooldown",
|
||||
[1] = 100,
|
||||
@ -609,11 +585,9 @@ buildUnitSpawner(
|
||||
[8] = 93,
|
||||
[9] = 90,
|
||||
[10] = 90
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "spawningTimeModifer",
|
||||
[1] = 0,
|
||||
@ -626,11 +600,9 @@ buildUnitSpawner(
|
||||
[8] = 10,
|
||||
[9] = 12,
|
||||
[10] = 12
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "pollutionToAttack",
|
||||
[1] = 200,
|
||||
@ -643,11 +615,9 @@ buildUnitSpawner(
|
||||
[8] = 12500,
|
||||
[9] = 15000,
|
||||
[10] = 20000
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "damage",
|
||||
[1] = 4,
|
||||
@ -660,11 +630,9 @@ buildUnitSpawner(
|
||||
[8] = 57,
|
||||
[9] = 70,
|
||||
[10] = 80
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "healing",
|
||||
[1] = 0.01,
|
||||
@ -677,7 +645,6 @@ buildUnitSpawner(
|
||||
[8] = 0.12,
|
||||
[9] = 0.14,
|
||||
[10] = 0.16
|
||||
|
||||
},
|
||||
|
||||
|
||||
@ -755,7 +722,6 @@ buildUnitSpawner(
|
||||
[8] = 1.9,
|
||||
[9] = 2.0,
|
||||
[10] = 2.5
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
@ -806,8 +772,7 @@ buildUnitSpawner(
|
||||
|
||||
unitSpawner = {
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "health",
|
||||
[1] = 350,
|
||||
@ -820,11 +785,9 @@ buildUnitSpawner(
|
||||
[8] = 7000,
|
||||
[9] = 10000,
|
||||
[10] = 15000
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "healing",
|
||||
[1] = 0.02,
|
||||
@ -837,11 +800,9 @@ buildUnitSpawner(
|
||||
[8] = 0.032,
|
||||
[9] = 0.034,
|
||||
[10] = 0.036
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "spawingCooldownStart",
|
||||
[1] = 360,
|
||||
@ -854,11 +815,9 @@ buildUnitSpawner(
|
||||
[8] = 345,
|
||||
[9] = 340,
|
||||
[10] = 340
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "spawingCooldownEnd",
|
||||
[1] = 150,
|
||||
@ -871,11 +830,9 @@ buildUnitSpawner(
|
||||
[8] = 135,
|
||||
[9] = 130,
|
||||
[10] = 130
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "evolutionRequirement",
|
||||
[1] = 0.08,
|
||||
@ -888,25 +845,24 @@ buildUnitSpawner(
|
||||
[8] = 0.65,
|
||||
[9] = 0.75,
|
||||
[10] = 0.9
|
||||
|
||||
},
|
||||
|
||||
{ type = "attribute",
|
||||
name = "unitsOwned",
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 8,
|
||||
[4] = 8,
|
||||
[5] = 9,
|
||||
[6] = 9,
|
||||
[7] = 10,
|
||||
[8] = 10,
|
||||
[9] = 11,
|
||||
[10] = 11
|
||||
|
||||
},
|
||||
{
|
||||
|
||||
type = "attribute",
|
||||
name = "unitsOwned",
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 8,
|
||||
[4] = 8,
|
||||
[5] = 9,
|
||||
[6] = 9,
|
||||
[7] = 10,
|
||||
[8] = 10,
|
||||
[9] = 11,
|
||||
[10] = 11
|
||||
},
|
||||
|
||||
{
|
||||
type = "attribute",
|
||||
name = "unitsToSpawn",
|
||||
[1] = 5,
|
||||
@ -1022,8 +978,8 @@ buildUnitSpawner(
|
||||
},
|
||||
|
||||
function (attributes)
|
||||
createAttackBall(attributes)
|
||||
return createStreamAttack(attributes, attributes.name .. "-stream-rampant")
|
||||
|
||||
return createStreamAttack(attributes, createAttackBall(attributes))
|
||||
end,
|
||||
|
||||
{
|
||||
@ -1060,7 +1016,7 @@ buildWorm(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "worm-acid-ball",
|
||||
attackName = "neutral-worm",
|
||||
tint = {r=0.56, g=0.46, b=0.42, a=0.65},
|
||||
pTint = {r=0, g=1, b=1, a=0.5},
|
||||
sTint = {r=0, g=1, b=1, a=0.5}
|
||||
@ -1077,9 +1033,9 @@ buildWorm(
|
||||
[5] = 900,
|
||||
[6] = 1000,
|
||||
[7] = 1500,
|
||||
[8] = 1500,
|
||||
[9] = 2500,
|
||||
[10] = 4500
|
||||
[8] = 2250,
|
||||
[9] = 3000,
|
||||
[10] = 5000
|
||||
},
|
||||
|
||||
{
|
||||
@ -1339,8 +1295,7 @@ buildWorm(
|
||||
},
|
||||
|
||||
function (attributes)
|
||||
createAttackBall(attributes)
|
||||
return createStreamAttack(attributes, attributes.name .. "-stream-rampant")
|
||||
return createStreamAttack(attributes, createAttackBall(attributes))
|
||||
end,
|
||||
|
||||
NEUTRAL_WORM_VARIATIONS,
|
||||
|
@ -30,7 +30,7 @@ local createAttackBall = acidBall.createAttackBall
|
||||
local createStreamAttack = biterUtils.createStreamAttack
|
||||
local createSuicideAttack = biterUtils.createSuicideAttack
|
||||
|
||||
makeSmokeSoft({name="nuclear", softSmokeTint=makeColor(0.3, 0.75, 0.3, 0.1)})
|
||||
local softSmoke = makeSmokeSoft({name="nuclear", softSmokeTint=makeColor(0.3, 0.75, 0.3, 0.1)})
|
||||
|
||||
-- nuclear biters
|
||||
buildUnitSpawner(
|
||||
@ -583,7 +583,7 @@ buildWorm(
|
||||
}
|
||||
}
|
||||
end,
|
||||
softSmokeName = "nuclear-soft-smoke-rampant"
|
||||
softSmokeName = softSmoke
|
||||
},
|
||||
resistances = {},
|
||||
|
||||
@ -599,7 +599,7 @@ buildWorm(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "worm-nuclear-ball",
|
||||
attackName = "nuclear-worm",
|
||||
tint = {r=0.56, g=0.46, b=0.42, a=0.65},
|
||||
pTint = {r=0, g=1, b=1, a=0.5},
|
||||
sTint = {r=0, g=1, b=1, a=0.5}
|
||||
@ -616,9 +616,9 @@ buildWorm(
|
||||
[5] = 900,
|
||||
[6] = 1000,
|
||||
[7] = 1500,
|
||||
[8] = 1500,
|
||||
[9] = 2500,
|
||||
[10] = 4500
|
||||
[8] = 3000,
|
||||
[9] = 5000,
|
||||
[10] = 9000
|
||||
},
|
||||
|
||||
{
|
||||
|
@ -538,7 +538,7 @@ buildWorm(
|
||||
[9] = 1.5,
|
||||
[10] = 1.6
|
||||
},
|
||||
attackName = "worm-physical",
|
||||
attackName = "physical-worm",
|
||||
tint = {r=0.85, g=0.85, b=0.83, a=0.65},
|
||||
pTint = {r=0, g=0, b=0, a=1},
|
||||
sTint = {r=0, g=0, b=0, a=1}
|
||||
@ -551,14 +551,14 @@ buildWorm(
|
||||
name = "health",
|
||||
[1] = 400,
|
||||
[2] = 700,
|
||||
[3] = 1000,
|
||||
[4] = 1500,
|
||||
[5] = 1800,
|
||||
[6] = 2000,
|
||||
[7] = 3000,
|
||||
[8] = 4000,
|
||||
[9] = 5000,
|
||||
[10] = 9000
|
||||
[3] = 1200,
|
||||
[4] = 1700,
|
||||
[5] = 2000,
|
||||
[6] = 3000,
|
||||
[7] = 4000,
|
||||
[8] = 5000,
|
||||
[9] = 7500,
|
||||
[10] = 12000
|
||||
},
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ local createAttackBall = acidBall.createAttackBall
|
||||
local createStreamAttack = biterUtils.createStreamAttack
|
||||
local createSuicideAttack = biterUtils.createSuicideAttack
|
||||
|
||||
makeSmokeSoft({name="suicide", softSmokeTint=makeColor(0.3, 0.75, 0.3, 0.1)})
|
||||
local softSmoke = makeSmokeSoft({name="suicide", softSmokeTint=makeColor(0.3, 0.75, 0.3, 0.1)})
|
||||
|
||||
-- suicide biters
|
||||
buildUnitSpawner(
|
||||
@ -609,7 +609,7 @@ buildWorm(
|
||||
}
|
||||
}
|
||||
end,
|
||||
softSmokeName = "suicide-soft-smoke-rampant"
|
||||
softSmokeName = softSmoke
|
||||
},
|
||||
resistances = {},
|
||||
|
||||
@ -625,7 +625,7 @@ buildWorm(
|
||||
[9] = 1.3,
|
||||
[10] = 1.4
|
||||
},
|
||||
attackName = "worm-suicide-ball",
|
||||
attackName = "suicide-worm",
|
||||
tint = {r=0.56, g=0.46, b=0.42, a=0.65},
|
||||
pTint = {r=0, g=1, b=1, a=0.5},
|
||||
sTint = {r=0, g=1, b=1, a=0.5}
|
||||
@ -642,9 +642,9 @@ buildWorm(
|
||||
[5] = 900,
|
||||
[6] = 1000,
|
||||
[7] = 1500,
|
||||
[8] = 1500,
|
||||
[9] = 2500,
|
||||
[10] = 4500
|
||||
[8] = 3000,
|
||||
[9] = 5000,
|
||||
[10] = 9000
|
||||
},
|
||||
|
||||
{
|
||||
|
1364
prototypes/Troll.lua
Executable file
1364
prototypes/Troll.lua
Executable file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user