mirror of
https://github.com/thepaperpilot/Advent-Incremental.git
synced 2024-11-28 02:51:46 +00:00
Make focus time clearer
This commit is contained in:
parent
78a2d8fe7d
commit
8be07310e9
1 changed files with 22 additions and 10 deletions
|
@ -151,12 +151,12 @@ const layer = createLayer(id, () => {
|
||||||
);
|
);
|
||||||
const level = computed(() =>
|
const level = computed(() =>
|
||||||
Decimal.min(
|
Decimal.min(
|
||||||
Decimal.mul(9, exp.value).div(4000).div(costMulti).add(1).log(5).floor(),
|
Decimal.affordGeometricSeries(exp.value, Decimal.mul(4000, costMulti), 5, 0),
|
||||||
schools.amount.value
|
schools.amount.value
|
||||||
).toNumber()
|
).toNumber()
|
||||||
);
|
);
|
||||||
const expToNextLevel = computed(() =>
|
const expToNextLevel = computed(() =>
|
||||||
Decimal.sub(exp.value, Decimal.pow(5, level.value).sub(1).div(9).mul(4000))
|
Decimal.sub(exp.value, Decimal.sumGeometricSeries(level.value, Decimal.mul(4000, costMulti), 5, 0))
|
||||||
);
|
);
|
||||||
const bar = createBar(() => ({
|
const bar = createBar(() => ({
|
||||||
direction: Direction.Right,
|
direction: Direction.Right,
|
||||||
|
@ -934,9 +934,11 @@ const layer = createLayer(id, () => {
|
||||||
elf.exp.value
|
elf.exp.value
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
focusTime.value = Decimal.sub(focusTime.value, diff).max(0);
|
focusTime.value = Math.max(focusTime.value - diff, 0);
|
||||||
focusCooldown.value = Decimal.sub(focusCooldown.value, diff).max(0);
|
focusCooldown.value = Math.max(focusCooldown.value - diff, 0);
|
||||||
|
|
||||||
if (Decimal.eq(focusTime.value, 0)) {
|
if (Decimal.eq(focusTime.value, 0)) {
|
||||||
focusMulti.value = Decimal.pow(
|
focusMulti.value = Decimal.pow(
|
||||||
focusMaxMulti.value,
|
focusMaxMulti.value,
|
||||||
|
@ -949,8 +951,8 @@ const layer = createLayer(id, () => {
|
||||||
|
|
||||||
const focusMulti = persistent<DecimalSource>(1);
|
const focusMulti = persistent<DecimalSource>(1);
|
||||||
const focusTargets = persistent<Record<string, boolean>>({});
|
const focusTargets = persistent<Record<string, boolean>>({});
|
||||||
const focusCooldown = persistent<DecimalSource>(0);
|
const focusCooldown = persistent<number>(0);
|
||||||
const focusTime = persistent<DecimalSource>(0);
|
const focusTime = persistent<number>(0);
|
||||||
|
|
||||||
const focusMaxMultiModifiers = createSequentialModifier(() => [
|
const focusMaxMultiModifiers = createSequentialModifier(() => [
|
||||||
createMultiplicativeModifier(() => ({
|
createMultiplicativeModifier(() => ({
|
||||||
|
@ -985,10 +987,20 @@ const layer = createLayer(id, () => {
|
||||||
height: 25,
|
height: 25,
|
||||||
style: `border-radius: 4px 4px 0 0`,
|
style: `border-radius: 4px 4px 0 0`,
|
||||||
borderStyle: `border-radius: 4px 4px 0 0`,
|
borderStyle: `border-radius: 4px 4px 0 0`,
|
||||||
fillStyle: `background: ${color}; transition: none`,
|
fillStyle: () => ({
|
||||||
|
background: focusTime.value > 0 ? color : "#7f7f00",
|
||||||
|
opacity: focusTime.value > 0 ? focusTime.value / 10 : 1,
|
||||||
|
transition: "none",
|
||||||
|
}),
|
||||||
progress: () =>
|
progress: () =>
|
||||||
Decimal.sub(focusMulti.value, 1).div(Decimal.sub(focusMaxMulti.value, 1)).toNumber(),
|
Decimal.sub(focusMulti.value, 1).div(Decimal.sub(focusMaxMulti.value, 1)).toNumber(),
|
||||||
display: jsx(() => <>{format(focusMulti.value)}x</>)
|
display: jsx(() => <>
|
||||||
|
{format(focusMulti.value)}x
|
||||||
|
{focusTime.value > 0 ? <>
|
||||||
|
{" "}to {Object.keys(focusTargets.value).join(", ")}
|
||||||
|
{" "}for {formatTime(focusTime.value)}</> : ""
|
||||||
|
}
|
||||||
|
</>)
|
||||||
})) as GenericBar;
|
})) as GenericBar;
|
||||||
|
|
||||||
const focusButton = createClickable(() => ({
|
const focusButton = createClickable(() => ({
|
||||||
|
@ -997,7 +1009,7 @@ const layer = createLayer(id, () => {
|
||||||
description: jsx(() => (
|
description: jsx(() => (
|
||||||
<>
|
<>
|
||||||
Motivate elves to focus, multiplying 3 random elves' XP gain by up to{" "}
|
Motivate elves to focus, multiplying 3 random elves' XP gain by up to{" "}
|
||||||
{format(focusMaxMulti.value)}x, equal to the focus bars' effect.
|
{format(focusMaxMulti.value)}x for 10 seconds, equal to the focus bars' effect.
|
||||||
{Decimal.gte(focusCooldown.value, 0) ? (
|
{Decimal.gte(focusCooldown.value, 0) ? (
|
||||||
<>
|
<>
|
||||||
<br />
|
<br />
|
||||||
|
@ -1333,7 +1345,6 @@ const layer = createLayer(id, () => {
|
||||||
{render(dayProgress)}
|
{render(dayProgress)}
|
||||||
<br />
|
<br />
|
||||||
{renderCol(schools, classrooms)} {renderGrid([teaching, classroomUpgrade])}{" "}
|
{renderCol(schools, classrooms)} {renderGrid([teaching, classroomUpgrade])}{" "}
|
||||||
{renderGrid(upgrades)}
|
|
||||||
{Decimal.gt(schools.amount.value, 0) ? (
|
{Decimal.gt(schools.amount.value, 0) ? (
|
||||||
<>
|
<>
|
||||||
<br />
|
<br />
|
||||||
|
@ -1341,6 +1352,7 @@ const layer = createLayer(id, () => {
|
||||||
<br />
|
<br />
|
||||||
<br />
|
<br />
|
||||||
{render(focusButton)}
|
{render(focusButton)}
|
||||||
|
{renderGrid(upgrades)}
|
||||||
<br />
|
<br />
|
||||||
{renderGrid(
|
{renderGrid(
|
||||||
[focusMeter],
|
[focusMeter],
|
||||||
|
|
Loading…
Reference in a new issue