Offer one-object use only where a rule handles it

Đang mở
#46 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
48/100
Loại issue
Tính năng
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
typescript

Hướng nghiên cứu

Start with packages/engine/src/affordances.ts and packages/engine/src/explore.ts, then trace how apps/web/src/logic/actions.ts and apps/web/src/components/actionSheet.ts use the view affordances. Read docs/spec/content-pack.md sections 7 and 14 and the playtest note in packs/letzte-nacht-der-reichsmark/design/CHANGES.md. Done means the engine and player tests cover both rule-handled and unhandled solo use, both packs’ tap walkthroughs pass, check results are explained, and the spec and prompts/oneshot.md are updated.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

area: engine area: web priority: medium type: feature

Context

Action sheets offer use on every object except characters (spec section 7), and the target picker always adds a one-object choice ("just use it", »nur so«). For most objects the one-object use only produces the pack's or the engine's generic "That doesn't work." Two places stand out:

  • Combining clues: the picker »… kombinieren mit …« also offers »nur so«, which reads oddly. It was kept in v0.1 on purpose: the explorer counts a one-object use on a clue as an offered action, and a pack may have a rule for it, so hiding it only in the player could break the guarantee that everything the verifier counts as offered can be tapped.
  • Scenery: the first noir playtest round noted that use is offered on every piece of scenery (design/CHANGES.md, "Not fixable in the pack").

The fix belongs in the engine: view should state per object whether the one-object use is offered, and the explorer and the player should follow it.

Scope

  • Engine affordances: offer the one-object use X only when a command rule could match it.
  • Keep use in the action sheet as the entry to two-object use. Decide here whether use stays on objects that no use rule mentions in either slot, weighing less noise against revealing which objects matter.
  • The explorer's offered actions follow view (spec section 14), so lexvm check keeps judging exactly what can be tapped.
  • Player: show "just use it" only when view offers the one-object command.
  • Spec sections 7 and 14 updated; prompt kit regenerated.

Acceptance criteria

  • Combining a clue shows no "just use it" (»nur so«) unless a rule handles use on that clue alone.
  • Objects whose one-object use a rule handles still offer it, and the tap walkthrough test passes for both packs.
  • lexvm check results for both packs are unchanged, or every difference is explained in the pull request.
  • Engine and player unit tests cover both cases; docs/spec/content-pack.md and prompts/oneshot.md are updated.

References

  • packages/engine/src/affordances.ts
  • packages/engine/src/explore.ts
  • apps/web/src/logic/actions.ts (allowSolo)
  • apps/web/src/components/actionSheet.ts
  • docs/spec/content-pack.md (sections 7 and 14)
  • packs/letzte-nacht-der-reichsmark/design/CHANGES.md (Playtest round 1)
Ngôn ngữ chính
TypeScript
Star
0
Fork
0
Merge trung bình
1 giờ 24 phút
Pull request đã merge (30 ngày)
5

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của nullthrone/lexvm

Tất cả issue của nullthrone/lexvm

Issue tương tự

Thêm issue về TypeScript

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.