//////////////////////////////////////////////////////////////////////////////// // // Talus Menu on Rest // tal_include // OPW Integration and Clean Up By Don Anderson // dandersonru@msn.com // // Used in Rest Menu Conversation // //////////////////////////////////////////////////////////////////////////////// #include "nw_i0_spells" void Scrying(object oPC,object oTarg) { location pcLocation=GetLocation(oPC); float scrydur=16.0+IntToFloat(GetCasterLevel(oPC)/3); if(GetCasterLevel(oPC)<=GetCasterLevel(oTarg)) { if(d4()>2) SendMessageToPC(oTarg,"You sense you are being watched from afar."); } object oCopy=CopyObject(oPC,pcLocation,OBJECT_INVALID,GetName(oPC)+"copy"); DestroyObject(oCopy,scrydur-0.2); RemoveSpellEffects(SPELL_CLAIRAUDIENCE_AND_CLAIRVOYANCE,oPC,oPC); DelayCommand(scrydur+0.4,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(GetMaxHitPoints(oCopy),DAMAGE_TYPE_POSITIVE,DAMAGE_POWER_NORMAL),oCopy)); AssignCommand(oCopy,ActionPlayAnimation(ANIMATION_LOOPING_CONJURE1,0.2,3600.00)); ChangeToStandardFaction(oCopy,STANDARD_FACTION_COMMONER); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_DUR_PROT_PREMONITION ),oCopy,scrydur-0.6); SetImmortal(oCopy,TRUE); SetCutsceneMode(oPC,TRUE); DelayCommand(scrydur+0.5,SetCutsceneMode(oPC,FALSE)); DelayCommand(scrydur+0.5,ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDamage(GetMaxHitPoints(oCopy)-GetCurrentHitPoints(oCopy),DAMAGE_TYPE_POSITIVE,DAMAGE_POWER_NORMAL),oPC)); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectEthereal(),oPC,scrydur+0.5); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectVisualEffect(VFX_DUR_CUTSCENE_INVISIBILITY),oPC,scrydur+0.5); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectCutsceneGhost(),oPC,scrydur+0.5); AssignCommand(oPC,ActionJumpToObject(oTarg,FALSE)); DelayCommand(scrydur-0.3,AssignCommand(oPC,ClearAllActions())); DelayCommand(scrydur-0.7,SetPlotFlag(oPC,FALSE)); pcLocation=GetLocation(oCopy); DelayCommand(scrydur,AssignCommand(oPC,ActionJumpToLocation(pcLocation))); AssignCommand(oPC,ActionForceFollowObject(oTarg,1.0)); SetPlotFlag(oPC,TRUE); } int StartingConditional(){return TRUE;} //void main(){}