• [content] New Music System:
    • [play command
    The [play command no longer requires an instrument to be in your backpack (or anywhere for that matter.)
    [play will simply use the default instrument when playing a tune.
    the Play system now has virtualized harps, lap harps, and lutes. If no instrument is selected, the virtual harp is used.
    • Player configuration:
    o [play Config
    displays your current player configuration
    o [play Instrument harp | lap harp | lute
    selects the named instrument into the play context
    o [play NewTimer true | false
    directs the Player to use the new timer system. The new timer system (without going into a bunch of detail,) allows greater flexibility during composition and playback. Learn more on the wiki (in progress.)
    In essence, the new timer runs at a higher priority, and is finer-grained which gives composers much better control over things like pauses. It’s also a more responsive timer model.
    o [play Prefetch true | false
    Prefetch is available only when the New Timer is turned on. Prefetch schedules the next pause immediately without waiting for the next timer cycle. The result is better responsiveness.
    Note: existing tunes composed under the old timer will need their pauses reworked to work with prefetch.
    o [play Temo NN
    Where NN is the timer frequency you want. A tempo of 100 is a 100-millisecond timer and is the same granularity as the old-timer model.
    a tempo of 50 is twice as fast as 100, 200 is twice as slow.
    Setting the tempo to 200 for a tune composed at 100 will allow a nice slow playback to help the composer debug their tune.
    o [play reset
    Reset resets the Play Context to all default values:
    instrument = harp
    newtimer = false
    prefetch = false
    tempo = 100
    Rolled Up Sheet Music:
    RSM has been updated to support all of these player directives.
    The way to specify these directives in a macro file is in the comments section at the top of the macro. An example might look like this:
    #
    # The Decisive Battle FFVI, performed by a sheep: Jan 2022
    # Author: a sheep
    # Song: The Decisive Battle FFVI
    # Instrument: lute
    # Tempo: 100
    # Prefetch: false
    # NewTimer: true
    #
    ….
    When converting this macro to RSM, these directives will be processed and included in the resulting RSM. When played, the RSM will use these values.
    Dynamic changing of virtual instruments:
    Composers can now dynamically change instruments during playback of their piece. The format is as follows:
    [play instrument lute
    [play a b c d
    [play instrument lapharp
    [play a b c d
    etc.
  • [content] MusicBox:
    • The music box can be found on Bard NPCs
    • Initially, it will be empty until our composers start adding music.
    Composers:
    • When adding music to the music box (via the Add context menu), make sure your piece has a price, like this:
    #
    # The Decisive Battle FFVI, performed by a sheep: Jan 2022
    # Author: a sheep
    # Song: The Decisive Battle FFVI
    # Instrument: lute
    # Price: 600
    #
    If you omit the Price directive, the price wil be 0 (free) (which is cool... thank you!)
    Note to all composers - originally I had planned on releasing all your music on the music box at launch, but the system would then attribute them to me which isn't right.
    Please Add your songs to the music box and I will get them approved right away. (DM me for even quicker service!)
    Also, don't forget to fil in the other fields.. at a minimum, Author, Song, and Instrument.
  • [content] Added rotten tomatoes to farmer NPC.
  • [content] Minor facelift of the township gump.
  • [internal] Skill gain progress (i.e. decimal points towards your next 0.1 gain) now persists over server restarts.
  • [content] Add a KeywordController system to mobiles. (not currently used.)
  • [bug fix] Fix a bug when locking down or releasing an item in a house where the message was broadcast to other players in the area not in the house.
  • [interna] CollectionBox.
  • [internal] HolidayDeed.
  • [bug fix] Townships:
    a. Add some additional error handling and logging.
    b. Fixed township activity requirements for township NPC deeds.
  • Ensure players keep newbied and blessed items on death even if their backpack is overloaded.