Skip to content

v0.9.5 - The Notification Update

Choose a tag to compare
@ThePotatoGuy ThePotatoGuy released this 30 Jun 23:57
· 7494 commits to master since this release

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 topics

  • monika_unknown

Sprite pack


  • typofixes

  • 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 seizures

  • 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

API Changes


  • notifications are stored in separate database, code WRS
  • adds balloontip, win32api, win32gui packages
  • see zz_windowreacts for functions and more info

Event List

  • persistent.event_list has 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 IDLE_WHITELIST. See event-handler for more info


  • The mas_gen_scrollable_menu now 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 Sprites tool in the toolsmenu
  • new hook points have been added to changing hair, clothes, and acs. see MASMonika in sprite-chart for 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 JSONS

  • Sprite gifts can now be reacted to multiple times

Late farewells

  • 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

selector prompts

  • prompts for selector topics are now centrally stored. Use the provided functions to change selector prompts. (zz_selector)
  • 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

New functions

  • 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

Changed functions

  • 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

Removed functions

  • removeEventIfExist - replaced with mas_rmEVL

Special thanks