Jump to content

Recommended Posts

Posted (edited)

cross-posted with reddit

 

Context:

Twin Stone is a pretty underused druid spell. I decided to roll a druid that actually picks it up.

I used Twin Stone quite a bit this time. But I noticed I wasn't getting the AoE targeting circle for the explosion effect (you're supposed to get two lines at an angle, and a circle at the end of each line). I also noticed that I actually wasn't getting the explosion effect at all. I loaded some saves from long ago other parties and noticed I was no longer getting the end explosion. Weird! I could've sworn I've gotten the rock explosion damage and aoe targeting circle before. Maybe I'm misremembering and the spell has been bugged?

After finding a couple threads with targeting issues: https://www.reddit.com/r/projecteternity/comments/1fj9dwf/twin_stones_bug_poe2/ https://www.reddit.com/r/projecteternity/comments/14ep2b7/cant_aim_this_spell/

i decided to completely quit the game and reload my save because maybe this is just a bugged spell.

4. Uh oh! Upon reloading, now I'm unable to target the spell at all. Same symptoms as those other threads. I can't move the red lines, they just point in arbitrary direction, sometimes I get *tons* of those lines. Most importantly, I can't click. The game just will not let me cast the spell at all anymore. Now I know it's not a me-misremembering issue because literally just a minute or so ago I was at least able to target it, even if half of it didn't work. Loading other saves from long ago other parties now has the same unable-to-target spell. Whatever is bugging out Twin Stones has basically infected my entire game, regardless of when the save is from. This happens even if I freshly load up my game and load a different save first, from years ago even. So it's not like I'm loading in a bad game save and then that bad state is transferring over to other saves when I load those.

5. I did Steam verify files (no files needed replacing). Still an issue. I uninstalled the game completely and reinstalled it. Same unable-to-target issue.

So this post is a twofer:

A) WARNING if you're not already using Twin Stones right now (and you probably aren't because it's on the niche/bad side), DON'T start using it.

B) I'm trying to figure out what's going on. Can someone who's feeling pretty brave download my save file here: https://drive.google.com/file/d/1DNxoP2xusGGLqduoYA__i7OB_yirl_y1/view?usp=sharing and load it up in your own copy of Deadfire, select my PC (named Kitt), and tell me if you can target Twin Stones? (edit: please verify before you do so that you have a functional twin stones) You don't need to cast it, all I need to know is if you can actually target it in any shape or form. Basically I'm trying to figure out if Twin Stones corrupts the save which then corrupts the game, or if Twin Stones corrupts the game itself through some files that don't get uninstalled when you do an uninstall option (maybe somehow something gets written to a config file or something).

Edited by thelee
  • Thanks 2
  • Gasp! 1
Posted

Wow. What a mess. I also remember that Reddit post.

I'm trying to understand how this could be happening when it's not tied to the saves' serialized data. Like what piece of data is stored where to mess with the game so badly and seemingly permanently?

There is some config data in a shared folder that Deadfire will write to (not the installation folder, under Linux it's even a hidden folder iirc) and I guess that's where the (ugly) magic might happen. I could erase those files on uninstall and then reinstall and check. Only thing is: I'm doing a run right now and don't want to uninstall atm. ;)

I am using Twin Stones for the first time in my current Fury run (but only cast it about 5 times or so bc. it's just bad). I do not have explosion AoE indicators, but I think Deadfire never had those in the first place, (afair only PoE had) - because the boulders need to hit walls and only then do they explode (when other line spells would bounce back), unlike PoE's version where they just exploded at the indicators' location no matter what.

I will download and check your savegame and report later today. Maybe it's not happening under Linux. If it does: also good info. 

I will also retrain and remove Twin Stones from my spell list forever. ;)

 

Deadfire Community Patch: Nexus Mods

Posted (edited)

PS: @thelee: your saveame isn't promptly accessible to download, I need to get access/confirmation first. Is that intentional?

Edited by Boeroer

Deadfire Community Patch: Nexus Mods

Posted

Before trying to download your savegame (it's behind bars) I quickly loaded up my own savegame of a current Fury run where I picked Twin Stones. As I said I used it about 5 times in the past and didn't use it for days.

Just looked at the indicator and it's suddenly the two lines - which I cannot move anymore. They are fixed in direction, pointing to the bottom left coner of the screen at all times. Cannot cast either (clicking does nothing).

So first piece of info: it's not Windows-related, it's also a problem on Linux. Didn't think it would be win-only but good to have confirmation.
I assume we both use Steam?

To be continued...

Same discussion on Reddit: 

 

Deadfire Community Patch: Nexus Mods

Posted

The installation folder and its contends were not altered lately.

Files that are stored outside of the Deadfire installation folder which got altered lately:
 

  • .local/share/PillarsOfEternityII/
    • steam_autocloud.vdf (it's just a text file with an id, so nope)
    • SavedGames/
      • the current save games + autosaves etc. (obviously this isn't the source)
    • Achievements/
      • global.achievements - this is binary and it's global - cannot think of a reason why this should interfere with a spell and its workings, but it is global...
  • .config/unity3d/Obsidian Entertainment/Pillars Of Eterninty II/
    • CurrentGame/ (well it's supposedly only for the current game run, but there's lots of stuff that got altered, too much to list it all, most of it binary. Some files' names stuck out to me though:)
      • metadata.sav
      • gameglobalobjects.lvl
      • crosssceneobjects.lvl
    • Img/
      • bunch of jpgs, nope...
    • prefs (lots of configs from the game options but also a lot of options I don't recognize, AoE-UI stuff, too. I didn't see any suspicious values, like runaway numbers or so, but who knows?)
    • Player.log (well its just a log that shouldn't influence the game itself - it's big but readable. Maybe some dev could find useable info there)
    • NewsArchive.xml (it's just the stuff you see on the news window when you start the game. Why does it get altered every time? Noone knows...)
    • modconfig.json (it's just the config of how you ordered and enabled/disabled your mods in the mod manager - why does it get altered every time you open the game? Nobody knows...)
    • Lock (empty)

Nothing else directly tied to the game got altered apparently. Of course lots of steam files were altered in the meantime - way too many to list them all here.

Could this be an issue with Steam? I do not think so, but maybe if somebody has an installation that's not from Steam this could be properly dismissed.

I could now try and delete some files in question and see if that resets the Twin Stones' AoE indicator (should the game start at all, hehe), but I'm a bit reluctant to do that while I'm still playing.

 

  • Like 1

Deadfire Community Patch: Nexus Mods

Posted (edited)

Whoa! Restarted the game, loaded my save game again that had the botched AoE indicator and suddenly that's fixed and works like before. What is this witchcraft? :)

Edited by Boeroer

Deadfire Community Patch: Nexus Mods

Posted (edited)

thanks for looking into this. here's an updated link, see if this works: https://drive.google.com/drive/folders/1DKjGqB31sJuoSfTJtMEPUMhhvf6bYcwN?usp=sharing

 

5 hours ago, Boeroer said:

Whoa! Restarted the game, loaded my save game again that had the botched AoE indicator and suddenly that's fixed and works like before. What is this witchcraft? :)

did you delete any files to get this to work?

i definitely went through several full game-quits, game-loads, and even a cpu restart in case that mattered somehow. it seemed like a one-way street from weird to broken.

Edited by thelee
Posted
7 minutes ago, thelee said:

thanks for looking into this. here's an updated link, see if this works: https://drive.google.com/drive/folders/1DKjGqB31sJuoSfTJtMEPUMhhvf6bYcwN?usp=sharing

 

did you delete any files to get this to work?

i definitely went through several full game-quits, game-loads, and even a cpu restart in case that mattered somehow. it seemed like a one-way street from weird to broken.

Nope. I started the game and loaded a save: Twin Stones was buggy. 

I quit the game, looked for files but didn't alter anything (and didn't close Steam either).

Started the game gain and the spell was fixed. Just like that. 

I'm currently at music school with one of my kids. Will try to download your savegame later when I'm back home. 👍

  • Thanks 1

Deadfire Community Patch: Nexus Mods

Posted (edited)

just to sanity check i reloaded a save today (after a lengthy time the computer spent asleep) and confirm that it's still busted for me 😕

 

edit: when this first came up, i also tried area transitions, just in case whatever was being busted was associated with a particular map. didn't seem to matter.

Edited by thelee
Posted (edited)

also wanted to add - do you actually get exploding rocks when you cast the spell? in my memory this definitely happened in the past. but when i started paying more attention to combat log this time around, i never ever got exploding rocks. i could be misremembering, but a part of me wonders if there's something going on with that part of the spell or something. like maybe they're treated as in-game objects and some reference got broken (hence somehow one of either the crossscene or gameglobalobjects is getting corrupted)

Edited by thelee
Posted (edited)

So initially loading your save Twin Stones looked to be working and casting fine on my end. It was only after disabling a few mods did the bug start to show up in the save.

I've narrowed it down and it seems like one of the changes made to the ability in Balance Polishing Mod Buffs unborks it. Likely: "-the stones explode on the first target, a wall isn't needed."

Edited by Kvellen
  • Like 2
Posted
21 minutes ago, Kvellen said:

So initially loading your save Twin Stones looked to be working and casting fine on my end. It was only after disabling a few mods did the bug start to show up in the save.

I've narrowed it down and it seems like one of the changes made to the ability in Balance Polishing Mod Buffs unborks it. Likely: "-the stones explode on the first target, a wall isn't needed."

Yeah exactly (also tweaked a couple numbers for the spell) 

Now I have to follow this thread to check if I modded the spell into a pickable bait that will cause games to be corrupted. 

I've just picked the spell, but not yet used. 

If needed, I will have to tweak it into something less original but harmless. 

Posted (edited)

if your BPM fixes it, do you know what might be busted? (i only use bugfixes-only community patch, and i've disabled mods in an effort to diagnose the issue) i'm still operating on the theory that there's some broken reference bc the vanilla spell uses some actual in-game objects for the projectiles and explosions. it'd be nice to have it spun out as a separate bug fix.

i ended up respeccing my druid out of it - in this run of trying to use unpopular spells, stag's horn is next on the list for ability tier 3. but i can still load other saves and twin stones is still fully busted, scroll or spell - can't target it at all anymore.

Edited by thelee
Posted (edited)
1 hour ago, thelee said:

if your BPM fixes it, do you know what might be busted? (i only use bugfixes-only community patch, and i've disabled mods in an effort to diagnose the issue) i'm still operating on the theory that there's some broken reference bc the vanilla spell uses some actual in-game objects for the projectiles and explosions. it'd be nice to have it spun out as a separate bug fix.

i ended up respeccing my druid out of it - in this run of trying to use unpopular spells, stag's horn is next on the list for ability tier 3. but i can still load other saves and twin stones is still fully busted, scroll or spell - can't target it at all anymore.

The exploding condition is on impact on obstacle, I replaced it to explode on first target hit. I think I copied the Seven Nights upgrade to get the right condition.  (I also adjusted PEN, you can read the mod description). 

 

What I don't know is whether this part was broken or if the unique initial AoE shape is. If the later, using BPM version could be dangerous. I mean no more than vanilla, but since you'd be more likely to use it... 

Feel free to experiment with BPM!! 

 

I vaguely remember something weird when experimenting it, but it might also be with Frost Seeker + Heartseeker attack ^^. 

Somehow, unique AoE shape works very weird with things that adds projectiles (but I can't figure what could cause it with twin Stones). 

Edited by Elric Galad
  • Like 1
Posted (edited)

So this message appears in the output_log.txt whenever the bugged ability is activated:

NullReferenceException: Object reference not set to an instance of an object
  at Game.UI.GUICastingCircle.Create (Vector3 origin, Quaternion forward, Single radius, Boolean extended, Single arcDeg, ColorScheme colorscheme, AlphaScheme alphaScheme) [0x00000] in <filename unknown>:0 
  at Game.UI.GUICastingManager.Blast (Vector3 position, Quaternion forward, Single radius, Single extendedRadius, Single angleDeg, ColorScheme colorScheme, ColorScheme extraRadiusScheme, AlphaScheme alphaScheme) [0x00000] in <filename unknown>:0 
  at Game.UI.GUICastingManager.DrawBeamSegment (GameDataOrInstance`2 attack, UnityEngine.GameObject caster, Vector3 targetPosition, UnityEngine.Vector3& origin, UnityEngine.Vector3& castDirection, Single localDistance, Single projectileRadius, Boolean hitWalls, ColorScheme attackColorScheme, AlphaScheme alphaScheme) [0x00000] in <filename unknown>:0 
  at Game.UI.GUICastingManager.DrawAttackMultiHitRay (GameDataOrInstance`2 attack, Game.GameData.GenericAbilityGameData abilityData, UnityEngine.GameObject caster, Vector3 targetPosition, AlphaScheme alphaScheme) [0x00000] in <filename unknown>:0 
  at Game.UI.GUICastingManager.DrawAttackHitRegions (GameDataOrInstance`2 attack, Game.GameData.GenericAbilityGameData abilityData, UnityEngine.GameObject caster, Vector3 targetPosition, UnityEngine.GameObject forcedTarget, AlphaScheme alphaScheme, Game.GameData.AttackBaseGameData parentAttackData) [0x00000] in <filename unknown>:0 
  at Game.UI.GUICastingManager.DrawCastingForAbility (Game.GenericAbility ability, Vector3 targetPosition, Game.GameData.GenericAbilityGameData abilityData, UnityEngine.GameObject caster, AlphaScheme alphaScheme) [0x00000] in <filename unknown>:0 
  at Game.UI.GUICastingManager.DrawCastingForAbility (Game.GenericAbility ability, Vector3 targetPosition, AlphaScheme alphaScheme) [0x00000] in <filename unknown>:0 
  at Game.UI.GUICastingManager.UpdateCasting (GameDataOrInstance`2 attack, Game.GenericAbility castAbility, UnityEngine.GameObject caster) [0x00000] in <filename unknown>:0 
  at Game.Player.OnyxUpdate () [0x00000] in <filename unknown>:0 
  at Onyx.OnyxBehavior.DoUpdate () [0x00000] in <filename unknown>:0 
  at Onyx.OnyxBehaviorManagerBase.Update () [0x00000] in <filename unknown>:0 
UnityEngine.DebugLogHandler:Internal_LogException(Exception, Object)
UnityEngine.DebugLogHandler:LogException(Exception, Object)
UnityEngine.Logger:LogException(Exception, Object)
UnityEngine.Debug:LogException(Exception)
Onyx.OnyxBehaviorManagerBase:Update()

According to Notepad++ there are 127 instances of this in the current log. This probably just means it's failing to find "something" on every frame it's trying to draw the path with the ability readied. But that's just my best guess with very limited knowledge of programming.

Edited by Kvellen
  • Like 2
Posted

Actually, I made much more changes than I remember (given that the intent is what I just said, but the required changes were bigger).

I add to change the attack on impact into a status that applied an attack.

 

 

I also forgot changing the scroll, but that would be incldued in next version 🙂 

 

        {
            "$type": "Game.GameData.AttackRangedGameData, Assembly-CSharp",
            "DebugName": "Twin_Stones_Ranged",
            "ID": "b6db6735-409b-4825-947f-879b08d63e8c",
            "Components": [{
                "$type": "Game.GameData.AttackBaseComponent, Assembly-CSharp",
                "PenetrationRating": 9,
                "StatusEffectsIDs": ["cc606140-73dc-40c7-88bd-e9fb6660b89f"],
                "AttackOnImpactID": "00000000-0000-0000-0000-000000000000"
            }, {
                "$type": "Game.GameData.AttackRangedComponent, Assembly-CSharp",
                "LaunchAttackOnCollision": "false",
                "MultiHitMaxHits": 1
            }]
        },
 
{
            "$type": "Game.GameData.StatusEffectGameData, Assembly-CSharp",
            "DebugName": "Twin_Stones_SE_AttackOnEvent",
            "ID": "cc606140-73dc-40c7-88bd-e9fb6660b89f",
            "Components": [{
                "$type": "Game.GameData.StatusEffectComponent, Assembly-CSharp",
                "StatusEffectType": "AttackTargetOnEvent",
                "OverrideDescriptionString": -1,
                "OverrideDescriptionStringTactical": -1,
                "UseStatusEffectValueAs": "None",
                "BaseValue": 0,
                "DynamicValue": {
                    "Stat": "None",
                    "SkillDataID": "00000000-0000-0000-0000-000000000000",
                    "ClassID": "00000000-0000-0000-0000-000000000000",
                    "MultiplyBy": 1,
                    "Operator": "Add"
                },
                "KeywordsIDs": [],
                "DurationType": "Instant",
                "Duration": 0,
                "MaxStackQuantity": 0,
                "ApplicationBehavior": "UseLongerDurationIfAlreadyApplied",
                "ApplicationType": "ApplyOnStart",
                "IntervalRateID": "00000000-0000-0000-0000-000000000000",
                "StackedChildrenApplyEffects": "false",
                "InclusionConditions": {
                    "Operator": 0,
                    "Components": []
                },
                "ApplicationPrerequisites": {
                    "Conditional": {
                        "Operator": 0,
                        "Components": []
                    }
                },
                "TriggerAdjustment": {
                    "TriggerOnEvent": "None",
                    "TriggerOffEvent": "None",
                    "ValidateWithAttackFilter": "false",
                    "ParamValue": 0,
                    "ValueAdjustment": 0,
                    "DurationAdjustment": 0,
                    "ResetTriggerOnEffectTimeout": "false",
                    "MaxTriggerCount": 0,
                    "IgnoreMaxTriggerCount": "false",
                    "RemoveEffectAtMax": "false",
                    "ChanceToTrigger": 1
                },
                "PowerLevelScaling": {
                    "UseCharacterLevel": "false",
                    "BaseLevel": 0,
                    "LevelIncrement": 1,
                    "MaxLevel": 0,
                    "ValueAdjustment": 0,
                    "DurationAdjustment": 0
                },
                "IsHostile": "false",
                "ClearOnCombatEnd": "false",
                "ClearOnRest": "false",
                "ClearOnFoodRest": "false",
                "ClearWhenAttacks": "false",
                "ClearOnDeath": "false",
                "HideFromCombatTooltip": "false",
                "HideFromCombatLog": "false",
                "HideFromUI": "false",
                "HideIfNoValue": "false",
                "VisualEffects": [],
                "MaterialReplacementID": "00000000-0000-0000-0000-000000000000",
                "AttackFilter": {
                    "KeywordsIDs": [],
                    "KeywordLogic": "Or",
                    "Race": "None",
                    "IsKith": "false",
                    "HealthPercentage": 0,
                    "HealthOperator": "EqualTo",
                    "Range": "None",
                    "ClassTypeID": "00000000-0000-0000-0000-000000000000",
                    "Source": "None",
                    "DefendedBy": "None",
                    "Empowered": "false",
                    "Disengagement": "false",
                    "Stealthed": "false",
                    "UseStealthLinger": "false",
                    "PowerLevel": 0,
                    "PowerLevelOperator": "EqualTo",
                    "ChanceToApply": 1,
                    "AttackHostility": "Default",
                    "TargetType": "None"
                },
                "AttackTargetFilter": {
                    "KeywordsIDs": [],
                    "KeywordLogic": "Or",
                    "Race": "None",
                    "IsKith": "false",
                    "HealthPercentage": 0,
                    "HealthOperator": "EqualTo",
                    "Distance": 0,
                    "DistanceOperator": "EqualTo",
                    "HasDOT": "false",
                    "IsMarked": "false",
                    "TargetHostility": "Default"
                },
                "ExtraValue": 0,
                "OverridePenetration": 0,
                "DamageTypeValue": "All",
                "KeywordValueID": "00000000-0000-0000-0000-000000000000",
                "RaceValue": "None",
                "StatusEffectTypeValue": "None",
                "ItemValueID": "00000000-0000-0000-0000-000000000000",
                "AfflictionTypeValueID": "00000000-0000-0000-0000-000000000000",
                "StatusEffectsValueIDs": [],
                "AttackValueID": "7f35e98f-5220-416f-bcf6-e74698af17fb",
                "AttackOverrideValue": "None",
                "EventValue": "OnApply",
                "ClassValueID": "00000000-0000-0000-0000-000000000000",
                "WeaponTypeValue": "None",
                "AttackHitType": "None",
                "SkillValueID": "00000000-0000-0000-0000-000000000000",
                "AudioEventListID": "00000000-0000-0000-0000-000000000000",
                "BedRestDaysMinimum": 0,
                "BedRestDaysMaximum": 0
            }]
        },
  • Like 1
Posted

I loaded your save game and Twin Stones is broken. When I reload it briefly works (two lines appear an can get moved around me) and then it gets stuck in a fixed angle and I cannot release the spell. When I cast seomthing else the AoE indicator adds more lines. It doesn't get fixed like it used to with my druid savegame. 

AI can still cast the spell normally though! I made a test AI behaviour and let it cast Twin Stones on enemy sight. It does that without problems, while it shows more and more weird/fixed indicator lines which don't correlate with the direction the two stones are actually flying (see green lines by me in the screenshot below). Sometimes the charater gets those casting hickups  (see combat log - were you have to cancel the action manually and then it works):

broken_twin_stones.png?rlkey=a7krx07yi9s

 

  • Like 1

Deadfire Community Patch: Nexus Mods

Posted

sorry one more Q - after you get my saved game to bug out - does loading a different game, one of yours, also have the issue with it bugging out? wondering how "contagious" it is.

 

thanks for the help!

Posted (edited)

I made a brand new Druid Watcher and set him up with twin stones to test. At what point the ability becomes bugged. It wasn't long...

On starting the game Twin Stones can be aimed and fired. I then made a save and quit completely out of the game. On load Twin Stones works but at a certain rotation will lock in a direction all of a sudden and cannot be fired afterwards. Unless I quit completely out of the game again loading that same save will have Twin Stones stuck.

I then did some experiments with the Kitt save and yeah it does seems to immediately bug out on load and affect the ability in the new save. Activating other AoE abilities seems to increase the amount of lines. Interestingly when I went to capture footage I stumbled onto a way of getting it unstuck, at least temporarily, using Stag Horns.

Looking through the output_log.txt of that session the previously mentioned error message appears until aiming Stag Horns then disappears completely. Most curious... 🤔

Edited by Kvellen
  • Like 2
  • Thanks 1
Posted (edited)

good digging!

yeah i haven't had much time to dive into this more, but one thing i was going to try is just renaming the files boeroer found taht were being altered outside the save. 

edit: like i wonder if the act of loading my save alters some sort of game object reference in your local install, which causes it to break in other saves. but the mystery to me is why your save still has targetable twin stones at all if you load it first? my game is completely borked, no save i can reload lets me target that spell anymore. i wonder if stag's horn does something weird with game objects, using a similar type of targeting, that unstucks the targeting for twin stones. i should give it a try with stag's horn like you did.

edit 2: i wonder if i start a completely new game, if that would also unstick twin stones.

Edited by thelee
  • Like 1
Posted
On 9/27/2024 at 8:28 PM, thelee said:

edit 2: i wonder if i start a completely new game, if that would also unstick twin stones.

I bet on yes, new games will start with no twin stones issues. Let me know if I win somenthing.

Posted (edited)
On 9/30/2024 at 12:53 AM, Chaospread said:

I bet on yes, new games will start with no twin stones issues. Let me know if I win somenthing.

nope.

 

so based on other people loading my save, it's pretty clear that the bad state persists in the save game. i think what's happening is that something bad gets cached or something, because my original game eventually went back to normal and i could cast twin stones (from scrolls this time) just fine. i think the bad spell state got pushed out of the game cache after a certain point. however, the moment i reloaded my bad save (yes i kept it), everything got screwed up again. even creating a new game doesn't fix it. and it's bad in my current game now.

i tried re-naming gameglobalobjects.lvl crosssceneobjects.lvl to see if bad data gets stored there, but i think that entire path just gets clobbered upon fresh game load from desktop, it didn't end up making a difference (and my renamed files disappeared).

either way, my game is back into a bad state again and I've exhausted my patience for debugging this for at least another few days.

 

edit: i noticed an issue in my current run with ninagauth's killing bolt. it's supposed to spawn a spirit if you annihilate a non-spirit with it. i did, and i spawned a spectre. then later, and then again a few more times, i killed a non-spirit with it but got no spectre. possibly related issue? some game object is getting lost and a reference is becoming broken? hmm

Edited by thelee
  • Gasp! 1
Posted

In my experience, Ninahaugth Killing Bolt does not summon a specter the first time you use it after loading your game. 

No idea why. 

  • Hmmm 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...