diff --git a/locale/en/locale.cfg b/locale/en/locale.cfg index c20f6d36..e1dad959 100644 --- a/locale/en/locale.cfg +++ b/locale/en/locale.cfg @@ -234,7 +234,7 @@ angels-ore6=umber gui_1=First wave in gui_2=Wave: gui_3=Threat: -tooltip_1=High threat may empower biters.\nBiter health: __1__% +tooltip_1=High threat empowers biters, worms and spawners.\nBiter health: __1__% tooltip_2=gain / minute [native_war] diff --git a/maps/mountain_fortress_v2/flamethrower_nerf.lua b/maps/mountain_fortress_v2/flamethrower_nerf.lua index 9ace6544..eca0febd 100644 --- a/maps/mountain_fortress_v2/flamethrower_nerf.lua +++ b/maps/mountain_fortress_v2/flamethrower_nerf.lua @@ -4,7 +4,7 @@ local function on_research_finished(event) local force_name = research.force.name if research.name == "military" then if not global.flamethrower_damage then global.flamethrower_damage = {} end - global.flamethrower_damage[force_name] = -0.75 + global.flamethrower_damage[force_name] = -0.65 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 diff --git a/maps/mountain_fortress_v2/treasure.lua b/maps/mountain_fortress_v2/treasure.lua index d053bdc2..8b6b4b17 100644 --- a/maps/mountain_fortress_v2/treasure.lua +++ b/maps/mountain_fortress_v2/treasure.lua @@ -14,12 +14,18 @@ local blacklist = { } function Public.treasure_chest(surface, position, container_name) - local budget = 64 + math_abs(position.y) * 1.75 - budget = budget * math_random(35, 165) * 0.01 - if math_random(1,200) == 1 then + local budget = 48 + math_abs(position.y) * 2 + budget = budget * math_random(25, 175) * 0.01 + + if math_random(1, 128) == 1 then + budget = budget * 5 + container_name = "crash-site-chest-" .. math_random(1, 2) + end + if math_random(1, 256) == 1 then budget = budget * 10 container_name = "crash-site-chest-" .. math_random(1, 2) end + budget = math_floor(budget) + 1 local item_stacks = LootRaffle.roll(budget, 8, blacklist) diff --git a/modules/rpg.lua b/modules/rpg.lua index 24ce23e7..512ed3eb 100644 --- a/modules/rpg.lua +++ b/modules/rpg.lua @@ -60,6 +60,32 @@ local classes = { ["vitality"] = "TANK", } +local xp_yield = { + ["behemoth-biter"] = 16, + ["behemoth-spitter"] = 16, + ["behemoth-worm-turret"] = 64, + ["big-biter"] = 8, + ["big-spitter"] = 8, + ["big-worm-turret"] = 48, + ["biter-spawner"] = 64, + ["character"] = 16, + ["gun-turret"] = 8, + ["laser-turret"] = 16, + ["medium-biter"] = 4, + ["medium-spitter"] = 4, + ["medium-worm-turret"] = 32, + ["small-biter"] = 1, + ["small-spitter"] = 1, + ["small-worm-turret"] = 16, + ["spitter-spawner"] = 64, +} + +local enemy_types = { + ["unit"] = true, + ["unit-spawner"] = true, + ["turret"] = true, +} + local function level_up_effects(player) local position = {x = player.position.x - 0.75, y = player.position.y - 1} player.surface.create_entity({name = "flying-text", position = position, text = "+LVL ", color = level_up_floating_text_color}) @@ -527,26 +553,6 @@ local function on_gui_click(event) draw_gui(player, true) end -local xp_yield = { - ["behemoth-biter"] = 16, - ["behemoth-spitter"] = 16, - ["behemoth-worm-turret"] = 64, - ["big-biter"] = 8, - ["big-spitter"] = 8, - ["big-worm-turret"] = 48, - ["biter-spawner"] = 64, - ["character"] = 16, - ["gun-turret"] = 8, - ["laser-turret"] = 16, - ["medium-biter"] = 4, - ["medium-spitter"] = 4, - ["medium-worm-turret"] = 32, - ["small-biter"] = 1, - ["small-spitter"] = 1, - ["small-worm-turret"] = 16, - ["spitter-spawner"] = 64, -} - local function train_type_cause(cause) local players = {} if cause.train.passengers then @@ -612,7 +618,7 @@ local function on_entity_died(event) --Grant modified XP for health boosted units if global.biter_health_boost then - if event.entity.type == "unit" then + if enemy_types[event.entity.type] then for _, player in pairs(players) do if xp_yield[event.entity.name] then gain_xp(player, xp_yield[event.entity.name] * global.biter_health_boost) diff --git a/modules/wave_defense/threat_events.lua b/modules/wave_defense/threat_events.lua index 2e45cbaa..d760068e 100644 --- a/modules/wave_defense/threat_events.lua +++ b/modules/wave_defense/threat_events.lua @@ -172,9 +172,8 @@ local function on_entity_died(event) if entity.force.index == 2 then if entity.health then if threat_values[entity.name] then - wave_defense_table.threat = wave_defense_table.threat - threat_values[entity.name] - end - + wave_defense_table.threat = math.round(wave_defense_table.threat - threat_values[entity.name] * global.biter_health_boost, 2) + end spawn_unit_spawner_inhabitants(wave_defense_table, entity) end end diff --git a/modules/wave_defense/threat_values.lua b/modules/wave_defense/threat_values.lua index 747b4ef9..e3bbeb6d 100644 --- a/modules/wave_defense/threat_values.lua +++ b/modules/wave_defense/threat_values.lua @@ -1,17 +1,17 @@ local t = { ["biter-spawner"] = 128, ["spitter-spawner"] = 128, - ["behemoth-biter"] = 36, - ["behemoth-spitter"] = 36, - ["big-biter"] = 12, - ["big-spitter"] = 12, + ["behemoth-biter"] = 64, + ["behemoth-spitter"] = 64, + ["big-biter"] = 16, + ["big-spitter"] = 16, ["medium-biter"] = 4, ["medium-spitter"] = 4, ["small-biter"] = 1, ["small-spitter"] = 1, ["small-worm-turret"] = 16, ["medium-worm-turret"] = 32, - ["big-worm-turret"] = 48, - ["behemoth-worm-turret"] = 64, + ["big-worm-turret"] = 64, + ["behemoth-worm-turret"] = 128, } return t \ No newline at end of file