PRC8/nwn/nwnprc/trunk/newspellbook/bnd_vest_eurynom.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

109 lines
5.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
04/03/21 by Stratovarius
Eurynome, Mother of the Material
Eurynome grants lordship over the beasts of land, seas, and air. She also gives those with whom she binds some of the might of titans.
Vestige Level: 4th
Binding DC: 21
Special Requirement: Eurynome hates Amon for some unknown reason and will not answer your call if you are already bound to him.
Influence: Eurynomes influence makes you paranoid and ungrateful; you see secret motives and possible betrayals behind every action. Eurynome requires that you not
attack a foe unless an ally has already done so. If no allies are present, she makes no such requirement
Granted Abilities:
Eurynome grants you the ability to befriend animals and wield a massive hammer. In addition, she turns your blood into poison and gives you resistance to weapon blows.
Animal Friend: All animals automatically have an initial attitude of friendly toward you.
Damage Reduction: You gain damage reduction 2/+3.
Eurynomes Maul: You summon a magic warhammer (1d8+1d4 bludgeoning damage, ×3 crit). You are proficient with this weapon and can wield it without penalty. Your warhammers
exact bonus and abilities depend on your effective binder level, according to the following table.
Effective Binder Level Warhammer Summoned
10th or lower +1 warhammer
11th14th +1 anarchic warhammer
15th18th +1 anarchic adamantine warhammer
19th or higher +3 anarchic adamantine warhammer
Poison Blood: While you are bound to Eurynome, your blood becomes poisonous. Any creature that makes a bite attack against you must immediately make a successful
Fortitude save or take 1d6 points of damage. After 1 minute, the creature must make another Fortitude save at the same DC or take another 1d6 points of damage per
three effective binder levels you possess (maximum 5d6). Each bite attack poisons the creature anew, forcing a new round of saving throws.
*/
#include "bnd_inc_bndfunc"
void EurynomeInfluence(object oBinder, int nCombat);
void EurynomeInfluence(object oBinder, int nCombat)
{
if (GetHasSpellEffect(VESTIGE_EURYNOME, oBinder))
{
int nCurrent = GetIsInCombat(oBinder);
// We just entered combat
if (nCurrent == TRUE && nCombat == FALSE)
{
// Find an ally
location lTarget = GetLocation(oBinder);
object oAreaTarget = MyFirstObjectInShape(SHAPE_SPHERE, FeetToMeters(60.0), lTarget, TRUE, OBJECT_TYPE_CREATURE);
while(GetIsObjectValid(oAreaTarget))
{
if(GetIsFriend(oAreaTarget, oBinder)) // Find that friend!
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectSlow()), oBinder, 6.0);
break;
}
//Select the next target within the spell shape.
oAreaTarget = MyNextObjectInShape(SHAPE_SPHERE, FeetToMeters(60.0), lTarget, TRUE, OBJECT_TYPE_CREATURE);
}
}
DelayCommand(0.25, EurynomeInfluence(oBinder, nCurrent));
}
}
void main()
{
object oBinder = PRCGetSpellTargetObject();
SetLocalObject(GetModule(), "EurynomeCharm", oBinder);
int nBinderLevel = GetBinderLevel(oBinder, VESTIGE_EURYNOME);
effect eLink = EffectLinkEffects(EffectVisualEffect(PSI_DUR_SYNESTHETE), EffectPact(oBinder));
if (!GetIsVestigeExploited(oBinder, VESTIGE_EURYNOME_ANIMAL_FRIEND)) eLink = EffectLinkEffects(eLink, EffectAreaOfEffect(136, "bnd_vest_eurychm", "", ""));
if (!GetIsVestigeExploited(oBinder, VESTIGE_EURYNOME_DR)) eLink = EffectLinkEffects(eLink, EffectDamageReduction(2, DAMAGE_POWER_PLUS_THREE));
if (!GetIsVestigeExploited(oBinder, VESTIGE_EURYNOME_MAUL))
{
IPSafeAddItemProperty(GetPCSkin(oBinder), ItemPropertyBonusFeat(IP_CONST_FEAT_WEAPON_PROFICIENCY_WARHAMMER), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
object oHammer = CreateItemOnObject("bnd_eury_hammer", oBinder);
SetIdentified(oHammer, TRUE);
SetDroppableFlag(oHammer, FALSE);
SetItemCursedFlag(oHammer, TRUE);
AssignCommand(oHammer, SetIsDestroyable(FALSE, FALSE, FALSE));
DelayCommand(0.25, AssignCommand(oBinder, ActionEquipItem(oHammer, INVENTORY_SLOT_RIGHTHAND)));
if (nBinderLevel >= 19) IPSafeAddItemProperty(oHammer, ItemPropertyEnhancementBonus(3), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, TRUE);
if (nBinderLevel >= 15)
{
IPSafeAddItemProperty(oHammer, ItemPropertyAttackBonus(5), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, TRUE);
IPSafeAddItemProperty(oHammer, ItemPropertyAttackPenalty(5), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, TRUE);
}
if (nBinderLevel >= 11) IPSafeAddItemProperty(oHammer, ItemPropertyDamageBonusVsAlign(IP_CONST_ALIGNMENTGROUP_LAWFUL, IP_CONST_DAMAGETYPE_BLUDGEONING, IP_CONST_DAMAGEBONUS_2d6), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, TRUE);
}
if (!GetLocalInt(oBinder, "PactQuality"+IntToString(VESTIGE_EURYNOME)))
{
FloatingTextStringOnCreature("You have made a poor pact, and Eurynome prevents you from acting first in combat!", oBinder, FALSE);
// Lets the spell apply first
DelayCommand(3.0, EurynomeInfluence(oBinder, FALSE));
}
if (!GetIsVestigeExploited(oBinder, VESTIGE_EURYNOME_POISON))
{
IPSafeAddItemProperty(GetItemInSlot(INVENTORY_SLOT_CHEST, oBinder), ItemPropertyOnHitCastSpell(IP_CONST_ONHIT_CASTSPELL_ONHIT_UNIQUEPOWER, 1), HoursToSeconds(24), X2_IP_ADDPROP_POLICY_KEEP_EXISTING);
AddEventScript(GetItemInSlot(INVENTORY_SLOT_CHEST, oBinder), EVENT_ITEM_ONHIT, "bnd_events", TRUE, FALSE);
}
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink), oBinder, HoursToSeconds(24));
}