//:://///////////////////////////////////////////// //:: Smoke Claws //:: NW_S1_SmokeClaw //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* If a Belker succeeds at a touch attack the target breaths in part of the Belker and suffers 3d4 damage per round until a Fortitude save is made. */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: May 23 , 2001 //::////////////////////////////////////////////// #include "NW_I0_SPELLS" #include "prc_inc_spells" //#include "wm_include" void main() { //if (WildMagicOverride()) { return; } //:: Declare major variables object oNPC = OBJECT_SELF; object oTarget = PRCGetSpellTargetObject(); int nHD = GetHitDice(oNPC); int nCONMod = GetAbilityModifier(ABILITY_CONSTITUTION, oNPC); int nDC = 10 +nCONMod+ (nHD/2); int bSave = FALSE; effect eVis = EffectVisualEffect(VFX_COM_BLOOD_REG_RED); effect eSmoke; float fDelay = 0.0; //Make a touch attack if(TouchAttackMelee(oTarget)) { if(!GetIsReactionTypeFriendly(oTarget)) { //Make a saving throw check while (bSave == FALSE) { //Make a saving throw check if(!/*FortSave*/PRCMySavingThrow(SAVING_THROW_FORT, oTarget, nDC, SAVING_THROW_TYPE_NONE, oNPC, fDelay)) { bSave = TRUE; } else { //Set damage eSmoke = EffectDamage(d4(3)); //Apply the VFX impact and effects DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eSmoke, oTarget)); DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget)); //Increment the delay fDelay = fDelay + 6.0; } } } } }