Added names, descriptions, etc. of remaining machines and passives

This commit is contained in:
thepaperpilot 2023-05-03 16:08:40 -05:00
parent 368cb1e04d
commit db9ea0b99a

View file

@ -148,49 +148,56 @@ const tools = {
cost: 1e10, cost: 1e10,
name: "Portal Generator", name: "Portal Generator",
type: "portalGenerator", type: "portalGenerator",
state: { tier: null, influences: [] } state: { tier: undefined, influences: [] }
}, },
silver: { silver: {
cost: 1e12, cost: 1e12,
name: "Unknown Item", name: "Robotics",
type: "unknownType" type: "passive",
state: "silver"
}, },
gold: { gold: {
cost: 1e15, cost: 1e15,
name: "Unknown Item", name: "Booster",
type: "unknownType" type: "booster",
state: { planes: [], maxConnections: 1, powered: false }
}, },
emerald: { emerald: {
cost: 1e19, cost: 1e19,
name: "Unknown Item", name: "Artificial Intelligence",
type: "unknownType" type: "passive",
state: "emerald"
}, },
platinum: { platinum: {
cost: 1e24, cost: 1e24,
name: "Unknown Item", name: "Upgrader",
type: "unknownType" type: "upgrader",
state: { planes: [], maxConnections: 1, powered: false }
}, },
diamond: { diamond: {
cost: 1e30, cost: 1e30,
name: "Unknown Item", name: "Machine Learning",
type: "unknownType" type: "passive",
state: "diamond"
}, },
berylium: { berylium: {
cost: 1e37, cost: 1e37,
name: "Unknown Item", name: "Automator",
type: "unknownType" type: "automator",
state: { planes: [], maxConnections: 1, powered: false }
}, },
unobtainium: { unobtainium: {
cost: 1e45, cost: 1e45,
name: "Unknown Item", name: "National Grid",
type: "unknownType" type: "passive",
state: "unobtainium"
}, },
ultimatum: { ultimatum: {
cost: 1e54, cost: 1e54,
name: "Unknown Item", name: "Investments",
type: "unknownType" type: "investments"
} }
} as Record< } as const satisfies Record<
Resources, Resources,
{ {
cost: DecimalSource; cost: DecimalSource;
@ -200,6 +207,25 @@ const tools = {
} }
>; >;
const relics = {
dirt: "Replicator",
sand: "Metal Detector",
gravel: "Neural Networks",
wood: "Mining Laser",
stone: "BOGO Coupon",
coal: "Planar Intelligence",
copper: "Efficient Code",
iron: "Trade Agreements",
silver: "Machine Synergizer",
gold: "XP Market",
emerald: "Efficient Portals",
platinum: "Time Dilation",
diamond: "Paypal",
berylium: "Tiered Mining",
unobtainium: "Overclocked Portals",
ultimatum: "Rebates"
} as const satisfies Record<Resources, string>;
const passives = { const passives = {
dirt: { dirt: {
description: (empowered: boolean) => description: (empowered: boolean) =>
@ -216,8 +242,102 @@ const passives = {
copper: { copper: {
description: (empowered: boolean) => description: (empowered: boolean) =>
empowered ? "Material level is 20% stronger" : "Material level is 10% stronger" empowered ? "Material level is 20% stronger" : "Material level is 10% stronger"
},
silver: {
description: (empowered: boolean) =>
empowered
? "Doubles each plane's resource gain"
: "Quadruples each plane's resource gain"
},
diamond: {
description: (empowered: boolean) =>
empowered
? "+2% plane's resource gain per repeatable purchase"
: "+1% plane's resource gain per repeatable purchase"
},
emerald: {
description: (empowered: boolean) =>
empowered
? "+2% plane's resource gain per minute active"
: "+1% plane's resource gain per minute active"
},
unobtainium: {
description: (empowered: boolean) =>
empowered ? "+2 max connections per machine" : "+1 max connections per machine"
},
dirtRelic: {
description: (empowered: boolean) =>
empowered ? "Upgrades apply thrice" : "Upgrades apply twice"
},
sandRelic: {
description: (empowered: boolean) =>
empowered ? "Treasure's 2 tiers stronger" : "Treasure's 1 tier stronger"
},
gravelRelic: {
description: (empowered: boolean) =>
empowered
? "+2% plane's resource gain per repeatable purchase"
: "+1% plane's resource gain per repeatable purchase"
},
woodRelic: {
description: (empowered: boolean) =>
empowered ? "(Relics)^2 boost mine speed" : "Relics boost mine speed"
},
stoneRelic: {
description: (empowered: boolean) =>
empowered ? "2 free levels for repeatables" : "1 free level for repeatables"
},
coalRelic: {
description: (empowered: boolean) =>
empowered ? "(Treasures)^2 boost planar speed" : "Treasures boost planar speed"
},
copperRelic: {
description: (empowered: boolean) =>
empowered ? "Power 2 machines free" : "Power 1 machine free"
},
ironRelic: {
description: (empowered: boolean) =>
empowered ? "Conversions give triple output" : "Conversions give double output"
},
silverRelic: {
description: (empowered: boolean) =>
empowered ? "(Power machines)^2 boost ore dropped" : "Power machines boost ore dropped"
},
goldRelic: {
description: (empowered: boolean) =>
empowered ? "Each treasure quadruples XP gain" : "Each treasure doubles XP gain"
},
emeraldRelic: {
description: (empowered: boolean) =>
empowered
? "Creating portals costs a third the energy"
: "Creating portals costs half the energy"
},
platinumRelic: {
description: (empowered: boolean) =>
empowered ? "Triple dimensions' tick rate" : "Double dimensions' tick rate"
},
diamondRelic: {
description: (empowered: boolean) =>
empowered ? "Repeatables/dimensions buy max at once" : "Repeatables buy max at once"
},
beryliumRelic: {
description: (empowered: boolean) =>
empowered
? "(Max tier plane finished)^2 boosts quarry speed"
: "Max tier plane finished boosts quarry speed"
},
unobtainiumRelic: {
description: (empowered: boolean) =>
empowered ? "ln(energy) boosts planar speed" : "log(energy) boosts planar speed"
},
ultimatumRelic: {
description: (empowered: boolean) =>
empowered
? "Upgrades/repeatables/dimensions/prestige no longer spend on purchase"
: "Upgrades/repeatables no longer spend on purchase"
} }
} as const; } as const satisfies Record<string, { description: (empowered: boolean) => string }>;
export type Passives = keyof typeof passives; export type Passives = keyof typeof passives;
@ -338,11 +458,11 @@ export const main = createLayer("main", function (this: BaseLayer) {
}, {} as Record<Resources, BoardNode>) }, {} as Record<Resources, BoardNode>)
); );
const toolNodes: ComputedRef<Record<Resources, BoardNode>> = computed(() => ({ const toolNodes: ComputedRef<Record<Resources | Passives, BoardNode>> = computed(() => ({
...board.types.passive.nodes.value.reduce((acc, curr) => { ...board.types.passive.nodes.value.reduce((acc, curr) => {
acc[curr.state as Resources] = curr; acc[curr.state as Passives] = curr;
return acc; return acc;
}, {} as Record<Resources, BoardNode>), }, {} as Record<Resources | Passives, BoardNode>),
sand: board.types.dowsing.nodes.value[0], sand: board.types.dowsing.nodes.value[0],
wood: board.types.quarry.nodes.value[0], wood: board.types.quarry.nodes.value[0],
coal: board.types.empowerer.nodes.value[0], coal: board.types.empowerer.nodes.value[0],
@ -775,7 +895,7 @@ export const main = createLayer("main", function (this: BaseLayer) {
id: getUniqueNodeID(board as GenericBoard), id: getUniqueNodeID(board as GenericBoard),
position: { ...node.position }, position: { ...node.position },
type: tool.type, type: tool.type,
state: tool.state state: "state" in tool ? tool.state : undefined
}; };
board.placeInAvailableSpace(newNode); board.placeInAvailableSpace(newNode);
board.nodes.value.push(newNode); board.nodes.value.push(newNode);
@ -976,10 +1096,12 @@ export const main = createLayer("main", function (this: BaseLayer) {
})` })`
}; };
} }
return labelForAcceptingTool( return labelForAcceptingTool(node, passive => {
node, if (passive.includes("Relic")) {
passive => `Double ${tools[passive].name}'s effect` return `Double ${relics[passive.slice(0, -5) as Resources]}'s effect`;
); }
return `Double ${tools[passive as Resources].name}'s effect`;
});
}, },
actionDistance: Math.PI / 4, actionDistance: Math.PI / 4,
actions: [ actions: [