Files
inkwell-demo/lib/scene.bedroom.go
mr.zeroandClaude Opus 5 d2daa3f02a
ci/woodpecker/push/ebitengine Pipeline was successful
ci/woodpecker/manual/ebitengine Pipeline was successful
Consume the published inkwell module instead of a sibling checkout
inkwell is now released as engines/inkwell v0.1.0, so the `replace
=> ../inkwell` directive can go. That directive is why this pipeline
was failing: it requires a sibling working copy that only exists on a
developer's machine, never in a CI checkout.

Module paths follow the org move as well — this repo is demos/, inkwell
is engines/ — since Gitea's redirect does not apply to Go module paths.

GOPRIVATE is exported from the Makefile: our own modules are not on
proxy.golang.org and not in the public checksum database.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-16 10:35:01 +02:00

71 lines
1.8 KiB
Go

package lib
import p "git.teletypegames.org/engines/inkwell"
var Bedroom = p.Scene{
Name: "bedroom",
Title: "Hálószoba",
Background: "bg/bedroom",
Music: "mus/wakeup",
Actors: []p.SceneActor{
{CharacterName: "player", At: p.Point{X: 160, Y: 145}},
},
// Floor strip — Walk targets get clipped to this band, so clicks
// on the bed or nightstand send the player to the floor in front
// of them instead of letting them clip through furniture.
Walkboxes: []p.Polygon{
p.Poly(
p.Point{X: 10, Y: 135},
p.Point{X: 310, Y: 135},
p.Point{X: 310, Y: 160},
p.Point{X: 10, Y: 160},
),
},
Hotspots: []p.Hotspot{
{
Name: "bed",
Area: p.Rect(20, 70, 90, 60),
Label: "ágy",
OnLook: p.Say("player", "A párnám még meleg."),
OnUse: p.Say("player", "Most keltem fel. Nem alszom vissza."),
},
{
Name: "nightstand",
Area: p.Rect(115, 80, 35, 50),
Label: "éjjeliszekrény",
OnLook: p.If(p.Flag(FlagKeyTaken),
p.Say("player", "Üres a tetején."),
p.Say("player", "Egy rozsdás kulcs az éjjeliszekrényemen."),
),
OnTake: p.If(p.Flag(FlagKeyTaken),
p.Say("player", "Már elvittem."),
p.Seq(
p.Walk("player", p.Point{X: 130, Y: 145}),
p.Give("key"),
p.SetFlag(FlagKeyTaken),
p.Say("player", "Pont jól jöhet."),
),
),
OnUse: p.If(p.Flag(FlagKeyTaken),
p.Say("player", "Már elvittem a kulcsot."),
p.Seq(
p.Walk("player", p.Point{X: 130, Y: 145}),
p.Give("key"),
p.SetFlag(FlagKeyTaken),
p.Say("player", "Megvan a kulcs."),
),
),
},
{
Name: "door",
Area: p.Rect(260, 50, 40, 90),
Label: "ajtó",
OnLook: p.Say("player", "Az ajtó a konyhába vezet."),
OnUse: p.Seq(
p.Walk("player", p.Point{X: 260, Y: 145}),
p.GoTo("kitchen"),
),
},
},
}