1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-09-16 09:06:21 +02:00
This commit is contained in:
MewMew
2019-10-03 15:10:19 +02:00
parent d2391bf01a
commit 45cba7c74b

View File

@@ -11,6 +11,7 @@ DEXTERITY > character_running_speed_modifier, character_crafting_speed_modifier
VITALITY > character_health_bonus VITALITY > character_health_bonus
]] ]]
local math_random = math.random
local visuals_delay = 1800 local visuals_delay = 1800
local level_up_floating_text_color = {255, 255, 0} local level_up_floating_text_color = {255, 255, 0}
local xp_floating_text_color = {157, 157, 157} local xp_floating_text_color = {157, 157, 157}
@@ -53,7 +54,7 @@ local function update_player_stats(player)
global.player_modifiers[player.index].character_mining_speed_modifier["rpg"] = strength * 0.003 global.player_modifiers[player.index].character_mining_speed_modifier["rpg"] = strength * 0.003
local magic = global.rpg[player.index].magic - 10 local magic = global.rpg[player.index].magic - 10
local v = magic * 0.1 local v = magic * 0.15
global.player_modifiers[player.index].character_build_distance_bonus["rpg"] = v global.player_modifiers[player.index].character_build_distance_bonus["rpg"] = v
global.player_modifiers[player.index].character_item_drop_distance_bonus["rpg"] = v global.player_modifiers[player.index].character_item_drop_distance_bonus["rpg"] = v
global.player_modifiers[player.index].character_reach_distance_bonus["rpg"] = v global.player_modifiers[player.index].character_reach_distance_bonus["rpg"] = v
@@ -409,18 +410,21 @@ end
local xp_yield = { local xp_yield = {
["small-biter"] = 1, ["small-biter"] = 1,
["medium-biter"] = 2, ["medium-biter"] = 4,
["big-biter"] = 4, ["big-biter"] = 8,
["behemoth-biter"] = 8, ["behemoth-biter"] = 16,
["small-spitter"] = 1, ["small-spitter"] = 1,
["medium-spitter"] = 2, ["medium-spitter"] = 4,
["big-spitter"] = 4, ["big-spitter"] = 8,
["behemoth-spitter"] = 8, ["behemoth-spitter"] = 16,
["spitter-spawner"] = 16, ["spitter-spawner"] = 32,
["biter-spawner"] = 16, ["biter-spawner"] = 32,
["small-worm-turret"] = 6, ["small-worm-turret"] = 8,
["medium-worm-turret"] = 12, ["medium-worm-turret"] = 16,
["big-worm-turret"] = 18 ["big-worm-turret"] = 32,
["character"] = 16,
["gun-turret"] = 8,
["laser-turret"] = 16,
} }
local function on_entity_died(event) local function on_entity_died(event)
@@ -429,12 +433,15 @@ local function on_entity_died(event)
if event.cause.name ~= "character" then return end if event.cause.name ~= "character" then return end
if not event.cause.player then return end if not event.cause.player then return end
if not event.entity.valid then return end if not event.entity.valid then return end
if event.cause.force.name == event.entity.force.name then return end if event.cause.force.index == event.entity.force.index then return end
local xp = 0.5 if xp_yield[event.entity.name] then
if xp_yield[event.entity.name] then xp = xp_yield[event.entity.name] end gain_xp(event.cause.player, xp_yield[event.entity.name])
gain_xp(event.cause.player, xp) else
gain_xp(event.cause.player, 0.5)
end
end end
--[[
local function on_entity_damaged(event) local function on_entity_damaged(event)
if not event.entity.valid then return end if not event.entity.valid then return end
if event.final_damage_amount == 0 then return end if event.final_damage_amount == 0 then return end
@@ -443,13 +450,27 @@ local function on_entity_damaged(event)
local damage_taken = event.final_damage_amount local damage_taken = event.final_damage_amount
if damage_taken > 500 then damage_taken = 500 end if damage_taken > 500 then damage_taken = 500 end
gain_xp(event.entity.player, damage_taken * 0.055) gain_xp(event.entity.player, damage_taken * 0.055)
end]]
local function on_player_repaired_entity(event)
if math_random(1, 8) ~= 1 then return end
local player = game.players[event.player_index]
if not player.character then return end
gain_xp(player, 0.30)
end
local function on_player_rotated_entity(event)
local player = game.players[event.player_index]
if not player.character then return end
gain_xp(player, 0.20)
end end
local function on_player_changed_position(event) local function on_player_changed_position(event)
if math_random(1, 64) ~= 1 then return end
local player = game.players[event.player_index] local player = game.players[event.player_index]
if not player.character then return end if not player.character then return end
if player.character.driving then return end if player.character.driving then return end
gain_xp(player, 0.01) gain_xp(player, 1.0)
end end
local function on_pre_player_mined_item(event) local function on_pre_player_mined_item(event)
@@ -470,7 +491,7 @@ end
local function on_player_crafted_item(event) local function on_player_crafted_item(event)
if not event.recipe.energy then return end if not event.recipe.energy then return end
local player = game.players[event.player_index] local player = game.players[event.player_index]
gain_xp(player, event.recipe.energy * 0.2) gain_xp(player, event.recipe.energy * 0.25)
end end
local function on_player_respawned(event) local function on_player_respawned(event)
@@ -499,12 +520,14 @@ end
local event = require 'utils.event' local event = require 'utils.event'
event.on_init(on_init) event.on_init(on_init)
--event.add(defines.events.on_entity_damaged, on_entity_damaged)
event.add(defines.events.on_built_entity, on_built_entity) event.add(defines.events.on_built_entity, on_built_entity)
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_entity_died, on_entity_died)
event.add(defines.events.on_gui_click, on_gui_click) event.add(defines.events.on_gui_click, on_gui_click)
event.add(defines.events.on_player_changed_position, on_player_changed_position) event.add(defines.events.on_player_changed_position, on_player_changed_position)
event.add(defines.events.on_player_crafted_item, on_player_crafted_item) event.add(defines.events.on_player_crafted_item, on_player_crafted_item)
event.add(defines.events.on_player_joined_game, on_player_joined_game) event.add(defines.events.on_player_joined_game, on_player_joined_game)
event.add(defines.events.on_player_repaired_entity, on_player_repaired_entity)
event.add(defines.events.on_player_respawned, on_player_respawned) event.add(defines.events.on_player_respawned, on_player_respawned)
event.add(defines.events.on_player_rotated_entity, on_player_rotated_entity)
event.add(defines.events.on_pre_player_mined_item, on_pre_player_mined_item) event.add(defines.events.on_pre_player_mined_item, on_pre_player_mined_item)