43 lines
1.2 KiB
Plaintext
43 lines
1.2 KiB
Plaintext
//:://////////////////////////////////////////////
|
|
//:: 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);
|
|
}
|
|
}
|