Updated AMS marker feats. Removed arcane & divine marker feats. Updated Dread Necromancer for epic progression. Updated weapon baseitem models. Updated new weapons for crafting & npc equip. Updated prefix. Updated release archive.
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);
|
|
}
|
|
} |