159 lines
4.4 KiB
Plaintext
159 lines
4.4 KiB
Plaintext
|
void main()
|
||
|
{
|
||
|
|
||
|
object oPC = GetLastHostileActor();
|
||
|
|
||
|
if (!GetIsPC(oPC)) return;
|
||
|
|
||
|
if (GetTag(GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC)) != "Lost_Rall_Axe")
|
||
|
return;
|
||
|
|
||
|
object oItem;
|
||
|
oItem = GetItemPossessedBy(oPC, "Lost_Rall_Axe");
|
||
|
|
||
|
if (GetIsObjectValid(oItem))
|
||
|
DestroyObject(oItem);
|
||
|
|
||
|
object oTarget;
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
effect eEffect;
|
||
|
eEffect = EffectKnockdown();
|
||
|
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 60.0f);
|
||
|
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
int nInt;
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
eEffect = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
||
|
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
||
|
else
|
||
|
DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
||
|
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
eEffect = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
||
|
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
||
|
else
|
||
|
DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
||
|
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
eEffect = EffectVisualEffect(VFX_FNF_WORD);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
||
|
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
||
|
else
|
||
|
DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
||
|
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
eEffect = EffectVisualEffect(VFX_FNF_WORD);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
||
|
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
||
|
else
|
||
|
DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
||
|
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
eEffect = EffectVisualEffect(VFX_FNF_WORD);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
||
|
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
||
|
else
|
||
|
DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
||
|
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
eEffect = EffectVisualEffect(VFX_FNF_SCREEN_SHAKE);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
||
|
DelayCommand(2.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
||
|
else
|
||
|
DelayCommand(2.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
||
|
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
eEffect = EffectVisualEffect(VFX_FNF_IMPLOSION);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
||
|
DelayCommand(4.0, ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oTarget));
|
||
|
else
|
||
|
DelayCommand(4.0, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, eEffect, GetLocation(oTarget)));
|
||
|
|
||
|
object oSpawn;
|
||
|
location lTarget;
|
||
|
oTarget = GetWaypointByTag("WP_Spawn_Light");
|
||
|
|
||
|
lTarget = GetLocation(oTarget);
|
||
|
|
||
|
oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "plc_solwhite", lTarget);
|
||
|
|
||
|
oTarget = GetWaypointByTag("WP_Spawn_Light");
|
||
|
|
||
|
lTarget = GetLocation(oTarget);
|
||
|
|
||
|
oSpawn = CreateObject(OBJECT_TYPE_PLACEABLE, "chest_rall_plot", lTarget);
|
||
|
|
||
|
oTarget = oSpawn;
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL), oTarget));
|
||
|
else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_SUMMON_CELESTIAL), GetLocation(oTarget)));
|
||
|
|
||
|
oTarget = GetObjectByTag("KingRall");
|
||
|
|
||
|
eEffect = EffectDeath();
|
||
|
|
||
|
DelayCommand(3.0, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 60.0f));
|
||
|
|
||
|
oTarget = oPC;
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget);
|
||
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget));
|
||
|
|
||
|
oTarget = oPC;
|
||
|
|
||
|
eEffect = EffectKnockdown();
|
||
|
|
||
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oTarget, 8.0f);
|
||
|
|
||
|
oTarget = oPC;
|
||
|
|
||
|
eEffect = EffectDamage(278,DAMAGE_TYPE_MAGICAL,DAMAGE_POWER_ENERGY);
|
||
|
|
||
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC);
|
||
|
|
||
|
|
||
|
oTarget = oPC;
|
||
|
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget);
|
||
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget));
|
||
|
|
||
|
|
||
|
}
|