local effect = require(mod_name .. ".lualib.effects") local quest_gui = require(mod_name .. ".lualib.quest_gui") local locations = require(mod_name .. ".lualib.locations") local pollution = require(mod_name .. ".lualib.pollution") local story_inits = {} story_inits['explore'] = function() local quest_layout = { { item_name = 'empty', goal=2, }, { item_name = 'remove-mineable-wreckage', goal=1, }, } quest_gui.set('explore', quest_layout) effect.unlock_technologies({'basic-mining','basic-logistics'}) quest_gui.visible(true) global.compilatron.reset = true end story_inits['handmining'] = function() local quest_layout = { { item_name = "place-stone-furnace", children = { { item_name = "craft-stone-furnace", goal = 1, icons = { "item/stone-furnace" }, children = { { item_name = "was-observed-mined_stone", icons = { "item/stone" }, } } }, } } } quest_gui.set('handmining', quest_layout) --campaign_util.set_action_bar({'stone-furnace'}) quest_gui.visible(true) global.compilatron.reset = true end story_inits['smelting'] = function() local quest_layout = { { item_name = 'craft-burner-mining-drill', icons = {'item/burner-mining-drill'}, goal = 1, children = { { item_name = 'craft-iron-plate', icons = {'item/iron-plate'}, goal = 3, children = { { item_name = 'furnace-ore', icons = {'item/iron-ore'}, }, { item_name = 'furnace-fuel', icons = {'item/coal','item/wood'} } } } } } } quest_gui.set('smelting', quest_layout) quest_gui.visible(true) global.compilatron.reset = true end story_inits['automining'] = function() local quest_layout = { { item_name = 'exploit-coal', icons = {'item/coal'}, goal = 9, }, { item_name = 'obtain-coal', icons = {'item/coal'}, goal = 5, }, } quest_gui.set('automining', quest_layout) quest_gui.visible(true) global.compilatron.wait_position = locations.get_pos('compi-wait-cutscene-crash') global.compilatron.reset = true end story_inits['handcrafting'] = function() local quest_layout = { { item_name = 'compi-burner-mining-drill', icons = {'item/burner-mining-drill'}, goal = 1, }, { item_name = 'compi-transport-belt', icons = {'item/transport-belt'}, goal = 2, }, { item_name = 'compi-stone-furnace', icons = {'item/stone-furnace'}, goal = 1, }, } quest_gui.set('handcrafting', quest_layout) quest_gui.visible(true) global.compilatron.wait_position = locations.get_pos('compi-wait-cutscene-crash') global.compilatron.reset = true end story_inits['trigger-build'] = function() local quest_layout = { { item_name = 'arrive-compi-wait-cutscene-crash', } } quest_gui.set('trigger-build', quest_layout) quest_gui.visible(true) game.auto_save("repair-assembler") global.compilatron.reset = true end story_inits['repair-assembler'] = function() local quest_layout = { { item_name = 'consume-iron-plate', icons = {'item/iron-plate'}, goal = 50, } } quest_gui.set('repair-assembler', quest_layout) quest_gui.visible(true) global.compilatron.reset = true end story_inits['repair-lab'] = function() local quest_layout = { { item_name = 'consume-copper-plate', icons = {'item/copper-plate'}, goal = 50, }, { item_name = 'consume-iron-gear-wheel', icons = {'item/iron-gear-wheel'}, goal = 50, }, } global.compilatron.reset = true quest_gui.set('repair-lab', quest_layout) quest_gui.visible(true) end story_inits['load-lab'] = function() local quest_layout = { { item_name = 'research-basic-electronics', children = { { item_name = 'tech-selected', }, { item_name = 'has-packs', icons = {'item/lab','item/automation-science-pack'}, }, } }, } effect.activate_research(true) effect.unlock_technologies({'basic-electronics'}) global.compilatron.reset = true quest_gui.set('load-lab', quest_layout) quest_gui.visible(true) global.compilatron.wait_position = locations.get_pos('compi-wait-crash') end story_inits['electronics'] = function() local quest_layout = { { item_name = 'craft-electronic-circuit', icons = {'item/electronic-circuit'}, goal = 5, children = { { item_name = 'place-assembling-machine-1', icons = {'item/assembling-machine-1'}, }, { item_name = 'power-assembling-machine-1', icons = {'item/small-electric-pole'}, }, } }, } global.compilatron.reset = true quest_gui.set('electronics', quest_layout) quest_gui.visible(true) end story_inits['build-radar'] = function() local quest_layout = { { item_name = 'power-radar', icons = {'item/small-electric-pole'}, children = { { item_name = 'place-radar', icons = {'item/radar'}, children = { { item_name = 'research-basic-mapping', }, } }, } }, } global.compilatron.reset = true effect.unlock_technologies({'electric-inserter','basic-mapping'}) quest_gui.set('build-radar', quest_layout) quest_gui.visible(true) end story_inits['trigger-radar'] = function() local quest_layout = { { item_name = 'arrive-compi-trigger-cutscene-crash', }, } global.compilatron.reset = true quest_gui.set('trigger-radar', quest_layout) quest_gui.visible(true) game.auto_save("scan-wreck") end story_inits['scan-wreck'] = function() local quest_layout = { { item_name = 'research-analyse-ship', }, } effect.unlock_technologies({'analyse-ship'}) global.compilatron.reset = true quest_gui.set('scan-wreck', quest_layout) quest_gui.visible(true) end story_inits['trigger-attacks'] = function() local quest_layout = { { item_name = 'arrive-compi-trigger-cutscene-crash', }, } global.compilatron.reset = true quest_gui.set('trigger-attacks', quest_layout) quest_gui.visible(true) game.auto_save("prepare-evacuation") end story_inits['prepare'] = function() local quest_layout = { { item_name = 'obtain-lab', icons = {'item/lab'}, goal = 1, }, { item_name = 'obtain-assembling-machine-1', icons = {'item/assembling-machine-1'}, goal = 3, }, { item_name = 'obtain-offshore-pump', icons = {'item/offshore-pump'}, goal = 1, }, { item_name = 'obtain-steam-engine', icons = {'item/steam-engine'}, goal = 1, }, { item_name = 'obtain-boiler', icons = {'item/boiler'}, goal = 1, }, { item_name = 'obtain-small-electric-pole', icons = {'item/small-electric-pole'}, goal = 4, }, } global.compilatron.reset = true quest_gui.set('prepare', quest_layout) pollution.reset() quest_gui.visible(true) end story_inits['leave'] = function() local quest_layout = { { item_name = 'collect', }, { item_name = 'leave', }, } global.compilatron.reset = true effect.make_peaceful_biters_wander('starting-area') quest_gui.set('leave', quest_layout) game.auto_save("leave") pollution.reset() quest_gui.visible(true) end story_inits['reach-pond'] = function() local quest_layout = { { item_name = 'arrive', }, } global.compilatron.reset = true game.forces['player'].set_spawn_position(locations.get_pos('pond-player-spawn'),global.main_surface) quest_gui.set('reach-pond', quest_layout) effect.turn_biters_hostile('starting-area') quest_gui.visible(true) end story_inits['rebuild'] = function() effect.activate_quick_bar(true) effect.activate_shortcut_bar(true) local quest_layout = { { item_name = 'research-improved-equipment', children = { { item_name = 'power-lab', icons = {'item/lab'}, children = { { item_name = 'connection', icons = {'item/small-electric-pole'}, }, { item_name = 'provide-steam', icons = {'item/steam-engine','fluid/steam'}, children = { { item_name = 'provide-water', icons = {'item/boiler','fluid/water','item/coal'}, children = { { item_name = 'build-offshore-pump', icons = {'item/offshore-pump'}, }, } }, } }, } }, } }, } effect.unlock_technologies({'improved-equipment','electric-mining'}) global.compilatron.reset = true quest_gui.set('rebuild', quest_layout) game.auto_save("rebuild") quest_gui.visible(true) end story_inits['military'] = function() local quest_layout = { { item_name = 'player-loaded', children = { { item_name = 'craft-firearm-magazine', icons = {'item/firearm-magazine'}, goal = 10 }, } }, { item_name = 'craft-pistol', icons = {'item/pistol'}, goal = 1, children = { { item_name = 'research-basic-military', }, } }, } global.main_surface.always_day = false effect.unlock_technologies({'basic-military','basic-optics'}) global.compilatron.reset = true quest_gui.set('military', quest_layout) quest_gui.add_hint({'quest-hints.info-handcrafting'}) quest_gui.visible(true) end story_inits['entrench'] = function() local quest_layout = { { item_name = 'stockpile-firearm-magazine', icons = {'item/firearm-magazine'}, goal = 100 }, { item_name = 'loaded-east-expansion', icons = {'item/gun-turret'}, goal = 1, children = { { item_name = 'research-active-defense', }, } }, } effect.unlock_technologies({'active-defense','passive-defense','repair-tech'}) global.compilatron.reset = true quest_gui.set('entrench', quest_layout) quest_gui.add_hint({'quest-hints.info-test-fire'}) quest_gui.add_hint({'quest-hints.info-production'}) quest_gui.visible(true) end story_inits['trigger-second-wave'] = function() local quest_layout = { { item_name = 'arrive-compi-trigger-cutscene-pond', }, } global.compilatron.reset = true quest_gui.set('trigger-second-wave', quest_layout) game.auto_save("fortify") quest_gui.visible(true) end story_inits['fortify'] = function() local quest_layout = { { item_name = 'per-time-electronic-circuit', icons ={'item/electronic-circuit'}, goal = 60, unit = 'pm', }, { item_name = 'per-time-firearm-magazine', icons ={'item/firearm-magazine'}, goal = 30, unit = 'pm', }, { item_name = 'per-time-automation-science-pack', icons ={'item/automation-science-pack'}, goal = 6, unit = 'pm', }, { item_name = 'loaded-east-expansion', icons ={'item/gun-turret'}, }, } global.compilatron.reset = true effect.unlock_technologies({'demo-shooting-speed-1'}) quest_gui.set('fortify', quest_layout) quest_gui.add_hint({'quest-hints.info-expand-defense'}) quest_gui.visible(true) end story_inits['survive'] = function() local quest_layout = { { item_name = 'research-demo-science-pack', }, { item_name = 'loaded-east-expansion', }, } global.compilatron.reset = true effect.unlock_technologies({'demo-science-pack'}) quest_gui.set('survive', quest_layout) game.auto_save("survive") quest_gui.visible(true) end story_inits['freeplay'] = function() global.compilatron.reset = true effect.unlock_technologies({'demo-logistics','demo-productivity-1'}) game.auto_save("freeplay") quest_gui.visible(true) end return story_inits