/* Inflame - Warpriest spell */ #include "prc_alterations" #include "prc_feat_const" #include "prc_class_const" #include "prc_spell_const" void ApplyEffect(); void main() { object oCaster = OBJECT_SELF; if(GetIsInCombat(oCaster)) { return; } ActionPlayAnimation(ANIMATION_LOOPING_TALK_FORCEFUL, 1.0, 5.0); ActionDoCommand(ApplyEffect()); string sDeity = GetDeity(oCaster); int iAlign = GetAlignmentGoodEvil(oCaster); int iGender = GetGender(oCaster); string sSpeech; if(sDeity != "") { switch(iAlign) { case ALIGNMENT_GOOD: sSpeech = GetStringByStrRef(0x0100302D, iGender); break; case ALIGNMENT_EVIL: sSpeech = GetStringByStrRef(0x0100302E, iGender); break; default: sSpeech = GetStringByStrRef(0x0100302F, iGender); break; } } else { switch(iAlign) { case ALIGNMENT_GOOD: sSpeech = GetStringByStrRef(0x01003030, iGender); break; case ALIGNMENT_EVIL: sSpeech = GetStringByStrRef(0x01003031, iGender); break; default: sSpeech = GetStringByStrRef(0x01003032, iGender); break; } } SpeakString(sSpeech, TALKVOLUME_TALK); } void ApplyEffect() { effect eVis = EffectVisualEffect(VFX_FNF_LOS_HOLY_10); location lCenter = GetLocation(OBJECT_SELF); ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eVis, lCenter); int iBonus = GetLevelByClass(CLASS_TYPE_WARPRIEST, OBJECT_SELF); effect eBuff = EffectSavingThrowIncrease(SAVING_THROW_ALL, iBonus, SAVING_THROW_TYPE_MIND_SPELLS); float fDuration = IntToFloat(5 + iBonus); fDuration = fDuration*60.0; object oTarget = GetFirstObjectInShape(SHAPE_SPHERE,10.0,lCenter,FALSE); while(oTarget != OBJECT_INVALID) { if(GetObjectHeard(OBJECT_SELF,oTarget)) { if(GetIsFriend(oTarget, OBJECT_SELF)) { ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBuff, oTarget, fDuration); } } oTarget = GetNextObjectInShape(SHAPE_SPHERE,10.0,lCenter,FALSE); } }