Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/DESIGN-v3.md
Original file line number Diff line number Diff line change
Expand Up @@ -571,7 +571,7 @@ Blue becomes one milestone, and the long goal is the Golden Fleece.
|---|---|---|---|---|
| 0 | The old farm ("The farm's yours, love. Let's see what the flock gives us.") | first lambs | forecast (swatch litter), facts | 1 |
| 1 | Hidden colours ("White on top, colour underneath!") | a lamb with a visible colour at I ≥ 0.3 **and** 3 shearings sold | cards, vet, orders, the fantail | 5 |
| 2 | The woolshed (Aunty Mere: "Wool's worth more with a bit of mahi in it.") | sell 5 different item types and fill 2 orders | woolshed, benches, demand meters, patterns, creek flats, bush edge I, tūī | 11 |
| 2 | The woolshed (Aunty Mere: "Wool's worth more with a bit of mahi in it.") | sell 3 different item types (was 5; see BACKLOG) and fill 2 orders | woolshed, benches, demand meters, patterns, creek flats, bush edge I, tūī | 11 |
| 3 | True blue (Old Tom: "Now, a *blue* one. That'd turn heads at the show.") | a true-blue sheep (§2.2) and a ribbon (1st–3rd) at the A&P show | numbers, A&P show, Merino/Icelandic/Drysdale, loom, kākā, ruru, rare-gene screen | 18 |
| 4 | Fresh blood and rare wool (Barry: "Reckon you'll never beat my Romneys.") | shear your first fantasy fleece and win 1st in any show class | family tree, visiting rams (incl. "from down south"), hill paddock, kiwi | 27 |
| 5 | The Golden Fleece (the show committee's letter) | win the Golden Fleece (§10.2) | signature knit, high country, kea; afterwards endless mode | 36 |
Expand Down
10 changes: 5 additions & 5 deletions packages/game/src/core/acts.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@ describe("acts", () => {
expect(checkActAdvance(g)).toBeNull();
});

it("ch2: five item types sold and two orders filled, both needed", () => {
it("ch2: three item types sold and two orders filled, both needed", () => {
const g = newGame(24);
enterAct(g, 2);
g.stats.itemTypesSold = ["a", "b", "c", "d"];
g.stats.itemTypesSold = ["a", "b"];
g.stats.ordersFilled += 2;
expect(checkActAdvance(g)).toBeNull(); // four kinds
expect(currentAct(g).progressText).toBe("Four of five kinds sold · Two of two orders filled.");
g.stats.itemTypesSold.push("e");
expect(checkActAdvance(g)).toBeNull(); // two kinds
expect(currentAct(g).progressText).toBe("Two of three kinds sold · Two of two orders filled.");
g.stats.itemTypesSold.push("c");
g.stats.ordersFilled = g.actStart.ordersFilled + 1;
expect(checkActAdvance(g)).toBeNull(); // one order is short
g.stats.ordersFilled += 1;
Expand Down
5 changes: 1 addition & 4 deletions packages/game/src/core/acts.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/** Story acts: goals, progress, unlocks and the ending. */
import {
ACTS, ORDERS_CARRIED, REGISTRY_BLUES, REGISTRY_MAX_INBREEDING, REGISTRY_MICRONS,
ACTS, ITEM_TYPES_FOR_CH2, ORDERS_CARRIED, ORDERS_FOR_CH2, REGISTRY_BLUES, REGISTRY_MAX_INBREEDING, REGISTRY_MICRONS,
} from "./config.js";
import { addLog, flockSheep } from "./state.js";
import { woolOf } from "./colour.js";
Expand Down Expand Up @@ -41,9 +41,6 @@ export function act2Orders(state: GameState): number {

/** Shearings that must be sold for chapter 1. */
const SHEARINGS_FOR_CH1 = 3;
/** Different item kinds sold, and orders filled, for chapter 2. */
const ITEM_TYPES_FOR_CH2 = 5;
const ORDERS_FOR_CH2 = 2;
/** Intensity at which a lamb's colour counts as visible (DESIGN-v3 §10.1 ch1). */
const VISIBLE_COLOUR_INTENSITY = 0.3;
/** Show placings that count as a ribbon. */
Expand Down
5 changes: 4 additions & 1 deletion packages/game/src/core/config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -258,7 +258,7 @@ export const ACTS: ActDef[] = [
},
{
act: 2, title: "The woolshed", line: "Wool's worth more with a bit of mahi in it.",
goalText: "Sell five different kinds of item, and fill two orders.", unlocks: ["craft"], flockCap: 12,
goalText: "Sell three different kinds of item, and fill two orders.", unlocks: ["craft"], flockCap: 12,
},
{
act: 3, title: "True blue", line: "Now, a blue one. That'd turn heads at the show.",
Expand All @@ -277,6 +277,9 @@ export const ACTS: ActDef[] = [
export const REGISTRY_BLUES = 6;
export const REGISTRY_MICRONS = 28;
export const REGISTRY_MAX_INBREEDING = 0.125;
/** Chapter 2 goal: different item kinds sold (DESIGN-v3 §10.1 says 5; 3 so the woolshed, open from season 7, doesn't hold chapter 3 back), and orders filled. */
export const ITEM_TYPES_FOR_CH2 = 3;
export const ORDERS_FOR_CH2 = 2;
/** Orders filled before act 2 that count toward it (at most). */
export const ORDERS_CARRIED = 2;
/** How far raw-wool targets swing with the time of year (warm wools up in autumn, fine up in spring). */
Expand Down
Loading