mirror of
https://github.com/tobspr/shapez.io.git
synced 2026-03-02 03:39:21 +00:00
Rebalance the whole game, rename splitter -> balancer
This commit is contained in:
@@ -11,29 +11,29 @@ import { formatItemsPerSecond } from "../../core/utils";
|
||||
import { BeltUnderlaysComponent } from "../components/belt_underlays";
|
||||
|
||||
/** @enum {string} */
|
||||
export const enumSplitterVariants = {
|
||||
compact: "compact",
|
||||
compactInverse: "compact-inverse",
|
||||
compactMerge: "compact-merge",
|
||||
compactMergeInverse: "compact-merge-inverse",
|
||||
export const enumBalancerVariants = {
|
||||
merger: "merger",
|
||||
mergerInverse: "merger-inverse",
|
||||
splitter: "splitter",
|
||||
splitterInverse: "splitter-inverse",
|
||||
};
|
||||
|
||||
export class MetaSplitterBuilding extends MetaBuilding {
|
||||
export class MetaBalancerBuilding extends MetaBuilding {
|
||||
constructor() {
|
||||
super("splitter");
|
||||
super("balancer");
|
||||
}
|
||||
|
||||
getDimensions(variant) {
|
||||
switch (variant) {
|
||||
case defaultBuildingVariant:
|
||||
return new Vector(2, 1);
|
||||
case enumSplitterVariants.compact:
|
||||
case enumSplitterVariants.compactInverse:
|
||||
case enumSplitterVariants.compactMerge:
|
||||
case enumSplitterVariants.compactMergeInverse:
|
||||
case enumBalancerVariants.merger:
|
||||
case enumBalancerVariants.mergerInverse:
|
||||
case enumBalancerVariants.splitter:
|
||||
case enumBalancerVariants.splitterInverse:
|
||||
return new Vector(1, 1);
|
||||
default:
|
||||
assertAlways(false, "Unknown splitter variant: " + variant);
|
||||
assertAlways(false, "Unknown balancer variant: " + variant);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,7 +43,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
* @returns {Array<[string, string]>}
|
||||
*/
|
||||
getAdditionalStatistics(root, variant) {
|
||||
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.splitter);
|
||||
const speed = root.hubGoals.getProcessorBaseSpeed(enumItemProcessorTypes.balancer);
|
||||
return [[T.ingame.buildingPlacement.infoTexts.speed, formatItemsPerSecond(speed)]];
|
||||
}
|
||||
|
||||
@@ -57,12 +57,12 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
getAvailableVariants(root) {
|
||||
let available = [defaultBuildingVariant];
|
||||
|
||||
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_splitter_compact)) {
|
||||
available.push(enumSplitterVariants.compact, enumSplitterVariants.compactInverse);
|
||||
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_merger)) {
|
||||
available.push(enumBalancerVariants.merger, enumBalancerVariants.mergerInverse);
|
||||
}
|
||||
|
||||
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_merger_compact)) {
|
||||
available.push(enumSplitterVariants.compactMerge, enumSplitterVariants.compactMergeInverse);
|
||||
if (root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_splitter)) {
|
||||
available.push(enumBalancerVariants.splitter, enumBalancerVariants.splitterInverse);
|
||||
}
|
||||
|
||||
return available;
|
||||
@@ -72,7 +72,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
* @param {GameRoot} root
|
||||
*/
|
||||
getIsUnlocked(root) {
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_splitter);
|
||||
return root.hubGoals.isRewardUnlocked(enumHubGoalRewards.reward_balancer);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -89,7 +89,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
entity.addComponent(
|
||||
new ItemProcessorComponent({
|
||||
inputsPerCharge: 1,
|
||||
processorType: enumItemProcessorTypes.splitter,
|
||||
processorType: enumItemProcessorTypes.balancer,
|
||||
})
|
||||
);
|
||||
|
||||
@@ -135,8 +135,8 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
|
||||
break;
|
||||
}
|
||||
case enumSplitterVariants.compact:
|
||||
case enumSplitterVariants.compactInverse: {
|
||||
case enumBalancerVariants.merger:
|
||||
case enumBalancerVariants.mergerInverse: {
|
||||
entity.components.ItemAcceptor.setSlots([
|
||||
{
|
||||
pos: new Vector(0, 0),
|
||||
@@ -145,7 +145,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
{
|
||||
pos: new Vector(0, 0),
|
||||
directions: [
|
||||
variant === enumSplitterVariants.compactInverse
|
||||
variant === enumBalancerVariants.mergerInverse
|
||||
? enumDirection.left
|
||||
: enumDirection.right,
|
||||
],
|
||||
@@ -162,8 +162,8 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
|
||||
break;
|
||||
}
|
||||
case enumSplitterVariants.compactMerge:
|
||||
case enumSplitterVariants.compactMergeInverse: {
|
||||
case enumBalancerVariants.splitter:
|
||||
case enumBalancerVariants.splitterInverse: {
|
||||
entity.components.ItemAcceptor.setSlots([
|
||||
{
|
||||
pos: new Vector(0, 0),
|
||||
@@ -179,7 +179,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
{
|
||||
pos: new Vector(0, 0),
|
||||
direction:
|
||||
variant === enumSplitterVariants.compactMergeInverse
|
||||
variant === enumBalancerVariants.splitterInverse
|
||||
? enumDirection.left
|
||||
: enumDirection.right,
|
||||
},
|
||||
@@ -192,7 +192,7 @@ export class MetaSplitterBuilding extends MetaBuilding {
|
||||
break;
|
||||
}
|
||||
default:
|
||||
assertAlways(false, "Unknown splitter variant: " + variant);
|
||||
assertAlways(false, "Unknown balancer variant: " + variant);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user