level-up/shared/script/scenes/tutorial-muesli.ts
Moritz Ruth dd5e018477
All checks were successful
Build / build (push) Successful in 1m14s
WIP: Fix and improve interaction scenes
2025-04-14 17:22:56 +02:00

129 lines
No EOL
3.7 KiB
TypeScript

import { Temporal } from "temporal-polyfill"
import { defineInteractionScene, type SceneDefinition } from "../types"
export const sceneTutorialMuesli: SceneDefinition = defineInteractionScene({
id: "tutorial-muesli",
type: "interaction",
label: "Tutorial: Müsli",
plannedDuration: Temporal.Duration.from({ minutes: 8 }),
objects: {
"escobar": {
label: "Escobar",
reveal: true,
},
"kuehlschrank": {
label: "Kühlschrank",
reveal: true,
},
"peruecke": {
label: "Perücke",
reveal: true,
},
"thunfisch": {
label: "Thunfisch",
reveal: false,
},
"haferflocken": {
label: "Haferflocken",
reveal: false,
},
"milch": {
label: "Milch",
reveal: false,
},
"h-milch": {
label: "H-Milch",
reveal: false,
},
"kaffeebohnen": {
label: "Kaffeebohnen",
reveal: false,
},
"muesli-unfertig": {
label: "Muesli (unfertig)",
reveal: true,
completion: {
replaceWith: "muesli",
steps: 3
}
},
"muesli": {
label: "Müsli",
reveal: false
}
},
interactions: [
{
type: "use",
objectId: "kuehlschrank",
consume: false,
outputObjectIds: ["milch", "thunfisch", "haferflocken", "kaffeebohnen"],
},
{
type: "combine",
inputObjects: {
"escobar": { consume: false },
"kuehlschrank": { consume: false },
},
outputObjectIds: [],
note: "»Was sagst du Escobar, dir ist es hier zu warm?«"
},
{
type: "combine",
inputObjects: {
"kaffeebohnen": { consume: true },
"muesli-unfertig": { consume: false }
},
outputObjectIds: ["muesli-unfertig"]
},
{
type: "combine",
inputObjects: {
"thunfisch": { consume: true },
"muesli-unfertig": { consume: false }
},
outputObjectIds: ["muesli-unfertig"]
},
{
type: "combine",
inputObjects: {
"haferflocken": { consume: true },
"muesli-unfertig": { consume: false }
},
outputObjectIds: ["muesli-unfertig"]
},
{
type: "combine",
inputObjects: {
"milch": { consume: false },
"muesli-unfertig": { consume: false }
},
outputObjectIds: [],
note: "Leider ist die Milch schon abgelaufen. → Duo: »Hätten wir nur H-Milch besorgt.«"
},
{
type: "use",
objectId: "milch",
consume: false,
outputObjectIds: [],
note: "Leider ist die Milch schon abgelaufen. → Duo: »Hätten wir nur H-Milch besorgt.«"
},
{
type: "combine",
inputObjects: {
"milch": { consume: true },
"peruecke": { consume: true }
},
outputObjectIds: ["h-milch"],
note: "Ein Haar der Perücke in der Milch → H-Milch"
},
{
type: "combine",
inputObjects: {
"h-milch": { consume: true },
"muesli-unfertig": { consume: false }
},
outputObjectIds: ["muesli-unfertig"]
}
]
})