Added Wispling race. Wispling qualifies for Shifter (PnP). Bioware poisons now work with "new" PRC8 weapons. Updated PRC8 Tester mod store to have Bioware venoms. Updated PRC8 version. Added Alchemy expansion notes. Updated Starting package TLK notes.
99 lines
3.3 KiB
Plaintext
99 lines
3.3 KiB
Plaintext
//:://////////////////////////////////////////////
|
|
//:: Change Shape - return to true form
|
|
//:: prc_chngshp_true
|
|
//:://////////////////////////////////////////////
|
|
/** @file
|
|
Undoes any shifting that the character may
|
|
have undergone. Also removes any polymorph
|
|
effects.
|
|
|
|
Note: Also attempts to clear old shifter style shifting.
|
|
Depending on which one overrides, may need to change the
|
|
order of the if statements.
|
|
|
|
|
|
@author Shane Hennessy
|
|
@date Modified - 2006.10.08 - rewritten by Ornedan - modded by Fox
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "prc_inc_shifting"
|
|
#include "pnp_shft_poly"
|
|
#include "prc_racial_const"
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
|
|
int nRace = GetRacialType(oPC);
|
|
|
|
if(GetSpellId() == SPELL_IRDA_CHANGE_SHAPE_TRUE)
|
|
IncrementRemainingFeatUses(oPC, FEAT_IRDA_CHANGE_SHAPE);
|
|
|
|
if(GetSpellId() == SPELL_WISPLING_CHANGE_SHAPE_TRUE)
|
|
IncrementRemainingFeatUses(oPC, FEAT_WISPLING_CHANGE_SHAPE);
|
|
|
|
//End treeshape
|
|
if(GetHasSpellEffect(SPELL_TREESHAPE, oPC))
|
|
{
|
|
effect eVis;
|
|
string sTag = "Tree" + GetName(oPC);
|
|
object oTree = GetNearestObjectByTag(sTag, oPC);
|
|
if(GetIsObjectValid(oTree))
|
|
eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
|
|
DestroyObject(oTree);
|
|
|
|
PRCRemoveSpellEffects(SPELL_TREESHAPE, oPC, oPC);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oPC);
|
|
}
|
|
|
|
//;: Wispling Change Shape
|
|
PRCRemoveSpellEffects(17980, oPC, oPC);
|
|
|
|
// Aranea Alternate Form
|
|
PRCRemoveSpellEffects(1489, oPC, oPC);
|
|
PRCRemoveSpellEffects(1490, oPC, oPC);
|
|
PRCRemoveSpellEffects(1491, oPC, oPC);
|
|
|
|
// Undead Wildshape
|
|
PRCRemoveSpellEffects(2283, oPC, oPC);
|
|
PRCRemoveSpellEffects(2284, oPC, oPC);
|
|
PRCRemoveSpellEffects(2285, oPC, oPC);
|
|
PRCRemoveSpellEffects(2286, oPC, oPC);
|
|
PRCRemoveSpellEffects(2287, oPC, oPC);
|
|
PRCRemoveSpellEffects(2288, oPC, oPC);
|
|
|
|
DeleteLocalInt(oPC, "PRC_ShiftingOverride_Race");
|
|
|
|
if(GetLocalInt(oPC, "AraneaHumanoidForm") == TRUE || GetLocalInt(oPC, "AraneaHybridForm") == TRUE || GetPersistantLocalInt(oPC, "nPCShifted") == TRUE || GetLocalInt(oPC, "shifting") == TRUE)
|
|
{
|
|
SetLocalInt(oPC, "AraneaBiteEquip", TRUE);
|
|
}
|
|
|
|
//clear old style shifting first
|
|
if(GetLocalInt(oPC, "shifting"))
|
|
{
|
|
effect eFx = EffectVisualEffect(VFX_IMP_MAGICAL_VISION);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,eFx,OBJECT_SELF);
|
|
//re-use unshifter code from shifter instead
|
|
//this will also remove complexities with lich/shifter characters
|
|
SetShiftTrueForm(oPC);
|
|
}
|
|
// Attempt to unshift and if it fails, inform the user with a message so they don't wonder whether something is happening or not
|
|
else if(UnShift(oPC, TRUE) == UNSHIFT_FAIL)
|
|
FloatingTextStrRefOnCreature(16828383, oPC, FALSE); // "Failed to return to true form!"
|
|
|
|
if(nRace==RACIAL_TYPE_ARANEA)
|
|
{
|
|
//string sResRef = "prc_ara_bite_";
|
|
//int nSize = PRCGetCreatureSize(oPC);
|
|
//primary weapon
|
|
//sResRef += GetAffixForSize(nSize);
|
|
//DelayCommand(0.5f, AddNaturalPrimaryWeapon(oPC, sResRef, 1, TRUE));
|
|
|
|
DeleteLocalInt(oPC, "AraneaHumanoidForm");
|
|
DeleteLocalInt(oPC, "AraneaHybridForm");
|
|
}
|
|
}
|