Script for familiar possession anyone?

I am looking for a script that would allow a PC to possess a creature you summon like a wizard does with his familiar.

I want to create a spell that uses this script and release it to the community :slight_smile:

I have the idea and can do everything but the script(s) to accomplish this.

Credit will also go to the person who can provide the script(s).

That would be quite cool to use in NWN2 also. I’m thinking out loud now, but wouldn’t it be possible to do a script using the function AddHenchman or SummonFamiliar?

1 Like

Just brainstorming here…Maybe something like this (it compiles in NWN2 toolset, not sure about NWN1):
This script would be called from a conversation or a trigger.

void AddTheFamiliar(object oCompanion, string sFamiliar)
{

object oFamiliar = GetObjectByTag(sFamiliar);

AddHenchman(oCompanion,oFamiliar);



}


void main()
{

object oCompanion = GetObjectByTag("tagofcompanion");

location lLocation = GetLocation(GetFirstPC());

CreateObject(OBJECT_TYPE_CREATURE,"tagoffamiliar",lLocation,TRUE);


DelayCommand(0.5,AddTheFamiliar(oCompanion,"tagoffamiliar"));


}

EDIT: To be used on a trigger or conversation. Untested in game.

EDIT2: Noticed a mistake in the script. Corrected.

1 Like

Thanks andgalf

I will try it in NWN:EE…I would like to do the Wizard Spell: “Wizard Eye”…you can posses it (the mdl would be the flying eye with invisibility on it). Then the wizard could posses it during the duration of the spell to go scout ahead.

Description of spell

Ok, I have no idea if this spell is available in NWN1 or NWN2. Don’t recognize the name.

It was in the original D&D. I think it would be cool in NWN :slight_smile:

Since it has been way too long since I played NWN1, I don’t remember how henchmen or familiars work there. In NWN2 (that’s one of the real cool things about that game) you can take full control of your companions. I have some vague memory of henchman doing what they want in NWN1, just assisting you in battle and whatnot, but I really don’t remember.

EDIT: Maybe you could test my script out with some random flying creature. Maybe you should let the PC be the “owner” of the familiar instead of the companion/henchman.

I will try this out and later let you know how it works :slight_smile:

That would be cool if it worked in NWN:EE and if you created it in NWN2…read the spell desciption. Apparently it is called “Arcane Eye” in versions 3 and up.

If you read my script you see that you need to create a creature beforehand with a certain tag for it to show up ingame.

Yup will do, thanks bud. I so appreciate your help.

I googled NWN and Arcane Eye but found no match. I also tried checking the lexicon but have found nothing so far. Guess one could look in Spells.2da, but again I don’t recognize the name of the spell so…

Then again, maybe you don’t need that particular spell. If you create an object that is a henchman to the PC or a companion, then make that creature invisible beforehand with using (in NWN2 it functions like this) the Appearance of InvisibleMan then you could imagine it being an invisible eye and make it function like that perhaps.
Again, all this is just brainstorming. I’m sure that other experts on spells and such here can help you much better than I can.

EDIT: I just tested my script in NWN2. The familiar is created but I noticed you can’t control it since it’s technically a henchman. In NWN2 I could easily solve this by doing the familiar as a companion instead. For NWN1, that doesn’t have companions, I’m not sure. Maybe one could in that case modify the script by giving the PC or the henchman the feat of being able to have a familiar…not sure…

EDIT2: Perhaps you could use EffectSummonCreature instead…

1 Like

Something like this perhaps? (Requires further testing):

void main()
{

object oPC = GetFirstPC();

effect eSummon = EffectSummonCreature("familiar",VFX_HIT_SPELL_CONJURATION,0.0,1);
location lLoc = GetLocation(GetFirstPC());
ApplyEffectAtLocation(DURATION_TYPE_PERMANENT, eSummon, lLoc,30.0);

}

EDIT: Hmm…This creature isn’t controlled by anyone…

I tried this too, but it’s the same problem with all the scripts: Even though it spawns, you don’t directly control the familiar:

void main()
{

object oPC = GetFirstPC();

FeatAdd(oPC,FEAT_ANIMAL_COMPANION,FALSE);

SummonAnimalCompanion(oPC,"familiar");

}

There are potentially some camera moving options in the preview patch but real possession of another creature other than a familiar isn’t really possible in NWN1 unlike the party control of NWN2. NWNX has some hacky methods though if you run a server.

Mmm, thought so. What about this? This worked pretty well in NWN2, even though the PC follows when controlling the familiar:

void main()
{

object oPC = GetFirstPC();

FeatAdd(oPC,FEAT_SUMMON_FAMILIAR,FALSE);

SummonFamiliar(oPC,"familiar");


}

EDIT: With this script it worked perfectly in NWN2 at least, but I’m not sure of this function in or include script in NWN1.

#include "x0_i0_assoc" // SetAssociateState()

void main()
{

object oPC = GetFirstPC();

FeatAdd(oPC,FEAT_SUMMON_FAMILIAR,FALSE);

SummonFamiliar(oPC,"familiar");

SetAssociateState(NW_ASC_MODE_STAND_GROUND,TRUE,oPC);


}

You can’t add feats, and can’t set a summoned familiar resref / line in singleplayer NWN1

Ok, then I think I’m of no further help here. I’ll leave this to the ones that actually tinker with NWN1 and not NWN2 like myself. Well, at least I tried…

So Jasperre,

You saying there is absolutely no way to create a sort of limited duration familiar type creature one can possess for summoning?

Yes not in NWN1 singleplayer. Not unless they add it in the future or if you run a server and use NWNX which can accomplish it.

@Imtherealthing - Maybe you should try NWN2 instead then? :wink: It’s a lot of fun! :grinning: