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.
65 lines
2.7 KiB
Plaintext
65 lines
2.7 KiB
Plaintext
#include "prc_feat_const"
|
|
#include "prc_misc_const"
|
|
#include "inc_item_props"
|
|
|
|
//// bonus CHA ////
|
|
void CharBonus(object oPC ,object oSkin ,int iLevel)
|
|
{
|
|
int iTest = GetPersistantLocalInt(oPC, "NWNX_HeartWardCha");
|
|
int nDiff = iLevel - iTest;
|
|
|
|
if(nDiff != 0)//only part of the bouns was applied permanently or not applied at all
|
|
SetCompositeBonus(oSkin, "HeartWardCharBonus", nDiff, ITEM_PROPERTY_ABILITY_BONUS,IP_CONST_ABILITY_CHA);
|
|
}
|
|
|
|
/// +2 on CHA based skill /////////
|
|
void Heart_Passion(object oPC ,object oSkin ,int iLevel)
|
|
{
|
|
int iTest = GetPersistantLocalInt(oPC, "NWNX_HeartWardSkill");
|
|
|
|
if(!iTest)
|
|
{
|
|
SetCompositeBonus(oSkin, "HeartPassionA", iLevel, ITEM_PROPERTY_SKILL_BONUS,SKILL_ANIMAL_EMPATHY);
|
|
SetCompositeBonus(oSkin, "HeartPassionP", iLevel, ITEM_PROPERTY_SKILL_BONUS,SKILL_PERFORM);
|
|
SetCompositeBonus(oSkin, "HeartPassionPe", iLevel, ITEM_PROPERTY_SKILL_BONUS,SKILL_PERSUADE);
|
|
SetCompositeBonus(oSkin, "HeartPassionT", iLevel, ITEM_PROPERTY_SKILL_BONUS,SKILL_SENSE_MOTIVE);
|
|
SetCompositeBonus(oSkin, "HeartPassionUMD", iLevel, ITEM_PROPERTY_SKILL_BONUS,SKILL_USE_MAGIC_DEVICE);
|
|
SetCompositeBonus(oSkin, "HeartPassionB", iLevel, ITEM_PROPERTY_SKILL_BONUS,SKILL_BLUFF);
|
|
SetCompositeBonus(oSkin, "HeartPassionI", iLevel, ITEM_PROPERTY_SKILL_BONUS,SKILL_INTIMIDATE);
|
|
}
|
|
}
|
|
|
|
//// subtype Fey ////
|
|
void Fey_Type(object oPC ,object oSkin )
|
|
{
|
|
if(GetLocalInt(oSkin, "FeyType") == 1) return;
|
|
|
|
AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_CHARM_PERSON),oSkin);
|
|
AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_DOMINATE_PERSON),oSkin);
|
|
AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_HOLD_PERSON),oSkin);
|
|
AddItemProperty(DURATION_TYPE_PERMANENT,ItemPropertySpellImmunitySpecific(IP_CONST_IMMUNITYSPELL_MASS_CHARM),oSkin);
|
|
|
|
SetLocalInt(oSkin, "FeyType",1);
|
|
}
|
|
|
|
void main()
|
|
{
|
|
|
|
//Declare main variables.
|
|
object oPC = OBJECT_SELF;
|
|
object oSkin = GetPCSkin(oPC);
|
|
|
|
int bChar=GetHasFeat(FEAT_CHARISMA_INC1, oPC) ? 1 : 0;
|
|
bChar=GetHasFeat(FEAT_CHARISMA_INC2, oPC) ? 2 : bChar;
|
|
bChar=GetHasFeat(FEAT_CHARISMA_INC3, oPC) ? 3 : bChar;
|
|
bChar=GetHasFeat(FEAT_CHARISMA_INC4, oPC) ? 4 : bChar;
|
|
bChar=GetHasFeat(FEAT_CHARISMA_INC5, oPC) ? 5 : bChar;
|
|
|
|
int bHeartP = GetHasFeat(FEAT_HEART_PASSION, oPC) ? 2 : 0;
|
|
int bFey = GetHasFeat(FEAT_FEY_METAMORPH, oPC) ? 1 : 0;
|
|
|
|
//if (bChar>0) DelayCommand(0.2, CharBonus(oPC, oSkin, bChar));
|
|
if (bHeartP>0) DelayCommand(0.2, Heart_Passion(oPC, oSkin,bHeartP));
|
|
if (bFey>0) DelayCommand(0.2, Fey_Type(oPC ,oSkin ));
|
|
}
|