PRC8/nwn/nwnprc/trunk/newspellbook/moi_iblade_mld.nss
Jaysyn904 6ec137a24e Updated AMS marker feats
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.
2024-02-11 14:01:05 -05:00

57 lines
3.9 KiB
Plaintext

/*
25/1/21 by Stratovarius
Blademelds
Crown You gain a +4 bonus on disarm checks and on Sense Motive ;
Feet You gain a +2 bonus on Initiative ;
Hands You gain a +1 bonus on damage ;
Arms You gain a +2 bonus on attack rolls ;
Brow You gain the Blind-Fight feat ;
Shoulders You gain immunity to criticals but not sneak attacks ;
Throat At will as a standard action, each enemy within 60 feet who can hear you shout must save or become shaken for 1 round (Will DC 10 + incarnum blade level + Con modifier). ;
Waist You gain a +10 bonus on checks made to avoid being bull rushed, grappled, tripped, or overrun. You also gain Uncanny Dodge ;
Heart You gain temporary hit points equal to twice your character level (maximum +40) ;
Soul You break DR up to +3, and deal 1d6 damage to creatures of one opposed alignment ;
*/
#include "moi_inc_moifunc"
void main()
{
object oMeldshaper = PRCGetSpellTargetObject();
int nMeld = GetSpellId();
if (nMeld == MELD_BLADEMELD_CROWN ) ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectSkillIncrease(SKILL_SENSE_MOTIVE, 4)), oMeldshaper, 9999.0);
if (nMeld == MELD_BLADEMELD_FEET ) IPSafeAddItemProperty(GetPCSkin(oMeldshaper), ItemPropertyBonusFeat(IP_CONST_FEAT_BLOODED), 9999.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
if (nMeld == MELD_BLADEMELD_HANDS ) ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectDamageIncrease(DAMAGE_BONUS_1, DAMAGE_TYPE_POSITIVE)), oMeldshaper, 9999.0);
if (nMeld == MELD_BLADEMELD_ARMS ) ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectAttackIncrease(2)), oMeldshaper, 9999.0);
if (nMeld == MELD_BLADEMELD_BROW ) IPSafeAddItemProperty(GetPCSkin(oMeldshaper), ItemPropertyBonusFeat(IP_CONST_FEAT_BLINDFIGHT), 9999.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
if (nMeld == MELD_BLADEMELD_SHOULDERS) ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectImmunity(IMMUNITY_TYPE_CRITICAL_HIT)), oMeldshaper, 9999.0);
if (nMeld == MELD_BLADEMELD_THROAT ) IPSafeAddItemProperty(GetPCSkin(oMeldshaper), ItemPropertyBonusFeat(IP_CONST_MELD_BLADEMELD_SHOUT), 9999.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
if (nMeld == MELD_BLADEMELD_WAIST )
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE)), oMeldshaper, 9999.0);
IPSafeAddItemProperty(GetPCSkin(oMeldshaper), ItemPropertyBonusFeat(IP_CONST_FEAT_UNCANNY_DODGE1), 9999.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
}
if (nMeld == MELD_BLADEMELD_HEART ) ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectTemporaryHitpoints(GetHitDice(oMeldshaper)*2)), oMeldshaper, 9999.0);
if (nMeld == MELD_BLADEMELD_SOUL )
{
object oItem = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oMeldshaper);
if (IPGetIsMeleeWeapon(oItem))
{
IPSafeAddItemProperty(oItem, ItemPropertyAttackBonus(3), 99999.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, TRUE);
IPSafeAddItemProperty(oItem, ItemPropertyAttackPenalty(3), 99999.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, TRUE);
}
effect eLink;
if (GetAlignmentGoodEvil(oMeldshaper) == ALIGNMENT_GOOD) eLink = VersusAlignmentEffect(EffectDamageIncrease(DAMAGE_BONUS_1d6, DAMAGE_TYPE_BASE_WEAPON), ALIGNMENT_EVIL);
else if (GetAlignmentLawChaos(oMeldshaper) == ALIGNMENT_LAWFUL) eLink = VersusAlignmentEffect(EffectDamageIncrease(DAMAGE_BONUS_1d6, DAMAGE_TYPE_BASE_WEAPON), ALIGNMENT_CHAOTIC);
else if (GetAlignmentLawChaos(oMeldshaper) == ALIGNMENT_CHAOTIC) eLink = VersusAlignmentEffect(EffectDamageIncrease(DAMAGE_BONUS_1d6, DAMAGE_TYPE_BASE_WEAPON), ALIGNMENT_LAWFUL);
else if (GetAlignmentGoodEvil(oMeldshaper) == ALIGNMENT_EVIL) eLink = VersusAlignmentEffect(EffectDamageIncrease(DAMAGE_BONUS_1d6, DAMAGE_TYPE_BASE_WEAPON), ALIGNMENT_GOOD);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink), oMeldshaper, 9999.0);
}
}