v0.9.5 - The Notification Update
You wouldn't get mad if I @you, right? - Monika
Gameplay
-
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
- new ribbon sprites from @LanvalLime.
Fixes
-
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
- notifications are stored in separate database, code
WRS - adds
balloontip,win32api,win32guipackages - see
zz_windowreactsfor functions and more info
Event List
persistent.event_listhas been changed to use tuples of data(label, notify)instead of just labels. This is for the notification framework.
Idle
- labels that don't have events can be allowed in idle by storing them in the
IDLE_WHITELIST. Seeevent-handlerfor more info
Screens
- The
mas_gen_scrollable_menunow accepts an arbitrary amount of final items instead of 1
Sprites
- 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 thetoolsmenu - new hook points have been added to changing hair, clothes, and acs. see
MASMonikainsprite-chartfor more info. - Sprite strings no longer use multiple LiveComposites
Sprite EXPROPS
ribbon- add this key to enable ribbons for a hairstyleribbon-off- add this key to make a hairstyle take off a ribbon if its being workribbon-restore- add this key to make a hairstyle restore a previous ribbon if founddesired-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 promptmas_selspr.in_prompt_map- checks if a key is in the prompt select mapmas_selspr.set_prompt- sets a prompt
New functions
mas_bookmark_topic- bookmarks a topicmas_derandom_topic- derandoms a topicmas_findEVL- gets index of event label in event listmas_getAbsenceLength- get time difference between current session start and last session endmas_hasBookmarks- checks if we have bookmarked topicsmas_inEVL- checks if an event label is in event listmas_rmEVL- removes an event label from the event listmas_rmallEVL- removes all occurences of an event label from the event listmas_stripEVL- strips conditinal and action from an event given event label
Changed functions
popEvent- returns tuple(label, notify)instead of just labelpushEvent- 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 notmas_getSpriteObjInfo- now also returns if a gift has been given before
Removed functions
removeEventIfExist- replaced withmas_rmEVL
Special thanks
- @multimokia - notifications
- @jmwall24 - bookmarking/derandoming topics and hiding unseen topics
- alpha testers - for lots of testing
- @Legendkiller21 - helping multi with notifications testing
- @LanvalLime - new ribbons