Files
HeroesStone_PRC8/_removed/corpse_crypt_e.nss
Jaysyn904 1eefc84201 Initial Commit
Initial Commit.
2025-09-14 15:40:46 -04:00

58 lines
1.2 KiB
Plaintext

#include "corpse_lib"
object GetFinalMaster(object target)
{
object master = GetMaster(target);
object lastMaster = OBJECT_INVALID;
while(GetIsObjectValid(master))
{
lastMaster = master;
master = GetMaster(lastMaster);
}
return lastMaster;
}
void markEquipement(object target,int cursed)
{
int slot = 0;
while(slot<= NUM_INVENTORY_SLOTS)
{
object item = GetItemInSlot(slot++,target);
if(GetIsObjectValid(item))
{
SetLocalInt(item,CorpseWasDroppable,GetItemCursedFlag(item));
SetLocalInt(item,CorspeWasDroppableSet,TRUE);
SetItemCursedFlag(item,cursed);
}
}
}
void main()
{
object enteringObject = GetEnteringObject();
if(!GetIsDM(enteringObject) && !GetIsDMPossessed(enteringObject) && !GetIsDM(GetFinalMaster(enteringObject)) && !GetIsCorpseCopying(enteringObject))
{
//DelayCommand(5.0,deathSpeach(enteringObject));
effect test = ExtraordinaryEffect(EffectLinkEffects(EffectCutsceneGhost(),EffectVisualEffect(VFX_DUR_GHOSTLY_VISAGE)));
ApplyEffectToObject(DURATION_TYPE_PERMANENT,test,enteringObject);
markEquipement(enteringObject,TRUE);
SetImmortal(enteringObject,TRUE);
}
}