Aantioch_Infernum/_module/nss/player_rest.nss
Jaysyn904 22947ad4b6 Initial Upload
Initial Upload
2023-08-08 16:22:17 -04:00

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);
}
}