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

Merge pull request #58 from ComfyFactory/mtn_v3_changes

mor changes to mtn fortress
This commit is contained in:
Gerkiz 2021-05-16 14:58:12 +02:00 committed by GitHub
commit 6785aaa9ec
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 51 additions and 51 deletions

View File

@ -212,7 +212,7 @@ local function check_health_final_damage(final_damage_amount)
end
end
local function set_train_final_health(final_damage_amount)
local function set_train_final_health(final_damage_amount, repair)
if final_damage_amount == 0 then
return
end
@ -224,6 +224,8 @@ local function set_train_final_health(final_damage_amount)
local locomotive_health = WPT.get('locomotive_health')
local locomotive_max_health = WPT.get('locomotive_max_health')
if not repair then
local poison_deployed = WPT.get('poison_deployed')
local robotics_deployed = WPT.get('robotics_deployed')
@ -272,6 +274,7 @@ local function set_train_final_health(final_damage_amount)
elseif locomotive_health >= locomotive_max_health then
WPT.set().poison_deployed = false
end
end
if locomotive_health <= 0 then
check_health_final_damage(final_damage_amount)
@ -332,7 +335,7 @@ local function protect_entities(event)
if (event.cause and event.cause.valid) then
if event.cause.force.index == 2 then
if units and units[entity.unit_number] then
set_train_final_health(dmg)
set_train_final_health(dmg, false)
return
else
entity.health = entity.health - dmg
@ -342,7 +345,7 @@ local function protect_entities(event)
elseif not (event.cause and event.cause.valid) then
if event.force and event.force.index == 2 then
if units and units[entity.unit_number] then
set_train_final_health(dmg)
set_train_final_health(dmg, false)
return
else
entity.health = entity.health - dmg
@ -946,10 +949,10 @@ local function on_player_repaired_entity(event)
local player = game.players[event.player_index]
local repair_speed = Functions.get_magicka(player)
if repair_speed <= 0 then
set_train_final_health(-1)
set_train_final_health(-1, true)
return
else
set_train_final_health(-repair_speed)
set_train_final_health(-repair_speed, true)
return
end
end

View File

@ -3,7 +3,7 @@ local Color = require 'utils.color_presets'
local Task = require 'utils.task'
local Token = require 'utils.token'
local IC_Gui = require 'maps.mountain_fortress_v3.ic.gui'
local IC = require 'maps.mountain_fortress.ic.table'
local IC = require 'maps.mountain_fortress_v3.ic.table'
local WPT = require 'maps.mountain_fortress_v3.table'
local Public = {}

View File

@ -738,28 +738,25 @@ local damage_player_over_time_token =
Token.register(
function(data)
local player = data.player
local damage = data.damage
if not player.character or not player.character.valid then
return
end
player.character.health = player.character.health - damage
player.character.health = player.character.health - (player.character.health * 0.05)
player.character.surface.create_entity({name = 'water-splash', position = player.position})
end
)
--- Damages a player over time.
function Public.damage_player_over_time(player, amount, damage)
function Public.damage_player_over_time(player, amount)
if not player or not player.valid then
return
end
amount = amount or 5
damage = damage or 10
amount = amount or 10
local tick = 20
for _ = 1, amount, 1 do
Task.set_timeout_in_ticks(tick, damage_player_over_time_token, {player = player, damage = damage})
Task.set_timeout_in_ticks(tick, damage_player_over_time_token, {player = player})
tick = tick + 15
damage = damage + 10
end
end

View File

@ -1098,7 +1098,7 @@ local function on_player_used_capsule(event)
elseif object.obj_to_create == 'warp-gate' then
player.teleport(surface.find_non_colliding_position('character', game.forces.player.get_spawn_position(surface), 3, 0, 5), surface)
rpg_t[player.index].mana = 0
Functions.damage_player_over_time(player, 10)
Functions.damage_player_over_time(player, math.random(8, 16))
player.play_sound {path = 'utility/armor_insert', volume_modifier = 1}
p(({'rpg_main.warped_ok'}), Color.info)
rpg_t[player.index].mana = rpg_t[player.index].mana - object.mana_cost