1
0
mirror of https://github.com/ComfyFactory/ComfyFactorio.git synced 2026-06-20 16:32:28 +02:00

Updates to Mountain Fortress

Removed rerolls
Removed Nightmare diff
Fixes by perfectwill
This commit is contained in:
Gerkiz
2020-12-02 22:59:39 +01:00
parent 9f4890c218
commit 31db1ba9b6
6 changed files with 138 additions and 279 deletions
+119 -96
View File
@@ -2,28 +2,33 @@ local Session = require 'utils.datastore.session_data'
local Modifiers = require 'player_modifiers' local Modifiers = require 'player_modifiers'
local Server = require 'utils.server' local Server = require 'utils.server'
local Color = require 'utils.color_presets' local Color = require 'utils.color_presets'
local Event = require 'utils.event'
local Global = require 'utils.global'
local this = {}
Global.register(
this,
function(t)
this = t
end
)
commands.add_command( commands.add_command(
'spaghetti', 'spaghetti',
'Does spaghett.', 'Does spaghett.',
function(cmd) function(cmd)
local p_modifer = Modifiers.get_table()
local player = game.player local player = game.player
local _a = p_modifer
local param = tostring(cmd.parameter) local param = tostring(cmd.parameter)
local force = game.forces['player'] local force = game.forces['player']
local p
if player then if not (player and player.valid) then
if player ~= nil then return
p = player.print end
if not player.admin then local p = player.print
p("[ERROR] You're not admin!", Color.fail) if not player.admin then
return p("[ERROR] You're not admin!", Color.fail)
end return
else
p = log
end
end end
if param == nil then if param == nil then
@@ -31,12 +36,12 @@ commands.add_command(
return return
end end
if param == 'true' then if param == 'true' then
if not _a.spaghetti_are_you_sure then if not this.spaghetti_are_you_sure then
_a.spaghetti_are_you_sure = true this.spaghetti_are_you_sure = true
player.print('Spaghetti is not enabled, run this command again to enable spaghett', Color.yellow) player.print('Spaghetti is not enabled, run this command again to enable spaghett', Color.yellow)
return return
end end
if _a.spaghetti_enabled == true then if this.spaghetti_enabled then
player.print('Spaghetti is already enabled.', Color.yellow) player.print('Spaghetti is already enabled.', Color.yellow)
return return
end end
@@ -65,9 +70,9 @@ commands.add_command(
force.technologies['worker-robots-speed-4'].enabled = false force.technologies['worker-robots-speed-4'].enabled = false
force.technologies['worker-robots-speed-5'].enabled = false force.technologies['worker-robots-speed-5'].enabled = false
force.technologies['worker-robots-speed-6'].enabled = false force.technologies['worker-robots-speed-6'].enabled = false
_a.spaghetti_enabled = true this.spaghetti_enabled = true
elseif param == 'false' then elseif param == 'false' then
if _a.spaghetti_enabled == false or _a.spaghetti_enabled == nil then if this.spaghetti_enabled == false or this.spaghetti_enabled == nil then
player.print('Spaghetti is already disabled.', Color.yellow) player.print('Spaghetti is already disabled.', Color.yellow)
return return
end end
@@ -96,7 +101,7 @@ commands.add_command(
force.technologies['worker-robots-speed-4'].enabled = true force.technologies['worker-robots-speed-4'].enabled = true
force.technologies['worker-robots-speed-5'].enabled = true force.technologies['worker-robots-speed-5'].enabled = true
force.technologies['worker-robots-speed-6'].enabled = true force.technologies['worker-robots-speed-6'].enabled = true
_a.spaghetti_enabled = false this.spaghetti_enabled = false
end end
end end
) )
@@ -105,22 +110,17 @@ commands.add_command(
'generate_map', 'generate_map',
'Pregenerates map.', 'Pregenerates map.',
function(cmd) function(cmd)
local p_modifer = Modifiers.get_table()
local _a = p_modifer
local player = game.player local player = game.player
local param = tonumber(cmd.parameter) local param = tonumber(cmd.parameter)
local p
if player then if not (player and player.valid) then
if player ~= nil then return
p = player.print end
if not player.admin then
p("[ERROR] You're not admin!", Color.fail) local p = player.print
return if not player.admin then
end p("[ERROR] You're not admin!", Color.fail)
else return
p = log
end
end end
if param == nil then if param == nil then
player.print('[ERROR] Must specify radius!', Color.fail) player.print('[ERROR] Must specify radius!', Color.fail)
@@ -131,19 +131,16 @@ commands.add_command(
return return
end end
if not _a.generate_map then if not this.generate_map then
_a.generate_map = true this.generate_map = true
player.print( player.print('[WARNING] This command will make the server LAG, run this command again if you really want to do this!', Color.yellow)
'[WARNING] This command will make the server LAG, run this command again if you really want to do this!',
Color.yellow
)
return return
end end
local radius = param local radius = param
local surface = game.players[1].surface local surface = game.players[1].surface
if surface.is_chunk_generated({radius, radius}) then if surface.is_chunk_generated({radius, radius}) then
game.print('Map generation done!', Color.success) game.print('Map generation done!', Color.success)
_a.generate_map = nil this.generate_map = nil
return return
end end
surface.request_to_generate_chunks({0, 0}, radius) surface.request_to_generate_chunks({0, 0}, radius)
@@ -152,7 +149,7 @@ commands.add_command(
pl.play_sound {path = 'utility/new_objective', volume_modifier = 1} pl.play_sound {path = 'utility/new_objective', volume_modifier = 1}
end end
game.print('Map generation done!', Color.success) game.print('Map generation done!', Color.success)
_a.generate_map = nil this.generate_map = nil
end end
) )
@@ -160,28 +157,20 @@ commands.add_command(
'dump_layout', 'dump_layout',
'Dump the current map-layout.', 'Dump the current map-layout.',
function() function()
local p_modifer = Modifiers.get_table()
local _a = p_modifer
local player = game.player local player = game.player
local p
if player then if not (player and player.valid) then
if player ~= nil then return
p = player.print
if not player.admin then
p("[ERROR] You're not admin!", Color.warning)
return
end
else
p = log
end
end end
if not _a.dump_layout then
_a.dump_layout = true local p = player.print
player.print( if not player.admin then
'[WARNING] This command will make the server LAG, run this command again if you really want to do this!', p("[ERROR] You're not admin!", Color.warning)
Color.yellow return
) end
if not this.dump_layout then
this.dump_layout = true
player.print('[WARNING] This command will make the server LAG, run this command again if you really want to do this!', Color.yellow)
return return
end end
local surface = game.players[1].surface local surface = game.players[1].surface
@@ -225,7 +214,7 @@ commands.add_command(
game.write_file('layout.lua', str .. '\n', true) game.write_file('layout.lua', str .. '\n', true)
player.print('Dumped layout as file: layout.lua', Color.success) player.print('Dumped layout as file: layout.lua', Color.success)
end end
_a.dump_layout = false this.dump_layout = false
end end
) )
@@ -233,31 +222,22 @@ commands.add_command(
'creative', 'creative',
'Enables creative_mode.', 'Enables creative_mode.',
function() function()
local p_modifer = Modifiers.get_table()
local _a = p_modifer
local player = game.player local player = game.player
local p if not (player and player.valid) then
if player then
if player ~= nil then
p = player.print
if not player.admin then
p("[ERROR] You're not admin!", Color.fail)
return
end
else
p = log
end
end
if not _a.creative_are_you_sure then
_a.creative_are_you_sure = true
player.print(
'[WARNING] This command will enable creative/cheat-mode for all connected players, run this command again if you really want to do this!',
Color.yellow
)
return return
end end
if _a.creative_enabled == true then
local p = player.print
if not player.admin then
p("[ERROR] You're not admin!", Color.fail)
return
end
if not this.creative_are_you_sure then
this.creative_are_you_sure = true
player.print('[WARNING] This command will enable creative/cheat-mode for all connected players, run this command again if you really want to do this!', Color.yellow)
return
end
if this.creative_enabled then
player.print('[ERROR] Creative/cheat-mode is already active!', Color.fail) player.print('[ERROR] Creative/cheat-mode is already active!', Color.fail)
return return
end end
@@ -291,14 +271,15 @@ commands.add_command(
end end
local item = game.item_prototypes local item = game.item_prototypes
local i = 0 local i = 0
local p_modifer = Modifiers.get_table()
for _k, _v in pairs(item) do for _k, _v in pairs(item) do
i = i + 1 i = i + 1
if _k and _v.type ~= 'mining-tool' then if _k and _v.type ~= 'mining-tool' then
_a[k].character_inventory_slots_bonus['creative'] = tonumber(i) p_modifer[k].character_inventory_slots_bonus['creative'] = tonumber(i)
v.character_inventory_slots_bonus = _a[k].character_inventory_slots_bonus['creative'] v.character_inventory_slots_bonus = p_modifer[k].character_inventory_slots_bonus['creative']
v.insert {name = _k, count = _v.stack_size} v.insert {name = _k, count = _v.stack_size}
v.print('Inserted all base items.', Color.success) v.print('Inserted all base items.', Color.success)
_a.creative_enabled = true p_modifer.creative_enabled = true
end end
end end
end end
@@ -311,17 +292,14 @@ commands.add_command(
'Deletes all chunks that are not charted. Can reduce filesize of the savegame. May be unsafe to use in certain custom maps.', 'Deletes all chunks that are not charted. Can reduce filesize of the savegame. May be unsafe to use in certain custom maps.',
function() function()
local player = game.player local player = game.player
local p if not (player and player.valid) then
if player then return
if player ~= nil then end
p = player.print
if not player.admin then local p = player.print
p("[ERROR] You're not admin!", Color.fail) if not player.admin then
return p("[ERROR] You're not admin!", Color.fail)
end return
else
p = log
end
end end
local forces = {} local forces = {}
@@ -396,3 +374,48 @@ commands.add_command(
player.print('Cleared biter-corpses.', Color.success) player.print('Cleared biter-corpses.', Color.success)
end end
) )
local on_player_joined_game = function(event)
local player = game.players[event.player_index]
if this.creative_enabled then
player.cheat_mode = true
if player.character ~= nil then
if player.get_inventory(defines.inventory.character_armor) then
player.get_inventory(defines.inventory.character_armor).clear()
end
player.insert {name = 'power-armor-mk2', count = 1}
local p_armor = player.get_inventory(5)[1].grid
if p_armor and p_armor.valid then
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'fusion-reactor-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'exoskeleton-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'energy-shield-mk2-equipment'})
p_armor.put({name = 'personal-roboport-mk2-equipment'})
p_armor.put({name = 'night-vision-equipment'})
p_armor.put({name = 'battery-mk2-equipment'})
p_armor.put({name = 'battery-mk2-equipment'})
end
local item = game.item_prototypes
local i = 0
local p_modifer = Modifiers.get_table()
for _k, _v in pairs(item) do
i = i + 1
if _k and _v.type ~= 'mining-tool' then
p_modifer[player.index].character_inventory_slots_bonus['creative'] = tonumber(i)
player.character_inventory_slots_bonus = p_modifer[player.index].character_inventory_slots_bonus['creative']
player.insert {name = _k, count = _v.stack_size}
player.print('[CREATIVE] Inserted all base items.', Color.success)
end
end
end
end
end
Event.add(defines.events.on_player_joined_game, on_player_joined_game)
+1 -42
View File
@@ -76,34 +76,6 @@ local function do_refill_turrets()
end end
end end
-- local function turret_died(event)
-- local entity = event.entity
-- if not entity or not entity.valid then
-- return
-- end
-- local number = entity.unit_number
-- if not number then
-- return
-- end
-- local power_sources = this.power_sources
-- local ps_data = power_sources[number]
-- if ps_data then
-- power_sources[number] = nil
-- --[[ local ps_entity = ps_data.entity
-- local ps_pole = ps_data.pole ]]
-- if ps_data and ps_data.valid then
-- ps_data.destroy()
-- end
-- --[[ if ps_pole and ps_pole.valid then
-- ps_pole.destroy()
-- end ]]
-- end
-- end
local function do_turret_energy() local function do_turret_energy()
local power_sources = this.power_sources local power_sources = this.power_sources
@@ -465,21 +437,8 @@ Public.refill_liquid_turret_callback =
Public.power_source_callback = Public.power_source_callback =
Token.register( Token.register(
function(turret, data) function(turret)
local power_sources = this.power_sources local power_sources = this.power_sources
-- local callback_data = data.callback_data
--[[ local power_source = turret.surface.create_entity {name = 'hidden-electric-energy-interface', position = turret.position}
power_source.electric_buffer_size = callback_data.buffer_size
power_source.power_production = callback_data.power_production
power_source.destructible = false
local power_pole =
turret.surface.create_entity {
name = 'small-electric-pole',
position = {x = turret.position.x, y = turret.position.y}
}
power_pole.destructible = false
power_pole.disconnect_neighbour() ]]
power_sources[#power_sources + 1] = turret power_sources[#power_sources + 1] = turret
end end
) )
+5 -65
View File
@@ -148,8 +148,7 @@ local set_loco_tiles =
break break
end end
if surface.can_place_entity({name = 'wooden-chest', position = p[i]}) then if surface.can_place_entity({name = 'wooden-chest', position = p[i]}) then
local e = local e = surface.create_entity({name = 'wooden-chest', position = p[i], force = 'player', create_build_effect_smoke = false})
surface.create_entity({name = 'wooden-chest', position = p[i], force = 'player', create_build_effect_smoke = false})
local inventory = e.get_inventory(defines.inventory.chest) local inventory = e.get_inventory(defines.inventory.chest)
inventory.insert(cargo_boxes[i]) inventory.insert(cargo_boxes[i])
end end
@@ -939,27 +938,6 @@ local function gui_click(event)
local cost = (item.price * slider_value) local cost = (item.price * slider_value)
local item_count = item.stack * slider_value local item_count = item.stack * slider_value
if name == 'reroll_market_items' then
player.remove_item({name = item.value, count = item.price})
local message = ({'locomotive.reroll_bought_info', shopkeeper, player.name, format_number(item.price, true)})
Alert.alert_all_players(5, message)
Server.to_discord_bold(
table.concat {
player.name .. ' has rerolled the market items for ' .. format_number(item.price, true) .. ' coins.'
}
)
local breached_wall = WPT.get('breached_wall')
add_random_loot_to_main_market(breached_wall + random(1, 3))
Public.get_items(true)
redraw_market_items(data.item_frame, player, data.search_text)
redraw_coins_left(data.coins_left, player)
return
end
local this = WPT.get() local this = WPT.get()
if name == 'upgrade_pickaxe' then if name == 'upgrade_pickaxe' then
player.remove_item({name = item.value, count = item.price}) player.remove_item({name = item.value, count = item.price})
@@ -1157,8 +1135,7 @@ local function gui_click(event)
Alert.alert_all_players(5, message) Alert.alert_all_players(5, message)
Server.to_discord_bold( Server.to_discord_bold(
table.concat { table.concat {
player.name .. player.name .. ' has bought ' .. item.stack .. ' flamethrower-turret slots for ' .. format_number(item.price, true) .. ' coins.'
' has bought ' .. item.stack .. ' flamethrower-turret slots for ' .. format_number(item.price, true) .. ' coins.'
} }
) )
end end
@@ -1186,8 +1163,7 @@ local function gui_click(event)
if item.price >= 1000 then if item.price >= 1000 then
Server.to_discord_bold( Server.to_discord_bold(
table.concat { table.concat {
player.name .. player.name .. ' has bought ' .. item.stack .. ' landmine slots for ' .. format_number(item.price, true) .. ' coins.'
' has bought ' .. item.stack .. ' landmine slots for ' .. format_number(item.price, true) .. ' coins.'
} }
) )
end end
@@ -1320,8 +1296,7 @@ local function spawn_biter()
if not position then if not position then
return return
end end
this.locomotive_biter = this.locomotive_biter = loco_surface.create_entity({name = biters[random(1, 4)], position = position, force = 'player', create_build_effect_smoke = false})
loco_surface.create_entity({name = biters[random(1, 4)], position = position, force = 'player', create_build_effect_smoke = false})
this.locomotive_biter.ai_settings.allow_destroy_when_commands_fail = false this.locomotive_biter.ai_settings.allow_destroy_when_commands_fail = false
this.locomotive_biter.ai_settings.allow_try_return_to_spawner = false this.locomotive_biter.ai_settings.allow_try_return_to_spawner = false
@@ -1911,7 +1886,7 @@ function Public.locomotive_spawn(surface, position)
game.forces.player.set_spawn_position({0, 19}, locomotive.surface) game.forces.player.set_spawn_position({0, 19}, locomotive.surface)
end end
function Public.get_items(reroll) function Public.get_items()
local chest_limit_outside_upgrades = WPT.get('chest_limit_outside_upgrades') local chest_limit_outside_upgrades = WPT.get('chest_limit_outside_upgrades')
local health_upgrades = WPT.get('health_upgrades') local health_upgrades = WPT.get('health_upgrades')
local pickaxe_tier = WPT.get('pickaxe_tier') local pickaxe_tier = WPT.get('pickaxe_tier')
@@ -1925,7 +1900,6 @@ function Public.get_items(reroll)
local chest_limit_cost = round(fixed_prices.chest_limit_cost * (1 + chest_limit_outside_upgrades)) local chest_limit_cost = round(fixed_prices.chest_limit_cost * (1 + chest_limit_outside_upgrades))
local health_cost = round(fixed_prices.health_cost * (1 + health_upgrades)) local health_cost = round(fixed_prices.health_cost * (1 + health_upgrades))
local pickaxe_cost = round(fixed_prices.pickaxe_cost * (0.1 + pickaxe_tier / 2)) local pickaxe_cost = round(fixed_prices.pickaxe_cost * (0.1 + pickaxe_tier / 2))
local reroll_cost = round(fixed_prices.reroll_cost)
local aura_cost = round(fixed_prices.aura_cost * (1 + aura_upgrades)) local aura_cost = round(fixed_prices.aura_cost * (1 + aura_upgrades))
local xp_point_boost_cost = round(fixed_prices.xp_point_boost_cost * (1 + xp_points_upgrade)) local xp_point_boost_cost = round(fixed_prices.xp_point_boost_cost * (1 + xp_points_upgrade))
local explosive_bullets_cost = round(fixed_prices.explosive_bullets_cost) local explosive_bullets_cost = round(fixed_prices.explosive_bullets_cost)
@@ -1933,40 +1907,6 @@ function Public.get_items(reroll)
local land_mine_cost = round(fixed_prices.land_mine_cost * (1 + landmine)) local land_mine_cost = round(fixed_prices.land_mine_cost * (1 + landmine))
local skill_reset_cost = round(fixed_prices.skill_reset_cost) local skill_reset_cost = round(fixed_prices.skill_reset_cost)
if reroll then
fixed_prices.chest_limit_cost = round(random(2000, 3000) * (1 + chest_limit_outside_upgrades))
fixed_prices.health_cost = round(random(7000, 10000) * (1 + health_upgrades))
fixed_prices.pickaxe_cost = round(random(3500, 8000))
fixed_prices.reroll_cost = round(random(2000, 3000))
fixed_prices.aura_cost = round(random(3000, 6000) * (1 + aura_upgrades))
fixed_prices.xp_point_boost_cost = round(random(4000, 6000) * (1 + xp_points_upgrade))
fixed_prices.explosive_bullets_cost = round(random(18000, 21000))
fixed_prices.flamethrower_turrets_cost = round(random(2500, 4000) * (1 + flame_turret))
fixed_prices.land_mine_cost = round(random(1, 8) * (1 + landmine))
fixed_prices.skill_reset_cost = round(random(90000, 110000))
if main_market_items['spidertron'] then
local rng = round(random(70000, 120000))
main_market_items['spidertron'] = {
stack = 1,
value = 'coin',
price = rng,
tooltip = 'Chonk Spidertron',
upgrade = false,
static = true
}
end
end
main_market_items['reroll_market_items'] = {
stack = 1,
value = 'coin',
price = reroll_cost,
tooltip = ({'main_market.reroll_market_items'}),
sprite = 'achievement/logistic-network-embargo',
enabled = true,
upgrade = true,
static = true
}
local pickaxe_tiers = WPT.pickaxe_upgrades local pickaxe_tiers = WPT.pickaxe_upgrades
local tier = WPT.get('pickaxe_tier') local tier = WPT.get('pickaxe_tier')
local offer = pickaxe_tiers[tier] local offer = pickaxe_tiers[tier]
+6 -45
View File
@@ -174,28 +174,13 @@ local set_difficulty = function()
amount = 3 amount = 3
end end
local difficulty = Difficulty.get()
local name = difficulty.difficulties[difficulty.difficulty_vote_index].name
if name ~= 'Nightmare' then
local zone = WPT.get('breached_wall')
if zone >= 5 then
WPT.set().coin_amount = random(1, 2)
elseif zone >= 10 then
WPT.set().coin_amount = random(1, 3)
end
end
if wave_defense_table.threat <= 0 then if wave_defense_table.threat <= 0 then
wave_defense_table.wave_interval = 1000 wave_defense_table.wave_interval = 1000
end end
if name == 'Nightmare' then
wave_defense_table.wave_interval = 3600 - player_count * 60
if wave_defense_table.wave_interval < 1800 then
wave_defense_table.wave_interval = 1800 wave_defense_table.wave_interval = 1800
else
wave_defense_table.wave_interval = 3600 - player_count * 60
if wave_defense_table.wave_interval < 1800 then
wave_defense_table.wave_interval = 1800
end
end end
local gap_between_zones = WPT.get('gap_between_zones') local gap_between_zones = WPT.get('gap_between_zones')
@@ -203,9 +188,7 @@ local set_difficulty = function()
return return
end end
if name == 'Nightmare' then if collapse_amount then
Collapse.set_amount(10)
elseif collapse_amount then
Collapse.set_amount(collapse_amount) Collapse.set_amount(collapse_amount)
else else
Collapse.set_amount(amount) Collapse.set_amount(amount)
@@ -710,20 +693,6 @@ local boost_difficulty = function()
WPT.set().spidertron_unlocked_at_wave = 18 WPT.set().spidertron_unlocked_at_wave = 18
WPT.set().difficulty_set = true WPT.set().difficulty_set = true
WD.set_biter_health_boost(3) WD.set_biter_health_boost(3)
elseif name == 'Nightmare' then
-- rpg_extra.difficulty = 0
force.character_running_speed_modifier = 0
force.manual_crafting_speed_modifier = 0
WPT.set().coin_amount = 1
WPT.set('upgrades').flame_turret.limit = 0
WPT.set('upgrades').landmine.limit = 0
WPT.set().locomotive_health = 1000
WPT.set().locomotive_max_health = 1000
WPT.set().bonus_xp_on_join = 0
WD.set().next_wave = game.tick + 3600 * 2
WPT.set().spidertron_unlocked_at_wave = 22
WPT.set().difficulty_set = true
WD.set_biter_health_boost(4)
end end
end end
@@ -905,17 +874,10 @@ local collapse_after_wave_100 = function()
if Collapse.start_now() then if Collapse.start_now() then
return return
end end
local difficulty = Difficulty.get()
local name = difficulty.difficulties[difficulty.difficulty_vote_index].name
local difficulty_set = WPT.get('difficulty_set')
if not difficulty_set and name == 'Nightmare' then
return
end
local wave_number = WD.get_wave() local wave_number = WD.get_wave()
if wave_number >= 100 or name == 'Nightmare' then if wave_number >= 100 then
Collapse.start_now(true) Collapse.start_now(true)
local data = { local data = {
position = Collapse.get_position() position = Collapse.get_position()
@@ -959,8 +921,7 @@ local on_init = function()
local tooltip = { local tooltip = {
[1] = ({'main.diff_tooltip', '0', '0.5', '0.2', '0.4', '1', '12', '50', '10000', '100%', '15', '14'}), [1] = ({'main.diff_tooltip', '0', '0.5', '0.2', '0.4', '1', '12', '50', '10000', '100%', '15', '14'}),
[2] = ({'main.diff_tooltip', '0', '0.25', '0.1', '0.1', '1', '10', '50', '7000', '75%', '10', '16'}), [2] = ({'main.diff_tooltip', '0', '0.25', '0.1', '0.1', '1', '10', '50', '7000', '75%', '10', '16'}),
[3] = ({'main.diff_tooltip', '0', '0', '0', '0', '1', '3', '10', '5000', '50%', '10', '18'}), [3] = ({'main.diff_tooltip', '0', '0', '0', '0', '1', '3', '10', '5000', '50%', '10', '18'})
[4] = ({'main.diff_tooltip', '0', '0', '0', '0', '1', '0', '0', '1000', '25%', '5', '22'})
} }
Difficulty.set_tooltip(tooltip) Difficulty.set_tooltip(tooltip)
-1
View File
@@ -166,7 +166,6 @@ function Public.reset_table()
chest_limit_cost = 3000, chest_limit_cost = 3000,
health_cost = 10000, health_cost = 10000,
pickaxe_cost = 3000, pickaxe_cost = 3000,
reroll_cost = 5000,
aura_cost = 4000, aura_cost = 4000,
xp_point_boost_cost = 5000, xp_point_boost_cost = 5000,
explosive_bullets_cost = 20000, explosive_bullets_cost = 20000,
+7 -30
View File
@@ -36,30 +36,16 @@ local this = {
count = 0, count = 0,
strength_modifier = 1.75, strength_modifier = 1.75,
boss_modifier = 8.0 boss_modifier = 8.0
},
[4] = {
name = 'Nightmare',
index = 4,
value = 3,
color = {r = 255, g = 0.00, b = 0.00},
print_color = {r = 255, g = 0.0, b = 0.00},
count = 0,
strength_modifier = 2.50,
boss_modifier = 9.0
} }
}, },
tooltip = { tooltip = {
[1] = '', [1] = '',
[2] = '', [2] = '',
[3] = '', [3] = ''
[4] = '',
[5] = '',
[6] = '',
[7] = ''
}, },
difficulty_vote_value = 1, difficulty_vote_value = 1,
difficulty_vote_index = 1, difficulty_vote_index = 1,
fair_vote = true, fair_vote = false,
difficulty_poll_closing_timeout = 54000, difficulty_poll_closing_timeout = 54000,
difficulty_player_votes = {}, difficulty_player_votes = {},
gui_width = 108, gui_width = 108,
@@ -84,8 +70,7 @@ function Public.difficulty_gui()
if player.gui.top['difficulty_gui'] then if player.gui.top['difficulty_gui'] then
player.gui.top['difficulty_gui'].caption = this.difficulties[this.difficulty_vote_index].name player.gui.top['difficulty_gui'].caption = this.difficulties[this.difficulty_vote_index].name
player.gui.top['difficulty_gui'].tooltip = this.button_tooltip or tooltip player.gui.top['difficulty_gui'].tooltip = this.button_tooltip or tooltip
player.gui.top['difficulty_gui'].style.font_color = player.gui.top['difficulty_gui'].style.font_color = this.difficulties[this.difficulty_vote_index].print_color
this.difficulties[this.difficulty_vote_index].print_color
else else
local b = local b =
player.gui.top.add { player.gui.top.add {
@@ -181,8 +166,7 @@ local function poll_difficulty(player)
{ {
type = 'button', type = 'button',
name = 'close', name = 'close',
caption = 'Close (' .. caption = 'Close (' .. math.floor((this.difficulty_poll_closing_timeout - game.tick) / 3600) .. ' minutes left)'
math.floor((this.difficulty_poll_closing_timeout - game.tick) / 3600) .. ' minutes left)'
} }
) )
b.style.font_color = {r = 0.66, g = 0.0, b = 0.66} b.style.font_color = {r = 0.66, g = 0.0, b = 0.66}
@@ -194,8 +178,7 @@ local function set_difficulty()
local index = highest_count(this.difficulties) local index = highest_count(this.difficulties)
if this.difficulty_vote_index ~= index then if this.difficulty_vote_index ~= index then
local message = local message = table.concat({'>> Map difficulty has changed to ', this.difficulties[index].name, ' difficulty!'})
table.concat({'>> Map difficulty has changed to ', this.difficulties[index].name, ' difficulty!'})
game.print(message, this.difficulties[index].print_color) game.print(message, this.difficulties[index].print_color)
Server.to_discord_embed(message) Server.to_discord_embed(message)
end end
@@ -304,10 +287,7 @@ local function on_gui_click(event)
local i = tonumber(event.element.name) local i = tonumber(event.element.name)
if this.difficulty_player_votes[player.name] and this.difficulty_player_votes[player.name].index == i then if this.difficulty_player_votes[player.name] and this.difficulty_player_votes[player.name].index == i then
player.print( player.print('You have already voted for ' .. this.difficulties[i].name .. '.', this.difficulties[i].print_color)
'You have already voted for ' .. this.difficulties[i].name .. '.',
this.difficulties[i].print_color
)
return event.element.parent.destroy() return event.element.parent.destroy()
end end
@@ -325,10 +305,7 @@ local function on_gui_click(event)
set_difficulty() set_difficulty()
Public.difficulty_gui() Public.difficulty_gui()
event.element.parent.destroy() event.element.parent.destroy()
game.print( game.print(player.name .. ' has voted for ' .. this.difficulties[i].name .. ' difficulty!', this.difficulties[i].print_color)
player.name .. ' has voted for ' .. this.difficulties[i].name .. ' difficulty!',
this.difficulties[i].print_color
)
end end
function Public.set_tooltip(...) function Public.set_tooltip(...)