Log inGet started
Package

romance.module

Newest version

README.md

game.story.romance

The four romance arcs of Banana 2077, owned by the story slice. The Story component calls Romance.install() in start() and runs the returned unsubscribes in onDestroy().

NPCquestdate spot
Judy Blueberryromance_judy "Pixel Perfect"The Banana Split, by the stage (13, 72)
Panam Pomeloromance_panam "Crane Game"under the north docks crane (160.5, 45)
River Radishromance_river "Koi, Interrupted"the Peel Park koi pond (-159.1, -155.9)
Kerry Kiwiromance_kerry "Unplugged"the Skyline Promenade overlook (70, 147)
  • Each quest (kind romance) has three stages: invite → date → official. Every stage's waypoint is {npc = id}, so it follows the NPC.
  • Unlock: when affection reaches 40 (the affection event, profileLoaded, or install) and V has no romance yet, the quest starts and "<NAME> WANTS TO SEE YOU" is notified.
  • Talk provider at priority 60. It sits above the quests slice's idle lines, but yields while one of the NPC's own gigs is active. It returns nil when there is nothing romantic to say.
    • invite is the invitation. Accepting moves the quest to date, and the NPC walks off to the date spot (Romance.placeOf(id)).
    • date is a VN date scene with affection choices (each counted once, ever) and a [COOL] or [INTELLIGENCE] check. Finishing it sets the flag romance_<id>_dated and moves the quest to official. Leaving with Esc lets V replay the date.
    • official, at affection 80, offers "make it official" (requires R.romance() == nil). That calls R.setRomance(id) and completes the quest.
    • Declining the invite or "not yet" snoozes the provider for 150 s.
  • Only one romance: the romance event fails the other active arcs. Their chatter in game.story.talk reacts.
  • API: Romance.ARCS, Romance.IDS and Romance.placeOf(id) → {x, z, yaw?} while the date stage is on, else nil.