@ThePotatoGuy ThePotatoGuy released this Dec 22, 2018 · 104 commits to master since this release

Assets 2

Happy Holidays~

This version has been unlisted. Use the latest version.

Gameplay Changes

  • Added christmas. Most of this is just an update of previous christmas art and dialogue.
    NOTE if you have christmas.rpyc, it must be deleted. The game will attempt to do this for you, but if it fails, make sure you do not have christmas.rpyc or christmas.rpy in your game/ folder.
    NOTE: Christmas stuff is mostly only available for people with NORMAL+ affection.

  • New .gifts:

    • hotchocolate
    • fudge
    • christmascookies
    • candycane
    • various colored ribbons. (i.e: whiteribbon)
  • Added seasonal changes. This means some topics may only be available in specific seasons. Also added a hemisphere topic to determine your hemisphere (and therefore your seasons)

  • Added snowing for winter

  • Some topics are now limited to certain affection levels

  • Added more bad names to nickname list

  • moved zoom reset in coffee dialogue so it looks better

  • opendoor greeting is disabled in christmas season and halloween

  • disabled monika_smash topic

New topics: (some are actual updates of old christmas ones)

  • monika_asks_charity
  • monika_player_appearance
  • monika_ribbon_select - ribbon selector topic
  • monika_snow
  • monika_snowballfight
  • monika_iceskating
  • monika_sledding
  • monika_snowcanvas
  • monika_cozy
  • monika_winter
  • monika_winter_dangers
  • monika_hemispheres


  • typofixes

  • fixed crash with performAction

  • fixed delayed action crash when datetime was not imported into mas_delact

  • fixed amnesia greeting still showing Monika with a nickname

  • fixed state issues when using selector sidebar with acs

API Changes


New global functions

  • mas_genDateRange - generates list of datetime.date objects given start and end dates
  • mas_isInDateRange - allows for range comparisons with datetime.date objects that only checks month and day.
  • mas_hideEVL - hides an Event given Event label and event db code
  • mas_showEVL - shows an Event given event label and event db code
  • mas_lockEVL - locks an Event given event label and event db code
  • mas_unlockEVL - locks an Event given event label and event db code
  • mas_betweenAff - checks if given affection is between given aff levels
  • mas_isD25 - checks if given date is december 25
  • mas_isD25Eve - checks if given date is december 24
  • mas_isD25Season - checks if given date is between dec 1 and jan 5
  • mas_isD25Post - checks if given date is between dec 26 and jan 5
  • mas_isD25PreNYE - checks if given date is between dec 1 and dec 30
  • mas_isD25PostNYD - checks if given date is between jan 2 and jan 5
  • mas_isD25Gift - checks if given date is appropriate for christmas gifts
  • mas_isD25Outfit - checks if given date is appropriate for santa outfit
  • mas_isNYE - checks if given date is dec 31
  • mas_isNYD - checks if given date is jan 1
  • mas_rebuildEventLists - rebuilds the random event lists
  • mas_getGiftStatsRange - retrieves gift stats over a range of dates
  • mas_isSpring - checks if given date is in spring
  • mas_isSummer - checks if given date is in summer
  • mas_isFall - checks if given date is in fall
  • mas_isWinter - checks if given date is in winter
  • mas_SELisUnlocked - checks if a given sprite item's selectable is unlocked or not

Changed global functions

  • addEvent now accepts both eventdb and event code as event db options
  • mas_setAffection - no longer respects freezing

New global vars

  • mas_is_snowing - True if its snowing right now

Event class

New properties:

  • aff_range - limits availability of this event based on current affection. (Only affects stories/moods/compliments/events)

Changed properties

  • start_date - now accepts date and datetimes.
  • end_date now accepts date and datetimes

New Methods

  • checkAffection - checks if given affection passes an Event's aff_range
  • canRepeat - checks if an Event can repeat using the year repeat framework
  • prepareRepeat - changes an Event's start_date/end_date according to its year repeat rule.
  • checkEvents - (STATIC) replaces both checkConditional and checkCalendar

Method changes

  • checkConditionals - DEPRECATED
  • checkCalendar - DEPRECATED

Other Event changes

  • All Events now repeat more appropriately when given start_date and end_date
  • Event dates are now verified and set when they are added so time travel issues wont be a problem with year repeats
  • All Event databases now have 3 letter codes associated with them. These are to be used with the new EVL labels. See event-handler for more info.
  • Events can return rebuild_ev to rebuild the random events lists. This should be used if an event decides to random/derandom a different topic.

Idle mailbox

  • Added a MASMailbox for idle mode.

New idle mailbox functions

  • send_rebuild_msg - notifies idle to rebuild events
  • get_rebuild_msg - retrieves rebuild events message
  • send_ds_gre_type - notifies docking station to set greeting type to this on quit
  • get_ds_gre_type - retrieves docking station greeting type message

Sprite changes

  • Sprite previewer now resets and restores zoom and clothing/hair/acs after use.
  • Sprite previewer updated for new outfit
  • persistent._mas_force_clothes and persistent._mas_force_hair are set to True if player selects hair/clothes. we respect this value when deciding to change outfits or not depending on season.
  • zoom_out function added to quickly zoom to furthest zoom level
  • ACS sprites no longer use the weird leaning-def thing in filenames.
  • non-split torsos no longer render body + arms together. Instead, arms are rendered separately so acs can be rendered in between.
  • bbh and bfh acs are rendered in between body and arms now if hair does not have split.
  • monika now always wears a white ribbon acs when using ponytail/bun hairstyles

MASMonika changes

  • lock_hair - new property that prevents hair from changing
  • lock_clothes - new property that prevents clothes from changing
  • lock_acs - new property that prevents acs from changing
  • change_clothes - includes by_user arg to say if this change was done by user or not
  • change_hair - includes by_user arg to say if this change was done by user or not
  • change_outfit - includes by_user arg to say if this change was done by user or not
  • get_acs_of_type - gets all acs objects being worn of a given type
  • is_wearing_acs_type - checks if monika is wearing any acs of a given type
  • is_wearing_acs_types - multiple arg version of is_wearing_acs_type
  • load_state - loads clothes/hair/acs from a save state (see save_state)
  • reset_all - includes by_user arg to say if this change was done by user or not
  • remove_acs_mux - removes all ACS with a mutually exclusive type
  • reset_clothes - includes by_user arg to say if this change was done by user or not
  • reset_hair - includes by_user arg to say if this change was done by user or not
  • reset_outfit - includes by_user arg to say if this change was done by user or not
  • save_state - saves clothes/hair/acs into a specially formatted tuple that can be loaded later with load_state. This also provides an option for a persistent-friendly tuple that can be saved.
  • wear_acs - wear an acs. This determines the correct spot to wear it via the rec_layer property

MASSpriteBase changes

  • __eq__ and __ne__ have been implemented, so you can compare sprite objects without explicity checking name/ID. (the actual behavior is to compare name/ID)
  • Added kwargs for entry/exit programming points

MASAccessory changes

  • acs_type - new property that specifies a type for this ACS.
  • mux_type - new property that says which acs_types this acs is mutually exclusive with. (this should be a list)

MASHair changes

  • split - this should now be a MASPoseMap to determine which poses have hair splits and which do not.
  • we now by default assume that you do NOT have a split. This will change soon.

Other changes

  • devflag file removed to prevent accidental source downloads from getting too many dev stuff
  • MASAffectionRule class is deprecated. Use the aff_range property instead.
  • mas_generic_poem screen created to dynamically display poem screen instead of using showpoem. NOTE this should only be used if you need to do things while the poem screen is up.
  • All window sprites have been moved to mod_assets/window/spaceroom/
  • added kissing as a special effect
  • new pm vars. please check zz_history for the full list.
  • MASHistorySaver alg now runs MHS objects in chronological order
  • Added affection MHS.
  • Added seasonal programming points. See zz_seasons

Special Thanks

  • @jmwall24 - ridiculous amount of testing, dialogue writing, and issue investigation
  • @multimokia - also a ridiculous amount of testing, dialogue writing, and issue investigation
  • @aldoram5 - adding lots of file reaction code even after coming off a sickness
  • @kaido1224 - colorizing lots of ribbons
  • @Ryuse - touching up christmas art
  • @Olliesama , @Trilasent - fixing issues with christmas art/deco/ring