mirror of
https://github.com/veden/Rampant.git
synced 2026-06-19 22:15:20 +02:00
finishing refactor
This commit is contained in:
+3
-3
@@ -217,10 +217,10 @@ function upgrade.attempt(natives)
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.22")
|
||||
global.version = constants.VERSION_57
|
||||
end
|
||||
if (global.version < constants.VERSION_63) then
|
||||
if (global.version < constants.VERSION_65) then
|
||||
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.28")
|
||||
global.version = constants.VERSION_63
|
||||
game.surfaces[natives.activeSurface].print("Rampant - Version 0.16.30")
|
||||
global.version = constants.VERSION_65
|
||||
end
|
||||
|
||||
|
||||
|
||||
+3
-5
@@ -1,12 +1,11 @@
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.16.28
|
||||
Date: 6. 1. 2018
|
||||
Features:
|
||||
- Added Energy Thief faction that when they destroy powered buildings or poles they will replace them with their draining crystals
|
||||
Version: 0.16.30
|
||||
Date: 6. 7. 2018
|
||||
Improvements:
|
||||
- Raiding AI state nows requires an evolution of 0.04 before it can trigger
|
||||
Bugfixes:
|
||||
- Fixed fire biter nest size
|
||||
- Fixed Acid spitter resistances to be more inline with vanilla resistances
|
||||
- Fixed laser faction not having in-place evolution path from electric biters
|
||||
- Fixed range of unit levels being off by one, limiting the max units to level 9 only instead of 10
|
||||
- Fixed missing wasp worm drone locale entry
|
||||
@@ -21,7 +20,6 @@ Date: 6. 1. 2018
|
||||
- Refactored new enemy modules
|
||||
- Created default attributes for all unit, unit spawner, worms
|
||||
|
||||
|
||||
---------------------------------------------------------------------------------------------------
|
||||
Version: 0.16.28
|
||||
Date: 6. 1. 2018
|
||||
|
||||
-40
@@ -29,11 +29,6 @@ local INTERVAL_SCAN = constants.INTERVAL_SCAN
|
||||
local INTERVAL_SQUAD = constants.INTERVAL_SQUAD
|
||||
local INTERVAL_SPAWNER = constants.INTERVAL_SPAWNER
|
||||
|
||||
local DEFINES_WIRE_TYPE_RED = defines.wire_type.red
|
||||
local DEFINES_WIRE_TYPE_GREEN = defines.wire_type.green
|
||||
|
||||
local ENERGY_THIEF_CONVERSION_TABLE = constants.ENERGY_THIEF_CONVERSION_TABLE
|
||||
|
||||
local WATER_TILE_NAMES = constants.WATER_TILE_NAMES
|
||||
|
||||
local MOVEMENT_PHEROMONE = constants.MOVEMENT_PHEROMONE
|
||||
@@ -482,41 +477,6 @@ local function onDeath(event)
|
||||
if (chunk ~= SENTINEL_IMPASSABLE_CHUNK) then
|
||||
victoryScent(chunk, entity.type)
|
||||
end
|
||||
if (cause ~= nil) then
|
||||
if (sSub(cause.name, 1, 12) == "energy-thief") then
|
||||
local conversion = ENERGY_THIEF_CONVERSION_TABLE[entity.type]
|
||||
if conversion then
|
||||
local newEntity = surface.create_entity({position=entity.position,
|
||||
name=conversion,
|
||||
direction=entity.direction,
|
||||
force="enemy"})
|
||||
if (conversion == "crystal-drain-pole-rampant") then
|
||||
local wires
|
||||
if (entity.type == "electric-pole") then
|
||||
wires = entity.neighbours
|
||||
end
|
||||
if wires then
|
||||
for connectType,neighbourGroup in pairs(wires) do
|
||||
if connectType == "copper" then
|
||||
for _,v in pairs(neighbourGroup) do
|
||||
newEntity.connect_neighbour(v);
|
||||
end
|
||||
elseif connectType == "red" then
|
||||
for _,v in pairs(neighbourGroup) do
|
||||
newEntity.connect_neighbour({wire = DEFINES_WIRE_TYPE_RED, target_entity = v});
|
||||
end
|
||||
elseif connectType == "green" then
|
||||
for _,v in pairs(neighbourGroup) do
|
||||
newEntity.connect_neighbour({wire = DEFINES_WIRE_TYPE_GREEN, target_entity = v});
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if creditNatives and natives.safeBuildings and (natives.safeEntities[entity.type] or natives.safeEntityName[entity.name]) then
|
||||
makeImmortalEntity(surface, entity)
|
||||
|
||||
@@ -16,7 +16,7 @@ local troll = require("prototypes/Troll")
|
||||
local spawner = require("prototypes/Spawner")
|
||||
local wasp = require("prototypes/Wasp")
|
||||
local laser = require("prototypes/Laser")
|
||||
local energyThief = require("prototypes/EnergyThief")
|
||||
-- local energyThief = require("prototypes/EnergyThief")
|
||||
|
||||
if settings.startup["rampant-newEnemies"].value then
|
||||
|
||||
@@ -36,7 +36,7 @@ if settings.startup["rampant-newEnemies"].value then
|
||||
spawner.addFaction()
|
||||
wasp.addFaction()
|
||||
laser.addFaction()
|
||||
energyThief.addFaction()
|
||||
-- energyThief.addFaction()
|
||||
|
||||
for _, unitSpawner in pairs(data.raw["unit-spawner"]) do
|
||||
if (unitSpawner.name ~= "biter-spawner") then
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 70 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 181 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 18 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.3 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.8 KiB |
+2
-25
@@ -21,7 +21,7 @@ constants.VERSION_41 = 41
|
||||
constants.VERSION_44 = 44
|
||||
constants.VERSION_51 = 51
|
||||
constants.VERSION_57 = 57
|
||||
constants.VERSION_63 = 63
|
||||
constants.VERSION_65 = 65
|
||||
|
||||
-- misc
|
||||
|
||||
@@ -164,7 +164,7 @@ constants.BASE_PROCESS_INTERVAL = constants.TICKS_A_SECOND * 2
|
||||
-- decayingPath[constants.BASE_ALIGNMENT_UNDYING] = true
|
||||
|
||||
local electricPath = {
|
||||
constants.BASE_ALIGNMENT_ENERGY_THIEF,
|
||||
-- constants.BASE_ALIGNMENT_ENERGY_THIEF,
|
||||
constants.BASE_ALIGNMENT_LASER
|
||||
}
|
||||
|
||||
@@ -500,27 +500,4 @@ constants.NUCLEAR_WORM_VARIATIONS = wormVariations
|
||||
constants.NUCLEAR_UNIT_TIERS = unitTiers
|
||||
constants.NUCLEAR_UNIT_VARIATIONS = unitVariations
|
||||
|
||||
|
||||
-- energy thiefs
|
||||
|
||||
constants.ENERGY_THIEF_CONVERSION_TABLE = {
|
||||
["generator"] = "crystal-drain-rampant",
|
||||
["pump"] = "crystal-drain-rampant",
|
||||
["reactor"] = "crystal-drain-rampant",
|
||||
["accumulator"] = "crystal-drain-rampant",
|
||||
["solar-panel"] = "crystal-drain-rampant",
|
||||
["boiler"] = "crystal-drain-rampant",
|
||||
["assembling-machine"] = "crystal-drain-rampant",
|
||||
["roboport"] = "crystal-drain-rampant",
|
||||
["beacon"] = "crystal-drain-rampant",
|
||||
["programmable-speaker"] = "crystal-drain-rampant",
|
||||
["mining-drill"] = "crystal-drain-rampant",
|
||||
["rocket-silo"] = "crystal-drain-rampant",
|
||||
["lamp"] = "crystal-drain-rampant",
|
||||
["radar"] = "crystal-drain-rampant",
|
||||
["lab"] = "crystal-drain-rampant",
|
||||
["electric-turret"] = "crystal-drain-rampant",
|
||||
["electric-pole"] = "crystal-drain-pole-rampant"
|
||||
}
|
||||
|
||||
return constants
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
(copyDirectory "prototypes" modFolder)))
|
||||
|
||||
(define (run)
|
||||
(copyFiles modFolder)
|
||||
;;(copyFiles modFolder)
|
||||
;;(copyFiles zipModFolder)
|
||||
;; (makeZip modFolder)
|
||||
(makeZip modFolder)
|
||||
(system*/exit-code "/data/games/factorio/bin/x64/factorio")))
|
||||
|
||||
@@ -203,84 +203,6 @@ function acid.addFaction()
|
||||
{
|
||||
unit = {
|
||||
|
||||
{
|
||||
|
||||
type = "resistance",
|
||||
name = "physical",
|
||||
decrease = {
|
||||
[1] = 0,
|
||||
[2] = 0,
|
||||
[3] = 5,
|
||||
[4] = 5,
|
||||
[5] = 8,
|
||||
[6] = 8,
|
||||
[7] = 10,
|
||||
[8] = 10,
|
||||
[9] = 12,
|
||||
[10] = 12
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "explosion",
|
||||
decrease = {
|
||||
[1] = 0,
|
||||
[2] = 0,
|
||||
[3] = 5,
|
||||
[4] = 5,
|
||||
[5] = 8,
|
||||
[6] = 8,
|
||||
[7] = 10,
|
||||
[8] = 10,
|
||||
[9] = 12,
|
||||
[10] = 12
|
||||
},
|
||||
percent = {
|
||||
[1] = 0,
|
||||
[2] = 0,
|
||||
[3] = 10,
|
||||
[4] = 10,
|
||||
[5] = 20,
|
||||
[6] = 20,
|
||||
[7] = 30,
|
||||
[8] = 30,
|
||||
[9] = 40,
|
||||
[10] = 40
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
|
||||
type = "resistance",
|
||||
name = "fire",
|
||||
decrease = {
|
||||
[1] = 3,
|
||||
[2] = 3,
|
||||
[3] = 4,
|
||||
[4] = 4,
|
||||
[5] = 6,
|
||||
[6] = 6,
|
||||
[7] = 6,
|
||||
[8] = 6,
|
||||
[9] = 7,
|
||||
[10] = 7
|
||||
},
|
||||
percent = {
|
||||
[1] = 70,
|
||||
[2] = 70,
|
||||
[3] = 72,
|
||||
[4] = 72,
|
||||
[5] = 73,
|
||||
[6] = 73,
|
||||
[7] = 74,
|
||||
[8] = 74,
|
||||
[9] = 75,
|
||||
[10] = 75
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "acid",
|
||||
|
||||
@@ -1,568 +0,0 @@
|
||||
|
||||
-- imports
|
||||
|
||||
local biterUtils = require("utils/BiterUtils")
|
||||
local beamUtils = require("utils/BeamUtils")
|
||||
local attackBall = require("utils/AttackBall")
|
||||
local swarmUtils = require("SwarmUtils")
|
||||
package.path = "../libs/?.lua;" .. package.path
|
||||
local constants = require("Constants")
|
||||
|
||||
-- constants
|
||||
|
||||
local energyThief = {}
|
||||
|
||||
local ENERGY_THIEF_UNIT_TIERS = constants.ENERGY_THIEF_UNIT_TIERS
|
||||
local ENERGY_THIEF_UNIT_VARIATIONS = constants.ENERGY_THIEF_UNIT_VARIATIONS
|
||||
|
||||
local ENERGY_THIEF_NEST_TIERS = constants.ENERGY_THIEF_NEST_TIERS
|
||||
local ENERGY_THIEF_NEST_VARIATIONS = constants.ENERGY_THIEF_NEST_VARIATIONS
|
||||
|
||||
local ENERGY_THIEF_WORM_TIERS = constants.ENERGY_THIEF_WORM_TIERS
|
||||
local ENERGY_THIEF_WORM_VARIATIONS = constants.ENERGY_THIEF_WORM_VARIATIONS
|
||||
|
||||
-- imported functions
|
||||
|
||||
local buildUnitSpawner = swarmUtils.buildUnitSpawner
|
||||
local buildWorm = swarmUtils.buildWorm
|
||||
local createElectricAttack = biterUtils.createElectricAttack
|
||||
local createAttackBall = attackBall.createAttackBall
|
||||
local makeLaser = beamUtils.makeLaser
|
||||
local createRangedAttack = biterUtils.createRangedAttack
|
||||
local makeBeam = beamUtils.makeBeam
|
||||
local makeBubble = beamUtils.makeBubble
|
||||
|
||||
local makeUnitAlienLootTable = biterUtils.makeUnitAlienLootTable
|
||||
local makeSpawnerAlienLootTable = biterUtils.makeSpawnerAlienLootTable
|
||||
local makeWormAlienLootTable = biterUtils.makeWormAlienLootTable
|
||||
|
||||
function energyThief.addFaction()
|
||||
|
||||
local biterLoot = makeUnitAlienLootTable("blue")
|
||||
local spawnerLoot = makeSpawnerAlienLootTable("blue")
|
||||
local wormLoot = makeWormAlienLootTable("blue")
|
||||
|
||||
local electricBubble = makeBubble({
|
||||
name = "energy-thief-worm",
|
||||
lTint = {r=0, g=0.8, b=0.8, a=1}
|
||||
})
|
||||
|
||||
local softSmoke = "the-soft-smoke-rampant"
|
||||
|
||||
-- energy-thief biters
|
||||
buildUnitSpawner(
|
||||
{
|
||||
unit = {
|
||||
name = "energy-thief-biter",
|
||||
|
||||
attributes = {
|
||||
explosion = "blood-explosion-small"
|
||||
},
|
||||
loot = biterLoot,
|
||||
attack = {
|
||||
damageType = "electric"
|
||||
},
|
||||
resistances = {},
|
||||
|
||||
type = "biter",
|
||||
attackName = "biter-energy-thief",
|
||||
tint1 = {r=0, g=0.8, b=0.83, a=0.65},
|
||||
tint2 = {r=0, g=0.6, b=0.63, a=0.65}
|
||||
},
|
||||
|
||||
unitSpawner = {
|
||||
name = "energy-thief-biter-nest",
|
||||
|
||||
loot = spawnerLoot,
|
||||
attributes = {},
|
||||
resistances = {},
|
||||
tint = {r=0, g=0.8, b=0.83, a=0.65}
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
unit = {
|
||||
{
|
||||
type = "attribute",
|
||||
name = "health",
|
||||
[1] = 10,
|
||||
[2] = 50,
|
||||
[3] = 200,
|
||||
[4] = 350,
|
||||
[5] = 750,
|
||||
[6] = 1000,
|
||||
[7] = 1500,
|
||||
[8] = 2500,
|
||||
[9] = 4500,
|
||||
[10] = 7000
|
||||
},
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "width",
|
||||
[1] = 1.5,
|
||||
[2] = 1.5,
|
||||
[3] = 1.6,
|
||||
[4] = 1.6,
|
||||
[5] = 1.7,
|
||||
[6] = 1.7,
|
||||
[7] = 1.8,
|
||||
[8] = 1.8,
|
||||
[9] = 1.9,
|
||||
[10] = 1.9
|
||||
},
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "damageInterval",
|
||||
[1] = 20,
|
||||
[2] = 20,
|
||||
[3] = 21,
|
||||
[4] = 21,
|
||||
[5] = 22,
|
||||
[6] = 22,
|
||||
[7] = 23,
|
||||
[8] = 23,
|
||||
[9] = 24,
|
||||
[10] = 24
|
||||
},
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "duration",
|
||||
[1] = 20,
|
||||
[2] = 20,
|
||||
[3] = 21,
|
||||
[4] = 21,
|
||||
[5] = 22,
|
||||
[6] = 22,
|
||||
[7] = 23,
|
||||
[8] = 23,
|
||||
[9] = 24,
|
||||
[10] = 24
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "electric",
|
||||
decrease = {
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 10,
|
||||
[4] = 10,
|
||||
[5] = 13,
|
||||
[6] = 13,
|
||||
[7] = 16,
|
||||
[8] = 16,
|
||||
[9] = 19,
|
||||
[10] = 23
|
||||
},
|
||||
percent = {
|
||||
[1] = 65,
|
||||
[2] = 65,
|
||||
[3] = 70,
|
||||
[4] = 75,
|
||||
[5] = 75,
|
||||
[6] = 80,
|
||||
[7] = 85,
|
||||
[8] = 85,
|
||||
[9] = 90,
|
||||
[10] = 90
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "range",
|
||||
[1] = 11,
|
||||
[2] = 11,
|
||||
[3] = 12,
|
||||
[4] = 12,
|
||||
[5] = 13,
|
||||
[6] = 13,
|
||||
[7] = 14,
|
||||
[8] = 14,
|
||||
[9] = 15,
|
||||
[10] = 15
|
||||
}
|
||||
},
|
||||
|
||||
unitSpawner = {
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "electric",
|
||||
decrease = {
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 10,
|
||||
[4] = 10,
|
||||
[5] = 13,
|
||||
[6] = 13,
|
||||
[7] = 16,
|
||||
[8] = 16,
|
||||
[9] = 19,
|
||||
[10] = 23
|
||||
},
|
||||
percent = {
|
||||
[1] = 65,
|
||||
[2] = 65,
|
||||
[3] = 70,
|
||||
[4] = 75,
|
||||
[5] = 75,
|
||||
[6] = 80,
|
||||
[7] = 85,
|
||||
[8] = 85,
|
||||
[9] = 90,
|
||||
[10] = 90
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
function (attributes)
|
||||
return createElectricAttack(attributes,
|
||||
makeBeam(attributes),
|
||||
biterattackanimation(attributes.scale, attributes.tint1, attributes.tint2))
|
||||
end,
|
||||
|
||||
{
|
||||
unit = ENERGY_THIEF_UNIT_VARIATIONS,
|
||||
unitSpawner = ENERGY_THIEF_NEST_VARIATIONS
|
||||
},
|
||||
|
||||
{
|
||||
unit = ENERGY_THIEF_UNIT_TIERS,
|
||||
unitSpawner = ENERGY_THIEF_NEST_TIERS
|
||||
}
|
||||
)
|
||||
|
||||
-- energy-thief worms
|
||||
buildWorm(
|
||||
{
|
||||
name = "energy-thief-worm",
|
||||
|
||||
loot = wormLoot,
|
||||
attributes = {},
|
||||
attack = {
|
||||
type = "projectile",
|
||||
bubble = electricBubble,
|
||||
damageType = "electric",
|
||||
softSmokeName = softSmoke,
|
||||
pointEffects = function(attributes)
|
||||
return
|
||||
{
|
||||
{
|
||||
type="nested-result",
|
||||
action = {
|
||||
{
|
||||
type = "cluster",
|
||||
cluster_count = attributes.clusters,
|
||||
distance = attributes.clusterDistance,
|
||||
distance_deviation = 3,
|
||||
action_delivery =
|
||||
{
|
||||
type = "projectile",
|
||||
projectile = attributes.laserName,
|
||||
duration = 20,
|
||||
direction_deviation = 0.6,
|
||||
starting_speed = attributes.startingSpeed,
|
||||
starting_speed_deviation = 0.3
|
||||
}
|
||||
}
|
||||
},
|
||||
}
|
||||
}
|
||||
end
|
||||
},
|
||||
resistances = {},
|
||||
attackName = "worm-energy-thief",
|
||||
tint = {r=0, g=0.8, b=0.83, a=0.65},
|
||||
pTint = {r=0, g=0.8, b=0.8, a=1},
|
||||
sTint = {r=0, g=0.8, b=0.8, a=1},
|
||||
lTint = {r=0, g=0.8, b=0.8, a=1}
|
||||
},
|
||||
|
||||
{
|
||||
{
|
||||
type = "attack",
|
||||
name = "startingSpeed",
|
||||
[1] = 0.25,
|
||||
[2] = 0.25,
|
||||
[3] = 0.27,
|
||||
[4] = 0.27,
|
||||
[5] = 0.29,
|
||||
[6] = 0.29,
|
||||
[7] = 0.31,
|
||||
[8] = 0.31,
|
||||
[9] = 0.33,
|
||||
[10] = 0.33
|
||||
},
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "clusterDistance",
|
||||
[1] = 3,
|
||||
[2] = 3,
|
||||
[3] = 4,
|
||||
[4] = 4,
|
||||
[5] = 5,
|
||||
[6] = 5,
|
||||
[7] = 6,
|
||||
[8] = 6,
|
||||
[9] = 7,
|
||||
[10] = 7
|
||||
},
|
||||
|
||||
{
|
||||
type = "attack",
|
||||
name = "clusters",
|
||||
min = 2,
|
||||
[1] = 5,
|
||||
[2] = 5,
|
||||
[3] = 6,
|
||||
[4] = 6,
|
||||
[5] = 7,
|
||||
[6] = 7,
|
||||
[7] = 8,
|
||||
[8] = 8,
|
||||
[9] = 9,
|
||||
[10] = 9
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "electric",
|
||||
decrease = {
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 10,
|
||||
[4] = 10,
|
||||
[5] = 13,
|
||||
[6] = 13,
|
||||
[7] = 16,
|
||||
[8] = 16,
|
||||
[9] = 19,
|
||||
[10] = 23
|
||||
},
|
||||
percent = {
|
||||
[1] = 65,
|
||||
[2] = 65,
|
||||
[3] = 70,
|
||||
[4] = 75,
|
||||
[5] = 75,
|
||||
[6] = 80,
|
||||
[7] = 85,
|
||||
[8] = 85,
|
||||
[9] = 90,
|
||||
[10] = 90
|
||||
}
|
||||
}
|
||||
|
||||
},
|
||||
|
||||
function (attributes)
|
||||
attributes.laserName = makeLaser(attributes)
|
||||
return createRangedAttack(attributes,
|
||||
createAttackBall(attributes))
|
||||
end,
|
||||
|
||||
ENERGY_THIEF_WORM_VARIATIONS,
|
||||
ENERGY_THIEF_WORM_TIERS
|
||||
)
|
||||
end
|
||||
|
||||
|
||||
data:extend({
|
||||
{
|
||||
type = "item",
|
||||
name = "crystal-drain-rampant",
|
||||
icon = "__Rampant__/graphics/icons/thief/crystal-drain.png",
|
||||
icon_size = 32,
|
||||
flags = {"goes-to-quickbar"},
|
||||
subgroup = "energy",
|
||||
order = "e[accumulator]-a[accumulator]",
|
||||
place_result = "crystal-drain-rampant",
|
||||
stack_size = 50
|
||||
},
|
||||
|
||||
{
|
||||
type = "radar",
|
||||
name = "crystal-drain-rampant",
|
||||
icon = "__Rampant__/graphics/icons/thief/crystal-drain.png",
|
||||
icon_size = 32,
|
||||
flags = {"placeable-enemy"},
|
||||
minable = {hardness = 0.2, mining_time = 0.5, result = "radar"},
|
||||
max_health = 500,
|
||||
corpse = "small-remnants",
|
||||
collision_box = {{-0.9, -0.9}, {0.9, 0.9}},
|
||||
selection_box = {{-1.1, -1.1}, {1.1, 1.1}},
|
||||
energy_per_sector = "100MJ",
|
||||
has_backer_name = false,
|
||||
healing_per_tick = 0.02,
|
||||
max_distance_of_sector_revealed = 0,
|
||||
max_distance_of_nearby_sector_revealed = 0,
|
||||
energy_per_nearby_scan = "750kJ",
|
||||
resistances = {
|
||||
{
|
||||
type = "fire",
|
||||
percent = 100
|
||||
},
|
||||
{
|
||||
type = "electric",
|
||||
decrease = 23,
|
||||
percent = 90
|
||||
}
|
||||
},
|
||||
energy_source =
|
||||
{
|
||||
type = "electric",
|
||||
usage_priority = "primary-input"
|
||||
},
|
||||
energy_usage = "500kW",
|
||||
pictures =
|
||||
{
|
||||
filename = "__Rampant__/graphics/entities/thief/crystal-drain.png",
|
||||
priority = "low",
|
||||
width = 128,
|
||||
height = 128,
|
||||
apply_projection = false,
|
||||
direction_count = 32,
|
||||
animation_speed = 0.5,
|
||||
line_length = 8,
|
||||
shift = {0.65, 0}
|
||||
},
|
||||
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
|
||||
working_sound =
|
||||
{
|
||||
sound = {
|
||||
{
|
||||
filename = "__base__/sound/radar.ogg"
|
||||
}
|
||||
},
|
||||
apparent_volume = 2,
|
||||
},
|
||||
radius_minimap_visualisation_color = { r = 0.059, g = 0.092, b = 0.8, a = 0.275 },
|
||||
},
|
||||
|
||||
{
|
||||
type = "item",
|
||||
name = "crystal-drain-pole-rampant",
|
||||
icon = "__Rampant__/graphics/icons/thief/crystal-drain.png",
|
||||
icon_size = 32,
|
||||
flags = {"goes-to-quickbar"},
|
||||
subgroup = "energy",
|
||||
order = "e[accumulator]-a[accumulator]",
|
||||
place_result = "crystal-drain-pole-rampant",
|
||||
stack_size = 50
|
||||
},
|
||||
|
||||
{
|
||||
type = "electric-pole",
|
||||
name = "crystal-drain-pole-rampant",
|
||||
icon = "__Rampant__/graphics/icons/thief/crystal-drain.png",
|
||||
icon_size = 32,
|
||||
flags = {"placeable-neutral", "player-creation", "fast-replaceable-no-build-while-moving"},
|
||||
minable = {hardness = 0.2, mining_time = 0.5, result = "big-electric-pole"},
|
||||
max_health = 150,
|
||||
healing_per_tick = 0.02,
|
||||
corpse = "medium-remnants",
|
||||
resistances =
|
||||
{
|
||||
{
|
||||
type = "fire",
|
||||
percent = 100
|
||||
},
|
||||
{
|
||||
type = "electric",
|
||||
decrease = 23,
|
||||
percent = 90
|
||||
}
|
||||
},
|
||||
collision_box = {{-0.55, -0.55}, {0.55, 0.55}},
|
||||
selection_box = {{-0.75, -0.75}, {0.75, 0.75}},
|
||||
drawing_box = {{-1, -3}, {1, 0.5}},
|
||||
maximum_wire_distance = 30,
|
||||
supply_area_distance = 9,
|
||||
vehicle_impact_sound = { filename = "__base__/sound/car-metal-impact.ogg", volume = 0.65 },
|
||||
pictures =
|
||||
{
|
||||
filename = "__Rampant__/graphics/entities/thief/crystal-drain-pole.png",
|
||||
priority = "high",
|
||||
width = 168,
|
||||
height = 130,
|
||||
direction_count = 4,
|
||||
shift = {1.6, -1.4}
|
||||
},
|
||||
connection_points =
|
||||
{
|
||||
{
|
||||
shadow =
|
||||
{
|
||||
copper = {2.7, 0},
|
||||
green = {1.8, 0},
|
||||
red = {3.6, 0}
|
||||
},
|
||||
wire =
|
||||
{
|
||||
copper = {0, -2.5},
|
||||
green = {-0.59375, -2.5},
|
||||
red = {0.625, -2.5}
|
||||
}
|
||||
},
|
||||
{
|
||||
shadow =
|
||||
{
|
||||
copper = {3.1, 0.2},
|
||||
green = {2.3, -0.3},
|
||||
red = {3.8, 0.6}
|
||||
},
|
||||
wire =
|
||||
{
|
||||
copper = {-0.0625, -2.5},
|
||||
green = {-0.5, -3},
|
||||
red = {0.34375, -2}
|
||||
}
|
||||
},
|
||||
{
|
||||
shadow =
|
||||
{
|
||||
copper = {2.9, 0.06},
|
||||
green = {3.0, -0.6},
|
||||
red = {3.0, 0.8}
|
||||
},
|
||||
wire =
|
||||
{
|
||||
copper = {-0.09375, -2.5},
|
||||
green = {-0.09375, -3},
|
||||
red = {-0.09375, -2}
|
||||
}
|
||||
},
|
||||
{
|
||||
shadow =
|
||||
{
|
||||
copper = {3.1, 0.2},
|
||||
green = {3.8, -0.3},
|
||||
red = {2.35, 0.6}
|
||||
},
|
||||
wire =
|
||||
{
|
||||
copper = {-0.0625, -2.4},
|
||||
green = {0.375, -2.9},
|
||||
red = {-0.46875, -2.4}
|
||||
}
|
||||
}
|
||||
},
|
||||
radius_visualisation_picture =
|
||||
{
|
||||
filename = "__base__/graphics/entity/small-electric-pole/electric-pole-radius-visualization.png",
|
||||
width = 12,
|
||||
height = 12,
|
||||
priority = "extra-high-no-scale"
|
||||
}
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
return energyThief
|
||||
|
||||
@@ -220,6 +220,35 @@ function inferno.addFaction()
|
||||
[10] = 7
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "acid",
|
||||
decrease = {
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 10,
|
||||
[4] = 10,
|
||||
[5] = 13,
|
||||
[6] = 13,
|
||||
[7] = 16,
|
||||
[8] = 16,
|
||||
[9] = 19,
|
||||
[10] = 23
|
||||
},
|
||||
percent = {
|
||||
[1] = 65,
|
||||
[2] = 65,
|
||||
[3] = 70,
|
||||
[4] = 75,
|
||||
[5] = 75,
|
||||
[6] = 80,
|
||||
[7] = 85,
|
||||
[8] = 85,
|
||||
[9] = 90,
|
||||
[10] = 90
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "fire",
|
||||
@@ -252,6 +281,34 @@ function inferno.addFaction()
|
||||
},
|
||||
|
||||
unitSpawner = {
|
||||
{
|
||||
type = "resistance",
|
||||
name = "acid",
|
||||
decrease = {
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 10,
|
||||
[4] = 10,
|
||||
[5] = 13,
|
||||
[6] = 13,
|
||||
[7] = 16,
|
||||
[8] = 16,
|
||||
[9] = 19,
|
||||
[10] = 23
|
||||
},
|
||||
percent = {
|
||||
[1] = 65,
|
||||
[2] = 65,
|
||||
[3] = 70,
|
||||
[4] = 75,
|
||||
[5] = 75,
|
||||
[6] = 80,
|
||||
[7] = 85,
|
||||
[8] = 85,
|
||||
[9] = 90,
|
||||
[10] = 90
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
@@ -463,6 +520,35 @@ function inferno.addFaction()
|
||||
[10] = 7
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "acid",
|
||||
decrease = {
|
||||
[1] = 7,
|
||||
[2] = 7,
|
||||
[3] = 10,
|
||||
[4] = 10,
|
||||
[5] = 13,
|
||||
[6] = 13,
|
||||
[7] = 16,
|
||||
[8] = 16,
|
||||
[9] = 19,
|
||||
[10] = 23
|
||||
},
|
||||
percent = {
|
||||
[1] = 65,
|
||||
[2] = 65,
|
||||
[3] = 70,
|
||||
[4] = 75,
|
||||
[5] = 75,
|
||||
[6] = 80,
|
||||
[7] = 85,
|
||||
[8] = 85,
|
||||
[9] = 90,
|
||||
[10] = 90
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
type = "resistance",
|
||||
name = "fire",
|
||||
|
||||
Reference in New Issue
Block a user