
tjayharvey
Members-
Posts
29 -
Joined
-
Last visited
Reputation
88 ExcellentAbout tjayharvey
-
Rank
(1) Prestidigitator
-
New version is up on the nexus. Has not had much testing, though I confirmed that Cipher Focus and Fast Sneak work. Use at your own risk, etc. Obviously Per Encounter Spells doesn't work with the introduction of Spell Mastery. I will try to fix and/or provide options to enhance Spell Mastery instead. Feel free to suggest ideas.
-
I've started looking at this again, either to help out possible new contributors and/or to chip in some fixes. The patch has definitely broken the following: UICustomization Targeting (Friendly Fire and Turned Enemies) FastSneak NoEngagement RecoveryRate Other mods so far seem to patch in fine, but the only one I've personally tested is the Cipher Focus mod (which does work with the new patch!). However, work continues to be ultra-busy this year, so I will have relatively limited time in the next couple weeks to help. I will see what I can manage, however.
- 185 replies
-
- 12
-
-
Hello all, Sorry it's been a while since I checked on this thread - work has been busy. Spring hasn't been around for a long while, so it's been just me. He was starting a framework to allow you to patch your own DLL. But while that would probably help with some of the mechanics when a new patch comes out (we wouldn't have to collect Mac and Linux DLLs), in practice the mod has broken in minor ways each time Obsidian updates it. And not as in, the mod doesn't work in some small way that you could possibly tolerate - the patching process won't work until things are sorted out. I have put up an alpha version that supports 2.03. I'm not currently playing Pillars of Eternity, and I plan to spend a good number of my hours in for a certain game that comes out next week. This severely limits my ability to test. That said, I have checked that at least some of the mods seem to work fine. Still, please be extra cautious if you decide to use it. There is one definite broken thing because dropdown menus have changed - the IEMod Options dropdowns all have their text scrunched up. That said, you can more or less figure out what to select. I will continue to check this thread every so often and will try to fix bugs as they occur. Providing a savegame is super helpful, as AndreaColumbo did when he reported an issue with stacking. The reality is that this is a difficult mod to maintain. The game does not support modding - we're essentially overriding game code with some of our code. That means that every time Obsidian changes the code, the new stuff we put in is likely to break, even from trivial refactors. Many of the breaking changes in the base game that I've observed over the last few versions have been things that I wholly approve of: Obsidian coders cleaning up and improving their code in a host of minor ways. I really don't recommend anyone try to create a future mod this way except either a) on games that are done with updates or b) expecting to spend a significant number of hours maintaining the mod. If anyone does want to step up and help with IEMod (requires good working knowledge of C# and ability to run a latest-version C# compiler), I'm happy to pass along access to the Nexus side for times when I might not be available. I'm also happy to walk people through how things work and help out with what knowledge I have.
-
There's a version up on the Nexus site that will work with 2.02 for all OSes. There are some reports about cursor issues but I can't reproduce it and nobody's given me enough information yet to track it down. Other than that, nobody is reporting any problems. My playtime has evaporated lately, so normally I'd be more confident in the mod from having played it for hours.
-
Yes, that should be doable. You would either want to override the BindableClasses property in EquipmentSoulbind, or do something similar to what AlterResourceMod does where it catches the data as it's loaded from the Unity files and transforms it. The biggest problem I see is that the level 2 unlock is always class specific, so you'd have to make new unlocks for each class that you added. Should be doable with some persistence.
-
We haven't updated that tool and we've generally decided not to support it. We've instead focused on inserting code into the routine that loads the data from the Unity files and changes them. Obviously that won't help with texture issues, but if you're looking to mod game data, it's considerably easier and doesn't require a Unity license (which is either expensive or has to be acquired through ethically questionable means). So far, I've built the stuff that lets you mod abilities (and by extension, talents, which are just mostly abilities behind the scenes). I also plan to do something similar for the advancement tables (so you can control when spells are unlocked, how many ability or talent points you get at levels, etc). Are there other areas you'd like to see more easily moddable?
-
The new tags for abilities are: <Speed> - valid options Instant, Short, and Long. Correspond to Fast, Average, and Slow abilities respectively. (The game internally calls them Instant, Short, and Long, so it's easier not to have an extra translation layer). <StatusEffectChange> - works like <AfflictionChange>, except it accepts both a <Duration> and/or a <Magnitude> Examples: Instant Winter Wind (with the damage adjusted) <AbilityChange> <Name>Winter_Wind</Name> <MinDamage>25</MinDamage> <MaxDamage>40</MaxDamage> <Speed>Instant</Speed> </AbilityChange> Slightly bigger Blizzard with a longer, larger attack speed reduction. <AbilityChange> <Name>Blizzard</Name> <BlastRadius>3</BlastRadius> <StatusEffectChanges> <StatusEffectChange> <Index>0</Index> <Magnitude>0.7</Magnitude> <Duration>15</Duration> </StatusEffectChange> </StatusEffectChanges> </AbilityChange>
-
It's a new bug with 5.04 (that fixes some problems 5.03 had with targeting). The targeting code's a bit of a maze, so it can be challenging to fix one bug without introducing another one. I think I've got this fixed internally, but I'll play with it for a few more hours and have Spring review it before releasing the fix. I've also added Speed and Status Effect tags to the Ability XML functionality described above, that will be coming next version. I've also identified a bug with Target Turned Enemies and Charm effects (specifically, it can't tell whose team they were, so foe-only effects won't hit them). I think I have a fix for that one ready as well. I think Spring has a bunch of stuff he'd like to look into too, but we'll try to keep this version small to get the bugfix out. Spring is away and I want to get the fix out before I start playing with 2.02, so I just released the new version fixing this bug. It also fixes charmed enemies not considered hostile by Target Turned Enemies and adds a couple more tags to the Ability XML stuff I was showing above. It's a relatively minor update so if you're happy with the current one, no real need to grab this one.
-
It's a new bug with 5.04 (that fixes some problems 5.03 had with targeting). The targeting code's a bit of a maze, so it can be challenging to fix one bug without introducing another one. I think I've got this fixed internally, but I'll play with it for a few more hours and have Spring review it before releasing the fix. I've also added Speed and Status Effect tags to the Ability XML functionality described above, that will be coming next version. I've also identified a bug with Target Turned Enemies and Charm effects (specifically, it can't tell whose team they were, so foe-only effects won't hit them). I think I have a fix for that one ready as well. I think Spring has a bunch of stuff he'd like to look into too, but we'll try to keep this version small to get the bugfix out.
-
Here's an example of how to use the new ability modification system. Let's say I want to take a look at the balance of 1st level druid spells and tweak them. Step 0: In your PillarsOfEternity_Data\Managed\iemod directory, created a new folder called data, and inside the data folder, a new file called "abilitydata.xml". This file should initially be created like this: <AbilityActionData> <AbilityExports> </AbilityExports> <ExportAll>true</ExportAll> <AbilityChanges> </AbilityChanges> </AbilityActionData> Step 1: Start PoE, load a game including a druid in the active party, then quit PoE. Step 2: In your base game directory, there will be a file called IEMod.log. Open this. Step 3: Scan IEMod.log for the spells/abilities you are interested in (warning: there will be a lot, since it includes every weapon in your stash, scroll, potion, etc). Step 4: Remove the ExportAll reference (to reduce the spam) and add Name tags under AbilityExport for the abilities you are interested in. You can always omit the text "(Clone)". If I'm interested in Level 1 damaging druid spells, here's what it would look like: <AbilityActionData> <AbilityExports> <Name>Sunbeam</Name> <Name>Dancing_Bolts</Name> <Name>Talons_Reach</Name> <Name>Vile_Thorns</Name> <Name>Winter_Wind</Name> </AbilityExports> <AbilityChanges> </AbilityChanges> </AbilityActionData> Step 5: Repeat Step 1 Step 6: Open IEMod.log and find the ability listings. This should look something like this: ------------------------------------------- Data for Winter_Wind(Clone) Damage Data: 22 - 32 of type Freeze Accuracy Bonus: 10 Range: 5 DT Bypass: 0 Speed: 2 Defended By: Fortitude Status Effects Count: 0 Afflictions Count: 0 Blast Radius: 8 Blast Angle: 60 ------------------------------------------- ------------------------------------------- Data for Vile_Thorns(Clone) Damage Data: 26 - 38 of type Pierce Accuracy Bonus: 10 Range: 6 DT Bypass: 0 Speed: 2 Defended By: Deflect Status Effects Count: 0 Afflictions Count: 1 Affliction: Sickened for 10 Blast Radius: 3 Blast Angle: 90 ------------------------------------------- ------------------------------------------- Data for Talons_Reach(Clone) Damage Data: 25 - 40 of type Slash Accuracy Bonus: 10 Range: 6 DT Bypass: 0 Speed: 0 Defended By: Deflect Status Effects Count: 0 Afflictions Count: 0 Blast Radius: 1.25 Blast Angle: 360 ------------------------------------------- ------------------------------------------- Data for Sunbeam(Clone) Damage Data: 20 - 35 of type Burn Accuracy Bonus: 10 Range: 15 DT Bypass: 0 Speed: 2 Defended By: Reflex Status Effects Count: 0 Afflictions Count: 1 Affliction: Blinded for 15 Blast Radius: 1.25 Blast Angle: 360 ------------------------------------------- ------------------------------------------- Data for Dancing_Bolts(Clone) Damage Data: 15 - 25 of type Shock Accuracy Bonus: 10 Range: 15 DT Bypass: 0 Speed: 2 Defended By: Reflex Status Effects Count: 0 Afflictions Count: 0 Blast Radius: 3 Blast Angle: 360 ------------------------------------------- This isn't everything about the attack, but more will be added in later versions. Step 7: Determine what balance changes you want to make. Let's say I feel Sunbeam is generally stronger than the others and I want to make adjustments. Personally, I don't feel the longer range and foe-only AE of Dancing Bolts justifies a lower damage, and in fact I think the damage should be a touch higher in order to compensate for Sunbeam's Blind. Let's also say that I want to knock a couple seconds of of the Blind. I think Talon's Reach is fine (it's fast and foe-only, and slightly higher damage of a worse type). I want to lengthen the duration of the Sicken on Vile Thorns to make it worth the trouble of positioning a cone. I'd like to make Winter Wind do the same damage as Sunbeam and be Fast to compensate for the cone template, but changing the speed of abilities isn't supported by the mod yet, so I'll increase the accuracy instead (purely to show how it works). Step 8: Add XML to the AbilityChanges section representing the desired changes. In my example, it should look like this: <AbilityActionData> <AbilityExports> <Name>Sunbeam</Name> <Name>Dancing_Bolts</Name> <Name>Talons_Reach</Name> <Name>Vile_Thorns</Name> <Name>Winter_Wind</Name> </AbilityExports> <AbilityChanges> <AbilityChange> <Name>Dancing_Bolts</Name> <MinDamage>22</MinDamage> <MaxDamage>37</MaxDamage> </AbilityChange> <AbilityChange> <Name>Sunbeam</Name> <AfflictionChanges> <AfflictionChange> <Index>0</Index> <Duration>12</Duration> </AfflictionChange> </AfflictionChanges> </AbilityChange> <AbilityChange> <Name>Vile_Thorns</Name> <AfflictionChanges> <AfflictionChange> <Index>0</Index> <Duration>15</Duration> </AfflictionChange> </AfflictionChanges> </AbilityChange> <AbilityChange> <Name>Winter_Wind</Name> <Accuracy>20</Accuracy> <MinDamage>25</MinDamage> <MaxDamage>40</MaxDamage> </AbilityChange> </AbilityChanges> </AbilityActionData> Step 9: Load a game with a druid again. IEMod.log should now show the changes being applied and give you a readout of the new characteristics of the attack after the changes are applied. Furthermore, the changes should now appear in the tooltips of your druid's spells and, ya know, actually work. Of course, these are just some example changes. You can apply whatever you want to your abilities, at least as far as the mod currently supports. Supported tags for Ability Changes are currently: <Name> - required, to identify which ability is being changed. <MinDamage> - minimum damage <MaxDamage> - maximum damage <DamageType> - Slash, Freeze, Shock, etc. <DefendedBy> - Will, Fortitude, etc <DTBypass> - How much DT on the enemy should be ignored. <BlastRadius> - How big the AE is (only applies to AE attacks) <BlastAngle> - How wide of angle the AE is <Range> - How long the attack can reach <AfflictionChanges> - includes subtags <AfflictionChange> that must designate the index of the affliction to change and the new duration. See Vile Thorns and Sunbeam in the example above. <ExtraAOE> - modifies the secondary AE of the ability (particularly common in Cipher abilities). All tags valid for an attack are valid inside the <ExtraAOE> tag. I'm happy to answer questions if people have any, and take suggestions for additional things to be able to modify.