Jump to content

Cannot remove a Perk - what keeps a Perk 'active'


PJMail

Recommended Posts

It seems if a companion is in PA and they get stuck (such that you leave them behind when you fast travel), when you return and get them to exit the PA they still have the Power Armor Perk (0x1F8A9). RemovePerk at the console has no effect. hasmagiceffect (for the MGEF 0x390c1 that adds the perk) returns 0. The spell that causes that magic effect (0x390c0) also returns 0 if you test for it. There is also an enchantment (0x3E579) that can add the perk but I don't know of any console command to test for it (it is not a 'spell').

 

Any ideas?

 

Recycleactor has no effect.

 

Thanks

Link to comment
Share on other sites

Further to this, there must be some sort of 'invocation count' on a Perk, so that it is not removed unless no magic effects remain that add it (seems sensible).

 

Also the problem only happens with Magic Effects that have a "Perk to Apply" (that is the Perk that sticks).

And (so far) in the situation when the PA companion is on a Vertibird AND docked AND 3D unloaded - which my mod allows :pinch:

 

In this situation, the Magic Effect ends without also removing it's associated 'perk to apply', so now it permanently has a positive 'invocation count' and can NEVER be removed. Checking the Companion when they are 3D unloaded shows they still have the perk, but NO active effects, just to confirm my suspicion.

 

As the Perk is "PowerArmorPerk" this causes lots of issues for the Companion - apart from the PA buffs, lots of other quests/scripts/effects check for this perk to decide they are in PA...

 

I checked Resaver and it doesn't seem to do much for NPC's or Perks.

 

Edit: If I put some conditions on the MGEF in the Enchantment (EnchPA_Abilities), so that it is not allowed at the problem stage, the problem does not occur. Unfortunately this just mitigates the problem in the future - I cannot fix people's stuffed Companions...

Edited by PJMail
Link to comment
Share on other sites

I checked Resaver and it doesn't seem to do much for NPC's or Perks.

 

As far as I know, NPC data is stored in: ChangeForms > ACHR > (companion's RefID like 1CA7D). If you delete this element, the actor should revert to their vanilla state. (It possibly does more harm than good so I don't recommend it..).

 

If nothing helps, you could try adding a Condition to the PowerArmorPerk: WornHasKeyword == isPowerArmorFrame, Run on: Subject. (In normal circumstances, it's always true). Of course it requires overwriting the record of the perk but if you upload it as an optional file ("retroactive fix"), I think will be fine..

 

What do you see if you select the buggy NPC in the console and type "GetIsRace PowerArmorRace"?

Edited by LarannKiar
Link to comment
Share on other sites

I thought about the companions in docked vertibird problem the other day.

The basic issue, it seems, is that companions exit the bird on the wrong side of the dock?

 

What if you place a trigger volume next to the "wrong side" door there, with a script that moves the entering actor onto the dock (put an xmarker there or something, to moveto)?

 

It would also kind of solve the problem with exiting on the wrong side when you're the co-pilot.

Link to comment
Share on other sites

@LarannKiar - the only conditions on a Perk itself are level up conditions - and that won't cause it to go away.

I can certainly add conditions on the invoking effect, but that horse has bolted and been 'dispelled' already.

Altered Conditions on the Perk effects themselves would stop those effects - but the issue is many scripts and other item conditions look for the presence of the perk itself, not it's effects, so wouldn't solve anything.

 

@niston - you are right, and back when I first wrote the mod - just stopping the passengers exiting was a simple and 'benign' solution (I thought). Clearly hindsight is a wonderful thing though and solving the problem your way would also fix the 'player as co-pilot' issue (which I also never considered an option back then so...).

 

Anyway, there are a number of ways of stopping the problem occurring in the future - that is not the hard problem - trying to repair the damage though, that is the reason for this post...

Link to comment
Share on other sites

Just thought I would give anyone interested an update on this.

 

It appears the Perk - Actor association must be kept outside the Actor's information, as even resetting the Actor back to default (to the point where they loose all attributes - and clothes) - does not remove their perks. When the Actor is disabled they loose all Perks and Magic Effects, but they immediately return when the Actor is enabled. Once that association is stuck it cannot be deleted.

 

I suspect deleting the Perk would resolve this on a restart, but Perks in Fallout4.esm can't be removed (even temporarily).

As the ID of Companions never change there is no chance of breaking the link by deleting them. The perk re-appears when the game recreates them.

 

Nasty.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...