Hustler-Pixelwelt T4: Overseer ohne Punkte, Zzz, Dampf und Stecker-Schild, außerhalb von „arbeitet“ nur gedimmt
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
43b4dcbe9f
commit
93ee128879
2 files changed
+16
-11
No files matched your search
@@ -89,8 +89,9 @@ export function figurZustand(workerId, eintrag, { paused = false } = {}) {
|
||||
hut,
|
||||
pose,
|
||||
klasse: ovs ? 'hk-spr hk-ovs-klein' : `hk-spr hk-fig-${hut}-${pose}`,
|
||||
punkte: status === 'wartet',
|
||||
zzz: status === 'leerlauf',
|
||||
// Der Overseer ist ein schwebender Kristall: keine Kaffeepunkte und kein Zzz, außerhalb von „arbeitet“ nur gedimmt (Controller-Beschluss)
|
||||
punkte: status === 'wartet' && !ovs,
|
||||
zzz: status === 'leerlauf' && !ovs,
|
||||
bildschirm: status === 'arbeitet' && !ovs,
|
||||
radar: workerId === 'rita' && status === 'arbeitet',
|
||||
alarm: status === 'fehler',
|
||||
@@ -174,10 +175,11 @@ export function detailModell(workerId, eintrag, trace, now) {
|
||||
figur: ovs ? 'hk-spr hk-gr-overseer' : `hk-spr hk-gr-${hut}-${POSE_NACH_STATUS[status]}`,
|
||||
overlays: {
|
||||
monitor: status === 'arbeitet' && !ovs,
|
||||
dampf: status === 'wartet',
|
||||
zzz: status === 'leerlauf',
|
||||
dampf: status === 'wartet' && !ovs,
|
||||
zzz: status === 'leerlauf' && !ovs,
|
||||
wirbel: ovs,
|
||||
schild: status === 'grau',
|
||||
schild: status === 'grau' && !ovs,
|
||||
gedimmt: ovs && status !== 'arbeitet',
|
||||
alarm: status === 'fehler',
|
||||
},
|
||||
}
|
||||
|
||||
@@ -200,6 +200,7 @@ test('figurZustand: Overseer in allen Status – eigenes Sprite, gedimmt außer
|
||||
assert.equal(f.raumGrau, false, status)
|
||||
assert.equal(f.raum, 'bruecke', status)
|
||||
assert.equal(f.alarm, status === 'fehler', status)
|
||||
assert.equal(f.punkte, false, status); assert.equal(f.zzz, false, status)
|
||||
assert.match(f.label, /^Overseer, Opus, /, status)
|
||||
}
|
||||
assert.equal(figurZustand('otto', eintrag('arbeitet')).label, 'Overseer, Opus, arbeitet')
|
||||
@@ -334,7 +335,7 @@ test('detailModell: voller Trace – alle Felder', () => {
|
||||
assert.equal(d.nummer, '9 / 19')
|
||||
assert.equal(d.szene, 'hk-sz hk-sz-buero')
|
||||
assert.equal(d.figur, 'hk-spr hk-gr-muetze-arbeiten')
|
||||
assert.deepEqual({ ...d.overlays }, { monitor: true, dampf: false, zzz: false, wirbel: false, schild: false, alarm: false })
|
||||
assert.deepEqual({ ...d.overlays }, { monitor: true, dampf: false, zzz: false, wirbel: false, schild: false, gedimmt: false, alarm: false })
|
||||
// Spur: neueste zuerst, Zeit in Berlin (heute nur Uhrzeit), sichere Links bleiben Links
|
||||
assert.deepEqual(d.spur, traceRows(VOLLER_TRACE.events, JETZT))
|
||||
assert.deepEqual(d.spur.map((z) => z.id), ['b', 'a', 'c'])
|
||||
@@ -456,11 +457,11 @@ test('detailModell: Etage · Raum, Nummer und Name für alle 19 aus dem Roster',
|
||||
|
||||
test('detailModell: Szene, große Figur und Zusätze je Status', () => {
|
||||
const erwartet = {
|
||||
arbeitet: { szene: 'hk-sz hk-sz-buero', figur: 'hk-spr hk-gr-kappe-arbeiten', overlays: { monitor: true, dampf: false, zzz: false, wirbel: false, schild: false, alarm: false } },
|
||||
wartet: { szene: 'hk-sz hk-sz-buero', figur: 'hk-spr hk-gr-kappe-warten', overlays: { monitor: false, dampf: true, zzz: false, wirbel: false, schild: false, alarm: false } },
|
||||
leerlauf: { szene: 'hk-sz hk-sz-buero', figur: 'hk-spr hk-gr-kappe-schlafen', overlays: { monitor: false, dampf: false, zzz: true, wirbel: false, schild: false, alarm: false } },
|
||||
grau: { szene: 'hk-sz hk-sz-nicht', figur: 'hk-spr hk-gr-kappe-nicht', overlays: { monitor: false, dampf: false, zzz: false, wirbel: false, schild: true, alarm: false } },
|
||||
fehler: { szene: 'hk-sz hk-sz-buero', figur: 'hk-spr hk-gr-kappe-nicht', overlays: { monitor: false, dampf: false, zzz: false, wirbel: false, schild: false, alarm: true } },
|
||||
arbeitet: { szene: 'hk-sz hk-sz-buero', figur: 'hk-spr hk-gr-kappe-arbeiten', overlays: { monitor: true, dampf: false, zzz: false, wirbel: false, schild: false, gedimmt: false, alarm: false } },
|
||||
wartet: { szene: 'hk-sz hk-sz-buero', figur: 'hk-spr hk-gr-kappe-warten', overlays: { monitor: false, dampf: true, zzz: false, wirbel: false, schild: false, gedimmt: false, alarm: false } },
|
||||
leerlauf: { szene: 'hk-sz hk-sz-buero', figur: 'hk-spr hk-gr-kappe-schlafen', overlays: { monitor: false, dampf: false, zzz: true, wirbel: false, schild: false, gedimmt: false, alarm: false } },
|
||||
grau: { szene: 'hk-sz hk-sz-nicht', figur: 'hk-spr hk-gr-kappe-nicht', overlays: { monitor: false, dampf: false, zzz: false, wirbel: false, schild: true, gedimmt: false, alarm: false } },
|
||||
fehler: { szene: 'hk-sz hk-sz-buero', figur: 'hk-spr hk-gr-kappe-nicht', overlays: { monitor: false, dampf: false, zzz: false, wirbel: false, schild: false, gedimmt: false, alarm: true } },
|
||||
}
|
||||
for (const status of STATUS) {
|
||||
const d = detailModell('max', eintrag(status), null, JETZT)
|
||||
@@ -480,6 +481,8 @@ test('detailModell: Overseer steht auf der Brücke mit Wirbel, in jedem Status m
|
||||
assert.equal(d.figur, 'hk-spr hk-gr-overseer', status)
|
||||
assert.equal(d.overlays.wirbel, true, status)
|
||||
assert.equal(d.overlays.monitor, false, status)
|
||||
assert.equal(d.overlays.dampf, false, status); assert.equal(d.overlays.zzz, false, status); assert.equal(d.overlays.schild, false, status)
|
||||
assert.equal(d.overlays.gedimmt, status !== 'arbeitet', status); assert.equal(d.overlays.alarm, status === 'fehler', status)
|
||||
assert.equal(d.name, 'Overseer')
|
||||
}
|
||||
assert.equal(detailModell('otto', eintrag('arbeitet'), null, JETZT).nummer, '1 / 19')
|
||||
|
||||
Reference in new issue
Block a user