forked from Jaysyn/PRC8
Updated Release Archive. Fixed Mage-killer prereqs. Removed old LETO & ConvoCC related files. Added organized spell scroll store. Fixed Gloura spellbook. Various TLK fixes. Reorganized Repo. Removed invalid user folders. Added DocGen back in.
61 lines
1.9 KiB
Plaintext
61 lines
1.9 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Removing Polymorph Effect, and Summoned Wolf on Level
|
|
//:: prc_wwunpoly
|
|
//:: Copyright (c) 2004 Shepherd Soft
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Russell S. Ahlstrom
|
|
//:: Created On: May 14, 2004
|
|
//:: Updated On: 2012 11-27 (Added check for PnP Shifter Polymorphing instead of Bioware)
|
|
//:://////////////////////////////////////////////
|
|
#include "prc_alterations"
|
|
#include "prc_feat_const"
|
|
|
|
#include "pnp_shft_poly"
|
|
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
|
|
// If currently flagged as shifted, then play the polymorph FX, since ShifterCheck/UnShift does not play FX
|
|
if (GetPersistantLocalInt(oPC,"nPCShifted"))
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_POLYMORPH), oPC);
|
|
|
|
// Check if a shifter, and if shifted then UnShift
|
|
// Alwasy perform this check, even if not using the PnP Shifting for Werewolf,
|
|
// since it doens't hurt, and acts as a safety for flipping the module flag after shifting
|
|
ShifterCheck(oPC);
|
|
|
|
|
|
effect ePoly = GetFirstEffect(oPC);
|
|
while (GetIsEffectValid(ePoly))
|
|
{
|
|
if (GetEffectType(ePoly) == EFFECT_TYPE_POLYMORPH)
|
|
{
|
|
RemoveEffect(oPC, ePoly);
|
|
break;
|
|
}
|
|
ePoly = GetNextEffect(oPC);
|
|
}
|
|
|
|
object oWolf = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC);
|
|
int nCount = 1;
|
|
while (GetIsObjectValid(oWolf))
|
|
{
|
|
if (GetName(oWolf) == "Wolf")
|
|
{
|
|
effect eVis = EffectVisualEffect(VFX_IMP_UNSUMMON);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oWolf);
|
|
DelayCommand(2.3, DestroyObject(oWolf));
|
|
IncrementRemainingFeatUses(oPC, FEAT_PRESTIGE_WOLF_EMPATHY);
|
|
break;
|
|
}
|
|
nCount++;
|
|
oWolf = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC, nCount);
|
|
}
|
|
}
|