Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Dark Dreams of Furiae - a new module for NWN:EE! Buy now
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Shifters and PC skin Properties - Data Base and Sub Race Modifications

Gooday all,

If I use the PC Properties Skin to maintain Data Base persistence and/or use it to modify abilities by putting Item Properties for Sub Race modifications, will I lose any of these when a PC shifts? If I do lose any of the previously mentioned will they return when the PC ends the shift? Most servers ask that a shifter not be shifted when doing Quest progression tasks. And last Question. Is it possible to detect whether a PC is in a shifted form?

Comments

  • TerrorbleTerrorble Member Posts: 104
    DJ_WoW wrote: »
    If I use the PC Properties Skin to maintain Data Base persistence and/or use it to modify abilities by putting Item Properties for Sub Race modifications, will I lose any of these when a PC shifts? If I do lose any of the previously mentioned will they return when the PC ends the shift?

    So, unless you tell the shifting scripts to figure out what the racial/subrace bonuses are and add them once polymorphed, they will not carry over to shapes. Also, when they de-shift, the bonuses will need to be added back to the player.


    DJ_WoW wrote: »
    Most servers ask that a shifter not be shifted when doing Quest progression tasks. And last Question. Is it possible to detect whether a PC is in a shifted form?

    Hmm, I'm not certain here - I'm not sure what you use for database persistence. I set variables on an un-droppable player inventory item to track quests and journal entries. I know that works while shifted. Servers are not able to save characters if they are shifted and leveling up while shifted is problematic... so, I'm not sure if the vanilla database has an issue or not (if you're using it).



    This is from a package of shifting scripts from Iznoghoud that I picked up a long time ago. This function is what they used to determine if a player was shifted.
    // Returns the spell that applied a Polymorph Effect currently on the player.
    // -1 if it was no spell, -2 if no polymorph effect found.
    int ScanForPolymorphEffect(object oPC)
    {
        effect eEffect = GetFirstEffect(oPC);
        while ( GetIsEffectValid(eEffect) )
        {
            if ( GetEffectType( eEffect ) == EFFECT_TYPE_POLYMORPH )
            {
                return GetEffectSpellId(eEffect);
            }
            eEffect = GetNextEffect(oPC);
        }
        return -2;
    }
    

    The following would mean they are shifted:
    	if( ScanForPolymorphEffect(oPC) ) != -2
    	{
    		//this means they have some sort of polymorph effect on them
    	}
    


    The whole package of scripts appears to be here:
    https://neverwintervault.org/project/nwn1/script/improved-shifter-wildshape-script

  • DJ_WoWDJ_WoW Member Posts: 32
    Wanted to thank you for your valuable insight and scripts. Trying things out.

    DJ-WoW

Sign In or Register to comment.