Project Sugar Cake v0.2.1 DEV Released! (BETA) [Palworld Mod]

Yep, I botched the release a little bit. This is what I get for trying to finish up a release while super tired, but hey, only a day later and I have some exciting new stuffs to show anyways! This’ll be a quick one with no write up.

Last patch had a few bugs I didn’t catch and I also forgot to add the new Sexual Heat system into the save file (I was the big dumb Q.Q) so this update fixes those as well as adding some requested features for the SDK. There is a big new feature hidden here though (which is why it gets its own post ^.-), I added the ability for modules using SCake’s SDK to add arbitrary stats that can then save and load with SCake’s systems as well as integrate into the mod directly! I call these “ArbVariables” or Arbitrary Value Variables where modders can register an Name variable with an associated value which can then be seen and modified by any other mod by the name variable! For this first implementation I just added the ArbString which is enough for modders to do whatever they need to do, but in the future I’d like to add a float and int versions as well with more configuration options like automatic decay/buildup/caps/so on. This is not just a “sex” framework, but also a Stats Framework, and here’s the first major step in that!

SCake Version 0.2.1 DEV (Beta)

Added : API Function "SCake_TrackReturnAll" which returns all characters currently tracked by SCake (useful for initiating modules that need to apply/check status)
Added : API Function "SCake_CheckStat_SexHeat" which returns a character's Sexual Heat stat and if they currently have enough to be aroused
Added : API Function "SCake_Stat_AddSexHeat" which adds the specified amount to the character's Sexual Heat stat and returns their new value along with if they have enough to be aroused
Added : API Function "SCake_Stat_ArbChangeString" which adds/changes the arbitrary string to the designated character (useful for modules to start tracking their own systems)
Added : API Function "SCake_CheckStat_ArbString" which returns the arbitrary string associated with the given name for the designated character
Added : ArbString element to the Pal Tracking system, this allows modules to input arbitrary strings with a name for their own use cases, these can be set to persist in the save file as well so they can exist between sessions (modders will need to be extremely careful when using persist, only use it when absolutely neccesary)
Added : When Sexual Heat rises or lowers it will now set Sexual Heat to continue naturally in that direction (in other words, if Sexual Heat decreases it will continue to naturally decay until zero, then start going back up, alternatively if it goes up it will continue to increase, I planned this for last update but I forgot to implement it)
Added : API Function for starting animations now check for null and empty arrays, failing faster with proper error code returns (Also a slight optimization)

Changed : If an SCake stat value is zero or null it won't be included in SCake's pal save file anymore, saving space/processing time

Fixed : Stage Order not registering correctly when defined in the animation's .json, messing up animation playback
Fixed : An issue with the .json parser not parsing integers correctly has been fixed (Not aware of all this affected outside Stage Order)
Fixed : A potential soft lock issue if very specific params were passed in an animation .json import
Fixed : Sexual Heat not being included in the save file, thus lacking persistence (I forgot to add it, sorry!)

What’s Next?
Same as yesterday… though thinking about it over the day I really do want to start getting more animations going as well as maybe start on the Lusting system? We have the stats for it now so I can probably start getting that going and a lot of people are really interesting in potential breeding mechanics, so I may try to do that before worrying about furniture support.

Current Road Map
1 ) Investigate Breeding and Lusting mechanics
2 ) Work on making some animations
3 ) Introduce a built-in SCake Notif-system for animations to trigger certain effects (like changing arousal meshes or changing eyes/mouth)
4 ) Research sockets system for dynamic attachments and furniture support\

On Hold ) Work on multiplayer support