//:://///////////////////////////////////////////// //:: Wounding Whispers //:: x0_s0_WoundWhis.nss //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* Magical whispers cause 1d8 sonic damage to attackers who hit you. Made the damage slightly more than the book says because we cannot do the +1 per level. */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Jan 7, 2002 //::////////////////////////////////////////////// //:: Modified for wounding whispers, July 30 2002, Brent //::////////////////////////////////////////////// //:: Last Update By: Andrew Nobbs May 01, 2003 /* Patch 1.70 - damage wasn't random */ #include "70_inc_spells" #include "x0_i0_spells" #include "x2_inc_spellhook" void main() { /* Spellcast Hook Code Added 2003-06-20 by Georg If you want to make changes to all spells, check x2_inc_spellhook.nss to find out more */ if (!X2PreSpellCastCode()) { // If code within the PreSpellCastHook (i.e. UMD) reports FALSE, do not run this spell return; } // End of Spell Cast Hook //Declare major variables spellsDeclareMajorVariables(); effect eVis = EffectVisualEffect(VFX_DUR_MIND_AFFECTING_POSITIVE); int nDuration = spell.Level; int nBonus = spell.Level/2; effect eShield = EffectDamageShield(nBonus, DAMAGE_BONUS_1d6, DAMAGE_TYPE_SONIC); effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_POSITIVE); //Link effects effect eLink = EffectLinkEffects(eShield, eDur); eLink = EffectLinkEffects(eLink, eVis); //Fire cast spell at event for the specified target SignalEvent(spell.Target, EventSpellCastAt(spell.Caster, spell.Id, FALSE)); if (GetHasSpellEffect(spell.Id, spell.Target)) { RemoveEffectsFromSpell(spell.Target,spell.Id);//the old function would allow stacking after changes i have done } //Enter Metamagic conditions if (spell.Meta == METAMAGIC_EXTEND) { nDuration = nDuration *2; //Duration is +100% } //Apply the VFX impact and effects ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, spell.Target, RoundsToSeconds(nDuration)); }