void main() { object oPC = GetLastKiller(); while (GetIsObjectValid(GetMaster(oPC))) { oPC=GetMaster(oPC); } if (!GetIsPC(oPC)) return; object oTarget; oTarget = GetObjectByTag("RelicarTheGrey"); int nInt; nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_DESTRUCTION), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_DESTRUCTION), GetLocation(oTarget)); oTarget = GetObjectByTag("RelicarTheGrey"); nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SCREEN_SHAKE), GetLocation(oTarget)); oTarget = GetObjectByTag("RelicarTheGrey"); nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL_GREATER), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_DISPEL_GREATER), GetLocation(oTarget)); oTarget = GetObjectByTag("RelicarTheGrey"); nInt = GetObjectType(oTarget); if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), oTarget); else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIRESTORM), GetLocation(oTarget)); int nDiceRoll = d100(1); if(nDiceRoll <= 10) { CreateItemOnObject("Relicar1", OBJECT_SELF, 1); } else if(nDiceRoll <= 20) { CreateItemOnObject("Relicar2", OBJECT_SELF, 1); } else if(nDiceRoll <= 30) { CreateItemOnObject("Relicar3", OBJECT_SELF, 1); } }