1
0
mirror of https://github.com/veden/Rampant.git synced 2024-12-26 20:54:12 +02:00

still need base processing, neutral worms, and converting existing

unit spawner and worms
This commit is contained in:
Aaron Veden 2018-01-19 23:15:13 -08:00
parent 3b7746614c
commit 033c09d014
16 changed files with 1084 additions and 137 deletions

View File

@ -17,6 +17,11 @@ local deepcopy = util.table.deepcopy
local xorRandom = mathUtils.xorRandom(settings.startup["rampant-enemySeed"].value)
local makeBiterCorpse = biterUtils.makeBiterCorpse
local makeUnitSpawnerCorpse = biterUtils.makeUnitSpawnerCorpse
local makeWormCorpse = biterUtils.makeWormCorpse
local makeSpitterCorpse = biterUtils.makeSpitterCorpse
local makeBiter = biterUtils.makeBiter
local makeSpitter = biterUtils.makeSpitter
local makeWorm = biterUtils.makeWorm
@ -209,17 +214,24 @@ local function calculateRGBa(tint, tier)
end
local function generateApperance(unit, tier)
local scaleValue = unit.scale[tier]
local scaleValue = unit.scales[tier]
local scale = gaussianRandomRangeRG(scaleValue, scaleValue * 0.12, scaleValue * 0.60, scaleValue * 1.40, xorRandom) + (0.05 * tier)
if unit.tint then
unit.attributes.scale = scale
unit.attributes.tint = calculateRGBa(unit.tint, tier)
unit.scale = scale
unit.attributes.scale = scale
if unit.tint then
local tint = calculateRGBa(unit.tint, tier)
unit.attributes.tint = tint
if unit.attack then
unit.attack.scale = scale
unit.attack.tint = tint
end
else
local tint1 = calculateRGBa(unit.tint1, tier)
local tint2 = calculateRGBa(unit.tint2, tier)
unit.attributes.scale = scale
unit.attributes.tint1 = tint1
unit.attributes.tint2 = tint2
@ -246,21 +258,23 @@ local function buildUnits(startingPoints, template, attackGenerator, upgradeTabl
for i=1,variations do
local unit = deepcopy(template)
unit.name = unit.name .. "-v" .. i .. "-t" .. t .. "-rampant"
unit.name = unit.name .. "-v" .. i .. "-t" .. t
generateApperance(unit, t)
upgradeEntity(startingPoints, unit, upgradeTable, t)
if unit.attackName then
unit.attack.name = unit.attackName .. "-v" .. i .. "-t" .. t .. "-rampant"
unit.attack.name = unit.attackName .. "-v" .. i .. "-t" .. t
end
local entity
if (unit.type == "spitter") then
unit.attributes.corpse = makeSpitterCorpse(unit)
entity = makeSpitter(unit.name,
unit.attributes,
attackGenerator(unit.attack),
unit.resistances)
elseif (unit.type == "biter") then
unit.attributes.corpse = makeBiterCorpse(unit)
entity = makeBiter(unit.name,
unit.attributes,
attackGenerator(unit.attack),
@ -297,7 +311,7 @@ function swarmUtils.buildUnitSpawner(templates, upgradeTable, attackGenerator, v
for i=1,variations.unitSpawner do
local unitSpawner = deepcopy(templates.unitSpawner)
unitSpawner.name = unitSpawner.name .. "-v" .. i .. "-t" .. t .. "-rampant"
unitSpawner.name = unitSpawner.name .. "-v" .. i .. "-t" .. t
local unitTable = unitSetToProbabilityTable(probabilityPoints,
upgradeTable.probabilityTable,
unitSet)
@ -307,6 +321,7 @@ function swarmUtils.buildUnitSpawner(templates, upgradeTable, attackGenerator, v
if unitSpawner.autoplace then
unitSpawner.attributes["autoplace"] = unitSpawner.autoplace[t]
end
unitSpawner.attributes.corpse = makeUnitSpawnerCorpse(unitSpawner)
data:extend({
makeUnitSpawner(unitSpawner.name,
unitSpawner.attributes,
@ -326,17 +341,18 @@ function swarmUtils.buildWorm(template, upgradeTable, attackGenerator, variation
for i=1,variations do
local worm = deepcopy(template)
worm.name = worm.name .. "-v" .. i .. "-t" .. t .. "-rampant"
worm.name = worm.name .. "-v" .. i .. "-t" .. t
generateApperance(worm, t)
upgradeEntity(wormPoints, worm, upgradeTable, t)
if worm.attackName then
worm.attack.name = worm.attackName .. "-v" .. i .. "-t" .. t .. "-rampant"
worm.attack.name = worm.attackName .. "-v" .. i .. "-t" .. t
end
if worm.autoplace then
worm.attributes["autoplace"] = worm.autoplace[t]
end
worm.attributes.corpse = makeWormCorpse(worm)
data:extend({
makeWorm(worm.name,
worm.attributes,

View File

@ -20,7 +20,9 @@ local NEUTRAL_NEST_VARIATIONS = constants.NEUTRAL_NEST_VARIATIONS
local makeColor = colorUtils.makeColor
local buildUnitSpawner = swarmUtils.buildUnitSpawner
local buildWorm = swarmUtils.buildWorm
local createAcidBall = acidBall.createAcidBall
local createFireAttack = biterUtils.createFireAttack
local createSuicideAttack = biterUtils.createSuicideAttack
local createMeleeAttack = biterUtils.createMeleeAttack
@ -214,7 +216,7 @@ buildUnitSpawner(
resistances = {},
type = "biter",
scale = {
scales = {
[1] = 0.5,
[2] = 0.6,
[3] = 0.7,
@ -235,7 +237,7 @@ buildUnitSpawner(
attributes = {},
resistances = {},
scale = {
scales = {
[1] = 0.5,
[2] = 0.6,
[3] = 0.7,
@ -247,18 +249,6 @@ buildUnitSpawner(
[9] = 1.3,
[10] = 1.4
},
autoplace = {
[1] = 0,
[2] = 2,
[3] = 3,
[4] = 4,
[5] = 5,
[6] = 6,
[7] = 7,
[8] = 8,
[9] = 9,
[10] = 10
},
tint = {r=1.0, g=1.0, b=1.0, a=1.0}
}
},
@ -727,7 +717,7 @@ buildUnitSpawner(
resistances = {},
type = "spitter",
scale = {
scales = {
[1] = 0.5,
[2] = 0.6,
[3] = 0.7,
@ -752,7 +742,7 @@ buildUnitSpawner(
attributes = {},
resistances = {},
scale = {
scales = {
[1] = 0.5,
[2] = 0.6,
[3] = 0.7,
@ -764,18 +754,6 @@ buildUnitSpawner(
[9] = 1.3,
[10] = 1.4
},
autoplace = {
[1] = 2,
[2] = 3,
[3] = 4,
[4] = 5,
[5] = 6,
[6] = 7,
[7] = 8,
[8] = 9,
[9] = 10,
[10] = 11
},
tint = {r=0.99, g=0.09, b=0.09, a=1}
}
},
@ -950,6 +928,24 @@ buildUnitSpawner(
[9] = 17,
[10] = 17
}
},
{
{
type = "attack",
name = "radius",
[1] = 1.2,
[2] = 1.3,
[3] = 1.4,
[4] = 1.5,
[5] = 1.6,
[6] = 1.7,
[7] = 1.8,
[8] = 1.9,
[9] = 2.0,
[10] = 2.5
}
}
},
@ -1178,8 +1174,11 @@ buildUnitSpawner(
}
},
createMeleeAttack,
function (attributes)
createAcidBall(attributes)
return createFireAttack(attributes, attributes.name .. "-stream-rampant")
end,
{
unit = 10,
unitSpawner = NEUTRAL_NEST_VARIATIONS
@ -1190,3 +1189,255 @@ buildUnitSpawner(
unitSpawner = NEUTRAL_NEST_TIERS
}
)
-- neutral worms
buildWorm(
{
name = "neutral-worm",
attributes = {},
attack = {},
resistances = {},
scales = {
[1] = 0.5,
[2] = 0.6,
[3] = 0.7,
[4] = 0.8,
[5] = 0.9,
[6] = 1,
[7] = 1.1,
[8] = 1.2,
[9] = 1.3,
[10] = 1.4
},
attackName = "acid-ball",
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},
smTint = makeColor(0.3, 0.75, 0.3, 0.1)
},
{
{
{
type = "attribute",
name = "health",
[1] = 10,
[2] = 50,
[3] = 200,
[4] = 350,
[5] = 750,
[6] = 1000,
[7] = 1500,
[8] = 1500,
[9] = 2500,
[10] = 4500
}
},
{
{
type = "attack",
name = "cooldown",
[1] = 100,
[2] = 100,
[3] = 97,
[4] = 97,
[5] = 95,
[6] = 95,
[7] = 93,
[8] = 93,
[9] = 90,
[10] = 90
}
},
{
{
type = "attribute",
name = "spawningTimeModifer",
[1] = 0,
[2] = 0,
[3] = 1,
[4] = 2,
[5] = 3,
[6] = 7,
[7] = 10,
[8] = 10,
[9] = 12,
[10] = 12
}
},
{
{
type = "attribute",
name = "pollutionToAttack",
[1] = 200,
[2] = 750,
[3] = 1200,
[4] = 1750,
[5] = 2500,
[6] = 5000,
[7] = 10000,
[8] = 12500,
[9] = 15000,
[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
}
},
{
{
type = "attribute",
name = "healing",
[1] = 0.01,
[2] = 0.01,
[3] = 0.015,
[4] = 0.02,
[5] = 0.05,
[6] = 0.075,
[7] = 0.1,
[8] = 0.12,
[9] = 0.14,
[10] = 0.16
}
},
{
{
type = "attribute",
name = "movement",
[1] = 0.185,
[2] = 0.18,
[3] = 0.18,
[4] = 0.17,
[5] = 0.17,
[6] = 0.16,
[7] = 0.16,
[8] = 0.15,
[9] = 0.15,
[10] = 0.14
},
{
type = "attribute",
name = "distancePerFrame",
[1] = 0.04,
[2] = 0.045,
[3] = 0.050,
[4] = 0.055,
[5] = 0.060,
[6] = 0.065,
[7] = 0.070,
[8] = 0.075,
[9] = 0.08,
[10] = 0.084
}
},
{
{
type = "resistance",
name = "explosion",
percent = {
[1] = 0,
[2] = 0,
[3] = 10,
[4] = 10,
[5] = 20,
[6] = 20,
[7] = 30,
[8] = 30,
[9] = 40,
[10] = 40
}
}
},
{
{
type = "attack",
name = "range",
[1] = 13,
[2] = 13,
[3] = 14,
[4] = 14,
[5] = 15,
[6] = 15,
[7] = 16,
[8] = 16,
[9] = 17,
[10] = 17
}
},
{
{
type = "attack",
name = "radius",
[1] = 1.2,
[2] = 1.3,
[3] = 1.4,
[4] = 1.5,
[5] = 1.6,
[6] = 1.7,
[7] = 1.8,
[8] = 1.9,
[9] = 2.0,
[10] = 2.5
}
}
},
function (attributes)
createAcidBall(attributes)
return createFireAttack(attributes, attributes.name .. "-stream-rampant")
end,
10,
10
)
function generateLocal()
local names = {"Alpha", "Beta", "Gamma", "Delta", "Epsilon", "Zeta", "Eta", "Theta", "Iota", "Kappa", "Lambda", "Mu", "Nu", "Xi", "Omicron", "Pi", "Rho", "Sigma", "Tau", "Upsilon", "Phi", "Chi", "Psi", "Omega"}
local sizes = {"Larva", "Pupae", "Worker", "Grunt", "Soldier", "General", "Overlord", "Titan", "Leviathan", "Juggernaut"}
print("[entity-name]")
local name = names[1]
for t = 1, 10 do
local size = sizes[t]
for v = 1, 20 do
print("neutral-biter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter: " .. size .. " class")
print("neutral-spitter-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter: " .. size .. " class")
if (v <= 10) then
print("neutral-biter-nest-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " biter nest: " .. size .. " class")
print("neutral-spitter-nest-v" .. v .. "-t" .. t .. "-rampant=" .. name .. " spitter nest: " .. size .. " class")
end
end
end
end

View File

@ -276,6 +276,12 @@ local function rebuildNativeTables()
})
fileEntity(BASE_ALIGNMENT_NEUTRAL, entity)
entity.destroy()
entity = surface.create_entity({
name="neutral-spitter-nest-v" .. v .. "-t" .. t .. "-rampant",
position = position
})
fileEntity(BASE_ALIGNMENT_NEUTRAL, entity)
entity.destroy()
end
end
-- for v=1,ACID_NEST_VARIATIONS do
@ -435,10 +441,6 @@ local function onTick(event)
gameRef.forces.enemy.evolution_factor,
tick,
surface)
if natives.useCustomAI then
processBases(map, surface, natives, tick)
end
end
if (tick == map.squadTick) then
map.squadTick = map.squadTick + INTERVAL_SQUAD
@ -548,7 +550,7 @@ local function onEnemyBaseBuild(event)
local entity = event.entity
local surface = entity.surface
if (surface.index == 1) then
entity = upgradeEntity(map, entity, surface, natives)
entity = upgradeEntity(map, entity, surface, natives, game.forces.enemy.evolution_factor, event.tick)
event.entity = registerEnemyBaseStructure(map, entity, natives, game.forces.enemy.evolution_factor, surface, event.tick)
end
end

View File

@ -1,21 +1,5 @@
local stringUtils = require("libs/StringUtils")
local vanillaBuildings = require("prototypes/buildings/UpdatesVanilla")
local isRampant = stringUtils.isRampant
if settings.startup["rampant-newEnemies"].value then
for k,v in pairs(data.raw["unit-spawner"]) do
if not isRampant(k) then
v.autoplace = nil
end
end
for k,v in pairs(data.raw["turret"]) do
if not isRampant(k) then
v.autoplace = nil
end
end
end
if settings.startup["rampant-enableSwarm"] then
for k, unit in pairs(data.raw["unit"]) do
if (string.find(k, "biter") or string.find(k, "spitter")) and unit.collision_box then

View File

@ -119,7 +119,7 @@ function aiAttackWave.formSquads(map, surface, natives, chunk, cost)
scoreUnitGroupLocation,
map)
if (squadPath ~= SENTINEL_IMPASSABLE_CHUNK) then
local squadPosition = surface.find_non_colliding_position("biter-spawner-hive-rampant",
local squadPosition = surface.find_non_colliding_position("chunk-scanner-squad-rampant",
positionFromDirectionAndChunk(squadDirection,
chunk,
map.position,

View File

@ -116,7 +116,7 @@ function baseUtils.upgradeEntity(map, entity, surface, natives, evolutionFactor,
local base = getChunkBase(map, chunk)
if not base then
baseUtils.createBase(map, natives, evolutionFactor, chunk, surface, tick)
base = baseUtils.createBase(map, natives, evolutionFactor, chunk, surface, tick)
end
-- local distance = euclideanDistancePoints(position.x, position.y, 0, 0)
@ -143,7 +143,7 @@ function baseUtils.createBase(map, natives, evolutionFactor, chunk, surface, tic
local base = {
x = x,
y = y,
created = tick,
tick = tick,
evolution = evolutionFactor,
alignments = alignments,
pattern = mRandom(MAGIC_MAXIMUM_BASE_NUMBER),

View File

@ -121,6 +121,8 @@ constants.BASE_ALIGNMENT_NEUTRAL_ADVANCED = 17
constants.BASE_ALIGNMENT_ENERGY_THIEF = 18
constants.BASE_ALIGNMENT_ELECTRIC = 19
constants.BASE_PROCESS_INTERVAL = constants.TICKS_A_MINUTE * 1
local neutralPath = {}
neutralPath[constants.BASE_ALIGNMENT_ACID] = true
neutralPath[constants.BASE_ALIGNMENT_FIRE] = true

View File

@ -33,6 +33,8 @@ local AI_VENGENCE_SQUAD_COST = constants.AI_VENGENCE_SQUAD_COST
local MOVEMENT_PHEROMONE = constants.MOVEMENT_PHEROMONE
local BASE_PROCESS_INTERVAL = constants.BASE_PROCESS_INTERVAL
-- imported functions
local scents = pheromoneUtils.scents
@ -87,6 +89,8 @@ end
function mapProcessor.processMap(map, surface, natives, tick)
local roll = map.processRoll
local index = map.processIndex
local chunkToBase = map.chunkToBase
if (index == 1) then
roll = mRandom()
@ -109,6 +113,11 @@ function mapProcessor.processMap(map, surface, natives, tick)
formSquads(map, surface, natives, chunk, AI_SQUAD_COST)
squads = (natives.points >= AI_SQUAD_COST) -- and (#natives.squads < natives.maxSquads)
end
local base = chunkToBase[chunk]
if base and ((base.tick - tick) > BASE_PROCESS_INTERVAL) then
end
scents(map, chunk)
end

View File

@ -277,7 +277,7 @@ function unitGroupUtils.regroupSquads(natives, map)
end
if mergedSquads and not squad.kamikaze then
local kamikazeThreshold = unitGroupUtils.calculateKamikazeThreshold(squad, natives)
local kamikazeThreshold = unitGroupUtils.calculateKamikazeThreshold(#squad.group.members, natives)
if (mRandom() < kamikazeThreshold) then
squad.kamikaze = true
end

View File

@ -1,31 +1,606 @@
[entity-name]
tunnel-entrance-rampant=Tunnel Entrance
small-suicide-biter=Small Suicide Biter
medium-suicide-biter=Medium Suicide Biter
big-suicide-biter=Big Suicide Biter
behemoth-suicide-biter=Behemoth Suicide Biter
small-fire-spitter=Small Fire Spitter
biter-spawner-hive-rampant=Small Hive
small-tendril-biter-rampant=Small Tendril
neutral-biter-v1-t1-rampant=Alpha biter: Larva class
neutral-spitter-v1-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v1-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v1-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v2-t1-rampant=Alpha biter: Larva class
neutral-spitter-v2-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v2-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v2-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v3-t1-rampant=Alpha biter: Larva class
neutral-spitter-v3-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v3-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v3-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v4-t1-rampant=Alpha biter: Larva class
neutral-spitter-v4-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v4-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v4-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v5-t1-rampant=Alpha biter: Larva class
neutral-spitter-v5-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v5-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v5-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v6-t1-rampant=Alpha biter: Larva class
neutral-spitter-v6-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v6-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v6-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v7-t1-rampant=Alpha biter: Larva class
neutral-spitter-v7-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v7-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v7-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v8-t1-rampant=Alpha biter: Larva class
neutral-spitter-v8-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v8-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v8-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v9-t1-rampant=Alpha biter: Larva class
neutral-spitter-v9-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v9-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v9-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v10-t1-rampant=Alpha biter: Larva class
neutral-spitter-v10-t1-rampant=Alpha spitter: Larva class
neutral-biter-nest-v10-t1-rampant=Alpha biter nest: Larva class
neutral-spitter-nest-v10-t1-rampant=Alpha spitter nest: Larva class
neutral-biter-v11-t1-rampant=Alpha biter: Larva class
neutral-spitter-v11-t1-rampant=Alpha spitter: Larva class
neutral-biter-v12-t1-rampant=Alpha biter: Larva class
neutral-spitter-v12-t1-rampant=Alpha spitter: Larva class
neutral-biter-v13-t1-rampant=Alpha biter: Larva class
neutral-spitter-v13-t1-rampant=Alpha spitter: Larva class
neutral-biter-v14-t1-rampant=Alpha biter: Larva class
neutral-spitter-v14-t1-rampant=Alpha spitter: Larva class
neutral-biter-v15-t1-rampant=Alpha biter: Larva class
neutral-spitter-v15-t1-rampant=Alpha spitter: Larva class
neutral-biter-v16-t1-rampant=Alpha biter: Larva class
neutral-spitter-v16-t1-rampant=Alpha spitter: Larva class
neutral-biter-v17-t1-rampant=Alpha biter: Larva class
neutral-spitter-v17-t1-rampant=Alpha spitter: Larva class
neutral-biter-v18-t1-rampant=Alpha biter: Larva class
neutral-spitter-v18-t1-rampant=Alpha spitter: Larva class
neutral-biter-v19-t1-rampant=Alpha biter: Larva class
neutral-spitter-v19-t1-rampant=Alpha spitter: Larva class
neutral-biter-v20-t1-rampant=Alpha biter: Larva class
neutral-spitter-v20-t1-rampant=Alpha spitter: Larva class
neutral-biter-v1-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v1-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v1-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v1-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v2-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v2-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v2-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v2-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v3-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v3-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v3-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v3-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v4-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v4-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v4-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v4-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v5-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v5-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v5-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v5-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v6-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v6-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v6-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v6-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v7-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v7-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v7-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v7-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v8-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v8-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v8-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v8-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v9-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v9-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v9-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v9-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v10-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v10-t2-rampant=Alpha spitter: Pupae class
neutral-biter-nest-v10-t2-rampant=Alpha biter nest: Pupae class
neutral-spitter-nest-v10-t2-rampant=Alpha spitter nest: Pupae class
neutral-biter-v11-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v11-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v12-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v12-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v13-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v13-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v14-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v14-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v15-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v15-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v16-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v16-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v17-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v17-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v18-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v18-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v19-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v19-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v20-t2-rampant=Alpha biter: Pupae class
neutral-spitter-v20-t2-rampant=Alpha spitter: Pupae class
neutral-biter-v1-t3-rampant=Alpha biter: Worker class
neutral-spitter-v1-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v1-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v1-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v2-t3-rampant=Alpha biter: Worker class
neutral-spitter-v2-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v2-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v2-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v3-t3-rampant=Alpha biter: Worker class
neutral-spitter-v3-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v3-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v3-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v4-t3-rampant=Alpha biter: Worker class
neutral-spitter-v4-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v4-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v4-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v5-t3-rampant=Alpha biter: Worker class
neutral-spitter-v5-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v5-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v5-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v6-t3-rampant=Alpha biter: Worker class
neutral-spitter-v6-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v6-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v6-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v7-t3-rampant=Alpha biter: Worker class
neutral-spitter-v7-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v7-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v7-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v8-t3-rampant=Alpha biter: Worker class
neutral-spitter-v8-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v8-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v8-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v9-t3-rampant=Alpha biter: Worker class
neutral-spitter-v9-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v9-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v9-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v10-t3-rampant=Alpha biter: Worker class
neutral-spitter-v10-t3-rampant=Alpha spitter: Worker class
neutral-biter-nest-v10-t3-rampant=Alpha biter nest: Worker class
neutral-spitter-nest-v10-t3-rampant=Alpha spitter nest: Worker class
neutral-biter-v11-t3-rampant=Alpha biter: Worker class
neutral-spitter-v11-t3-rampant=Alpha spitter: Worker class
neutral-biter-v12-t3-rampant=Alpha biter: Worker class
neutral-spitter-v12-t3-rampant=Alpha spitter: Worker class
neutral-biter-v13-t3-rampant=Alpha biter: Worker class
neutral-spitter-v13-t3-rampant=Alpha spitter: Worker class
neutral-biter-v14-t3-rampant=Alpha biter: Worker class
neutral-spitter-v14-t3-rampant=Alpha spitter: Worker class
neutral-biter-v15-t3-rampant=Alpha biter: Worker class
neutral-spitter-v15-t3-rampant=Alpha spitter: Worker class
neutral-biter-v16-t3-rampant=Alpha biter: Worker class
neutral-spitter-v16-t3-rampant=Alpha spitter: Worker class
neutral-biter-v17-t3-rampant=Alpha biter: Worker class
neutral-spitter-v17-t3-rampant=Alpha spitter: Worker class
neutral-biter-v18-t3-rampant=Alpha biter: Worker class
neutral-spitter-v18-t3-rampant=Alpha spitter: Worker class
neutral-biter-v19-t3-rampant=Alpha biter: Worker class
neutral-spitter-v19-t3-rampant=Alpha spitter: Worker class
neutral-biter-v20-t3-rampant=Alpha biter: Worker class
neutral-spitter-v20-t3-rampant=Alpha spitter: Worker class
neutral-biter-v1-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v1-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v1-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v1-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v2-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v2-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v2-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v2-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v3-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v3-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v3-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v3-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v4-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v4-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v4-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v4-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v5-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v5-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v5-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v5-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v6-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v6-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v6-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v6-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v7-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v7-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v7-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v7-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v8-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v8-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v8-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v8-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v9-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v9-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v9-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v9-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v10-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v10-t4-rampant=Alpha spitter: Grunt class
neutral-biter-nest-v10-t4-rampant=Alpha biter nest: Grunt class
neutral-spitter-nest-v10-t4-rampant=Alpha spitter nest: Grunt class
neutral-biter-v11-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v11-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v12-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v12-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v13-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v13-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v14-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v14-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v15-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v15-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v16-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v16-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v17-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v17-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v18-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v18-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v19-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v19-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v20-t4-rampant=Alpha biter: Grunt class
neutral-spitter-v20-t4-rampant=Alpha spitter: Grunt class
neutral-biter-v1-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v1-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v1-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v1-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v2-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v2-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v2-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v2-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v3-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v3-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v3-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v3-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v4-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v4-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v4-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v4-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v5-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v5-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v5-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v5-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v6-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v6-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v6-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v6-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v7-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v7-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v7-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v7-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v8-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v8-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v8-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v8-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v9-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v9-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v9-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v9-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v10-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v10-t5-rampant=Alpha spitter: Soldier class
neutral-biter-nest-v10-t5-rampant=Alpha biter nest: Soldier class
neutral-spitter-nest-v10-t5-rampant=Alpha spitter nest: Soldier class
neutral-biter-v11-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v11-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v12-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v12-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v13-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v13-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v14-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v14-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v15-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v15-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v16-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v16-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v17-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v17-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v18-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v18-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v19-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v19-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v20-t5-rampant=Alpha biter: Soldier class
neutral-spitter-v20-t5-rampant=Alpha spitter: Soldier class
neutral-biter-v1-t6-rampant=Alpha biter: General class
neutral-spitter-v1-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v1-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v1-t6-rampant=Alpha spitter nest: General class
neutral-biter-v2-t6-rampant=Alpha biter: General class
neutral-spitter-v2-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v2-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v2-t6-rampant=Alpha spitter nest: General class
neutral-biter-v3-t6-rampant=Alpha biter: General class
neutral-spitter-v3-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v3-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v3-t6-rampant=Alpha spitter nest: General class
neutral-biter-v4-t6-rampant=Alpha biter: General class
neutral-spitter-v4-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v4-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v4-t6-rampant=Alpha spitter nest: General class
neutral-biter-v5-t6-rampant=Alpha biter: General class
neutral-spitter-v5-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v5-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v5-t6-rampant=Alpha spitter nest: General class
neutral-biter-v6-t6-rampant=Alpha biter: General class
neutral-spitter-v6-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v6-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v6-t6-rampant=Alpha spitter nest: General class
neutral-biter-v7-t6-rampant=Alpha biter: General class
neutral-spitter-v7-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v7-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v7-t6-rampant=Alpha spitter nest: General class
neutral-biter-v8-t6-rampant=Alpha biter: General class
neutral-spitter-v8-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v8-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v8-t6-rampant=Alpha spitter nest: General class
neutral-biter-v9-t6-rampant=Alpha biter: General class
neutral-spitter-v9-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v9-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v9-t6-rampant=Alpha spitter nest: General class
neutral-biter-v10-t6-rampant=Alpha biter: General class
neutral-spitter-v10-t6-rampant=Alpha spitter: General class
neutral-biter-nest-v10-t6-rampant=Alpha biter nest: General class
neutral-spitter-nest-v10-t6-rampant=Alpha spitter nest: General class
neutral-biter-v11-t6-rampant=Alpha biter: General class
neutral-spitter-v11-t6-rampant=Alpha spitter: General class
neutral-biter-v12-t6-rampant=Alpha biter: General class
neutral-spitter-v12-t6-rampant=Alpha spitter: General class
neutral-biter-v13-t6-rampant=Alpha biter: General class
neutral-spitter-v13-t6-rampant=Alpha spitter: General class
neutral-biter-v14-t6-rampant=Alpha biter: General class
neutral-spitter-v14-t6-rampant=Alpha spitter: General class
neutral-biter-v15-t6-rampant=Alpha biter: General class
neutral-spitter-v15-t6-rampant=Alpha spitter: General class
neutral-biter-v16-t6-rampant=Alpha biter: General class
neutral-spitter-v16-t6-rampant=Alpha spitter: General class
neutral-biter-v17-t6-rampant=Alpha biter: General class
neutral-spitter-v17-t6-rampant=Alpha spitter: General class
neutral-biter-v18-t6-rampant=Alpha biter: General class
neutral-spitter-v18-t6-rampant=Alpha spitter: General class
neutral-biter-v19-t6-rampant=Alpha biter: General class
neutral-spitter-v19-t6-rampant=Alpha spitter: General class
neutral-biter-v20-t6-rampant=Alpha biter: General class
neutral-spitter-v20-t6-rampant=Alpha spitter: General class
neutral-biter-v1-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v1-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v1-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v1-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v2-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v2-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v2-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v2-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v3-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v3-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v3-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v3-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v4-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v4-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v4-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v4-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v5-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v5-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v5-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v5-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v6-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v6-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v6-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v6-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v7-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v7-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v7-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v7-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v8-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v8-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v8-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v8-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v9-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v9-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v9-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v9-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v10-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v10-t7-rampant=Alpha spitter: Overlord class
neutral-biter-nest-v10-t7-rampant=Alpha biter nest: Overlord class
neutral-spitter-nest-v10-t7-rampant=Alpha spitter nest: Overlord class
neutral-biter-v11-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v11-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v12-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v12-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v13-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v13-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v14-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v14-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v15-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v15-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v16-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v16-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v17-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v17-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v18-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v18-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v19-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v19-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v20-t7-rampant=Alpha biter: Overlord class
neutral-spitter-v20-t7-rampant=Alpha spitter: Overlord class
neutral-biter-v1-t8-rampant=Alpha biter: Titan class
neutral-spitter-v1-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v1-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v1-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v2-t8-rampant=Alpha biter: Titan class
neutral-spitter-v2-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v2-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v2-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v3-t8-rampant=Alpha biter: Titan class
neutral-spitter-v3-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v3-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v3-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v4-t8-rampant=Alpha biter: Titan class
neutral-spitter-v4-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v4-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v4-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v5-t8-rampant=Alpha biter: Titan class
neutral-spitter-v5-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v5-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v5-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v6-t8-rampant=Alpha biter: Titan class
neutral-spitter-v6-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v6-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v6-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v7-t8-rampant=Alpha biter: Titan class
neutral-spitter-v7-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v7-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v7-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v8-t8-rampant=Alpha biter: Titan class
neutral-spitter-v8-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v8-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v8-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v9-t8-rampant=Alpha biter: Titan class
neutral-spitter-v9-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v9-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v9-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v10-t8-rampant=Alpha biter: Titan class
neutral-spitter-v10-t8-rampant=Alpha spitter: Titan class
neutral-biter-nest-v10-t8-rampant=Alpha biter nest: Titan class
neutral-spitter-nest-v10-t8-rampant=Alpha spitter nest: Titan class
neutral-biter-v11-t8-rampant=Alpha biter: Titan class
neutral-spitter-v11-t8-rampant=Alpha spitter: Titan class
neutral-biter-v12-t8-rampant=Alpha biter: Titan class
neutral-spitter-v12-t8-rampant=Alpha spitter: Titan class
neutral-biter-v13-t8-rampant=Alpha biter: Titan class
neutral-spitter-v13-t8-rampant=Alpha spitter: Titan class
neutral-biter-v14-t8-rampant=Alpha biter: Titan class
neutral-spitter-v14-t8-rampant=Alpha spitter: Titan class
neutral-biter-v15-t8-rampant=Alpha biter: Titan class
neutral-spitter-v15-t8-rampant=Alpha spitter: Titan class
neutral-biter-v16-t8-rampant=Alpha biter: Titan class
neutral-spitter-v16-t8-rampant=Alpha spitter: Titan class
neutral-biter-v17-t8-rampant=Alpha biter: Titan class
neutral-spitter-v17-t8-rampant=Alpha spitter: Titan class
neutral-biter-v18-t8-rampant=Alpha biter: Titan class
neutral-spitter-v18-t8-rampant=Alpha spitter: Titan class
neutral-biter-v19-t8-rampant=Alpha biter: Titan class
neutral-spitter-v19-t8-rampant=Alpha spitter: Titan class
neutral-biter-v20-t8-rampant=Alpha biter: Titan class
neutral-spitter-v20-t8-rampant=Alpha spitter: Titan class
neutral-biter-v1-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v1-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v1-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v1-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v2-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v2-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v2-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v2-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v3-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v3-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v3-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v3-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v4-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v4-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v4-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v4-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v5-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v5-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v5-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v5-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v6-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v6-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v6-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v6-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v7-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v7-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v7-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v7-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v8-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v8-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v8-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v8-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v9-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v9-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v9-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v9-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v10-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v10-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-nest-v10-t9-rampant=Alpha biter nest: Leviathan class
neutral-spitter-nest-v10-t9-rampant=Alpha spitter nest: Leviathan class
neutral-biter-v11-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v11-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v12-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v12-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v13-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v13-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v14-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v14-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v15-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v15-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v16-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v16-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v17-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v17-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v18-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v18-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v19-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v19-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v20-t9-rampant=Alpha biter: Leviathan class
neutral-spitter-v20-t9-rampant=Alpha spitter: Leviathan class
neutral-biter-v1-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v1-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v1-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v1-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v2-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v2-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v2-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v2-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v3-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v3-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v3-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v3-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v4-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v4-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v4-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v4-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v5-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v5-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v5-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v5-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v6-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v6-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v6-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v6-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v7-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v7-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v7-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v7-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v8-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v8-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v8-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v8-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v9-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v9-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v9-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v9-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v10-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v10-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-nest-v10-t10-rampant=Alpha biter nest: Juggernaut class
neutral-spitter-nest-v10-t10-rampant=Alpha spitter nest: Juggernaut class
neutral-biter-v11-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v11-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v12-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v12-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v13-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v13-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v14-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v14-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v15-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v15-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v16-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v16-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v17-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v17-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v18-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v18-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v19-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v19-t10-rampant=Alpha spitter: Juggernaut class
neutral-biter-v20-t10-rampant=Alpha biter: Juggernaut class
neutral-spitter-v20-t10-rampant=Alpha spitter: Juggernaut class
[entity-description]
tunnel-entrance-rampant=This tunnel is used by the biters to bypass player defenses. Fill the hole using landfill.
small-suicide-biter=These biters will explode at close range
medium-suicide-biter=These biters will explode at close range
big-suicide-biter=These biters will explode at close range
behemoth-suicide-biter=These biters will explode at close range
small-fire-spitter=These biters will spit fire
biter-spawner-hive-rampant=Small Hive
small-tendril-biter-rampant=Small Tendril
[mod-setting-name]
rampant-useDumbProjectiles=Use Dumb Projectiles

View File

@ -5,7 +5,7 @@
(require json)
(define modFolder "/data/games/factorio/mods/")
(define zipModFolder "/data/games/factorio/mods/")
(define zipModFolder "/data/games/factorio2/mods/")
(define configuration (call-with-input-file "info.json"
(lambda (port)
(string->jsexpr (port->string port)))))
@ -85,5 +85,6 @@
(define (run)
(copyFiles modFolder)
(copyFiles zipModFolder)
;;(makeZip modFolder)
(system*/exit-code "/data/games/factorio/bin/x64/factorio")))

View File

@ -1,4 +1,35 @@
data:extend({
{
type = "container",
name = "chunk-scanner-squad-rampant",
icon = "__base__/graphics/icons/wooden-chest.png",
icon_size = 32,
flags = {},
collision_mask = {"player-layer", "object-layer", "water-tile"},
collision_box = {{-6, -6}, {6, 6}},
selection_box = {{-6, -6}, {6, 6}},
minable = {mining_time = 1, result = "wooden-chest"},
max_health = 100,
corpse = "small-remnants",
fast_replaceable_group = "container",
inventory_size = 16,
open_sound = { filename = "__base__/sound/wooden-chest-open.ogg" },
close_sound = { filename = "__base__/sound/wooden-chest-close.ogg" },
vehicle_impact_sound = { filename = "__base__/sound/car-wood-impact.ogg", volume = 1.0 },
picture =
{
filename = "__base__/graphics/entity/wooden-chest/wooden-chest.png",
priority = "extra-high",
width = 46,
height = 33,
shift = {0.25, 0.015625}
},
circuit_wire_connection_point = circuit_connector_definitions["chest"].points,
circuit_connector_sprites = circuit_connector_definitions["chest"].sprites,
circuit_wire_max_distance = default_circuit_wire_max_distance
},
{
type = "container",
name = "chunk-scanner-ns-rampant",

View File

@ -1,5 +1,101 @@
local biterFunctions = {}
function biterFunctions.makeSpitterCorpse(attributes)
local name = attributes.name .. "-corpse-rampant"
data:extend(
{
{
type = "corpse",
name = name,
icon = "__base__/graphics/icons/big-biter-corpse.png",
icon_size = 32,
selectable_in_game = false,
selection_box = {{-1, -1}, {1, 1}},
subgroup="corpses",
order = "c[corpse]-b[spitter]-a[small]",
flags = {"placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map"},
dying_speed = 0.04,
time_before_removed = 15 * 60 * 60,
final_render_layer = "corpse",
animation = spitterdyinganimation(attributes.scale, attributes.tint)
}
})
return name
end
function biterFunctions.makeBiterCorpse(attributes)
local name = attributes.name .. "-corpse-rampant"
data:extend({
{
type = "corpse",
name = name,
icon = "__base__/graphics/icons/big-biter-corpse.png",
icon_size = 32,
selectable_in_game = false,
selection_box = {{-1, -1}, {1, 1}},
subgroup="corpses",
order = "c[corpse]-b[spitter]-a[small]",
flags = {"placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-on-map"},
dying_speed = 0.04,
time_before_removed = 15 * 60 * 60,
final_render_layer = "corpse",
animation = biterdieanimation(attributes.scale, attributes.tint1, attributes.tint2)
}
})
return name
end
function biterFunctions.makeUnitSpawnerCorpse(attributes)
local name = attributes.name .. "-corpse-rampant"
data:extend({
{
type = "corpse",
name = name,
flags = {"placeable-neutral", "placeable-off-grid", "not-on-map"},
icon = "__base__/graphics/icons/biter-spawner-corpse.png",
icon_size = 32,
collision_box = {{-2, -2}, {2, 2}},
selection_box = {{-2, -2}, {2, 2}},
selectable_in_game = false,
dying_speed = 0.04,
time_before_removed = 15 * 60 * 60,
subgroup="corpses",
order = "c[corpse]-c[spitter-spawner]",
final_render_layer = "remnants",
animation =
{
spawner_die_animation(0, attributes.tint),
spawner_die_animation(1, attributes.tint),
spawner_die_animation(2, attributes.tint),
spawner_die_animation(3, attributes.tint)
}
}
})
return name
end
function biterFunctions.makeWormCorpse(attributes)
local name = attributes.name .. "-corpse-rampant"
data:extend({
{
type = "corpse",
name = name,
icon = "__base__/graphics/icons/medium-worm-corpse.png",
icon_size = 32,
selection_box = {{-0.8, -0.8}, {0.8, 0.8}},
selectable_in_game = false,
subgroup="corpses",
order = "c[corpse]-c[worm]-b[medium]",
flags = {"placeable-neutral", "placeable-off-grid", "building-direction-8-way", "not-repairable", "not-on-map"},
dying_speed = 0.01,
time_before_removed = 15 * 60 * 60,
final_render_layer = "corpse",
animation = worm_die_animation(attributes.scale, attributes.tint)
}
})
return name
end
function biterFunctions.makeBiter(name, biterAttributes, biterAttack, biterResistances)
local resistances = {}
for k,v in pairs(biterResistances) do
@ -9,7 +105,7 @@ function biterFunctions.makeBiter(name, biterAttributes, biterAttack, biterResis
return {
type = "unit",
name = name,
name = name .. "-rampant",
icon = "__base__/graphics/icons/small-biter.png",
icon_size = 32,
flags = biterAttributes.flags or {"placeable-player", "placeable-enemy", "placeable-off-grid", "breaths-air"},
@ -48,7 +144,7 @@ function biterFunctions.makeSpitter(name, biterAttributes, biterAttack, biterRes
return {
type = "unit",
name = name,
name = name .. "-rampant",
icon = "__base__/graphics/icons/small-spitter.png",
icon_size = 32,
flags = biterAttributes.flags or {"placeable-player", "placeable-enemy", "placeable-off-grid", "breaths-air"},
@ -87,7 +183,7 @@ function biterFunctions.makeUnitSpawner(name, biterAttributes, biterResistances,
local o = {
type = "unit-spawner",
name = name,
name = name .. "-rampant",
icon = "__base__/graphics/icons/biter-spawner.png",
icon_size = 32,
flags = {"placeable-player", "placeable-enemy", "not-repairable"},
@ -122,7 +218,7 @@ function biterFunctions.makeUnitSpawner(name, biterAttributes, biterResistances,
-- in ticks per 1 pu
pollution_absorbtion_absolute = biterAttributes.pollutionAbsorbtionAbs or 20,
pollution_absorbtion_proportional = biterAttributes.pollutionAbsorbtionPro or 0.01,
corpse = "biter-spawner-corpse",
corpse = biterAttributes.corpse,
dying_explosion = "blood-explosion-huge",
max_count_of_owned_units = biterAttributes.unitsOwned or 7,
max_friends_around_to_spawn = biterAttributes.unitsToSpawn or 5,
@ -158,7 +254,7 @@ function biterFunctions.makeWorm(name, attributes, attack, wormResistances)
local o = {
type = "turret",
name = name,
name = name .. "-rampant",
icon = "__base__/graphics/icons/medium-worm.png",
icon_size = 32,
flags = attributes.flags or {"placeable-player", "placeable-enemy", "not-repairable", "breaths-air"},
@ -171,7 +267,7 @@ function biterFunctions.makeWorm(name, attributes, attack, wormResistances)
selection_box = {{-1.1 * attributes.scale, -1.0 * attributes.scale}, {1.1 * attributes.scale, 1.0 * attributes.scale}},
shooting_cursor_size = attributes.cursorSize or 3,
rotation_speed = attributes.rotationSpeed or 1,
corpse = "medium-worm-corpse",
corpse = attributes.corpse,
dying_explosion = "blood-explosion-big",
dying_sound = make_worm_dying_sounds(0.9),
folded_speed = attributes.foldedSpeed or 0.01,
@ -430,8 +526,7 @@ function biterFunctions.createFireAttack(attributes, fireAttack)
if (attributes.tint ~= nil) then
attack.animation = spitterattackanimation(attributes.scale,
attributes.tint1,
attributes.tint2)
attributes.tint)
end
return attack

View File

@ -94,8 +94,7 @@ function bobsUpdates.useDumbProjectiles()
warmup = 30,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"acid-ball-3-stream-rampant")
@ -110,8 +109,7 @@ function bobsUpdates.useDumbProjectiles()
warmup = 30,
fire_penalty = 0,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"bob-electric-ball-stream-rampant")
@ -126,8 +124,7 @@ function bobsUpdates.useDumbProjectiles()
damageModifier = 0.8,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"bob-explosive-ball-stream-rampant")
@ -141,8 +138,7 @@ function bobsUpdates.useDumbProjectiles()
warmup = 30,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"wide-acid-ball-stream-rampant")
@ -156,8 +152,7 @@ function bobsUpdates.useDumbProjectiles()
warmup = 30,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"bob-fire-ball-stream-rampant")
@ -171,8 +166,7 @@ function bobsUpdates.useDumbProjectiles()
warmup = 30,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"bob-poison-ball-stream-rampant")
@ -186,8 +180,7 @@ function bobsUpdates.useDumbProjectiles()
warmup = 30,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"bob-titan-ball-stream-rampant")
@ -201,8 +194,7 @@ function bobsUpdates.useDumbProjectiles()
warmup = 30,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"bob-behemoth-ball-stream-rampant")
@ -217,8 +209,7 @@ function bobsUpdates.useDumbProjectiles()
turn_range = 1,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"bob-leviathan-ball-stream-rampant")
end

View File

@ -77,8 +77,7 @@ function NEUpdates.useDumbProjectiles()
warmup = 30,
damageModifier = 1.1,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"ne-infected-ball-stream-rampant")
@ -93,8 +92,7 @@ function NEUpdates.useDumbProjectiles()
fire_penalty = 15,
damageModifier = 1.2,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"ne-mutated-ball-stream-rampant")
@ -110,8 +108,7 @@ function NEUpdates.useDumbProjectiles()
fire_penalty = 15,
damageModifier = 2.3,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"ne-infected-ball-stream-rampant")
@ -126,8 +123,7 @@ function NEUpdates.useDumbProjectiles()
fire_penalty = 15,
damageModifier = 2.6,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"ne-mutated-ball-stream-rampant")
@ -142,8 +138,7 @@ function NEUpdates.useDumbProjectiles()
fire_penalty = 15,
damageModifier = 3.3,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"ne-infected-ball-stream-rampant")
@ -159,8 +154,7 @@ function NEUpdates.useDumbProjectiles()
fire_penalty = 15,
damageModifier = 3.6,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"ne-mutated-ball-stream-rampant")

View File

@ -53,8 +53,7 @@ function vanillaUpdates.useDumbProjectiles()
turn_range = 1,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"acid-ball-stream-rampant")
@ -68,8 +67,7 @@ function vanillaUpdates.useDumbProjectiles()
turn_range = 1,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"acid-ball-1-stream-rampant")
@ -83,8 +81,7 @@ function vanillaUpdates.useDumbProjectiles()
turn_range = 1,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"acid-ball-2-stream-rampant")
@ -98,8 +95,7 @@ function vanillaUpdates.useDumbProjectiles()
turn_range = 1,
fire_penalty = 15,
scale = biterUtils.findRunScale(unit),
tint1 = biterUtils.findTint(unit),
tint2 = biterUtils.findTint(unit)
tint = biterUtils.findTint(unit)
},
"acid-ball-3-stream-rampant")
end