Further file organization
Further file organization
This commit is contained in:
43
nwn/nwnprc/trunk/scripts/prc_reservlern.nss
Normal file
43
nwn/nwnprc/trunk/scripts/prc_reservlern.nss
Normal file
@@ -0,0 +1,43 @@
|
||||
//Spell script for reserve feat Face-Changer Shape Learning
|
||||
//prc_reservlern
|
||||
//by ebonfowl
|
||||
//Dedicated to Edgar, the real Ebonfowl
|
||||
|
||||
#include "prc_inc_shifting"
|
||||
#include "prc_inc_spells"
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
int nSpellID = GetSpellId();
|
||||
int nShiftType = SHIFTER_TYPE_DISGUISE_SELF;
|
||||
|
||||
if (!GetLocalInt(oPC, "FaceChangerBonus"))
|
||||
{
|
||||
FloatingTextStringOnCreature("You do not have a spell available of adequate level or type", oPC, FALSE);
|
||||
return;
|
||||
}
|
||||
|
||||
// Store the PC's current appearance as true appearance
|
||||
/// @note This may be a bad idea, we have no way of knowing if the current appearance really is the "true appearance" - Ornedan
|
||||
StoreCurrentAppearanceAsTrueAppearance(oPC, TRUE);
|
||||
|
||||
// See if the creature is shiftable to. If so, store it as a template and shift
|
||||
if(GetCanShiftIntoCreature(oPC, nShiftType, oTarget))
|
||||
{
|
||||
StoreShiftingTemplate(oPC, nShiftType, oTarget);
|
||||
|
||||
FloatingTextStringOnCreature("Face-changer appearance stored", oPC, FALSE);
|
||||
|
||||
SetLocalInt(oPC, "HasFaceChanger", TRUE);
|
||||
DelayCommand(2.0, DeleteLocalInt(oPC, "HasFaceChanger"));
|
||||
|
||||
// Start shifting. If this fails immediately, refund the shifting use
|
||||
if(!ShiftIntoCreature(oPC, nShiftType, oTarget))
|
||||
{
|
||||
DeleteLocalInt(oPC, "HasFaceChanger");
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user