You wouldn't get mad if I
@you, right? - Monika
Monika can now show system notifications for active window detection (Windows only), or when she's ready to talk about something. This can be configured in Settings and Alerts (both in the game menu).
Added bookmarking of favorite topics by pressing 'b' during a topic.
Added hiding unseen topics
Added forced derandoming of topics by pressing 'x' during a topic.
Monika can now put her hair into a ponytail without using a ribbon. (Try changing her ribbon when her hair is in a ponytail)
snow weather now unlocked if its winter instead of if its winter and you like snow.
new cute compliment
new farewells for going to play a game and going to eat, with matching greetings.
- new ribbon sprites from @LanvalLime.
misc topic fixes
fixed sprite hole in santa outfit
reduced image cache size, should fix some out of memory errors
moved version number in settings so it doesn't overlap with tooltips
fixed crashes when viewing history
fixed most seen random topics from not triggering if normal seen was empty
fixed horror stories messing with selected music track
fixed crashes in opendoor greeting
fixed Monika going silent without explanation. She now mentions when she is out of things to say when out of random topics because of the last seen filter.
unlocked rain hold me topics that were previously locked
fixed island greeting using wrong weather
fixed affection topics not returning to idle pose
fixed idle topics sometimes breaking idle pose
changed date confirmation text to be formal and exact
- notifications are stored in separate database, code
zz_windowreactsfor functions and more info
persistent.event_listhas been changed to use tuples of data
(label, notify)instead of just labels. This is for the notification framework.
- labels that don't have events can be allowed in idle by storing them in the
event-handlerfor more info
mas_gen_scrollable_menunow accepts an arbitrary amount of final items instead of 1
- Most sprites are now ATLs.
- All sprites have static variants (suffixed with
_static). Static versions should be used if you do not want animated sprites.
- All sprites are auto-generated using the
Generate Spritestool in the
- new hook points have been added to changing hair, clothes, and acs. see
sprite-chartfor more info.
- Sprite strings no longer use multiple LiveComposites
ribbon- add this key to enable ribbons for a hairstyle
ribbon-off- add this key to make a hairstyle take off a ribbon if its being work
ribbon-restore- add this key to make a hairstyle restore a previous ribbon if found
desired-ribbon- add this key when clothes should wear a matching ribbon if current hair is appropriate. The value should be the name of the ribbon to wear.
- Sprite gifts can now be reacted to multiple times
- new persistent var
mas_late_farewell, set when a late farewell is used.
- new global
mas_globals.late_farewell, set when a late farewell was used
- prompts for selector topics are now centrally stored. Use the provided functions to change selector prompts. (
mas_selspr.get_prompt- gets a prompt
mas_selspr.in_prompt_map- checks if a key is in the prompt select map
mas_selspr.set_prompt- sets a prompt
mas_bookmark_topic- bookmarks a topic
mas_derandom_topic- derandoms a topic
mas_findEVL- gets index of event label in event list
mas_getAbsenceLength- get time difference between current session start and last session end
mas_hasBookmarks- checks if we have bookmarked topics
mas_inEVL- checks if an event label is in event list
mas_rmEVL- removes an event label from the event list
mas_rmallEVL- removes all occurences of an event label from the event list
mas_stripEVL- strips conditinal and action from an event given event label
popEvent- returns tuple
(label, notify)instead of just label
pushEvent- accepts notify argument for showing notifications or not, and skipeval for skipping mid loop eval. Skipping mid loop eval forces the event to get shown immediately.
queueEvent- notify argument for showing notifications or not
mas_getSpriteObjInfo- now also returns if a gift has been given before
removeEventIfExist- replaced with