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

added score list

This commit is contained in:
MewMew 2020-05-03 15:41:58 +02:00
parent 5a8fe50216
commit 0dacf489ee
3 changed files with 30 additions and 15 deletions

View File

@ -18,16 +18,6 @@ local score_list = (function (player, frame)
frame.style.padding = 4
frame.style.margin = 0
local line = frame.add { type = "line"}
line.style.top_margin = 4
line.style.bottom_margin = 4
local label = frame.add ({ type = "label", caption = highscore.caption})
label.style.font = "heading-1"
label.style.minimal_width = 780
label.style.horizontal_align = "center"
label.style.vertical_align = "center"
local line = frame.add { type = "line"}
line.style.top_margin = 4
line.style.bottom_margin = 4
@ -47,7 +37,7 @@ local score_list = (function (player, frame)
label.style.minimal_width = 160
label.style.font = "heading-2"
label.style.padding = 3
local label = t.add ({ type = "label", caption = "Won rounds:"})
local label = t.add ({ type = "label", caption = global.custom_highscore.description})
label.style.minimal_width = 160
label.style.font = "heading-2"
label.style.padding = 3
@ -67,6 +57,10 @@ local score_list = (function (player, frame)
end
)
function Public.set_score_description(str)
global.custom_highscore.description = str
end
function Public.set_score(player, count)
local score_list = global.custom_highscore.score_list
score_list[player.index] = count
@ -80,12 +74,12 @@ end
local function on_init()
global.custom_highscore = {
caption = "Highscores of the session:",
description = "Won rounds:",
score_list = {},
}
end
comfy_panel_tabs["Map Scores"] = score_list
comfy_panel_tabs["Map Scores"] = {gui = score_list, admin = false}
local event = require 'utils.event'
event.on_init(on_init)

View File

@ -2,7 +2,7 @@ require "modules.no_turrets"
--require "maps.biter_hatchery.flamethrower_nerf"
local RPG = require "modules.rpg"
local Tabs = require 'comfy_panel.main'
local Map_score = require "modules.map_score"
local Map_score = require "comfy_panel.map_score"
local Unit_health_booster = require "modules.biter_health_booster"
local unit_raffle = require "maps.biter_hatchery.raffle_tables"
local Terrain = require "maps.biter_hatchery.terrain"

View File

@ -7,6 +7,8 @@ require "player_modifiers"
require "functions.soft_reset"
require "functions.basic_markets"
local ComfyPanel = require "comfy_panel.main"
local Map_score = require "comfy_panel.map_score"
local Collapse = require "modules.collapse"
local RPG = require "modules.rpg"
require "modules.wave_defense.main"
@ -30,7 +32,11 @@ local WD = require "modules.wave_defense.table"
local Treasure = require "maps.mountain_fortress_v2.treasure"
local Locomotive = require "maps.mountain_fortress_v2.locomotive"
local Modifier = require "player_modifiers"
local math_random = math.random
local math_abs = math.abs
local math_floor = math.floor
local Public = {}
local starting_items = {['pistol'] = 1, ['firearm-magazine'] = 16, ['rail'] = 16, ['wood'] = 16, ['explosives'] = 32}
@ -48,9 +54,20 @@ local function game_over()
global.game_reset_tick = game.tick + 1800
for _, player in pairs(game.connected_players) do
player.play_sound{path="utility/game_lost", volume_modifier=0.80}
ComfyPanel.comfy_panel_call_tab(player, "Map Scores")
end
end
local function set_scores()
local fish_wagon = global.locomotive_cargo
if not fish_wagon then return end
if not fish_wagon.valid then return end
local score = math_floor(fish_wagon.position.y * -1)
for _, player in pairs(game.connected_players) do
if score > Map_score.get_score(player) then Map_score.set_score(player, score) end
end
end
local function disable_recipes()
local force = game.forces.player
force.recipes["cargo-wagon"].enabled = false
@ -299,8 +316,9 @@ end
local function on_entity_died(event)
if not event.entity.valid then return end
if event.entity == global.locomotive_cargo then
set_scores()
game_over()
event.entity.surface.spill_item_stack(event.entity.position,{name = "raw-fish", count = 512}, false)
event.entity.surface.spill_item_stack(event.entity.position,{name = "raw-fish", count = 512}, false)
return
end
@ -461,6 +479,7 @@ local function tick()
if global.offline_loot then
offline_players()
end
set_scores()
end
if global.game_reset_tick then
if global.game_reset_tick < tick then
@ -491,6 +510,8 @@ local function on_init()
["water-shallow"] = 1000,
}
Map_score.set_score_description("Wagon depth reached:")
Public.reset_map()
end