Banana 2077
README.md
ui
The quests slice's screens, all drawn on events and never rebuilt per frame:
- Toasts (
b77q_toasts, layer 151): stacked notification cards at the top right, one pergame.rulesnotify. Each card takes its colour and icon from its kind (info, xp, item, quest, romance, eddies, warn, hack, objective). A card lasts about 3 s, and at most 4 show at once. - Banner (
b77q_banner, layer 152): one banner at a time from a queue. It shows NEW QUEST / GIG ACCEPTED when a quest starts, QUEST COMPLETE with the rewards when one ends, and the big LEVEL UP ("+1 ATTRIBUTE POINT — PRESS I"). - Phone (
b77q_phone, layer 153): the incoming-call card for a fixer's call. - Journal (
b77q_journal, layer 154): quests grouped MAIN JOBS / GIGS / ROMANCE / DONE. The selected quest shows its title, giver, summary, objectives (done stages struck through, the current one highlighted) and rewards, plus a TRACK button. Opening it takes thejournalfocus, frees the mouse pointer and activatesgame.quests.journalnav(up / down / track / close). Closing gives them all back.
U.new(io) returns the runtime. io.put(name, tree) and io.hide(name) come
from the Quests component, which registers the screens itself so the journal's
clicks (jq:<id>, jtrack, jclose) reach its onCallback.
U.rewardsText(rewards) formats a reward table as one line.