mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-02-03 13:12:11 +02:00
pirates: port market prices
wip
This commit is contained in:
parent
0abc7947ca
commit
13851952cd
@ -1765,7 +1765,6 @@ function Public.event_on_chunk_generated(event)
|
||||
end
|
||||
|
||||
if not terrain_fn then
|
||||
log('[WARN]: no terrain function')
|
||||
return
|
||||
end
|
||||
|
||||
|
@ -1730,7 +1730,7 @@ function Public.pick_random_price(tier, scale, tech_tier)
|
||||
|
||||
local price = {}
|
||||
for _, item_stack in pairs(item_stacks) do
|
||||
price[#price + 1] = { name = item_stack.name, amount = item_stack.count }
|
||||
price[#price + 1] = { name = item_stack.name, count = item_stack.count }
|
||||
end
|
||||
|
||||
return price
|
||||
@ -1849,7 +1849,7 @@ end
|
||||
|
||||
function Public.replace_unwalkable_tiles(surface, position, width, height)
|
||||
local area = { left_top = { position.x - width / 2, position.y - height / 2 }, right_bottom = { position.x + width / 2 + 0.5, position.y + height / 2 + 0.5 } }
|
||||
local existing = surface.find_tiles_filtered { area = area, collision_mask = 'water_tile' }
|
||||
local existing = surface.find_tiles_filtered { area = area, collision_mask = 'water-tile' }
|
||||
if not existing then
|
||||
return
|
||||
end
|
||||
|
@ -425,7 +425,7 @@ function Public.generate_overworld_destination(p)
|
||||
|
||||
local i = 1
|
||||
for _, price_data in ipairs(Upgrades.upgrades_data[dest.static_params.upgrade_for_sale].market_item.price) do
|
||||
local price_name, price_count = price_data[1], price_data[2]
|
||||
local price_name, price_count = price_data.name, price_data.count
|
||||
local sprite
|
||||
if price_name == 'coal' then
|
||||
sprite = 'item/coal'
|
||||
@ -518,7 +518,7 @@ function Public.ensure_lane_generated_up_to(lane_yvalue, x)
|
||||
for rendering_name, r in pairs(dest.dynamic_data.crowsnest_renderings) do
|
||||
if type(r) == 'table' and r.text_rendering and r.text_rendering.valid then
|
||||
for _, price_data in ipairs(Upgrades.upgrades_data[dest.static_params.upgrade_for_sale].market_item.price) do
|
||||
if price_data[1] == rendering_name then
|
||||
if price_data.name == rendering_name then
|
||||
r.text_rendering.text = Utils.bignumber_abbrevform2(price_data[2])
|
||||
break
|
||||
end
|
||||
|
@ -53,8 +53,8 @@ Public.upgrades_data = {
|
||||
[enum.MORE_POWER] = {
|
||||
market_item = {
|
||||
price = {
|
||||
{ 'coin', 7000 },
|
||||
{ 'coal', 500 }
|
||||
{ name = 'coin', count = 7000 },
|
||||
{ name = 'coal', count = 500 }
|
||||
},
|
||||
offer = {
|
||||
type = 'nothing',
|
||||
@ -67,8 +67,8 @@ Public.upgrades_data = {
|
||||
[enum.EXTRA_HOLD] = {
|
||||
market_item = {
|
||||
price = {
|
||||
{ 'coin', 7000 },
|
||||
{ 'coal', 500 }
|
||||
{ name = 'coin', count = 7000 },
|
||||
{ name = 'coal', count = 500 }
|
||||
},
|
||||
offer = {
|
||||
type = 'nothing',
|
||||
@ -81,8 +81,8 @@ Public.upgrades_data = {
|
||||
[enum.UNLOCK_MERCHANTS] = {
|
||||
market_item = {
|
||||
price = {
|
||||
{ 'coin', 14000 },
|
||||
{ 'coal', 1000 }
|
||||
{ name = 'coin', count = 14000 },
|
||||
{ name = 'coal', count = 1000 }
|
||||
},
|
||||
offer = {
|
||||
type = 'nothing',
|
||||
@ -95,8 +95,8 @@ Public.upgrades_data = {
|
||||
[enum.ROCKETS_FOR_SALE] = {
|
||||
market_item = {
|
||||
price = {
|
||||
{ 'coin', 21000 },
|
||||
{ 'coal', 1000 }
|
||||
{ name = 'coin', count = 21000 },
|
||||
{ name = 'coal', count = 1000 }
|
||||
},
|
||||
offer = {
|
||||
type = 'nothing',
|
||||
@ -109,9 +109,9 @@ Public.upgrades_data = {
|
||||
[enum.UPGRADE_CANNONS] = {
|
||||
market_item = {
|
||||
price = {
|
||||
{ 'repair-pack', 20 },
|
||||
{ 'coin', 5000 },
|
||||
{ 'coal', 800 }
|
||||
{ name = 'repair-pack', count = 20 },
|
||||
{ name = 'coin', count = 5000 },
|
||||
{ name = 'coal', count = 800 }
|
||||
},
|
||||
offer = {
|
||||
type = 'nothing',
|
||||
|
@ -20,41 +20,41 @@ local Public = {}
|
||||
|
||||
|
||||
Public.offers_loaders = {
|
||||
{ price = { { 'coin', 1800 } }, offer = { type = 'give-item', item = 'loader', count = 1 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'fast-loader', count = 1 } },
|
||||
{ price = { { 'coin', 4200 } }, offer = { type = 'give-item', item = 'express-loader', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 1800 } }, offer = { type = 'give-item', item = 'loader', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'fast-loader', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 4200 } }, offer = { type = 'give-item', item = 'express-loader', count = 1 } },
|
||||
}
|
||||
|
||||
Public.offers_rockets = {
|
||||
{ price = { { 'coin', 250 }, { 'electronic-circuit', 80 } }, offer = { type = 'give-item', item = 'rocket-launcher', count = 1 } },
|
||||
{ price = { { 'coin', 1200 }, { 'explosives', 20 }, { 'electronic-circuit', 20 } }, offer = { type = 'give-item', item = 'rocket', count = 20 } },
|
||||
{ price = { { name = 'coin', count = 250 }, { name = 'electronic-circuit', count = 80 } }, offer = { type = 'give-item', item = 'rocket-launcher', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 1200 }, { name = 'explosives', count = 20 }, { name = 'electronic-circuit', count = 20 } }, offer = { type = 'give-item', item = 'rocket', count = 20 } },
|
||||
}
|
||||
|
||||
Public.offers_default = {
|
||||
{ price = { { 'coin', 1500 } }, offer = { type = 'give-item', item = 'copper-plate', count = 300 } },
|
||||
{ price = { { 'coin', 1500 } }, offer = { type = 'give-item', item = 'iron-plate', count = 300 } },
|
||||
{ price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'piercing-rounds-magazine', count = 60 } },
|
||||
{ price = { { 'coin', 900 } }, offer = { type = 'give-item', item = 'heavy-armor', count = 1 } },
|
||||
{ price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'grenade', count = 30 } },
|
||||
{ price = { { 'coin', 1200 } }, offer = { type = 'give-item', item = 'defender-capsule', count = 15 } },
|
||||
{ price = { { 'coin', 1500 } }, offer = { type = 'give-item', item = 'distractor-capsule', count = 15 } },
|
||||
{ price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'slowdown-capsule', count = 25 } },
|
||||
{ price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'poison-capsule', count = 15 } },
|
||||
{ price = { { 'coin', 1400 } }, offer = { type = 'give-item', item = 'gate', count = 25 } },
|
||||
{ price = { { 'coin', 800 } }, offer = { type = 'give-item', item = 'storage-tank', count = 20 } },
|
||||
{ price = { { 'coin', 600 } }, offer = { type = 'give-item', item = 'big-electric-pole', count = 15 } },
|
||||
{ price = { { 'coin', 850 } }, offer = { type = 'give-item', item = 'stack-inserter', count = 7 } },
|
||||
{ price = { { 'coin', 900 } }, offer = { type = 'give-item', item = 'piercing-shotgun-shell', count = 15 } },
|
||||
{ price = { { 'coin', 960 } }, offer = { type = 'give-item', item = 'flamethrower', count = 1 } },
|
||||
{ price = { { 'coin', 980 } }, offer = { type = 'give-item', item = 'flamethrower', count = 1 } },
|
||||
{ price = { { 'coin', 1700 } }, offer = { type = 'give-item', item = 'flamethrower-ammo', count = 15 } },
|
||||
{ price = { { 'coin', 1800 } }, offer = { type = 'give-item', item = 'flamethrower-ammo', count = 20 } },
|
||||
{ price = { { 'coin', 1800 } }, offer = { type = 'give-item', item = 'flying-robot-frame', count = 5 } },
|
||||
{ price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'storage-chest', count = 5 } },
|
||||
{ price = { { 'coin', 1000 } }, offer = { type = 'give-item', item = 'passive-provider-chest', count = 5 } },
|
||||
{ price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'active-provider-chest', count = 5 } },
|
||||
{ price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'buffer-chest', count = 5 } },
|
||||
{ price = { { 'coin', 2500 } }, offer = { type = 'give-item', item = 'requester-chest', count = 5 } },
|
||||
{ price = { { name = 'coin', count = 1500 } }, offer = { type = 'give-item', item = 'copper-plate', count = 300 } },
|
||||
{ price = { { name = 'coin', count = 1500 } }, offer = { type = 'give-item', item = 'iron-plate', count = 300 } },
|
||||
{ price = { { name = 'coin', count = 1000 } }, offer = { type = 'give-item', item = 'piercing-rounds-magazine', count = 60 } },
|
||||
{ price = { { name = 'coin', count = 900 } }, offer = { type = 'give-item', item = 'heavy-armor', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 1000 } }, offer = { type = 'give-item', item = 'grenade', count = 30 } },
|
||||
{ price = { { name = 'coin', count = 1200 } }, offer = { type = 'give-item', item = 'defender-capsule', count = 15 } },
|
||||
{ price = { { name = 'coin', count = 1500 } }, offer = { type = 'give-item', item = 'distractor-capsule', count = 15 } },
|
||||
{ price = { { name = 'coin', count = 1000 } }, offer = { type = 'give-item', item = 'slowdown-capsule', count = 25 } },
|
||||
{ price = { { name = 'coin', count = 1000 } }, offer = { type = 'give-item', item = 'poison-capsule', count = 15 } },
|
||||
{ price = { { name = 'coin', count = 1400 } }, offer = { type = 'give-item', item = 'gate', count = 25 } },
|
||||
{ price = { { name = 'coin', count = 800 } }, offer = { type = 'give-item', item = 'storage-tank', count = 20 } },
|
||||
{ price = { { name = 'coin', count = 600 } }, offer = { type = 'give-item', item = 'big-electric-pole', count = 15 } },
|
||||
{ price = { { name = 'coin', count = 850 } }, offer = { type = 'give-item', item = 'stack-inserter', count = 7 } },
|
||||
{ price = { { name = 'coin', count = 900 } }, offer = { type = 'give-item', item = 'piercing-shotgun-shell', count = 15 } },
|
||||
{ price = { { name = 'coin', count = 960 } }, offer = { type = 'give-item', item = 'flamethrower', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 980 } }, offer = { type = 'give-item', item = 'flamethrower', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 1700 } }, offer = { type = 'give-item', item = 'flamethrower-ammo', count = 15 } },
|
||||
{ price = { { name = 'coin', count = 1800 } }, offer = { type = 'give-item', item = 'flamethrower-ammo', count = 20 } },
|
||||
{ price = { { name = 'coin', count = 1800 } }, offer = { type = 'give-item', item = 'flying-robot-frame', count = 5 } },
|
||||
{ price = { { name = 'coin', count = 1000 } }, offer = { type = 'give-item', item = 'storage-chest', count = 5 } },
|
||||
{ price = { { name = 'coin', count = 1000 } }, offer = { type = 'give-item', item = 'passive-provider-chest', count = 5 } },
|
||||
{ price = { { name = 'coin', count = 2500 } }, offer = { type = 'give-item', item = 'active-provider-chest', count = 5 } },
|
||||
{ price = { { name = 'coin', count = 2500 } }, offer = { type = 'give-item', item = 'buffer-chest', count = 5 } },
|
||||
{ price = { { name = 'coin', count = 2500 } }, offer = { type = 'give-item', item = 'requester-chest', count = 5 } },
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,68 +23,68 @@ local Public = {}
|
||||
|
||||
|
||||
Public.market_barters = {
|
||||
{ price = { { 'iron-plate', 300 } }, offer = { type = 'give-item', item = 'copper-plate', count = 500 } },
|
||||
{ price = { { 'copper-plate', 300 } }, offer = { type = 'give-item', item = 'iron-plate', count = 500 } },
|
||||
{ price = { { name = 'iron-plate', count = 300 } }, offer = { type = 'give-item', item = 'copper-plate', count = 500 } },
|
||||
{ price = { { name = 'copper-plate', count = 300 } }, offer = { type = 'give-item', item = 'iron-plate', count = 500 } },
|
||||
--repeating these:
|
||||
{ price = { { 'iron-plate', 300 } }, offer = { type = 'give-item', item = 'copper-plate', count = 500 } },
|
||||
{ price = { { 'copper-plate', 300 } }, offer = { type = 'give-item', item = 'iron-plate', count = 500 } },
|
||||
{ price = { { name = 'iron-plate', count = 300 } }, offer = { type = 'give-item', item = 'copper-plate', count = 500 } },
|
||||
{ price = { { name = 'copper-plate', count = 300 } }, offer = { type = 'give-item', item = 'iron-plate', count = 500 } },
|
||||
|
||||
{ price = { { 'steel-plate', 40 } }, offer = { type = 'give-item', item = 'copper-plate', count = 500 } },
|
||||
{ price = { { 'steel-plate', 40 } }, offer = { type = 'give-item', item = 'iron-plate', count = 500 } },
|
||||
{ price = { { 'raw-fish', 80 } }, offer = { type = 'give-item', item = 'coal', count = 500 } },
|
||||
{ price = { { 'raw-fish', 80 } }, offer = { type = 'give-item', item = 'iron-plate', count = 750 } },
|
||||
{ price = { { 'raw-fish', 80 } }, offer = { type = 'give-item', item = 'copper-plate', count = 750 } },
|
||||
{ price = { { 'raw-fish', 80 } }, offer = { type = 'give-item', item = 'steel-plate', count = 150 } },
|
||||
{ price = { { 'wood', 200 } }, offer = { type = 'give-item', item = 'coin', count = 360 } },
|
||||
{ price = { { 'wood', 150 } }, offer = { type = 'give-item', item = 'coal', count = 150 } },
|
||||
{ price = { { 'stone-brick', 200 } }, offer = { type = 'give-item', item = 'iron-plate', count = 500 } },
|
||||
{ price = { { 'stone-brick', 200 } }, offer = { type = 'give-item', item = 'copper-plate', count = 500 } },
|
||||
{ price = { { 'stone-brick', 200 } }, offer = { type = 'give-item', item = 'steel-plate', count = 160 } },
|
||||
{ price = { { name = 'steel-plate', count = 40 } }, offer = { type = 'give-item', item = 'copper-plate', count = 500 } },
|
||||
{ price = { { name = 'steel-plate', count = 40 } }, offer = { type = 'give-item', item = 'iron-plate', count = 500 } },
|
||||
{ price = { { name = 'raw-fish', count = 80 } }, offer = { type = 'give-item', item = 'coal', count = 500 } },
|
||||
{ price = { { name = 'raw-fish', count = 80 } }, offer = { type = 'give-item', item = 'iron-plate', count = 750 } },
|
||||
{ price = { { name = 'raw-fish', count = 80 } }, offer = { type = 'give-item', item = 'copper-plate', count = 750 } },
|
||||
{ price = { { name = 'raw-fish', count = 80 } }, offer = { type = 'give-item', item = 'steel-plate', count = 150 } },
|
||||
{ price = { { name = 'wood', count = 200 } }, offer = { type = 'give-item', item = 'coin', count = 360 } },
|
||||
{ price = { { name = 'wood', count = 150 } }, offer = { type = 'give-item', item = 'coal', count = 150 } },
|
||||
{ price = { { name = 'stone-brick', count = 200 } }, offer = { type = 'give-item', item = 'iron-plate', count = 500 } },
|
||||
{ price = { { name = 'stone-brick', count = 200 } }, offer = { type = 'give-item', item = 'copper-plate', count = 500 } },
|
||||
{ price = { { name = 'stone-brick', count = 200 } }, offer = { type = 'give-item', item = 'steel-plate', count = 160 } },
|
||||
}
|
||||
|
||||
-- permanent means you can buy more than once (but only some items???)
|
||||
Public.market_permanent_offers = {
|
||||
{ price = { { 'pistol', 1 } }, offer = { type = 'give-item', item = 'coin', count = Balance.coin_sell_amount } },
|
||||
{ price = { { 'coin', 3600 } }, offer = { type = 'give-item', item = 'iron-ore', count = 800 } },
|
||||
{ price = { { 'coin', 3600 } }, offer = { type = 'give-item', item = 'copper-ore', count = 800 } },
|
||||
{ price = { { 'coin', 4200 } }, offer = { type = 'give-item', item = 'crude-oil-barrel', count = 100 } },
|
||||
{ price = { { 'coin', 3600 } }, offer = { type = 'give-item', item = 'fast-loader', count = 1 } },
|
||||
{ price = { { 'coin', 6200 } }, offer = { type = 'give-item', item = 'beacon', count = 2 } },
|
||||
{ price = { { 'coin', 4200 } }, offer = { type = 'give-item', item = 'speed-module-2', count = 2 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'explosives', count = 50 } },
|
||||
{ price = { { 'coin', 6500 }, { 'steel-plate', 25 }, { 'explosives', 50 } }, offer = { type = 'give-item', item = 'land-mine', count = 100 } },
|
||||
{ price = { { name = 'pistol', count = 1 } }, offer = { type = 'give-item', item = 'coin', count = Balance.coin_sell_amount } },
|
||||
{ price = { { name = 'coin', count = 3600 } }, offer = { type = 'give-item', item = 'iron-ore', count = 800 } },
|
||||
{ price = { { name = 'coin', count = 3600 } }, offer = { type = 'give-item', item = 'copper-ore', count = 800 } },
|
||||
{ price = { { name = 'coin', count = 4200 } }, offer = { type = 'give-item', item = 'crude-oil-barrel', count = 100 } },
|
||||
{ price = { { name = 'coin', count = 3600 } }, offer = { type = 'give-item', item = 'fast-loader', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 6200 } }, offer = { type = 'give-item', item = 'beacon', count = 2 } },
|
||||
{ price = { { name = 'coin', count = 4200 } }, offer = { type = 'give-item', item = 'speed-module-2', count = 2 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'explosives', count = 50 } },
|
||||
{ price = { { name = 'coin', count = 6500 }, { name = 'steel-plate', count = 25 }, { name = 'explosives', count = 50 } }, offer = { type = 'give-item', item = 'land-mine', count = 100 } },
|
||||
-- {price = {{'coin', 30000}}, offer = {type = 'give-item', item = 'artillery-targeting-remote', count = 1}},
|
||||
}
|
||||
|
||||
-- cheap but one-off
|
||||
Public.market_sales = {
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'coal', count = 900 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'piercing-rounds-magazine', count = 75 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'uranium-rounds-magazine', count = 20 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'piercing-shotgun-shell', count = 50 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'raw-fish', count = 300 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'laser-turret', count = 1 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'vehicle-machine-gun', count = 2 } },
|
||||
{ price = { { 'coin', 6000 } }, offer = { type = 'give-item', item = 'modular-armor', count = 1 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'distractor-capsule', count = 20 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'poison-capsule', count = 20 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'slowdown-capsule', count = 20 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'coin', count = 6000 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'roboport', count = 1 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'construction-robot', count = 10 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'passive-provider-chest', count = 2 } },
|
||||
{ price = { { 'coin', 3000 } }, offer = { type = 'give-item', item = 'logistic-robot', count = 2 } },
|
||||
{ price = { { 'transport-belt', 100 }, { 'coin', 800 } }, offer = { type = 'give-item', item = 'fast-transport-belt', count = 100 } },
|
||||
{ price = { { 'fast-transport-belt', 100 }, { 'coin', 2500 } }, offer = { type = 'give-item', item = 'express-transport-belt', count = 100 } },
|
||||
{ price = { { 'underground-belt', 10 }, { 'coin', 800 } }, offer = { type = 'give-item', item = 'fast-underground-belt', count = 10 } },
|
||||
{ price = { { 'fast-underground-belt', 10 }, { 'coin', 2500 } }, offer = { type = 'give-item', item = 'express-underground-belt', count = 10 } },
|
||||
{ price = { { 'splitter', 10 }, { 'coin', 800 } }, offer = { type = 'give-item', item = 'fast-splitter', count = 10 } },
|
||||
{ price = { { 'fast-splitter', 10 }, { 'coin', 2500 } }, offer = { type = 'give-item', item = 'express-splitter', count = 10 } },
|
||||
{ price = { { 'pistol', 1 }, { 'coin', 300 } }, offer = { type = 'give-item', item = 'submachine-gun', count = 1 } },
|
||||
{ price = { { 'submachine-gun', 1 }, { 'coin', 1000 } }, offer = { type = 'give-item', item = 'vehicle-machine-gun', count = 1 } },
|
||||
{ price = { { 'shotgun', 1 }, { 'coin', 3500 } }, offer = { type = 'give-item', item = 'combat-shotgun', count = 1 } },
|
||||
{ price = { { 'shotgun-shell', 100 }, { 'coin', 2000 } }, offer = { type = 'give-item', item = 'piercing-shotgun-shell', count = 100 } },
|
||||
{ price = { { 'piercing-rounds-magazine', 100 }, { 'coin', 3500 } }, offer = { type = 'give-item', item = 'uranium-rounds-magazine', count = 100 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'coal', count = 900 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'piercing-rounds-magazine', count = 75 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'uranium-rounds-magazine', count = 20 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'piercing-shotgun-shell', count = 50 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'raw-fish', count = 300 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'laser-turret', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'vehicle-machine-gun', count = 2 } },
|
||||
{ price = { { name = 'coin', count = 6000 } }, offer = { type = 'give-item', item = 'modular-armor', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'distractor-capsule', count = 20 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'poison-capsule', count = 20 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'slowdown-capsule', count = 20 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'coin', count = 6000 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'roboport', count = 1 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'construction-robot', count = 10 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'passive-provider-chest', count = 2 } },
|
||||
{ price = { { name = 'coin', count = 3000 } }, offer = { type = 'give-item', item = 'logistic-robot', count = 2 } },
|
||||
{ price = { { name = 'transport-belt', count = 100 }, { name = 'coin', count = 800 } }, offer = { type = 'give-item', item = 'fast-transport-belt', count = 100 } },
|
||||
{ price = { { name = 'fast-transport-belt', count = 100 }, { name = 'coin', count = 2500 } }, offer = { type = 'give-item', item = 'express-transport-belt', count = 100 } },
|
||||
{ price = { { name = 'underground-belt', count = 10 }, { name = 'coin', count = 800 } }, offer = { type = 'give-item', item = 'fast-underground-belt', count = 10 } },
|
||||
{ price = { { name = 'fast-underground-belt', count = 10 }, { name = 'coin', count = 2500 } }, offer = { type = 'give-item', item = 'express-underground-belt', count = 10 } },
|
||||
{ price = { { name = 'splitter', count = 10 }, { name = 'coin', count = 800 } }, offer = { type = 'give-item', item = 'fast-splitter', count = 10 } },
|
||||
{ price = { { name = 'fast-splitter', count = 10 }, { name = 'coin', count = 2500 } }, offer = { type = 'give-item', item = 'express-splitter', count = 10 } },
|
||||
{ price = { { name = 'pistol', count = 1 }, { name = 'coin', count = 300 } }, offer = { type = 'give-item', item = 'submachine-gun', count = 1 } },
|
||||
{ price = { { name = 'submachine-gun', count = 1 }, { name = 'coin', count = 1000 } }, offer = { type = 'give-item', item = 'vehicle-machine-gun', count = 1 } },
|
||||
{ price = { { name = 'shotgun', count = 1 }, { name = 'coin', count = 3500 } }, offer = { type = 'give-item', item = 'combat-shotgun', count = 1 } },
|
||||
{ price = { { name = 'shotgun-shell', count = 100 }, { name = 'coin', count = 2000 } }, offer = { type = 'give-item', item = 'piercing-shotgun-shell', count = 100 } },
|
||||
{ price = { { name = 'piercing-rounds-magazine', count = 100 }, { name = 'coin', count = 3500 } }, offer = { type = 'give-item', item = 'uranium-rounds-magazine', count = 100 } },
|
||||
}
|
||||
|
||||
|
||||
|
@ -20,30 +20,30 @@ function Public.generate_merchant_trades(market)
|
||||
|
||||
if market and market.valid then
|
||||
local game_completion_progress = Common.game_completion_progress()
|
||||
market.add_market_item { price = { { 'coin', 8000 }, { 'raw-fish', 100 } }, offer = { type = 'give-item', item = 'modular-armor', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 5000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'battery-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 2000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'solar-panel-equipment', count = 5 } }
|
||||
market.add_market_item { price = { { 'coin', 1000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'night-vision-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 2000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'energy-shield-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 1000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'personal-roboport-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 8000 }, { name = 'raw-fish', count = 100 } }, offer = { type = 'give-item', item = 'modular-armor', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 5000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'battery-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 2000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'solar-panel-equipment', count = 5 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 1000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'night-vision-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 2000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'energy-shield-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 1000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'personal-roboport-equipment', count = 1 } }
|
||||
|
||||
if game_completion_progress >= 0.96 then
|
||||
market.add_market_item { price = { { 'coin', 8000 }, { 'raw-fish', 100 } }, offer = { type = 'give-item', item = 'modular-armor', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 12000 }, { 'raw-fish', 100 } }, offer = { type = 'give-item', item = 'power-armor', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 5000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'battery-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 2000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'energy-shield-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 1000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'personal-roboport-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 8000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'battery-mk2-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 2000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'solar-panel-equipment', count = 5 } }
|
||||
market.add_market_item { price = { { 'coin', 6000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'fusion-reactor-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 1000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'night-vision-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 5000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'energy-shield-mk2-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 4000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'personal-roboport-mk2-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 8000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'exoskeleton-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { 'coin', 10000 }, { 'raw-fish', 10 } }, offer = { type = 'give-item', item = 'personal-laser-defense-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 8000 }, { name = 'raw-fish', count = 100 } }, offer = { type = 'give-item', item = 'modular-armor', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 12000 }, { name = 'raw-fish', count = 100 } }, offer = { type = 'give-item', item = 'power-armor', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 5000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'battery-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 2000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'energy-shield-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 1000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'personal-roboport-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 8000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'battery-mk2-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 2000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'solar-panel-equipment', count = 5 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 6000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'fusion-reactor-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 1000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'night-vision-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 5000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'energy-shield-mk2-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 4000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'personal-roboport-mk2-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 8000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'exoskeleton-equipment', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 10000 }, { name = 'raw-fish', count = 10 } }, offer = { type = 'give-item', item = 'personal-laser-defense-equipment', count = 1 } }
|
||||
end
|
||||
if game_completion_progress >= 2 then
|
||||
market.add_market_item { price = { { 'coin', 30000 }, { 'raw-fish', 100 } }, offer = { type = 'give-item', item = 'power-armor-mk2', count = 1 } }
|
||||
market.add_market_item { price = { { name = 'coin', count = 30000 }, { name = 'raw-fish', count = 100 } }, offer = { type = 'give-item', item = 'power-armor-mk2', count = 1 } }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -33,7 +33,7 @@ function Public.print_transaction(player, multiplier, offer_itemname, offer_item
|
||||
local s3 = offer_itemcount * multiplier .. ' ' .. offer_itemname
|
||||
if offer_itemname == 'coin' then type = 'sold' end
|
||||
for i, p in pairs(price) do
|
||||
local p2 = { name = p.name, amount = p.amount }
|
||||
local p2 = { name = p.name, amount = p.count }
|
||||
if p2.name == 'raw-fish' then p2.name = 'fish' end
|
||||
if p2.name == 'coin' then
|
||||
type = 'bought'
|
||||
@ -46,7 +46,7 @@ function Public.print_transaction(player, multiplier, offer_itemname, offer_item
|
||||
s2[#s2 + 1] = { 'pirates.separator_1' }
|
||||
end
|
||||
end
|
||||
s2[#s2 + 1] = p2.amount * multiplier
|
||||
s2[#s2 + 1] = p2.count * multiplier
|
||||
s2[#s2 + 1] = ' '
|
||||
s2[#s2 + 1] = p2.name
|
||||
end
|
||||
@ -133,10 +133,10 @@ function Public.refund_items(player, price, price_multiplier, item_purchased_nam
|
||||
if not inv then return end
|
||||
|
||||
for _, p in pairs(price) do
|
||||
local inserted = inv.insert { name = p.name, count = p.amount * price_multiplier }
|
||||
if inserted < p.amount * price_multiplier then
|
||||
local inserted = inv.insert { name = p.name, count = p.count * price_multiplier }
|
||||
if inserted < p.count * price_multiplier then
|
||||
-- Inventory is full, drop the remaining items on the ground
|
||||
player.surface.spill_item_stack(player.position, { name = p.name, count = p.amount * price_multiplier - inserted }, true, player.force, false)
|
||||
player.surface.spill_item_stack(player.position, { name = p.name, count = p.count * price_multiplier - inserted }, true, player.force, false)
|
||||
end
|
||||
end
|
||||
|
||||
@ -215,7 +215,7 @@ function Public.event_on_market_item_purchased(event)
|
||||
end
|
||||
else
|
||||
if thisPurchaseData.offer_type == 'nothing' then
|
||||
local isDamageUpgrade = thisPurchaseData.price[1].amount == Balance.weapon_damage_upgrade_price()[1].amount and thisPurchaseData.price[1].name == Balance.weapon_damage_upgrade_price()[1].name
|
||||
local isDamageUpgrade = thisPurchaseData.price[1].count == Balance.weapon_damage_upgrade_price()[1].count and thisPurchaseData.price[1].name == Balance.weapon_damage_upgrade_price()[1].name
|
||||
|
||||
if isDamageUpgrade then
|
||||
Common.notify_force_light(player.force, { 'pirates.market_event_attack_upgrade_purchased', player.name, Balance.weapon_damage_upgrade_percentage() })
|
||||
@ -243,7 +243,7 @@ function Public.event_on_market_item_purchased(event)
|
||||
end
|
||||
end
|
||||
else
|
||||
Common.notify_force_light(player.force, { 'pirates.market_event_buy', player.name, thisPurchaseData.offer_giveitem_count .. ' ' .. thisPurchaseData.offer_giveitem_name, thisPurchaseData.price[1].amount .. ' ' .. thisPurchaseData.price[1].name })
|
||||
Common.notify_force_light(player.force, { 'pirates.market_event_buy', player.name, thisPurchaseData.offer_giveitem_count .. ' ' .. thisPurchaseData.offer_giveitem_name, thisPurchaseData.price[1].count .. ' ' .. thisPurchaseData.price[1].name })
|
||||
|
||||
market.remove_market_item(offer_index)
|
||||
end
|
||||
@ -272,7 +272,7 @@ function Public.event_on_market_item_purchased(event)
|
||||
-- if (thisPurchaseData.price and thisPurchaseData.price[1]) then
|
||||
-- if not (thisPurchaseData.price[1].name and thisPurchaseData.price[1].name == 'burner-mining-drill') then --this one is too boring to announce
|
||||
-- if thisPurchaseData.in_captains_cabin and thisPurchaseData.offer_type == 'nothing' then
|
||||
-- Common.notify_force_light(player.force, {'pirates.market_event_buy', player.name, {'pirates.extra_time_at_sea'}, thisPurchaseData.price[1].amount .. ' ' .. thisPurchaseData.price[1].name})
|
||||
-- Common.notify_force_light(player.force, {'pirates.market_event_buy', player.name, {'pirates.extra_time_at_sea'}, thisPurchaseData.price[1].count .. ' ' .. thisPurchaseData.price[1].name})
|
||||
-- else
|
||||
-- Public.print_transaction(player, trade_count - refunds, thisPurchaseData.offer_giveitem_name, thisPurchaseData.offer_giveitem_count, thisPurchaseData.price)
|
||||
-- end
|
||||
|
@ -107,19 +107,19 @@ Public.market_price_scale = 300
|
||||
Public.cabin_shop_data = {
|
||||
{
|
||||
-- Note: coin price for this offer changes based on difficulty.
|
||||
price = { { 'coin', 4000 }, { 'coal', 20 }, { 'iron-plate', 20 } }, --should be inefficient on resources to merely buy arty to shoot nests
|
||||
price = { { name = 'coin', count = 4000 }, { name = 'coal', count = 20 }, { name = 'iron-plate', count = 20 } }, --should be inefficient on resources to merely buy arty to shoot nests
|
||||
offer = { type = 'give-item', item = 'artillery-shell', count = 5 },
|
||||
},
|
||||
{
|
||||
price = { { 'coin', 2000 }, { 'electronic-circuit', 50 } },
|
||||
price = { { name = 'coin', count = 2000 }, { name = 'electronic-circuit', count = 50 } },
|
||||
offer = { type = 'give-item', item = 'rail-signal', count = 50 },
|
||||
},
|
||||
{
|
||||
price = { { 'coin', 1000 }, { 'stone-brick', 50 } },
|
||||
price = { { name = 'coin', count = 1000 }, { name = 'stone-brick', count = 50 } },
|
||||
offer = { type = 'give-item', item = 'uranium-238', count = 10 },
|
||||
},
|
||||
{
|
||||
price = { { 'coin', 1000 }, { 'explosives', 5 } },
|
||||
price = { { name = 'coin', count = 1000 }, { name = 'explosives', count = 5 } },
|
||||
offer = { type = 'give-item', item = 'cliff-explosives', count = 5 },
|
||||
},
|
||||
{
|
||||
@ -135,7 +135,7 @@ Public.cabin_shop_data = {
|
||||
offer = { type = 'nothing', effect_description = { 'pirates.market_description_random_class' } }
|
||||
},
|
||||
{
|
||||
price = { { 'coin', 100 }, { 'raw-fish', 1 } },
|
||||
price = { { name = 'coin', count = 100 }, { name = 'raw-fish', count = 1 } },
|
||||
offer = { type = 'nothing', effect_description = { 'pirates.market_description_reroll_prices' } }
|
||||
},
|
||||
--disabled now that we can wait after any destination:
|
||||
@ -201,7 +201,7 @@ function Public.create_cabin_surface()
|
||||
filter = 'coal'
|
||||
elseif splitter.type <= 6 then
|
||||
priority = 'right'
|
||||
filter = prototypes.item[CoreData.cost_items[splitter.type].name]
|
||||
filter = CoreData.cost_items[splitter.type].name
|
||||
elseif splitter.type == 7 then
|
||||
priority = 'left'
|
||||
elseif splitter.type == 8 then
|
||||
@ -401,7 +401,7 @@ function Public.update_captains_market_offers_based_on_difficulty(difficulty_opt
|
||||
if i == enum.SLOT_ARTILLERY_SHELLS then
|
||||
for _, price in pairs(offer.price) do
|
||||
if price.name == "coin" then
|
||||
price.amount = difficulty_option * 1000
|
||||
price.count = difficulty_option * 1000
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Loading…
x
Reference in New Issue
Block a user