1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2025-11-06 08:56:27 +02:00
This commit is contained in:
MewMew
2019-10-03 07:12:00 +02:00
parent c7dffdc430
commit d2391bf01a
3 changed files with 25 additions and 15 deletions

View File

@@ -14,7 +14,7 @@ local Event = require 'utils.event'
local market_items = require "maps.cave_miner_market_items"
local math_random = math.random
local spawn_dome_size = 7500
local spawn_dome_size = 7000
local darkness_messages = {
"Something is lurking in the dark...",
@@ -885,6 +885,7 @@ local function biter_attack_event()
local surface = game.surfaces[1]
local valid_positions = {}
for _, player in pairs(game.connected_players) do
if player.character then
if player.character.driving == false then
local position = {x = player.position.x, y = player.position.y}
local p = find_first_entity_spiral_scan(position, {"rock-huge", "rock-big", "sand-rock-big"}, 32)
@@ -893,6 +894,7 @@ local function biter_attack_event()
end
end
end
end
if valid_positions[1] then
if #valid_positions == 1 then
for x = 1, global.biter_spawn_amount_raffle[math_random(1,#global.biter_spawn_amount_raffle)],1 do
@@ -1084,10 +1086,10 @@ local function pre_player_mined_item(event)
if tile_distance_to_center > 1450 then tile_distance_to_center = 1450 end
if math_random(1,3) == 1 then hunger_update(player, -1) end
surface.spill_item_stack(player.position,{name = "raw-fish", count = math_random(2,4)},true)
surface.spill_item_stack(player.position,{name = "raw-fish", count = math_random(1,3)},true)
local bonus_amount = math.floor((tile_distance_to_center - math.sqrt(spawn_dome_size)) * 0.115) + 1
if bonus_amount < 0 then bonus_amount = 0 end
local amount = math_random(25,35) + bonus_amount
local amount = math_random(25,45) + bonus_amount
if amount > 500 then amount = 500 end
amount = amount * (1+game.forces.player.mining_drill_productivity_bonus)

View File

@@ -10,8 +10,8 @@ require "modules.rocks_yield_ore"
require "modules.satellite_score"
require "modules.spawners_contain_biters"
--require "modules.splice_double"
require "modules.more_attacks"
require "modules.evolution_extended"
--require "modules.more_attacks"
--require "modules.evolution_extended"
local event = require 'utils.event'
local math_random = math.random

View File

@@ -53,7 +53,7 @@ local function update_player_stats(player)
global.player_modifiers[player.index].character_mining_speed_modifier["rpg"] = strength * 0.003
local magic = global.rpg[player.index].magic - 10
local v = magic * 0.2
local v = magic * 0.1
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_reach_distance_bonus["rpg"] = v
@@ -138,6 +138,7 @@ end
local function draw_gui(player)
if player.gui.left.rpg then player.gui.left.rpg.destroy() end
if not player.character then return end
local frame = player.gui.left.add({type = "frame", name = "rpg", direction = "vertical"})
frame.style.maximal_width = 425
@@ -326,7 +327,7 @@ local function draw_level_text(player)
text = "lvl " .. global.rpg[player.index].level,
surface = player.surface,
target = player.character,
target_offset = {-0.05, -3.5},
target_offset = {-0.05, -3.15},
color = {
r = player.color.r * 0.6 + 0.25,
g = player.color.g * 0.6 + 0.25,
@@ -334,7 +335,7 @@ local function draw_level_text(player)
a = 1
},
players = players,
scale = 1.0,
scale = 1.10,
font = "scenario-message-dialog",
alignment = "center",
scale_with_zoom = false
@@ -439,7 +440,9 @@ local function on_entity_damaged(event)
if event.final_damage_amount == 0 then return end
if event.entity.name ~= "character" then return end
if not event.entity.player then return end
gain_xp(event.entity.player, event.final_damage_amount * 0.05)
local damage_taken = event.final_damage_amount
if damage_taken > 500 then damage_taken = 500 end
gain_xp(event.entity.player, damage_taken * 0.055)
end
local function on_player_changed_position(event)
@@ -470,6 +473,10 @@ local function on_player_crafted_item(event)
gain_xp(player, event.recipe.energy * 0.2)
end
local function on_player_respawned(event)
draw_level_text(game.players[event.player_index])
end
local function on_player_joined_game(event)
local player = game.players[event.player_index]
if not global.rpg[player.index] then
@@ -499,4 +506,5 @@ 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_crafted_item, on_player_crafted_item)
event.add(defines.events.on_player_joined_game, on_player_joined_game)
event.add(defines.events.on_player_respawned, on_player_respawned)
event.add(defines.events.on_pre_player_mined_item, on_pre_player_mined_item)