46 lines
1.2 KiB
Plaintext
46 lines
1.2 KiB
Plaintext
#include "nw_i0_spells"
|
|
#include "x3_inc_horse"
|
|
|
|
|
|
void main()
|
|
{
|
|
object oHench;
|
|
int nHench;
|
|
|
|
// Get the PC who is in this conversation.
|
|
object oPC = GetPCSpeaker();
|
|
|
|
// Have the PC unpossess its familiar.
|
|
if ( GetIsPossessedFamiliar(oPC) )
|
|
// The PC is really the master of what is currently oPC.
|
|
oPC = GetMaster(oPC);
|
|
UnpossessFamiliar(GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oPC));
|
|
|
|
// Have the PC release its animal companion.
|
|
DestroyObject(GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oPC));
|
|
|
|
// Have the PC release its familiar.
|
|
DestroyObject(GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oPC));
|
|
|
|
// Have the PC dismiss its paladin mount.
|
|
AssignCommand(oPC, HorseUnsummonPaladinMount());
|
|
|
|
// Have the PC release its summoned creature.
|
|
DestroyObject(GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC));
|
|
|
|
// Have the PC release its dominated creature.
|
|
RemoveSpecificEffect(EFFECT_TYPE_DOMINATED, GetAssociate(ASSOCIATE_TYPE_DOMINATED, oPC));
|
|
|
|
// Have the PC release its henchman.
|
|
nHench = 1;
|
|
oHench = GetHenchman(oPC, 1);
|
|
while ( oHench != OBJECT_INVALID )
|
|
{
|
|
RemoveHenchman(oPC, oHench);
|
|
|
|
// Update the loop.
|
|
oHench = GetHenchman(oPC, ++nHench);
|
|
}
|
|
}
|
|
|