Repository navigation
v2.2.2
Features
- Life events v2 (#417).
- Four categories.
shortandmidare incidents (within an hour, within four hours);bodyandtripare backgrounds that last days, during which incidents still happen. One incident and one background at a time. - 28 kinds, 23 of them new: incidents (
grocery_shopping,showering,bathing,in_class,on_the_way,sudden_desire,hit_someone,got_hit,breakup,working_out,reading,gaming,away_from_phone,unwell,irritable), body states (sick,period,hospitalized,post_surgery) and trips (business_trip,short_trip,long_trip,hometown_visit).police_encounternow lasts 30 minutes. - A two-stage draw: a category by weight, then a kind within it. A trip starts at most once a week and a body state once a fortnight; in hospital or after surgery, no incident that needs her out and about. New gates:
breakupfrom rung 2,sudden_desireat rung 3,periodonly forgender: "female". - Persona settings in
art_metadata:prefer_events(midkinds come up three times as often),health(weak/normal/strongscalesbody),prefer_trip(trips three times as often). away_from_phoneis drawn without a message. While it lasts, text turns ghost without the judge and without ghost accounting, and/openreturnsnull; action turns, which are interaction in person, and forced-image turns are still answered. It is never drawn withghosting = falseor in a session with fewer than 10 user messages. Afterwards the persona's next message in a session she ghosted explains it.- The judge's
[近期事件]and the reply's正在经历line list the background, then the incident;/opengreetings and event messages carry them too. An incident during a background is told from inside it.
- Four categories.
Docs
- The away-from-phone exemption for action turns states its reason, and the v2.2.2 migrating guide (#418).
Compatibility
- HTTP:
EventViewgainscategory, andmessage_idis nullable: a drawnaway_from_phonereturnseventwithmessage: null.GET /v2/comp/session/{session_id}/effectsgainsbackground_event. Withkindsabsent, every new kind can be drawn,away_from_phoneincluded; a caller that wants to phase them in sends an allowlist. See docs/migrating/v2-2-2-life-events.md. - Store: migration
0072createsengine.persona_eventsand backfills it from the v1 event messages; new event messages no longer carrymetadata.event/metadata.event_key. The v1 metadata andchat_messages_event_key_uidxstay, so the v2.2.1 image, deployed without runningmigrate, works after a rollback; it does not see events v2.2.2 wrote. The next release removes them. - Crates:
eros-engine-core:events::drawtakesRollsand returnsDrawn { kind, lasts },DrawInputgainspersona,duration()andlongest_cooldown()are removed, andEventKindgains 23 variants, which breaks exhaustive matches.eros-engine-store: the event methods onChatRepoandchat::EventRecord/chat::CurrentEventare removed; events live in the neweventsmodule (EventRepo).
Docker: ghcr.io/etherfunlab/eros-engine:2.2.2