1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-02-11 13:39:14 +02:00

landmine balance

This commit is contained in:
MewMew 2019-12-17 12:50:42 +01:00
parent 0b79888ffb
commit ee3f81898f
3 changed files with 49 additions and 20 deletions

View File

@ -353,26 +353,7 @@ local function on_entity_died(event)
refresh_gui_threat()
end
--Flamethrower Turret Nerf
local function on_research_finished(event)
local research = event.research
local force_name = research.force.name
if research.name == "flamethrower" then
if not global.flamethrower_damage then global.flamethrower_damage = {} end
global.flamethrower_damage[force_name] = -0.6
game.forces[force_name].set_turret_attack_modifier("flamethrower-turret", global.flamethrower_damage[force_name])
game.forces[force_name].set_ammo_damage_modifier("flamethrower", global.flamethrower_damage[force_name])
end
if string.sub(research.name, 0, 18) == "refined-flammables" then
global.flamethrower_damage[force_name] = global.flamethrower_damage[force_name] + 0.05
game.forces[force_name].set_turret_attack_modifier("flamethrower-turret", global.flamethrower_damage[force_name])
game.forces[force_name].set_ammo_damage_modifier("flamethrower", global.flamethrower_damage[force_name])
end
end
event.add(defines.events.on_entity_damaged, on_entity_damaged)
event.add(defines.events.on_entity_died, on_entity_died)
event.add(defines.events.on_research_finished, on_research_finished)
return ai

View File

@ -0,0 +1,48 @@
local string_sub = string.sub
local balance_functions = {
["flamethrower"] = function(force_name)
global.combat_balance[force_name].flamethrower_damage = -0.6
game.forces[force_name].set_turret_attack_modifier("flamethrower-turret", global.combat_balance[force_name].flamethrower_damage)
game.forces[force_name].set_ammo_damage_modifier("flamethrower", global.combat_balance[force_name].flamethrower_damage)
end,
["refined-flammables"] = function(force_name)
global.combat_balance[force_name].flamethrower_damage = global.combat_balance[force_name].flamethrower_damage + 0.05
game.forces[force_name].set_turret_attack_modifier("flamethrower-turret", global.combat_balance[force_name].flamethrower_damage)
game.forces[force_name].set_ammo_damage_modifier("flamethrower", global.combat_balance[force_name].flamethrower_damage)
end,
["land-mine"] = function(force_name)
global.combat_balance[force_name].land_mine = -0.5
game.forces[force_name].set_ammo_damage_modifier("landmine", global.combat_balance[force_name].land_mine)
end,
["stronger-explosives"] = function(force_name)
global.combat_balance[force_name].land_mine = global.combat_balance[force_name].land_mine + 0.05
game.forces[force_name].set_ammo_damage_modifier("landmine", global.combat_balance[force_name].land_mine)
end,
["military"] = function(force_name)
global.combat_balance[force_name].shotgun = 1
game.forces[force_name].set_ammo_damage_modifier("shotgun-shell", global.combat_balance[force_name].shotgun)
end,
}
local function on_research_finished(event)
local research_name = event.research.name
local force_name = event.research.force.name
local key
for b = 1, string.len(research_name), 1 do
key = string_sub(research_name, 0, b)
if balance_functions[key] then
if not global.combat_balance[force_name] then global.combat_balance[force_name] = {} end
balance_functions[key](force_name)
return
end
end
end
local function on_init()
global.combat_balance = {}
end
local Event = require 'utils.event'
Event.on_init(on_init)
Event.add(defines.events.on_research_finished, on_research_finished)

View File

@ -160,7 +160,6 @@ local function init_forces()
game.forces[force.name].technologies["artillery-shell-range-1"].enabled = false
game.forces[force.name].technologies["artillery-shell-speed-1"].enabled = false
game.forces[force.name].technologies["atomic-bomb"].enabled = false
game.forces[force.name].set_ammo_damage_modifier("shotgun-shell", 1)
game.forces[force.name].research_queue_enabled = true
global.spy_fish_timeout[force.name] = 0
global.active_biters[force.name] = {}
@ -209,6 +208,7 @@ require "maps.biter_battles_v2.terrain"
require "maps.biter_battles_v2.biters_landfill"
require "maps.biter_battles_v2.no_turret_creep"
require "maps.biter_battles_v2.chat"
require "maps.biter_battles_v2.combat_balance"
require "maps.biter_battles_v2.bb_map_intro"
require "maps.biter_battles_v2.difficulty_vote"
require "maps.biter_battles_v2.team_manager"