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.
154 lines
8.0 KiB
Plaintext
154 lines
8.0 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Races of the Dragon Feats
|
|
//:: prc_rotdfeat.nss
|
|
//::///////////////////////////////////////////////
|
|
/*
|
|
Handles the following feats from Races of the Dragon:
|
|
Dragon Tail
|
|
Dragon Wings
|
|
Dragonwrought
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Fox
|
|
//:: Created On: Nov 13, 2007
|
|
//:://////////////////////////////////////////////
|
|
|
|
void dragonwrought(object oSkin);
|
|
|
|
#include "pnp_shft_poly"
|
|
#include "prc_inc_natweap"
|
|
#include "prc_x2_itemprop"
|
|
|
|
//the feats common to all dragonwrought
|
|
void dragonwrought(object oSkin)
|
|
{
|
|
IPSafeAddItemProperty(oSkin, ItemPropertyBonusFeat(IP_CONST_FEAT_DRAGON), 0.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
|
IPSafeAddItemProperty(oSkin, ItemPropertyDarkvision(), 0.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
|
IPSafeAddItemProperty(oSkin, ItemPropertyBonusFeat(IP_CONST_FEAT_DRAGON_IMMUNE), 0.0f, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
|
|
object oPC = OBJECT_SELF;
|
|
object oSkin = GetPCSkin(oPC);
|
|
int nSize = PRCGetCreatureSize(oPC);
|
|
int nWingType;
|
|
int nTailType;
|
|
|
|
//wings
|
|
if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BK) || GetHasFeat(FEAT_DRACONIC_HERITAGE_BK)) nWingType = PRC_WING_TYPE_DRAGON_BLACK;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BL) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_AM) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_SA) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_TP) || GetHasFeat(FEAT_DRACONIC_HERITAGE_BL) || GetHasFeat(FEAT_DRACONIC_HERITAGE_AM) || GetHasFeat(FEAT_DRACONIC_HERITAGE_SA) || GetHasFeat(FEAT_DRACONIC_HERITAGE_TP)) nWingType = PRC_WING_TYPE_DRAGON_BLUE;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_GR) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_EM) || GetHasFeat(FEAT_DRACONIC_HERITAGE_GR) || GetHasFeat(FEAT_DRACONIC_HERITAGE_EM)) nWingType = PRC_WING_TYPE_DRAGON_GREEN;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_RD) || GetHasFeat(FEAT_DRACONIC_HERITAGE_RD)) nWingType = PRC_WING_TYPE_DRAGON_RED;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_WH) || GetHasFeat(FEAT_DRACONIC_HERITAGE_WH)) nWingType = PRC_WING_TYPE_DRAGON_WHITE;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_CR) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_SR) || GetHasFeat(FEAT_DRACONIC_HERITAGE_CR) || GetHasFeat(FEAT_DRACONIC_HERITAGE_SR)) nWingType = PRC_WING_TYPE_DRAGON_SILVER;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BS) || GetHasFeat(FEAT_DRACONIC_HERITAGE_BS)) nWingType = PRC_WING_TYPE_DRAGON_BRASS;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BZ) || GetHasFeat(FEAT_DRACONIC_HERITAGE_BZ)) nWingType = PRC_WING_TYPE_DRAGON_BRONZE;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_CP) || GetHasFeat(FEAT_DRACONIC_HERITAGE_CP)) nWingType = PRC_WING_TYPE_DRAGON_COPPER;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_GD) || GetHasFeat(FEAT_DRACONIC_HERITAGE_GD)) nWingType = PRC_WING_TYPE_DRAGON_GOLD;
|
|
else nWingType = PRC_WING_TYPE_DRAGON_RED;
|
|
|
|
//Tails
|
|
if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BK) || GetHasFeat(FEAT_DRACONIC_HERITAGE_BK)) nTailType = PRC_TAIL_TYPE_DRAGON_BLACK;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BL) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_AM) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_SA) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_TP) || GetHasFeat(FEAT_DRACONIC_HERITAGE_BL) || GetHasFeat(FEAT_DRACONIC_HERITAGE_AM) || GetHasFeat(FEAT_DRACONIC_HERITAGE_SA) || GetHasFeat(FEAT_DRACONIC_HERITAGE_TP)) nTailType = PRC_TAIL_TYPE_DRAGON_BLUE;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_GR) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_EM) || GetHasFeat(FEAT_DRACONIC_HERITAGE_GR) || GetHasFeat(FEAT_DRACONIC_HERITAGE_EM)) nTailType = PRC_TAIL_TYPE_DRAGON_GREEN;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_RD) || GetHasFeat(FEAT_DRACONIC_HERITAGE_RD)) nTailType = PRC_TAIL_TYPE_DRAGON_RED;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_WH) || GetHasFeat(FEAT_DRACONIC_HERITAGE_WH)) nTailType = PRC_TAIL_TYPE_DRAGON_WHITE;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_CR) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_SR) || GetHasFeat(FEAT_DRACONIC_HERITAGE_CR) || GetHasFeat(FEAT_DRACONIC_HERITAGE_SR)) nTailType = PRC_TAIL_TYPE_DRAGON_SILVER;
|
|
else if ((GetRacialType(oPC) == RACIAL_TYPE_BOZAK) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BS) || GetHasFeat(FEAT_DRACONIC_HERITAGE_BS)) nTailType = PRC_TAIL_TYPE_DRAGON_BRASS;
|
|
else if ((GetRacialType(oPC) == RACIAL_TYPE_BAAZ) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BZ) || GetHasFeat(FEAT_DRACONIC_HERITAGE_BZ)) nTailType = PRC_TAIL_TYPE_DRAGON_BRONZE;
|
|
else if ((GetRacialType(oPC) == RACIAL_TYPE_KAPAK) || GetHasFeat(FEAT_KOB_DRAGONWROUGHT_CP) || GetHasFeat(FEAT_DRACONIC_HERITAGE_CP)) nTailType = PRC_TAIL_TYPE_DRAGON_COPPER;
|
|
else if (GetHasFeat(FEAT_KOB_DRAGONWROUGHT_GD) || GetHasFeat(FEAT_DRACONIC_HERITAGE_GD)) nTailType = PRC_TAIL_TYPE_DRAGON_GOLD;
|
|
else nTailType = PRC_TAIL_TYPE_DRAGON_RED;
|
|
|
|
//Adds the dragon tail
|
|
if(GetHasFeat(FEAT_KOB_DRAGON_TAIL, oPC))
|
|
{
|
|
string sResRef = "prc_kobdratail_";
|
|
sResRef += GetAffixForSize(nSize);
|
|
if(DEBUG) DoDebug(sResRef);
|
|
AddNaturalSecondaryWeapon(oPC, sResRef);
|
|
DoTail(oPC, nTailType);
|
|
}
|
|
|
|
//Adds the wings
|
|
if(GetHasFeat(FEAT_KOB_DRAGON_WING_A, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGON_WING_BC, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGON_WING_BG, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGON_WING_BM, oPC))
|
|
{
|
|
SetCompositeBonus(oSkin, "Dragon_Glide", 10, ITEM_PROPERTY_SKILL_BONUS, SKILL_JUMP);
|
|
DoWings(oPC, nWingType);
|
|
}
|
|
|
|
//+2 to Hide for Black, Blue, White, and Copper heritage
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BK, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BL, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGONWROUGHT_WH, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGONWROUGHT_CP, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Hide", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_HIDE);
|
|
}
|
|
|
|
//+2 to Appraise for Red heritage
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_RD, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Appraise", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_APPRAISE);
|
|
}
|
|
|
|
//+2 to Move Silently for Green heritage
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_GR, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Move_Silent", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_MOVE_SILENTLY);
|
|
}
|
|
|
|
//+2 to Persuade(Diplomacy) for Amethyst and Crystal heritage
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_AM, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGONWROUGHT_CR, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Persuade", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_PERSUADE);
|
|
}
|
|
|
|
//+2 to Lore for Emerald, Sapphire, and Brass Heritage. Brass should
|
|
//have Gather Information, using Lore as substitute.
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_EM, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGONWROUGHT_SA, oPC)
|
|
|| GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BS, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Lore", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_LORE);
|
|
}
|
|
|
|
//+2 to Jump for Topaz, standing in for the +2 to Swim they should have
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_TP, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Jump", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_JUMP);
|
|
}
|
|
|
|
//+2 to Search for Bronze, standing in for +2 to Survival
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_BZ, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Search", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_SEARCH);
|
|
}
|
|
|
|
//+2 to Heal for Gold heritage
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_GD, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Heal", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_HEAL);
|
|
}
|
|
|
|
//+2 to Bluff for Silver heritage, standing in for +2 to Disguise
|
|
if(GetHasFeat(FEAT_KOB_DRAGONWROUGHT_SR, oPC))
|
|
{
|
|
dragonwrought(oSkin);
|
|
SetCompositeBonus(oSkin, "DA_Bluff", 2, ITEM_PROPERTY_SKILL_BONUS, SKILL_BLUFF);
|
|
}
|
|
} |