//::////////////////////////////////////////////// //:: Created By: Eddie V. Pacheco //:: Created On: July 31 2003 //:: Assisted and thanks to: YellowLab //::////////////////////////////////////////////// void ClearDarkness(object oOwner) { effect eTemp=GetFirstEffect(oOwner); while(GetIsEffectValid(eTemp)) { if(GetEffectType(eTemp)==EFFECT_TYPE_DARKNESS) { RemoveEffect(oOwner, eTemp); } eTemp=GetNextEffect(oOwner); } } void main() { ExportAllCharacters(); object oPC = GetLastPCRested(); SetLocalInt(oPC, "PCDead", 0); if (!GetIsPC(oPC)) return; object oTarget; oTarget = oPC; if (GetLastRestEventType()== REST_EVENTTYPE_REST_STARTED) { ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDarkness(), oTarget); ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectVisualEffect(VFX_IMP_SLEEP), oTarget); } if (GetLastRestEventType()== REST_EVENTTYPE_REST_CANCELLED) { ClearDarkness(oTarget); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectSlow(), oTarget, 10.0f); } if (GetLastRestEventType()== REST_EVENTTYPE_REST_FINISHED) { ClearDarkness(oTarget); ApplyEffectToObject(DURATION_TYPE_TEMPORARY, EffectSlow(), oTarget, 2.0f); } }