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

see changelog

This commit is contained in:
Aaron Veden 2019-05-03 12:32:59 -07:00
parent 93046fe01c
commit 3048879516
12 changed files with 55 additions and 10 deletions

View File

@ -308,6 +308,11 @@ function upgrade.attempt(natives)
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.22")
global.version = 89
end
if (global.version < 90) then
game.surfaces[natives.activeSurface].print("Rampant - Version 0.17.24")
global.version = 90
end
return starting ~= global.version, natives
end

View File

@ -1,3 +1,18 @@
---------------------------------------------------------------------------------------------------
Version: 0.17.24
Date: 5. 3. 2019
Improvements:
- Added interop functions for getSettlerCooldown and getSettlerWaveSize
Tweaks:
- Increased spitter projectile acceleration to 0.02
- Increased spitter projectile starting speed to 0.6
- Added projectile lead with default spitter and worm projectiles
- Switched to water-tile collision mask in chunk scanning for surface queries
- Added checks to spitter puddles on water so they dont happen
- Reduced the settler standard deviation to 1/3 of the wave size
Bugfixes:
- Fixed settler cooldown increasing with evolution as opposed to decreasing
---------------------------------------------------------------------------------------------------
Version: 0.17.23
Date: 4. 30. 2019

View File

@ -268,9 +268,9 @@ local function rebuildMap()
map.filteredEntitiesPlayerQuery = { area=map.area, force={"enemy", "neutral"}, invert = true }
local sharedArea = {{0,0},{0,0}}
map.filteredEntitiesCliffQuery = { area=sharedArea, type="cliff", limit = 1 }
map.filteredTilesPathQuery = { area=sharedArea, name=WATER_TILE_NAMES, limit = 1 }
map.filteredTilesPathQuery = { area=sharedArea, collision_mask="water-tile", limit = 1 }
map.canPlaceQuery = { name="", position={0,0} }
map.filteredTilesQuery = { name=WATER_TILE_NAMES, area=map.area }
map.filteredTilesQuery = { collision_mask="water-tile", area=map.area }
map.attackCommand = {
type = DEFINES_COMMAND_ATTACK_AREA,

View File

@ -1,7 +1,7 @@
{
"name" : "Rampant",
"factorio_version" : "0.17",
"version" : "0.17.23",
"version" : "0.17.24",
"title" : "Rampant",
"author" : "Veden",
"homepage" : "https://forums.factorio.com/viewtopic.php?f=94&t=31445",

View File

@ -73,9 +73,9 @@ function aiPlanning.planning(natives, evolution_factor, tick)
natives.attackWaveUpperBound = attackWaveMaxSize + (attackWaveMaxSize * 0.25)
natives.settlerWaveSize = linearInterpolation(evolution_factor ^ 1.66667, natives.expansionMinSize, natives.expansionMaxSize)
natives.settlerWaveDeviation = (natives.settlerWaveSize * 0.50)
natives.settlerWaveDeviation = (natives.settlerWaveSize * 0.33)
natives.settlerCooldown = mFloor(linearInterpolation(evolution_factor ^ 1.66667, natives.expansionMinTime, natives.expansionMaxTime))
natives.settlerCooldown = mFloor(linearInterpolation(evolution_factor ^ 1.66667, natives.expansionMaxTime, natives.expansionMinTime))
natives.unitRefundAmount = AI_UNIT_REFUND * evolution_factor
natives.kamikazeThreshold = NO_RETREAT_BASE_PERCENT + (evolution_factor * NO_RETREAT_EVOLUTION_BONUS_MAX)

View File

@ -36,7 +36,7 @@ constants.VERSION_88 = 88
-- misc
constants.WATER_TILE_NAMES = { "water", "deepwater", "water-green", "deepwater-green" }
-- constants.WATER_TILE_NAMES = { "water", "deepwater", "water-green", "deepwater-green" }
constants.MAGIC_MAXIMUM_NUMBER = 1e99 -- used in loops trying to find the lowest/highest score
constants.MAGIC_MAXIMUM_BASE_NUMBER = 100000000

View File

@ -53,6 +53,14 @@ function interop.changeMaxWaveSize(waveSize)
global.natives.attackWaveMaxSize = waveSize
end
function interop.getSettlerCooldown()
return global.natives.settlerCooldown
end
function interop.getSettlerWaveSize()
return global.natives.settlerWaveSize
end
function interop.changeThreshold(min, max)
global.natives.attackThresholdMin = min
global.natives.attackThresholdMax = max

View File

@ -53,8 +53,14 @@ function AttackBall.createAttackBall(attributes)
{
type="create-fire",
entity_name = makeAcidSplashFire(attributes, attributes.stickerName or makeSticker(attributes)),
check_buildability = true,
initial_ground_flame_count = 1
},
{
type = "create-entity",
entity_name = "water-splash",
tile_collision_mask = { "ground-tile" }
},
{
type = "play-sound",
sound =

View File

@ -65,8 +65,14 @@ function attackFlame.createAttackFlame(attributes)
{
{
type = "create-sticker",
sticker = stickerName
sticker = stickerName,
check_buildability = true
},
{
type = "create-entity",
entity_name = "water-splash",
tile_collision_mask = { "ground-tile" }
},
{
type = "damage",
damage = { amount = attributes.damage, type = attributes.damageType or "fire" }
@ -80,7 +86,8 @@ function attackFlame.createAttackFlame(attributes)
type = "instant",
target_effects = {
type= "create-fire",
entity_name = fireName
entity_name = fireName,
check_buildability = true
}
}
}

View File

@ -812,6 +812,8 @@ function biterFunctions.createProjectileAttack(attributes, projectile, animation
cooldown = attributes.cooldown or 15,
projectile_creation_distance = 0.6,
range = attributes.range or 20,
lead_target_for_projectile_speed = 0.6,
use_shooter_direction = true,
ammo_type =
{
category = "biological",
@ -824,7 +826,7 @@ function biterFunctions.createProjectileAttack(attributes, projectile, animation
{
type = "projectile",
projectile = projectile or "defender-bullet",
starting_speed = attributes.startingSpeed or 0.3,
starting_speed = attributes.startingSpeed or 0.6,
max_range = attributes.maxRange or attributes.range or 20
}
}

View File

@ -246,6 +246,8 @@ function fireUtils.makeAcidSplashFire(attributes, stickerName)
damage_multiplier_increase_per_added_fuel = 1,
damage_multiplier_decrease_per_tick = 0.005,
collision_mask = { "water-tile" },
--spawn_entity = "fire-flame-on-tree",
uses_alternative_behavior = true,
limit_overlapping_particles = true,

View File

@ -11,7 +11,7 @@ function projectileUtils.makeProjectile(name, attributes, attack)
collision_mask = attributes.collisionMask or {"layer-11"},
direction_only = attributes.directionOnly,
piercing_damage = attributes.piercingDamage or 0,
acceleration = attributes.acceleration or 0.01,
acceleration = attributes.acceleration or 0.02,
force_condition = (settings.startup["rampant-disableCollidingProjectiles"].value and "not-same") or nil,
action = attack,
animation =