65 lines
1.7 KiB
Plaintext
65 lines
1.7 KiB
Plaintext
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);
|
|
}
|
|
}
|
|
|