Permanent PC effects after playing module


#1

After completing Arterra series my character is stuck with some effects which stays with him through the modules like increased characteristics, mind spells immunity. I want legal character, is there any way to remove that? Thanks in advance.


#2

The easiest way would be to Delevel your character back below the level when these characteristics first showed up. Then relevel the character back to the level you were when the character ended the module. Use DebugMode 1, then just below that use dm_giveXP -the total number of XP you need to remove. Then dm_giveXP back to that level. This an example let say your you need to take 10,000 points to get below that point. So you would use dm_giveXP -10,000 to get below that level which would remove those characteristics, then relevel that 10,000 xp points by using dm_giveXP 10,000. There are others who could tell you another way perhaps. I hope this helps.:grinning:


#3

I doubt these effects are level related. I suspect they’re custom-implemented by the mod by adding attributes to the character’s creature skin. You’ll need to write a script that identifies and removes them. You might also be able to do it with Leto.


#4

There is a HOTU built-in script which removes all effects from the caller: x2_dm_remeffects. You can execute it from debug mode in any module. You will need to temporarily turn on invulnerability of your PC, though.

If that doesn’t clear all effects, use the following code, per @Andarian’s suggestion:

int remove_effects(object oTarget)
{
    int iEffects = 0;
    effect eEffect = GetFirstEffect(oTarget);
    while(GetIsEffectValid(eEffect))
    {
        RemoveEffect(oTarget, eEffect);
        eEffect = GetNextEffect(oTarget);
        iEffects += 1;
    }
    return iEffects;
}

void main()
{
    // remove all effects from the caller
    int iEffects = remove_effects(OBJECT_SELF);
    // destroy caller's creature hide
    DestroyObject(GetItemInSlot(INVENTORY_SLOT_CARMOUR, OBJECT_SELF));
    // report number of removed effects
    SendMessageToPC(OBJECT_SELF, "Removed " + IntToString(iEffects) + " effects");
}

#5

… or you could just delete the skin.

That would take care of item properties etc.


#6

Doesn’t 1.69 and after maintain certain properties on the PC skin?


#7

That’s what i needed, thank you.


#8

My pleasure, though @Proleric is right that there may be some item properties lingering on PC’s creature hide, so I modified the script above to address that.

It’s used by 1.69 for the mount system. That’s how you get the horse radial menu - as carmour’s IP. Deleting the skin mid-game is a bad idea, but any module that needs one will probably supply it at the beginning (just like 1.69 does in its x3_def_enter script).


#9

It worked perfectly, thanks again!


#10

@NWShacker @Andarian Regarding the PC skin, yes, modules that need it will create one at the outset if necessary (because no one can be sure what an imported PC already has).

Not only that, 1.69 is littered with scripts that give the player a skin and / or horse feats, because the developers couldn’t find a cast iron way of preventing the skin from being unequipped. Bioware forgot to make x3_mod_def_enter the default in the toolset, but even if builders don’t correct that, all the other scripts kick in.


#11

Thanks, Proleric. That explains a bit, including why I see it in corpse loot from time to time.


#12

It is the default. But to add more confusion, like you said, they also decided to alter previous scripts (i.e. nw_o0_death) rather than replace them with fresh XP3 versions.

Skins given by the horse system have SetDroppable(FALSE) so they shouldn’t appear in loot… But I remember seeing messages about receiving the skin on death / respawn (?), so there might be a problem of getting duplicates rather than unequpping? Pure speculation, though, since I’m no horse expert.

EDIT: in hindsight, I now understand what @Proleric meant. There’s no way to prevent the skin from unequpping and appearing in PC’s loot bag (droppable, plot, and cursed flags are useless here). The default on death handler doesn’t seem to destroy the skin either. Please correct me if I’m wrong.