pull/683/head
tobspr 4 years ago
parent 091ffd1031
commit 05847add71

@ -31,6 +31,7 @@ export const CHANGELOG = [
"Show mouse and camera tile on debug overlay (F4) (by dengr)",
"Fix belt planner placing the belt when a dialog opens in the meantime",
"Added confirmation when deleting a savegame",
"Make chained mainer the default and only option after unlocking it",
"Fixed tunnels entrances connecting to exits sometimes when they shouldn't",
"You can now pan the map with your mouse by moving the cursor to the edges of the screen!",
"Added setting to auto select the extractor when pipetting a resource patch (by Exund)",

@ -65,13 +65,13 @@ export const globalConfig = {
buildingSpeeds: {
cutter: 1 / 4,
cutterQuad: 1 / 4,
cutterQuad: 1 / 3,
rotater: 1 / 1,
rotaterCCW: 1 / 1,
rotater180: 1 / 1,
painter: 1 / 6,
painterDouble: 1 / 8,
painterQuad: 1 / 8,
painterQuad: 1 / 2,
mixer: 1 / 5,
stacker: 1 / 6,
},

@ -212,7 +212,7 @@ export class HubGoals extends BasicSerializableObject {
this.currentGoal = {
/** @type {ShapeDefinition} */
definition: this.createRandomShape(),
required: findNiceIntegerValue(5000 + Math.pow(this.level * 2000, 0.75)),
required: findNiceIntegerValue(1000 + Math.pow(this.level * 2000, 0.8)),
reward: enumHubGoalRewards.no_reward_freeplay,
};
}

@ -18,12 +18,19 @@ export const enumHubGoalRewards = {
reward_rotater_180: "reward_rotater_180",
reward_miner_chainable: "reward_miner_chainable",
reward_underground_belt_tier_2: "reward_underground_belt_tier_2",
reward_belt_reader: "reward_belt_reader",
reward_splitter: "reward_splitter",
reward_cutter_quad: "reward_cutter_quad",
reward_painter_double: "reward_painter_double",
reward_painter_quad: "reward_painter_quad",
reward_storage: "reward_storage",
reward_merger: "reward_merger",
reward_wires_filters_and_levers: "reward_wires_filters_and_levers",
reward_display: "reward_display",
reward_constant_signal: "reward_constant_signal",
reward_logic_gates: "reward_logic_gates",
reward_virtual_processing: "reward_virtual_processing",
reward_second_wire: "reward_second_wire",
reward_blueprints: "reward_blueprints",
reward_freeplay: "reward_freeplay",
@ -99,11 +106,11 @@ export const tutorialGoals = [
{
shape: "CpCpCpCp", // belts t3
required: 800,
reward: enumHubGoalRewards.reward_splitter,
reward: enumHubGoalRewards.reward_merger,
},
// 10
// Star shape + cyan
// STACKER: Star shape + cyan
{
shape: "ScScScSc", // miners t3
required: 900,
@ -111,7 +118,7 @@ export const tutorialGoals = [
},
// 11
// Stacker
// Chainable miner
{
shape: "CgScScCg", // processors t3
required: 1000,
@ -127,6 +134,7 @@ export const tutorialGoals = [
},
// 13
// Tunnel Tier 2
{
shape: "RpRpRpRp:CwCwCwCw", // painting t3
required: 5000,
@ -134,44 +142,121 @@ export const tutorialGoals = [
},
// 14
// Belt reader
{
// @todo
shape: "CuCuCuCu",
required: 7000,
reward: enumHubGoalRewards.reward_belt_reader,
},
// 15
// Storage
{
shape: "SrSrSrSr:CyCyCyCy", // unused
required: 7500,
reward: enumHubGoalRewards.reward_storage,
},
// 15
// 16
// Quad Cutter
{
shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", // belts t4 (two variants)
required: 15000,
required: 12500,
reward: enumHubGoalRewards.reward_cutter_quad,
},
// 16
// 17
// Double painter
{
shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", // miner t4 (two variants)
required: 20000,
required: 15000,
reward: enumHubGoalRewards.reward_painter_double,
},
// 17
// 18
// Rotater (180deg)
{
shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", // rotater 180
required: 25000,
// @TODO
shape: "CuCuCuCu",
required: 20000,
reward: enumHubGoalRewards.reward_rotater_180,
},
// 18
// 19
// Compact splitter
{
// @TODO
shape: "CuCuCuCu",
required: 25000,
reward: enumHubGoalRewards.reward_splitter,
},
// 20
// WIRES
{
shape: "WrRgWrRg:CwCrCwCr:SgSgSgSg", // processors t4 (two variants)
shape: finalGameShape,
required: 50000,
reward: enumHubGoalRewards.reward_wires_filters_and_levers,
},
// 21
// Display
{
// @TODO
shape: "CuCuCuCu",
required: 25000,
reward: enumHubGoalRewards.reward_display,
},
// 22
// Constant signal
{
// @TODO
shape: "CuCuCuCu",
required: 30000,
reward: enumHubGoalRewards.reward_constant_signal,
},
// 23
// Quad Painter
{
// @TODO
shape: "CuCuCuCu",
// shape: "WrRgWrRg:CwCrCwCr:SgSgSgSg", // processors t4 (two variants)
required: 35000,
reward: enumHubGoalRewards.reward_painter_quad,
},
// 19
// 24 Logic gates
{
shape: finalGameShape,
// @TODO
shape: "CuCuCuCu",
required: 40000,
reward: enumHubGoalRewards.reward_logic_gates,
},
// 25 Virtual Processing
{
// @TODO
shape: "CuCuCuCu",
required: 45000,
reward: enumHubGoalRewards.reward_virtual_processing,
},
// 26 Secondary type of wire
{
// @TODO
shape: "CuCuCuCu",
required: 50000,
reward: enumHubGoalRewards.reward_second_wire,
},
// 27 Freeplay
{
// @TODO
shape: "CuCuCuCu",
required: 100000,
reward: enumHubGoalRewards.reward_freeplay,
},
];

@ -12,6 +12,9 @@ import { MetaTrashBuilding, enumTrashVariants } from "./buildings/trash";
/** @typedef {Array<[typeof MetaBuilding, string]>} TutorialGoalReward */
import { enumHubGoalRewards } from "./tutorial_goals";
import { MetaReaderBuilding } from "./buildings/reader";
import { MetaDisplayBuilding } from "./buildings/display";
import { MetaConstantSignalBuilding } from "./buildings/constant_signal";
/**
* Helper method for proper types
@ -45,6 +48,14 @@ export const enumHubGoalRewardsToContentUnlocked = {
[enumHubGoalRewards.reward_painter_quad]: typed([[MetaPainterBuilding, enumPainterVariants.quad]]),
[enumHubGoalRewards.reward_storage]: typed([[MetaTrashBuilding, enumTrashVariants.storage]]),
[enumHubGoalRewards.reward_belt_reader]: typed([[MetaReaderBuilding, defaultBuildingVariant]]),
[enumHubGoalRewards.reward_display]: typed([[MetaDisplayBuilding, defaultBuildingVariant]]),
[enumHubGoalRewards.reward_constant_signal]: typed([
[MetaConstantSignalBuilding, defaultBuildingVariant],
]),
[enumHubGoalRewards.reward_second_wire]: null, // @TODO!
[enumHubGoalRewards.reward_wires_filters_and_levers]: null,
[enumHubGoalRewards.reward_freeplay]: null,
[enumHubGoalRewards.no_reward]: null,
[enumHubGoalRewards.no_reward_freeplay]: null,

@ -38,7 +38,7 @@ export const UPGRADES = {
required: [{ shape: "SrSrSrSr:CyCyCyCy:SwSwSwSw", amount: 20000 }],
},
{
required: [{ shape: finalGameShape, amount: 75000 }],
required: [{ shape: finalGameShape, amount: 50000 }],
excludePrevious: true,
},
],
@ -60,7 +60,7 @@ export const UPGRADES = {
required: [{ shape: "CbRbRbCb:CwCwCwCw:WbWbWbWb", amount: 30000 }],
},
{
required: [{ shape: finalGameShape, amount: 85000 }],
required: [{ shape: finalGameShape, amount: 65000 }],
excludePrevious: true,
},
],
@ -82,7 +82,7 @@ export const UPGRADES = {
required: [{ shape: "WrRgWrRg:CwCrCwCr:SgSgSgSg", amount: 30000 }],
},
{
required: [{ shape: finalGameShape, amount: 100000 }],
required: [{ shape: finalGameShape, amount: 75000 }],
excludePrevious: true,
},
],
@ -104,7 +104,7 @@ export const UPGRADES = {
required: [{ shape: "WpWpWpWp:CwCwCwCw:WpWpWpWp:CwCwCwCw", amount: 30000 }],
},
{
required: [{ shape: finalGameShape, amount: 125000 }],
required: [{ shape: finalGameShape, amount: 100000 }],
excludePrevious: true,
},
],

@ -687,7 +687,9 @@ storyRewards:
reward_miner_chainable:
title: Chaining Extractor
desc: You have unlocked the <strong>chaining extractor</strong>! It can <strong>forward its resources</strong> to other extractors so you can more efficiently extract resources!
desc: >-
You have unlocked the <strong>chained extractor</strong>! It can <strong>forward its resources</strong> to other extractors so you can more efficiently extract resources!<br><br>
PS: The old extractor has been replaced in your toolbar now!
reward_underground_belt_tier_2:
title: Tunnel Tier II
@ -703,6 +705,11 @@ storyRewards:
desc: >-
You have unlocked a merger variant of the <strong>balancer</strong> - It accepts one input and splits them into two!
reward_belt_reader:
title: Belt reader
desc: >-
You have now unlocked the <strong>belt reader</strong>! It allows you to measure the throughput of a belt.<br><br>And wait until you unlock wires - then it gets really useful!
reward_cutter_quad:
title: Quad Cutting
desc: You have unlocked a variant of the <strong>cutter</strong> - It allows you to cut shapes in <strong>four parts</strong> instead of just two!
@ -713,16 +720,14 @@ storyRewards:
reward_painter_quad:
title: Quad Painting
desc: You have unlocked a variant of the <strong>painter</strong> - It allows you to paint each part of the shape individually!
desc: >-
You have unlocked a variant of the <strong>painter</strong> - It allows you to paint each part of the shape individually!<br><br>
To use it, connect each slot which should be painted on the wires layer!
reward_storage:
title: Storage Buffer
desc: You have unlocked a variant of the <strong>trash</strong> - It allows you to store items up to a given capacity!
reward_freeplay:
title: Freeplay
desc: You did it! You unlocked the <strong>free-play mode</strong>! This means that shapes are now randomly generated! (No worries, more content is planned for the standalone!)
reward_blueprints:
title: Blueprints
desc: You can now <strong>copy and paste</strong> parts of your factory! Select an area (Hold CTRL, then drag with your mouse), and press 'C' to copy it.<br><br>Pasting it is <strong>not free</strong>, you need to produce <strong>blueprint shapes</strong> to afford it! (Those you just delivered).
@ -731,6 +736,45 @@ storyRewards:
title: Rotater (180 degrees)
desc: You just unlocked the 180 degress <strong>rotater</strong>! - It allows you to rotate a shape by 180 degress (Surprise! :D)
reward_wires_filters_and_levers:
title: >-
Wires: Filters & Levers
desc: >-
You just unlocked the <strong>wires layer</strong>! It is a separate layer on top of the regular layer and introduces a lot of new mechanics!<br><br>
Since it can be overwhelming a bit, I added a small tutorial - Be sure to have <strong>tutorials enabled</strong> in the settings!
reward_display:
title: Display
desc: >-
You have unlocked the <strong>Display</strong>! Connect a wires signal to it to present a color, shape or boolean!
reward_constant_signal:
title: Constant Signal
desc: >-
You can now emit a <strong>constant signal</strong> on the wires layer! This is useful to connect it to <strong>item filters</strong> for example!
reward_logic_gates:
title: Logic Gates
desc: >-
You unlocked <strong>logic gates</strong>! You don't have to be excited about this, but it's actually super cool!<br><br>
With those gates you can now perform AND, OR, XOR and NOT boolean operations!
reward_virtual_processing:
title: Virtual Processing
desc: >-
I just gave a whole bunch of new buildings which allow you to <strong>simulate the processing of shapes</strong>!<br><br>
You can now simulate a cutter, rotater, stacker and more on the wires layer!<br><br>
With this you now have three options to continue the game:<br><br>
- Build an <strong>automated machine</strong> to create any possible shape requested by the hub (This is cool, I swear!).<br><br>
- Build something cool with wires.<br><br>
- Continue to play regulary.
reward_second_wire:
title: Second Wire Type
desc: >-
Annoyed by wires automatically connecting? I just gave you another <strong>type of wire</strong>!<br><br>
Different types of wires do not connect to each other, so you can now build much compacter circuits.
# Special reward, which is shown when there is no reward actually
no_reward:
title: Next level
@ -742,6 +786,12 @@ storyRewards:
desc: >-
Congratulations! By the way, more content is planned for the standalone!
reward_freeplay:
title: Freeplay
desc: >-
You did it! You unlocked the <strong>free-play mode</strong>! This means that shapes are now <strong>randomly</strong> generated!<br><br>
Since the hub will only require low quantities, I highly recommend to build a machine which automatically delivers the requested shape!
settings:
title: Settings
categories:

Loading…
Cancel
Save