RimWorld

RimWorld

Hauts' Framework
Showing 11-20 of 77 entries
< 1  2  3  4 ... 8 >
Update: Oct 31 @ 7:37am

v1.2.10
==UI==
Language keys pertaining to trait settings have been moved from HAT to Hauts’ Framework, so they can also be referenced by HITLIMIT

==Performance improvements==
-HautsStatPart_GlowActiveForPostfix ends preemptively if the result is already false

==Improved modding tools==
-HautsFramework.HautsFactionCompProperties_BurglaryResponse: minAlertPerTechLevel overridden by Dictionary<FactionDef,float> specificFactionMinAlertLevels (empty by default) if the faction’s def is in there. Alert per tech level past neolithic +0.2→+0.25; archotech tech level 1→5

Update: Oct 30 @ 8:54am

v1.2.09
==New mechanics (and associated modding tools)==
Burglary moved from Hauts' Added Traits to here
-New stat - Pilfering Stealth (base 0.00, min 0) a pawn is considered “pilfering-capable” if its pilfering stealth > 0, enabling any caravans it is part of to perform burglary and it to perform pickpocketing
----Use in burglary: success chance = [{average pilfering stealth of all pilfering-capable pawns in the caravan} - alert level]%
----Value determination: scales linearly w/ move speed; it also scales w/ sight at 0.4 weighting, hearing w/ 0.2, and breathing w/ 0.1; it is multiplied by [1 - track size] and [1 - trap spring chance], w/ the minimum of both values being 0.46625 (at default values for both stats, both multipliers almost work out to 4.6, which would almost cancel out the multiplier from the move speed of a healthy adult humanlike baseliner); scales inversely w/ body size; if invisible, minimum value is 100%
----Trait sources: [Biotech] Recluse grants +0.3
-New stat - Max Pilfering Value (base 200, min 25)
----Use in burglary: the maximum net market value of goods that can be stolen = [total MPV of all pilfering-capable pawns in the caravan]
----Value determination: scales linearly w/ move speed, melee damage factor, and VEF melee damage factor; it is divided by 4.6; it also scales w/ manipulation at 0.4 weighting, sight w/ 0.2, and hearing w/ 0.1
----Trait sources: Greedy +35, Jealous +35
-New faction comp - HautsFramework.HautsFactionCompProperties_BurglaryResponse replaces the “burglary cooldown” hediff system to prevent burglary spam
----Each faction has an alert level, which starts at float initialAlertLevel (0)
----It also has a minimum alert level determined by Dictionary<TechLevel,float> minAlertPerTechLevel (+0.2 per level past neolithic)
----The alert level of a settlement is visible on the Burgle button itself, as well as on a new float menu option that burglary-capable caravans have when right-clicking a settlement
----The burglary chance of success = {[alert level + minimum alert level] - [average pilfering stealth of all pilferers in the caravan]}%
----Alert level increases by at least float minAlertGainFromBurgle (5) whenever a burgle attempt is made, or by float alertGainPerMakertValueStolen (0.001) per market value of goods stolen, whichever is higher
----Alert level decreases per hour. If it exceeds float advancedDecayThreshold (50), it decays at an approximate rate of float advancedDecayPerDayPct (15%) per day; otherwise, it decays by float alertDecayPerDay (1)
-Max weight of stolen items is determined by the carry capacity of the entire caravan (formerly just that of the pilferers)
-When evaluating whether an item stack can be stolen from the target settlement’s inventory, it no longer fails to do so if the settlement’s total stack of that item and a portion of it equal to the maximum spawnable stack size would both exceed weight and MPV restrictions; it can now succeed by taking the largest portion of the stack that meets both restrictions
-New utility - HautsUtility.SettlementAlertLevel(Settlement settlement) retrieves the current alert level of the settlement(’s faction)
Pickpocketing: another use for the two pilfering stats. Any pilfering-capable non-temporary pawn can attempt to “pickpocket” a non-hostile non-player pawn of a different faction who is not in an aggro mental state w/ a non-empty inventory, as a right-click float menu option
-Success (chance = [pilfering stealth - alert level]%) steals items from the target’s inventory, up to a net market value = the pilferer’s MPV and up to the remaining carry capacity of the pilferer
-The following consequences which only trigger if the attempt fails, or if it succeeds and something was stolen:
-The alert level of everyone in the same map belonging to the same faction of the victim is increased by either 5 or 0.02 per market value of goods stolen (whichever is higher); if the victim does not have a faction, it becomes berserk instead
-You lose goodwill w/ the target’s faction (5 on a success or a failure by an invisible pickpocket, 15 on a failure by a non-invisible pickpocket)
-If the attempt succeeds but nothing was stolen (due to insufficient MPV), the target’s alert level is increased by 5 but nothing else happens
-A pawn’s alert level is a hidden stat only visible in the float menu option for pickpocketing: default 0.5, scales w/ pilfering stealth, consciousness/sight/hearing at 0.4 weighting, +0.05 per level of Social skill

==New modding tools==
-HautsUtility.DoRandomDiseaseOutbreak(Thing thing) fires a random human disease incident using the biome weight listing of the thing’s current tile

==Improved modding tools==
-The Track Size stat has a minimum value of 0
-HediffCompProperties_ChangeSeverityOnVerbUse gains the bool pilferingCountsAsVerb field; if true, right before the pawn performs a pilfering activity (burglary or pickpocketing), the new HautsUtility.AdjustPickpocketSensitiveHediffs(Pawn pilferer) is invoked, which triggers the comp to change severity as if an appropriate verb was just used. The actual adjustment of severity in both this case and Notify_PawnUsedVerb is now handled by virtual void AdjustSeverity()

==New mod setting==
-Social Skill Affects Pilfering Stealth (boolean, default false) if enabled, grants +0.01x pilfering stealth per level of Social skill

==Bugfix==
-Pawns can now be stolen via burglary w/o throwing an error

==UI/VFX==
-Moved the HVP_ConstructMetal effecter from Hauts' Offbeat Psycasts to here. It's been renamed to Hauts_ConstructMetal

==Mod compatibilities==
-Dynamic’s Traits: Daredevil has 0.9x melee cooldown factor and 1.1x melee armor penetration, making its nonfunctional stats functional; Hypochondriac has -40% track size; Narcissist is a conceited trait
-Fallout Traits Continued: Perceptive/Very Perceptive grants +0.25/0.5 pilfering stealth (PS) and +25/50 max pilfering value (MPV). Scrounger grants +40 MPV. Serendipitous grants +40 MPV. Fortune Finder grants +60 MPV
-Gwen’s Gone Mental Traits: Gloom Dweller grants +0.5 PS
-More Traits (the good one, by RavingLegend): Unwanted grants +0.25 PS. Cautious grants +0.4 PS and +50 MPV. Sloppy grants -25 PS. Lucky grants +25 MPV
-Progression: Education: the proficiency traits are Excise Trait Exempt. Instructive ability applies to proficiency class curriculum completion rate, skill class learning rate, and skills learned during daycare
-Vanilla Skills Expanded:
----New Social expertise, Skulduggery, grants +0.05 PS per level
----New Intellectual expertise, Larceny, grants +20 MPV per level
----Demolition buff: also grants -2% trap spring chance per level
-Vanilla Traits Expanded: Kleptomaniac grants +0.3 PS and +80 MPV

Update: Oct 1 @ 5:35pm

v1.2.08
==Improved modding tools==
-Spy points
----The example hediff’s tooltip is more accurate
----Spy points are no longer always awarded to the spyingForFaction, but now are assigned to one or more factions based on the SpyPointsAttribution spyPointAttribution field. OwnFaction only grants points to the spyingForFaction; AllPermaHostile grants to all factions that are permanently hostile to the player; AllHostile grants to all factions that are hostile to the player; RandomHostileFactions grants to up to int randomFactionCount factions that are hostile to the player; and All grants to all factions other than the player

Update: Sep 20 @ 1:59pm

v1.2.07
==New modding tools==
-HautsUtility.AddHediffFromMenu(HediffDef, Pawn, CompAbilityEffect_GiveHediffFromMenu, Pawn other, Pawn caster) handles the adding of a hediff from CompAbilityEffect_GiveHediffFromMenu, including the hediff’s Disappears, Link, and MultiLink comps, if any

==Improved modding tools==
-HediffCompProperties_WaterImmersionSeverity gains the bool disabledIfNotSlowedInWater field; if true, and the pawn is either floating or has a WaterCellCost <=1, the hediff’s severity will be stuck at baseSeverity
AI automatic choice selection for CompAbilityEffect_GiveHediffFromMenu now uses HautsUtility.AddHediffFromMenu
-HediffComp_ExtraOnHitEffects gains the virtual bool RangeCheck(Thing, DamageInfo) method which determines whether or not the victim Thing is in valid range of the attacker. It now treats the distance between Thing and attacker as being shorter by the damage info’s weapon’s VEF_MeleeWeaponRange, if any. Range is no longer handled in CanHitTarget, but rather before it

Update: Sep 16 @ 11:04pm

v1.2.06
==1.6 mod compatibility restoration==
Verified the compat for Traits Expanded! works in 1.6

==Mod compatibility==
[SR]Realistic Ore Generation (Continued): the latter must be loaded above the former in order for survey speed to apply to its rework of the long-range mineral scanner

==Improved modding tools==
-CompAbilityEffect_GiveHediffFromMenu now has string menuString and bool autoSelectIfAI (default true) fields; the former provides the text header for the menu (translated w/ the target’s name), and the latter causes any pawn not of the player faction w this ability to instantly apply it to themselves whenever it’s available. This application grants a random hediff from the menu, and triggers the ability's CompAbilityEffect_RemoveHediff (if any), but does not trigger any of its other comps

Update: Sep 7 @ 10:46pm

v1.2.05
==Improved modding tools==
-Resurrection forces TraitGrantedStuff to regenerate

Update: Sep 6 @ 10:57am

v1.2.04
==Performance improvements==
-HautsUtility.IsHighFantasy() is now a static value, assigned during game initialization based on the presence or absence of RPG Adventure Flavour Pack

==Bugfixes==
-To avoid issues w/ [Biotech] mech command range, Hauts’ Framework must now be loaded above [AV] Framework

==Mod compatibilities==
-[AV] Mechtech: basic mechlink works w/ mech command range, instead of having 0 radius
-[AV] Tribal Mechlink: anima core works w/ mech command range, instead of having 0 radius

==Improved modding tools==
-HediffComp_MultiLink gains the virtual void DoToDistanceBrokenLink(Thing) method, which allows you to do things to a linked Thing whose link breaks due to distance

==New modding tools==
-HautsUtility.mechlinkDefs is a public (and therefore modifiable during the game) list of all HediffDefs that have an MCR_Storage comp (i.e. just the mechlink in the base game, but also the mechlinks added by [AV] mods)
-HautsUtility.IsMechlink(Hediff) tells you if a hediff is in mechlinkDefs
-HautsUtility.GetStrongestMechlink(Pawn) gives you the IsMechlink hediff of that pawn that has the highest mech command range

Update: Sep 4 @ 10:09pm

v1.2.03
==Bugfixes==
-TraitGrantedStuff can now only manipulate the body types of humans, resolving issues w/ various HAT-dependent mods
-RoyalTitlePermitWorker_TargetPawn usage on caravans now properly references the caller, and it checks if there is anywhere to make a sound at if it should make a sound

==Improved modding tools==
-RoyalTitlePermitWorker_TargetPawn: accessibility level of AffectPawn method private→protected

Update: Sep 3 @ 9:14pm

v1.2.02
==[Royalty] Improved modding tools==
-RoyalTitlePermitWorker_MultiplyItemStack now uses extraNumber (and it must be declared): if the targeted item’s stack count exceeds the upper limit of extraNumber, it only takes an amount from the stack equal to extraNumber’s upper limit
-RoyalTitlePermitWorker_TargetPawn can now be used on caravans. This is governed by the GiveHediffInCaravanInner(Pawn caller, Faction faction, bool free, Caravan caravan) virtual method, which by default just gives the hediff to the caller

Update: Aug 28 @ 10:29pm

v1.2.01
==Bugfixes==
-Updated the assembly references for Vanilla Factions Expanded - Pirates to their 1.6 versions