Unholy Arts Version 0.2.8 Changelog AI Rework Update
Added 2021-03-26 21:43:26 +0000 UTCToday's update brings a fair lot of changes to the social and map AIs. They will now have clear goals in mind, be it to seduce someone, to punish an infamous enemy, or to liberate a dear friend, and will be actively looking for opportunities to fulfill them.
Today's changelog post is incomplete: I have compiled some of the most technical details of the AI changes in a separate txt file to prevent excessive clogging on this post. Check the bottom of the post for that file.
Social interactions
- Social interactions may now have energy and willpower costs.
* Hypnotic Glance now costs 3 social drive and 2 willpower.
* Telephatic Connection now costs 2 social drive and 2 willpower.
- Social actions may now deal damage to characters' bars, as long as these don't fall below 10% of their max.
* Give stroke and Ask for stroke and their variants now deal lust damage (from 0.5 to 2.5) on the receiving character, scaling with charisma (x1) and agility (x3) of the stroking character.
* Embrace now deals lust damage (from 0.5 to 3.5), scaling with will (x1), physique (x1) and resilience (x1).
* Sensual stroke and kiss now deal lust damage (from 1 to 5), scaling with will (x1), charisma (x1) and agility (x2).
* Hypnotic glance now deals willpower damage (from 1 to 5), scaling with will (x2,5) and charisma (x1,5).
New social interactions
* Praise [Character]: The actor praises a third character, attempting to influence the opinion of their target. Successful if the target's sum of opinions on the actor and the discussed character is positive. Slightly raises friendship and friendly and intimate moods. Raises target's friendship and decreases enmity with third character if successful, opposite effects otherwise. Effects scale with charisma. Requires free mouth.
* Criticize [Character]: Opposite of praise [character]: it raises bored instead of intimate, and raises enmity and rivalry and reduces friendship with the third character. Effects scale with charisma. Requires free mouth.
* Apologize: The character excuses themselves for their behavior. More likely to receive it scaling with submissive and angry, less likely scaling with dominant. Raises friendship, intimacy, the target's dominance, the actor's submissiveness, and reduces everyone's anger and enmity. Scales with charisma.
* Cool moods down: The actor asks the other characters to calm down. Reduces everyone's aroused, flirty, dominant, submissive, angry and sexual tension, and raises bored. More likely to receive scaling with angry, bored and dominant. Scales with charisma. Requires free mouth.
* Assert yourself: The actor reacts with self-importance to someone else's actions. Reduces friendship, target's dominance and actor's submissiveness. More likely to receive scaling with submissive, dominant and angry. Scales with charisma. Requires free mouth and eyes.
* Stroke butt: The actor grabs or massages the target's butt. Requires free arms, decently high aroused and very low angry moods. More likely to receive the interaction with higher aroused and flirty. If successful, raises aroused, flirty, sexual tension, target's submission and actor's domination. On failure, reduces several moods and relation variables and increases angry and enmity. Deals lust damage (2-6). Effects scale with will (x2), agility (x1) and physique (x1).
* Tease crotch: The actor teases or massages the target's skin around their genitals. Requires free arms, and moderately high aroused and low angry moods. More likely to receive the interaction with higher aroused and flirty. If successful, raises aroused, flirty, sexual tension, romance, and intimate, target's submission and actor's domination in lesser degrees, and decreases bored. On failure, decreases several moods and raises angry and enmity. Deals lust damage (2.5-7.5). Effects scale with agility (x3) and will (x2).
Generic sex scenes tweaks
- When calculating the desire upon inviting to have sex, the missing percentage of lust will be taken into account.
- Reduced how much relation stats influence a character's desire and decisions when offered sex.
- Reduced how much days without sex, and amounts of sex scenes in the current day influence a character's desire and decisions when offered sex.
- Gains to relation stats and drives will now be influenced by the character's mood.
* Intimate+, angry- and bored- influence romance.
* Aroused+, flirty+ and bored- influence sexual tension
* Dominant+/- and submissive-/+ influence domination and submission.
* Angry+ and submissive- influence enmity.
* Aroused+, flirty+ and bored- influence pleasure drive.
* Dominant+ and submissive- influence domination drive.
* Friendly+, intimate+, angry- and bored- influence love and cooperation drives.
- The result of generic sex scenes now influences mood as well:
* If the character had fixed lead or had at least one normal orgasm, flirty and aroused moods are cut in half, and friendly and intimate moods increase by 10.
* If the character only had ruined orgasms, angry, submissive and aroused moods increase by 25, and flirty, friendly, intimate and dominant moods are cut in half.
* If the character had no orgasms at all, angry mood increases by 10, bored mood increases by 25, and flirty, friendly and intimate moods are cut in half.
Generic battle scenes tweaks
- Assaulting a character now raises their angry mood by 25.
AI - Map and social rework (Further explanations on these changes not included in this changelog)
- Rebalanced parameters for NPC behavior around the infamy limit. NPCs with high domination and ambition will now be more likely to go over the infamy limit. This should also increase overall aggression.
- Redesigned NPCs' evaluation of general strategies for third characters.
- Social interactions now have a function that returns an evaluation of its success chances against any given target. This will be used to make NPCs more aware about whether touching someone else's butt will be met with a slap to the face or not. These calculations are tainted by a small RNG factor, to make it possible to simulate a NPC's faux pas.
- NPCs will now choose among all possible combinations of interactions and targets during conversations. Factors to evaluate will be:
* Actor's mood and interaction's mood tags.
* Actor's goals to specific target.
* Targets who aren't in the actor's group will be less likely to be targeted (Don't force an angry cat to chat with her sworn enemies!).
* Conversation interactions now have hidden drive tags, which makes NPCs more or less likely to use them depending on their drives.
* Conversation interactions may now have hidden strategy tags, which makes NPCs more or less likely to use them depending on the situation. These tags are: "angerDown","selfSubmissionDown","romanceRival".
* Interactions will be less likely to be used scaling with their social drive cost if the actor's social drive is getting depleted.
* For targets who don't fulfill these requisites, interactions with the "angry" tag will be much less likely to be selected: the target isn't considered a potential rival, rivalry+enmity*2 is less than friendship+love*2+1, actor's angry mood is equal or less than 10.
* This process now uses randomFromWeightedListPercentThreshold().
- Split socialization missions into:
* Raise friendship
* Flirt
* Seduce
* Taunt (unused in version 0.2.8)
* Have sex
* Have dominant sex
* Get alliance
- Modified selection of specific topics for NPCs.
* NPCs with the missions "have sex" or "have dominant sex" will be far more direct to demand sex from their submissives.
* Several extra adjustments to sex offers.
* NPCs may now offer companion relationships if they have the proper mission. When NPCs offer a companion relationship to the player and it is rejected, they'll switch their mission to "raise friendship".
- Added checks for NPCs to change their mission under specific circumstances.
* If their angry mood is raising too much and they don't have an agressive social mission, they'll drop their current mission.
* If they're trying to raise friendship, but the sum of their flirty and aroused moods is fairly above than twice their friendly mood, they'll switch their mission to "flirt".
- Split combat missions into:
* Challenge
* Gain merit
* Weaken enemy
* Gain domination
* Get sex
* Gain submissive
* Liberate friend
- If the defeated character is among any special target of the winner's social AI, this will modify the battle demands' weights.
- The standard preference for "full sex" actions (such as thrust and scissor) has been increased to 300 from 110.
- Modified the method to assignate weight to training missions, which now take into account the character's affinity, average stats and current stats, which will make them prioritize the stats they have better affinity with. This will also prevent a difficulty drop over time associated with NPCs following inefficient build strategies.
Engine
-Using new function "randomFromWeightedListPercentThreshold" as a substitute of "randomFromWeightedList" in some cases. The new function removes options with a weight lower than the highest weight multiplied by a custom threshold, which should result in more rational choices overall.
-Deprecated the relationshipGoal class, which was heavier in memory and less accurate than the newer social AI algorithms.
-Updated function "getSocialPriorityAgainstTarget" to use relationship type targets rather than relationshipGoal objects.
Balance ~ Social
- Relationship stat gains from conversation interactions have been tripled.
- Extra effect from "Chat about feelings" will now be activated about when over 30 angry, instead of the previous 50.
- Ask for stroke now raises more romance, increases intimacy, and reduces bored and angry moods, to make up for the fact that the stroked character will receive lust damage.
- Embrace's mood and relation multipliers now scales with will (x0.01), physique (x0.01) and resilience (x0.01), instead of just will (x0.02).
- Sensual stroke's mood and relation multipliers now scale with charisma (x0.01), will (x0.01) and agility (0.02), instead of just will and agility.
- Reduced the negative effects of domination, enmity and rivalry relation stats and domination and ambition drives when asking another character to become your servant, pupil or companion.
Balance ~ Battle
- Weapon actions now have the "weapon" flavor affinity.
* Nashillbyir now has 10 extra weapon strength and resistance, which means that damage dealt and received with weapon attacks by and against Nashillbyir will increase or decrease by 10% in damage.
- Altered states "Chained arms" and "Vines lock arms": Increased duration, slightly increased the debuff of physique and agility.
- Altered state "Cold guts": Increased duration and stat increases.
- Altered state "Sensitized genitals": Increased sex weakness effect.
- Altered state "Flaunting": Increased stat gains.
- Altered state "Scratched": Reduced extra pain weakness effect.
- Altered state "Confused identities": Increased stat reductions.
- Altered state "Teased": Increased sex weakness effect.
- Altered state "Taunted": Increased stat losses and gains.
Balance ~ Items
- Rebalanced the relationship stat changes of all bondage items but the collar to make the wearer generally more submissive and/or horny, rather than just adversarial.
Others
- Relationship stat decay may be larger or shorter depending on some stat levels. For instance, if character A's submission is much larger than their dominance towards character B, character A's dominance will decay faster.
QoL
- The player will now receive a notification in the personal room menu when a NPC dominating them decides to lock bondage on them.
Fixes
- The boon of suggestion now gives a properly balanced version of hypnotic glance for sex scenes, instead of the one Varyonte uses.
- Fixed error that could throw exceptions in rare events where battles started without participants.
- Fixed error that could provoke infinite loops when a NPC attempted to leave a conversation under rare circumstances.
- Fixed error that could very rarely throw exceptions during the execution of actions in battle scenes.
- General text and formatting fixes.
Supporter Rewards
- Added options to edit characters' drives on the Cheat Menu.
Optimization
- Added code at the start of "The Merchants" story event to clean past story variables that should no longer be used, which should improve memory usage on playthroughs begun at the start of the story.
- Moved scrolls info from State.variables to setup, improving perfomance, reducing memory requirements and save size.