//#include "ro_generic" //#include "ro_ro_rules" //#include "ro_randmatk" void main() { SpeakString("Otiluke's Sphere !"); WriteTimestampedLogEntry("Otiluke's Sphere !");
object oPC = OBJECT_SELF; object oTarget = GetAttemptedSpellTarget(); float fDuration = RoundsToSeconds(GetCasterLevel(oPC)); effect eVFX = EffectVisualEffect(VFX_DUR_SPELLTURNING); eVFX = EffectLinkEffects(EffectVisualEffect(VFX_DUR_PARALYZE_HOLD ),eVFX); eVFX = EffectLinkEffects(EffectVisualEffect(VFX_DUR_MIND_AFFECTING_NEGATIVE),eVFX); effect eVFX1 = EffectVisualEffect(4);
//if ((GetPlotFlag(oTarget)!= TRUE)&& (GetIsNvnRoDM(oTarget)==FALSE)) if ((GetPlotFlag(oTarget)!= TRUE)&& (GetIsDM(oTarget)==FALSE)) { ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVFX1,oTarget,fDuration); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVFX1,oTarget,fDuration); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVFX1,oTarget,fDuration); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVFX1,oTarget,fDuration); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVFX1,oTarget,fDuration); ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eVFX,oTarget,fDuration); AssignCommand(oTarget,ClearAllActions()); AssignCommand(oTarget,ClearAllActions(TRUE)); // Parfois, le ClearAll ne fonctionne pas tout seul... :/ DelayCommand(1.0,SetCommandable(FALSE,oTarget)); DelayCommand(fDuration+1.0,SetCommandable(TRUE,oTarget)); DelayCommand(1.0,SetPlotFlag(oTarget,TRUE)); DelayCommand(fDuration+1.0,SetPlotFlag(oTarget,FALSE)); } }
A noter que ce sort date un peu, quand même, et qu'il doit pouvoir etre optimisable avec les EffectPetrify de la 1.32
(tiens, oui, au fait...)
|