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

tweaks to mountain fortress

added pickaxe tiers
added reroll market items
some minor tweaks to various settings
This commit is contained in:
Gerkiz 2020-10-10 20:36:51 +02:00
parent 2d338ca3e3
commit 26cc24d1c5
9 changed files with 238 additions and 82 deletions

View File

@ -41,6 +41,7 @@ flamethrowers_placed=Amount of flamethrower-turrets that can be built.
train_upgrades=Amount of train upgrades.
info_tooltip=Shows statistics!
hide_minimap=Hide locomotive minimap!
current_pickaxe_tier=The team currently has the __1__ pickaxe tier.
[locomotive]
upgrades=Upgrades:
@ -57,6 +58,8 @@ chest_bought_info=__1__ __2__ has bought the chest limit upgrade for __3__ coins
health_bought_info=__1__ __2__ has bought the locomotive health modifier for __3__ coins.
aura_bought_info=__1__ __2__ has bought the locomotive xp aura modifier for __3__ coins.
xp_bought_info=__1__ __2__ has bought the XP points modifier for __3__ coins.
reroll_bought_info=__1__ __2__ has rerolled the market items for __3__ coins.
pickaxe_bought_info=__1__ __2__ has upgraded the teams pickaxe to tier __3__ for __4__ coins.
explosive_bullet_bought_info=__1__ __2__ has bought the explosive bullet modifier for __3__ coins.
one_flamethrower_bought_info=__1__ __2__ has bought a flamethrower-turret slot for __3__ coins.
multiple_flamethrower_bought_info=__1__ __2__ has bought __3__ flamethrower-turret slot for __4__ coins.
@ -75,6 +78,8 @@ locomotive_max_health=Upgrades the train health.\nCan be purchased multiple time
locomotive_xp_aura=Upgrades the XP aura that is around the train.
xp_points_boost=Upgrades the amount of XP points you get inside the XP aura
explosive_bullets=Upgrades ordinary SMG ammo to explosive bullets.
reroll_market_items=Will reroll the items in the market and shuffle prices.
purchase_pickaxe=Upgrade the teams Pickaxe to tier: __1__
sold_out=Sold out!
flamethrower_turret=Upgrades the amount of flamethrowers that can be placed.
land_mine=Upgrades the amount of landmines that can be placed.

View File

@ -41,6 +41,7 @@ flamethrowers_placed=Amount of flamethrower-turrets that can be built.
train_upgrades=Amount of train upgrades.
info_tooltip=Shows statistics!
hide_minimap=Hide locomotive minimap!
current_pickaxe_tier=The team currently has the __1__ pickaxe tier.
[locomotive]
upgrades=Upgrades:
@ -57,6 +58,8 @@ chest_bought_info=__1__ __2__ has bought the chest limit upgrade for __3__ coins
health_bought_info=__1__ __2__ has bought the locomotive health modifier for __3__ coins.
aura_bought_info=__1__ __2__ has bought the locomotive xp aura modifier for __3__ coins.
xp_bought_info=__1__ __2__ has bought the XP points modifier for __3__ coins.
reroll_bought_info=__1__ __2__ has rerolled the market items for __3__ coins.
pickaxe_bought_info=__1__ __2__ has upgraded the teams pickaxe to tier __3__ for __4__ coins.
explosive_bullet_bought_info=__1__ __2__ has bought the explosive bullet modifier for __3__ coins.
one_flamethrower_bought_info=__1__ __2__ has bought a flamethrower-turret slot for __3__ coins.
multiple_flamethrower_bought_info=__1__ __2__ has bought __3__ flamethrower-turret slot for __4__ coins.
@ -75,6 +78,8 @@ locomotive_max_health=Upgrades the train health.\nCan be purchased multiple time
locomotive_xp_aura=Upgrades the XP aura that is around the train.
xp_points_boost=Upgrades the amount of XP points you get inside the XP aura
explosive_bullets=Upgrades ordinary SMG ammo to explosive bullets.
reroll_market_items=Will reroll the items in the market and shuffle prices.
purchase_pickaxe=Upgrade the teams Pickaxe to tier: __1__
sold_out=Sold out!
flamethrower_turret=Upgrades the amount of flamethrowers that can be placed.
land_mine=Upgrades the amount of landmines that can be placed.

View File

@ -41,6 +41,7 @@ flamethrowers_placed=Amount of flamethrower-turrets that can be built.
train_upgrades=Amount of train upgrades.
info_tooltip=Shows statistics!
hide_minimap=Hide locomotive minimap!
current_pickaxe_tier=The team currently has the __1__ pickaxe tier.
[locomotive]
upgrades=Upgrades:
@ -57,6 +58,8 @@ chest_bought_info=__1__ __2__ has bought the chest limit upgrade for __3__ coins
health_bought_info=__1__ __2__ has bought the locomotive health modifier for __3__ coins.
aura_bought_info=__1__ __2__ has bought the locomotive xp aura modifier for __3__ coins.
xp_bought_info=__1__ __2__ has bought the XP points modifier for __3__ coins.
reroll_bought_info=__1__ __2__ has rerolled the market items for __3__ coins.
pickaxe_bought_info=__1__ __2__ has upgraded the teams pickaxe to tier __3__ for __4__ coins.
explosive_bullet_bought_info=__1__ __2__ has bought the explosive bullet modifier for __3__ coins.
one_flamethrower_bought_info=__1__ __2__ has bought a flamethrower-turret slot for __3__ coins.
multiple_flamethrower_bought_info=__1__ __2__ has bought __3__ flamethrower-turret slot for __4__ coins.
@ -75,6 +78,8 @@ locomotive_max_health=Upgrades the train health.\nCan be purchased multiple time
locomotive_xp_aura=Upgrades the XP aura that is around the train.
xp_points_boost=Upgrades the amount of XP points you get inside the XP aura
explosive_bullets=Upgrades ordinary SMG ammo to explosive bullets.
reroll_market_items=Will reroll the items in the market and shuffle prices.
purchase_pickaxe=Upgrade the teams Pickaxe to tier: __1__
sold_out=Sold out!
flamethrower_turret=Upgrades the amount of flamethrowers that can be placed.
land_mine=Upgrades the amount of landmines that can be placed.

View File

@ -255,14 +255,14 @@ function Public.get_random_item(rarity, sell, buy)
if sell then
local sells = get_resource_market_sells()
for i = 1, random(1, 3), 1 do
for i = 1, random(1, 20), 1 do
items_return[#items_return + 1] = sells[i]
end
end
if buy then
local buys = get_resource_market_buys()
for i = 1, random(1, 3), 1 do
for i = 1, random(1, 20), 1 do
items_return[#items_return + 1] = buys[i]
end
end

View File

@ -77,7 +77,7 @@ local compare_collapse_and_train = function()
return
end
Collapse.set_speed(1)
Collapse.set_speed(6)
Collapse.set_amount(11)
gap_between_zones.set = false
end

View File

@ -73,6 +73,15 @@ local function create_main_frame(player)
line.style.left_padding = 4
line.style.right_padding = 4
label = frame.add({type = 'label', caption = ' ', name = 'pickaxe_tier'})
label.style.font_color = {r = 0.88, g = 0.88, b = 0.88}
label.style.font = 'default-bold'
label.style.right_padding = 4
line = frame.add({type = 'line', direction = 'vertical'})
line.style.left_padding = 4
line.style.right_padding = 4
label = frame.add({type = 'label', caption = ' ', name = 'biters_killed'})
label.style.font_color = {r = 0.88, g = 0.88, b = 0.88}
label.style.font = 'default-bold'
@ -327,6 +336,13 @@ function Public.update_gui(player)
gui.scrap_mined.caption = ' [img=entity.tree-01][img=entity.rock-huge]: ' .. format_number(this.mined_scrap, true)
gui.scrap_mined.tooltip = ({'gui.amount_harvested'})
local pickaxe_tiers = WPT.pickaxe_upgrades
local tier = WPT.get('pickaxe_tier')
local pick_tier = pickaxe_tiers[tier]
gui.pickaxe_tier.caption = ' [img=item.dummy-steel-axe]: ' .. pick_tier
gui.pickaxe_tier.tooltip = ({'gui.current_pickaxe_tier', pick_tier})
gui.biters_killed.caption = ' [img=entity.small-biter]: ' .. format_number(this.biters_killed, true)
gui.biters_killed.tooltip = ({'gui.biters_killed'})

View File

@ -80,6 +80,48 @@ local function initial_cargo_boxes()
}
end
local function add_random_loot_to_main_market(rarity)
local main_market_items = WPT.get('main_market_items')
local items = Market.get_random_item(rarity, true, false)
local types = game.item_prototypes
local ticker = 0
for k, v in pairs(main_market_items) do
if not v.static then
main_market_items[k] = nil
end
end
for k, v in pairs(items) do
local price = v.price[1][2] + random(1, 15) * rarity
local value = v.price[1][1]
local stack = 1
ticker = ticker + 1
if v.offer.item == 'coin' then
price = v.price[1][2]
stack = v.offer.count
if not stack then
stack = v.price[1][2]
end
end
if main_market_items[v.offer.item] then
main_market_items[v.offer.item] = nil
end
main_market_items[v.offer.item] = {
stack = stack,
value = value,
price = price,
tooltip = types[v.offer.item].localised_name,
upgrade = false
}
if ticker >= 48 then
break
end
end
end
local set_loco_tiles =
Token.register(
function(data)
@ -597,10 +639,10 @@ local function redraw_market_items(gui, player, search_text)
button.enabled = false
button.tooltip = ({'locomotive.not_trusted'})
end
--[[ if item == 'car' then
if item == 'car' then
button.enabled = false
button.tooltip = ({'locomotive.not_trusted'})
end ]]
end
end
end
@ -875,6 +917,58 @@ local function gui_click(event)
local cost = (item.price * 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.'
}
)
this.reroll_amounts = this.reroll_amounts + item.stack
local breached_wall = WPT.get('breached_wall')
add_random_loot_to_main_market(breached_wall + random(1, 3))
redraw_market_items(data.item_frame, player, data.search_text)
redraw_coins_left(data.coins_left, player)
return
end
if name == 'upgrade_pickaxe' then
player.remove_item({name = item.value, count = item.price})
this.pickaxe_tier = this.pickaxe_tier + item.stack
local pickaxe_tiers = WPT.pickaxe_upgrades
local tier = this.pickaxe_tier
local offer = pickaxe_tiers[tier]
local message = ({
'locomotive.pickaxe_bought_info',
shopkeeper,
player.name,
offer,
format_number(item.price, true)
})
Alert.alert_all_players(5, message)
Server.to_discord_bold(
table.concat {
player.name ..
' has upgraded the teams pickaxe to tier ' ..
tier .. ' for ' .. format_number(item.price, true) .. ' coins.'
}
)
game.forces.player.manual_mining_speed_modifier = -0.25 + tier * 0.25
redraw_market_items(data.item_frame, player, data.search_text)
redraw_coins_left(data.coins_left, player)
return
end
if name == 'chest_limit_outside' then
if this.chest_limit_outside_upgrades == 8 then
local main_market_items = WPT.get('main_market_items')
@ -1497,48 +1591,6 @@ local function place_market()
end
end
local function add_random_loot_to_main_market(rarity)
local main_market_items = WPT.get('main_market_items')
local items = Market.get_random_item(rarity, true, false)
local types = game.item_prototypes
local ticker = 0
for k, v in pairs(main_market_items) do
if not v.static then
main_market_items[k] = nil
end
end
for k, v in pairs(items) do
local price = v.price[1][2] + random(1, 15) * rarity
local value = v.price[1][1]
local stack = 1
ticker = ticker + 1
if v.offer.item == 'coin' then
price = v.price[1][2]
stack = v.offer.count
if not stack then
stack = v.price[1][2]
end
end
if main_market_items[v.offer.item] then
main_market_items[v.offer.item] = nil
end
main_market_items[v.offer.item] = {
stack = stack,
value = value,
price = price,
tooltip = types[v.offer.item].localised_name,
upgrade = false
}
if ticker >= 28 then
return
end
end
end
local function on_research_finished()
local game_lost = WPT.get('game_lost')
if game_lost then
@ -1835,7 +1887,9 @@ end
function Public.get_items()
local chest_limit_outside_upgrades = WPT.get('chest_limit_outside_upgrades')
local health_upgrades = WPT.get('health_upgrades')
local pickaxe_tier = WPT.get('pickaxe_tier')
local aura_upgrades = WPT.get('aura_upgrades')
local reroll_amounts = WPT.get('reroll_amounts')
local main_market_items = WPT.get('main_market_items')
local xp_points_upgrade = WPT.get('xp_points_upgrade')
local flame_turret = WPT.get('upgrades').flame_turret.bought
@ -1843,13 +1897,39 @@ function Public.get_items()
local chest_limit_cost = 2500 * (1 + chest_limit_outside_upgrades)
local health_cost = 10000 * (1 + health_upgrades)
local pickaxe_cost = 2500 * (1 + pickaxe_tier)
local reroll_cost = 1000 * (1 + reroll_amounts)
local aura_cost = 4000 * (1 + aura_upgrades)
local xp_point_boost_cost = 5000 * (1 + xp_points_upgrade)
local explosive_bullets_cost = 20000
local flamethrower_turrets_cost = 2500 * (1 + flame_turret)
local land_mine_cost = 2 * (1 + landmine)
local skill_reset_cost = 100000
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 tier = WPT.get('pickaxe_tier')
local offer = pickaxe_tiers[tier]
main_market_items['upgrade_pickaxe'] = {
stack = 1,
value = 'coin',
price = pickaxe_cost,
tooltip = ({'main_market.purchase_pickaxe', offer}),
sprite = 'achievement/delivery-service',
enabled = true,
upgrade = true,
static = true
}
if main_market_items['chest_limit_outside'] then
main_market_items['chest_limit_outside'] = {
stack = 1,
@ -1873,6 +1953,7 @@ function Public.get_items()
static = true
}
end
main_market_items['locomotive_max_health'] = {
stack = 1,
value = 'coin',
@ -1992,7 +2073,7 @@ function Public.get_items()
price = 5,
tooltip = ({'entity-name.small-lamp'}),
upgrade = false,
static = true
static = false
}
main_market_items['wood'] = {
stack = 50,
@ -2000,7 +2081,7 @@ function Public.get_items()
price = 12,
tooltip = ({'item-name.wood'}),
upgrade = false,
static = true
static = false
}
main_market_items['iron-ore'] = {
stack = 50,
@ -2008,7 +2089,7 @@ function Public.get_items()
price = 12,
tooltip = ({'item-name.iron-ore'}),
upgrade = false,
static = true
static = false
}
main_market_items['copper-ore'] = {
stack = 50,
@ -2016,7 +2097,7 @@ function Public.get_items()
price = 12,
tooltip = ({'item-name.copper-ore'}),
upgrade = false,
static = true
static = false
}
main_market_items['stone'] = {
stack = 50,
@ -2024,7 +2105,7 @@ function Public.get_items()
price = 12,
tooltip = ({'item-name.stone'}),
upgrade = false,
static = true
static = false
}
main_market_items['coal'] = {
stack = 50,
@ -2032,7 +2113,7 @@ function Public.get_items()
price = 12,
tooltip = ({'item-name.coal'}),
upgrade = false,
static = true
static = false
}
main_market_items['uranium-ore'] = {
stack = 50,
@ -2040,7 +2121,7 @@ function Public.get_items()
price = 12,
tooltip = ({'item-name.uranium-ore'}),
upgrade = false,
static = true
static = false
}
main_market_items['land-mine'] = {
stack = 1,
@ -2048,7 +2129,7 @@ function Public.get_items()
price = 10,
tooltip = ({'entity-name.land-mine'}),
upgrade = false,
static = true
static = false
}
main_market_items['raw-fish'] = {
stack = 1,
@ -2056,7 +2137,7 @@ function Public.get_items()
price = 4,
tooltip = ({'item-name.raw-fish'}),
upgrade = false,
static = true
static = false
}
main_market_items['firearm-magazine'] = {
stack = 1,
@ -2064,7 +2145,7 @@ function Public.get_items()
price = 5,
tooltip = ({'item-name.firearm-magazine'}),
upgrade = false,
static = true
static = false
}
main_market_items['crude-oil-barrel'] = {
stack = 1,
@ -2072,16 +2153,16 @@ function Public.get_items()
price = 8,
tooltip = ({'item-name.crude-oil-barrel'}),
upgrade = false,
static = true
static = false
}
--[[ main_market_items['car'] = {
main_market_items['car'] = {
stack = 1,
value = 'coin',
price = 6000,
price = 8000,
tooltip = ({'main_market.car'}),
upgrade = false,
static = true
} ]]
}
main_market_items['tank'] = {
stack = 1,
value = 'coin',
@ -2113,27 +2194,6 @@ function Public.get_items()
enabled = false
}
end
if wave_number >= 400 then
main_market_items['tank-machine-gun'] = {
stack = 1,
value = 'coin',
price = 7000,
tooltip = ({'item-name.tank-machine-gun'}),
upgrade = false,
static = true,
enabled = true
}
else
main_market_items['tank-machine-gun'] = {
stack = 1,
value = 'coin',
price = 7000,
tooltip = ({'main_market.tank_machine_gun_na'}),
upgrade = false,
static = true,
enabled = false
}
end
if wave_number >= 200 then
main_market_items['vehicle-machine-gun'] = {
stack = 1,

View File

@ -61,6 +61,7 @@ local collapse_kill = {
['landmine'] = true,
['locomotive'] = true,
['cargo-wagon'] = true,
['character'] = true,
['car'] = true,
['tank'] = true,
['assembling-machine'] = true,

View File

@ -15,6 +15,68 @@ Global.register(
end
)
Public.pickaxe_upgrades = {
'Wood',
'Plastic',
'Bone',
'Alabaster',
'Lead',
'Zinc',
'Tin',
'Salt',
'Bauxite',
'Borax',
'Bismuth',
'Amber',
'Galena',
'Calcite',
'Aluminium',
'Silver',
'Gold',
'Copper',
'Marble',
'Brass',
'Flourite',
'Platinum',
'Nickel',
'Iron',
'Manganese',
'Apatite',
'Uraninite',
'Turquoise',
'Hematite',
'Glass',
'Magnetite',
'Concrete',
'Pyrite',
'Steel',
'Zircon',
'Titanium',
'Silicon',
'Quartz',
'Garnet',
'Flint',
'Tourmaline',
'Beryl',
'Topaz',
'Chrysoberyl',
'Chromium',
'Tungsten',
'Corundum',
'Tungsten',
'Diamond',
'Penumbrite',
'Meteorite',
'Crimtane',
'Obsidian',
'Demonite',
'Mythril',
'Adamantite',
'Chlorophyte',
'Densinium',
'Luminite'
}
function Public.reset_table()
-- @start
-- these 3 are in case of stop/start/reloading the instance.
@ -67,6 +129,8 @@ function Public.reset_table()
}
}
this.aura_upgrades = 0
this.reroll_amounts = 0
this.pickaxe_tier = 1
this.health_upgrades = 0
this.breached_wall = 1
this.offline_players_enabled = true