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.
67 lines
3.0 KiB
Plaintext
67 lines
3.0 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Wing Activation and Deactivation for Swift Wing
|
|
//:: prc_swftwg_wing.nss
|
|
//::///////////////////////////////////////////////
|
|
/*
|
|
Handles the wing activation and deactivation for the Swift Wing class.
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Fox
|
|
//:: Created On: Nov 20, 2007
|
|
//:://////////////////////////////////////////////
|
|
|
|
#include "pnp_shft_poly"
|
|
|
|
//internal fucntion to remove wings
|
|
void RemoveSWWings(object oPC)
|
|
{
|
|
object oSkin = GetPCSkin(oPC);
|
|
//if not shifted
|
|
SetPersistantLocalInt(oPC, "WingsOn", FALSE);
|
|
int nOriginalWings = GetPersistantLocalInt(oPC, "AppearanceStoredWing");
|
|
SetCreatureWingType(nOriginalWings, oPC);
|
|
IPRemoveMatchingItemProperties(oSkin, ITEM_PROPERTY_SKILL_BONUS, DURATION_TYPE_TEMPORARY, SKILL_JUMP);
|
|
}
|
|
|
|
//internal function to turn wings on
|
|
void AddSWWings(object oPC)
|
|
{
|
|
object oSkin = GetPCSkin(oPC);
|
|
//if not shifted
|
|
//store current appearance to be safe
|
|
StoreAppearance(oPC);
|
|
//grant wings
|
|
SetPersistantLocalInt(oPC, "WingsOn", TRUE);
|
|
int nWingType = GetHasFeat(FEAT_DRAGON_AFFINITY_BK, oPC) ? PRC_WING_TYPE_DRAGON_BLACK:
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_BL, oPC) ? PRC_WING_TYPE_DRAGON_BLUE :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_AM, oPC) ? PRC_WING_TYPE_DRAGON_BLUE :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_SA, oPC) ? PRC_WING_TYPE_DRAGON_BLUE :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_TP, oPC) ? PRC_WING_TYPE_DRAGON_BLUE :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_BS, oPC) ? PRC_WING_TYPE_DRAGON_BRASS :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_BZ, oPC) ? PRC_WING_TYPE_DRAGON_BRONZE :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_CP, oPC) ? PRC_WING_TYPE_DRAGON_COPPER :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_GD, oPC) ? PRC_WING_TYPE_DRAGON_GOLD :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_GR, oPC) ? PRC_WING_TYPE_DRAGON_GREEN :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_EM, oPC) ? PRC_WING_TYPE_DRAGON_GREEN :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_SR, oPC) ? PRC_WING_TYPE_DRAGON_SILVER :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_CR, oPC) ? PRC_WING_TYPE_DRAGON_SILVER :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_WH, oPC) ? PRC_WING_TYPE_DRAGON_WHITE :
|
|
GetHasFeat(FEAT_DRAGON_AFFINITY_RD, oPC) ? PRC_WING_TYPE_DRAGON_RED :
|
|
CREATURE_WING_TYPE_DRAGON;
|
|
SetCreatureWingType(nWingType, oPC);
|
|
AddItemProperty(DURATION_TYPE_TEMPORARY, ItemPropertySkillBonus(SKILL_JUMP, 10), oSkin, 9999.0);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
object oPC = OBJECT_SELF;
|
|
if(!GetIsPolyMorphedOrShifted(oPC))
|
|
{
|
|
if(!GetPersistantLocalInt(oPC, "WingsOn"))
|
|
AddSWWings(oPC);
|
|
else
|
|
RemoveSWWings(oPC);
|
|
}
|
|
else
|
|
FloatingTextStringOnCreature("You cannot use this ability while shifted.", oPC, FALSE);
|
|
} |