RimWorld

RimWorld

It's Sorcery!
Showing 1-10 of 13 entries
< 1  2 >
Update: 13 Jul @ 9:52pm

It's Sorcery! v1.1.7 - Prohibition

No seriously, this is a dry month for me.

This is the last version that will support 1.5, and contains code for prohibiting completion of learning nodes and class changes along with UI adjustments.

(+) Code updated to 1.6.
(+) Added FloatMenuOptionProviders for EnergyTracker energy on consume and ProgressEXPWorker exp on consume.
(+) Added prohibit C# code for LearningTreeNodeDefs and ProgressTrackerClassDefs.
(=) statFactor renamed to statFactorOffset in LearningTreeNodeDefs for consistency.
(=) Adjusted LearningTracker_Tree UI to be consistent with LearningTracker_Summary Prospect UI.
(=) Debug utility adjustment for new DLC.
(=) Energy cost display code uses the new last hovered gizmo utility.
(=) BUGFIX: stat factor offsets are now properly applied.
(-) harmony patch cleanup.

Update: 26 Apr @ 3:13pm

It's Sorcery! v1.1.6 - Prereq Center

Additional functionality added to the framework; more options, UI adjustments, and better scaling at more extreme values.

(+) Added gene, trait, xenotype, and age prereqs.
(+) Added EnergyTrackerComps_DuringJob and _OnInteraction.
(+) Added ProgressEXPWorkers_OnInteraction and onquestfinish.
(+) Added PawnCacheUtility for general caching needs.
(+) Added new EquationUtility.
(=) ProgressTrackers can leverage more equation types to determine EXP at each level.
(=) Level prereqs have more comparison options (i.e. <, !=, >, etc).
(=) EnergyComps implement PawnCacheUtility depending on performance requirements.
(=) Stat caching period adjusted to 60-600 ticks for improved performance.
(=) ProgressEXPWorkers now use StatDefs for scaling.
(=) Offsets to capacity mods and stat factors are now displayed more clearly (as +20% vs x20%).
(=) Prereq fields renamed for greater consistency.
(=) New settings.
(=) BUGFIX: leveling up now properly displays capacity changes on health summary.
(=) BUGFIX: the quick energy gizmo will only show when a pawn has a SorcerySchema.
(=) BUGFIX: skill level is now properly checked for as a prereq.

Update: 21 Mar @ 10:51pm

It's Sorcery! v1.1.5 - Class is in Session!

THE CLASS UPDATE IS REAL

(+) ProgressTrackers now come with a DiffLog - a history of changes to the progression of the magic system.
(+) Classes (not C# classes, think RPG classes) have now been integrated into ProgressTrackers through ProgressTrackerClassDefs. Some benefits:
- Enables differing leveling methods, benefits, titles, and skill trees.
- Adds new mechanisms to gain the "opportunity" to change classes through leveling up or items.
- Allows for prerequisites to change classes (skill tree nodes, research projects, skills, etc).
- Treat class changes like an advancement to an advanced job or a career move into a incompatible profession.

(+) Class update has been integrated into pawn generation.
(+) New debug commands for viewing ProgressTrackerDiffLog info, setting a class to its max level, etc.
(+) New quick energy gizmo for viewing selected EnergyTrackers - can quickly see and add/remove energy bars in a draggable window.
(=) Certain ProgressTrackerDef info has been moved into ProgressTrackerClassDef, and the ProgressTracker will adjust based on the current ProgressTrackerClassDef.
(=) Stat/capacity modifier adjustments UI adjusted for clarity.
(=) Debug statements adjusted for further clarity and now linked to a mod setting.
(=) Level ups are now silent during pawn generation and debug commands.
(=) BUGFIX: players now cannot complete non-player pawn nodes anymore but can still see learning tracker info.
(=) BUGFIX: fixed NRE bug in ProgressTracker_Level.NotifyLevelUp.

Update: 11 Jul, 2024 @ 5:44pm

It's Sorcery! v1.1.4 - Levels and Bugfixes

Mostly bugfixes and adjustments to the ProgressTracker, in preparation for the next big update.

(+) Added [It's Sorcery!] within debugging statements for greater source clarity.
(+) New debug tools for development with the framework- adding/removing SorcerySchemas, forced level ups, etc.
(+) Both ProgressTrackers and their corresponding hediff will attempt to automatically recover their counterpart if null.
(+) Leveling logic is now wholly handled and contained within ProgressTrackers; level range is specified in ProgressTrackerDef.
(=) ProgressTrackerDef XML adjustments to reduce likelihood of hediff removal and support new level handling.
(=) LearningTracker_Progress adjusted to prevent the list of Sorceries from going out of bounds.
(=) ITab text size bug fixed.
(=) Completing a learning node forces EnergyTrackers to recache.
(=) Energy gain/loss per tick no longer causes energy to go beyond its bounds.
(=) Disabled Command_Sorcery will no longer show incorrectly show cooldown = 0 when they are disabled for a different reason.
(=) Stats will call their true stat value when bringing up the info card for the schema.

Update: 12 May, 2024 @ 5:29pm

It's Sorcery! v1.1.3 - Lock and Load Performance

Bugfixes, settings, and UI oh my!

(+) It's Sorcery now has settings for controlling performance and UI options, such as stat cacheing, schema UI, and performance presets.
(+) LearningTracker_Tree can now be set to be locked by default (only LearningTracker_Tree at the moment), and provides custom lock label and unlock tip support.
(+) Added code to support unlocking a skill tree via item, a LearningTreeNodeDef, and level up.
(+) New translation keys to support additions.
(=) Schemas no longer require an EnergyTracker- perfect for instances where you just want the learning and progression component.
(=) Stat values are cached within EnergyTrackers leading to significant performance improvement.
(=) Progress EXP workers use a setting for determining if they throw EXP motes.
(=) Hediff_Progress now properly caches its HediffStage, resulting in performance improvement.
(=) Multiple level ups now properly display multiple option selection dialogs.
(=) UI for Dialog_ProgressLevelOptions updated.
(=) Hediff_ProgressLevel will show MAX at max level instead of 0% progress.
(=) Command_Sorcery will skip disable reason when no EnergyTracker is available, and will list out all energies that are insufficient
(=) Prospects UI component within the LearningTracker_Progress has been updated to support showing unlocked skill trees (only within specific ProgressLevelModifiers) and options at each level.
(=) Bugfix resolving a NRE, and refactored code for displaying prospects more clearly.
(=) Bugfix to prevent a Sorcery's command from highlighting the wrong Schema.
(=) Bugfix for Hediff_Progress to save the schema as a reference, resolving hediff synchronization issue when loading a save.
(-) Depreciated code removed.

Update: 12 May, 2024 @ 5:26pm

Update: 12 May, 2024 @ 5:25pm

[Auto-generated text]: Update on 5/12/2024 8:25:41 PM.

Update: 15 Apr, 2024 @ 9:04pm

It's Sorcery! v1.1.2 - UI Got an Axe to Grind

Most of this update is dedicated to UI elements.

(+) new translated keys to support learning tracker UI changes
(=) EnergyTrackerComp_OnConsume takes scaling stat into account now.
(=) Learning Tracker now checks for level requirements, and will mention if the level requirement is failed.
(=) Dialog_LearningTabs now scales with UI width and height, accounts for UI scaling, can be dragged and resized, and closes when clicked outside the window
(=) added NRE check for EXPOnConsume post patch for both 1.4 and 1.5
(=) verified HAR compatibility
(=) ProgressTrackerTags now use translated keys, and is now consistent w/ energy comp UI
(=) moved translated keys from Itabs to Dialogs_Various
(=) adjusted ProgressTrackerTag method names for consistency
(-) removed unused textures

Update: 12 Apr, 2024 @ 4:22pm

It's Sorcery! v1.1.1 - You're Looking 1.5!

I have no remorse for that pun against humanity. Here's the deets.

(+) C# code updated to 1.5, fixing issues with canUse and StatEntry code, along with changes to debug UI
(+) Added 1.5 as supported version
(+) Added mod icon
(=) Dialog_ProgressLevelOption will show (X) depending on whether or not in dev mode
(=) Moved XML code into common area
(-) Removed Harmony reference in 1.5 Assemblies

Update: 9 Apr, 2024 @ 9:17pm

It's Sorcery! v1.1.0 - Energy Revolution

Oh boy, finally an update.

(+) a SorcerySchema's trackers can now save and refer to its parent schema, leading to performance improvements
(+) EnergyTrackers were refactored to implement a comp-based system to govern its energy changes, along with other changes to make it more generic, modular, and customizable
(+) SorcerySchemaDefs will now prevent duplicate defs for energy and learning trackers
(=) LearningTracker_Progress UI was reworked to include EnergyTracker information and make other information more visible
(=) ProgressLevelOptions dialogue now includes which SorcerySchema it is for
(=) JobGiver and JobDriver code for on_consume for Energy- and ProgressTrackers reworked to allow it to save in the middle.and pass in key parameters on start
(=) XML code was cleaned up and renamed for consistency
(=) general code refactoring
(-) removed most old EnergyTracker classes
(-) old language keys removed

TL;DR: EnergyTrackers work very differently now, and lots of UI and XML code was updated to support this. This new comp-based system will allow you to have multiple sources of energy gain/loss for each EnergyTracker. You can now have, for example, a pacifism themed EnergyTracker that will gain energy over time, but lose energy when dealing any form of damage.