PRC8/nwn/trunk/newspellbook/moi_irfg_shield.nss
Jaysyn904 5914ed2ab5 Updated Release Archive
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.
2023-08-22 10:00:21 -04:00

38 lines
1.8 KiB
Plaintext

/*
5/7/20 by Stratovarius
Ironsoul Forgemaster Shield Bond
At 1st level, you create a special bond with any shield that you craft. This bond allows you to invest essentia in the shield as if it were a soulmeld.
Doing so grants you resistance 5 per point of invested essentia against acid, cold, electricity, fire, and sonic damage. You gain this ability only
while using the shield for defense. If you unequip the shield, you lose the soulmeld.
*/
#include "moi_inc_moifunc"
#include "prc_inc_fork"
void main()
{
object oMeldshaper = PRCGetSpellTargetObject();
int nEssentia = GetEssentiaInvested(oMeldshaper);
object oShield = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oMeldshaper);
if (GetIsShield(oShield) && GetTag(oShield) == ReplaceChars(GetName(oMeldshaper), " ","") && nEssentia)
{
int nBonus = (5 * nEssentia);
effect eLink = EffectVisualEffect(VFX_DUR_BLUESHIELDPROTECT);
if (nEssentia)
{
eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_ACID, nBonus));
eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_COLD, nBonus));
eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_ELECTRICAL, nBonus));
eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_FIRE, nBonus));
eLink = EffectLinkEffects(eLink, EffectDamageResistance(DAMAGE_TYPE_SONIC, nBonus));
}
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(eLink), oMeldshaper, 9999.0);
}
else if (nEssentia == 0)
FloatingTextStringOnCreature("You have no essentia invested in "+GetStringByStrRef(StringToInt(Get2DACache("spells", "Name", PRCGetSpellId()))), oMeldshaper, FALSE);
else
FloatingTextStringOnCreature("You do not have a shield equipped that you crafted", oMeldshaper, FALSE);
}