1
0
mirror of https://github.com/tobspr/shapez.io.git synced 2026-03-02 03:39:21 +00:00

Rebalance whole game

This commit is contained in:
tobspr
2020-05-17 14:46:33 +02:00
parent 6a61d03489
commit 97f52f509b
15 changed files with 204 additions and 111 deletions

View File

@@ -19,6 +19,7 @@ export class MetaCutterBuilding extends MetaBuilding {
getSilhouetteColor() {
return "#7dcda2";
}
getDimensions(variant) {
switch (variant) {
case defaultBuildingVariant:
@@ -30,8 +31,14 @@ export class MetaCutterBuilding extends MetaBuilding {
}
}
/**
* @param {GameRoot} root
*/
getAvailableVariants(root) {
return [defaultBuildingVariant, enumCutterVariants.quad];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_cutter_quad)) {
return [defaultBuildingVariant, enumCutterVariants.quad];
}
return super.getAvailableVariants(root);
}
/**

View File

@@ -4,6 +4,7 @@ import { MinerComponent } from "../components/miner";
import { Entity } from "../entity";
import { MetaBuilding, defaultBuildingVariant } from "../meta_building";
import { GameRoot } from "../root";
import { enumHubGoalRewards } from "../tutorial_goals";
/** @enum {string} */
export const enumMinerVariants = { chainable: "chainable" };
@@ -17,8 +18,15 @@ export class MetaMinerBuilding extends MetaBuilding {
return "#b37dcd";
}
/**
*
* @param {GameRoot} root
*/
getAvailableVariants(root) {
return [defaultBuildingVariant, enumMinerVariants.chainable];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_miner_chainable)) {
return [defaultBuildingVariant, enumMinerVariants.chainable];
}
return super.getAvailableVariants(root);
}
/**

View File

@@ -33,8 +33,18 @@ export class MetaPainterBuilding extends MetaBuilding {
return "#cd9b7d";
}
/**
* @param {GameRoot} root
*/
getAvailableVariants(root) {
return [defaultBuildingVariant, enumPainterVariants.double, enumPainterVariants.quad];
let variants = [defaultBuildingVariant];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_painter_double)) {
variants.push(enumPainterVariants.double);
}
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_painter_quad)) {
variants.push(enumPainterVariants.quad);
}
return variants;
}
/**

View File

@@ -20,8 +20,15 @@ export class MetaRotaterBuilding extends MetaBuilding {
return "#7dc6cd";
}
/**
*
* @param {GameRoot} root
*/
getAvailableVariants(root) {
return [defaultBuildingVariant, enumRotaterVariants.ccw];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_rotater_ccw)) {
return [defaultBuildingVariant, enumRotaterVariants.ccw];
}
return super.getAvailableVariants(root);
}
/**

View File

@@ -32,8 +32,18 @@ export class MetaSplitterBuilding extends MetaBuilding {
return "#444";
}
/**
* @param {GameRoot} root
*/
getAvailableVariants(root) {
return [defaultBuildingVariant, enumSplitterVariants.compact, enumSplitterVariants.compactInverse];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_splitter_compact)) {
return [
defaultBuildingVariant,
enumSplitterVariants.compact,
enumSplitterVariants.compactInverse,
];
}
return super.getAvailableVariants(root);
}
/**

View File

@@ -40,8 +40,14 @@ export class MetaUndergroundBeltBuilding extends MetaBuilding {
return true;
}
/**
* @param {GameRoot} root
*/
getAvailableVariants(root) {
return [defaultBuildingVariant, enumUndergroundBeltVariants.tier2];
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_underground_belt_tier_2)) {
return [defaultBuildingVariant, enumUndergroundBeltVariants.tier2];
}
return super.getAvailableVariants(root);
}
getPreviewSprite(rotationVariant, variant) {