144 lines
5.4 KiB
Plaintext
144 lines
5.4 KiB
Plaintext
//::///////////////////////////////////////////////
|
|
//:: Name x2_def_ondeath
|
|
//:: Copyright (c) 2001 Bioware Corp.
|
|
//:://////////////////////////////////////////////
|
|
/*
|
|
Default OnDeath script
|
|
*/
|
|
//:://////////////////////////////////////////////
|
|
//:: Created By: Keith Warner
|
|
//:: Created On: June 11/03
|
|
//::////////////////////////////////////Lucifer Death [challenge mode]
|
|
#include "spawner"
|
|
#include "x0_i0_petrify"
|
|
#include "loot"
|
|
#include "rank"
|
|
|
|
void main()
|
|
{
|
|
|
|
|
|
object oPC = GetLastKiller();
|
|
object oMod = GetModule();
|
|
object oSpawner = GetObjectByTag("spawner");
|
|
object oP1 = GetObjectByTag("pool1");
|
|
object oP2 = GetObjectByTag("pool2");
|
|
object oP3 = GetObjectByTag("fountain1");
|
|
object oP4 = GetObjectByTag("fountain2");
|
|
object oLever1 = GetObjectByTag("pool_lever");
|
|
object oLever2 = GetObjectByTag("fount_lever");
|
|
effect eEffect = EffectVisualEffect(VFX_DUR_GLOBE_INVULNERABILITY);
|
|
int oChest4;
|
|
int oChest5;
|
|
int oChest6;
|
|
int iKilled = GetLocalInt(oPC, "iKilled");
|
|
int oExploit = GetLocalInt(oMod, "xcheck");
|
|
int nInt3=GetLocalInt(oMod, "d3");
|
|
int nInt4=GetLocalInt(oMod, "d4");
|
|
int nInt5=GetLocalInt(oMod, "d5");
|
|
int nInt;
|
|
int iMode = GetLocalInt(oMod, "gamemode");
|
|
SetLocalInt(oMod, "gr_xx", 0);
|
|
SetLocalInt(oMod, "sw_xx", 0);
|
|
SetLocalInt(oMod, "ch_xx", 0);
|
|
SetLocalInt(oMod, "challenge", 0);
|
|
|
|
if (oExploit!=1)
|
|
{
|
|
LastHit();
|
|
if (GetLocalInt(oMod, "hwar_on")==1)
|
|
{
|
|
DelayCommand(3.0, HolyScore(OBJECT_SELF));
|
|
}
|
|
iKilled=iKilled+1;
|
|
SetLocalInt(oPC, "iKilled", iKilled);
|
|
GetRank(oPC);
|
|
DeathStats(oPC);
|
|
oChest4 = GetLocalInt(oPC, "chest4");
|
|
oChest5 = GetLocalInt(oPC, "chest5");
|
|
oChest6 = GetLocalInt(oPC, "chest6");
|
|
AssignCommand(oPC, ClearAllActions());
|
|
DelayCommand(1.5, AssignCommand(oPC, ActionPlayAnimation
|
|
(ANIMATION_FIREFORGET_VICTORY2)));
|
|
FloatingTextStringOnCreature("Victory", oPC);
|
|
|
|
if ((nInt3!=1)&&(nInt5!=1))
|
|
{
|
|
if (GetLocalInt(oMod, "hwar_on")!=1)
|
|
{
|
|
TombSpawn(OBJECT_SELF, oPC);
|
|
CreateGold(OBJECT_SELF, 20000);
|
|
}
|
|
}
|
|
if ((nInt3==1)||(nInt4==1)||(nInt5==1))
|
|
{
|
|
SetLocked(GetObjectByTag("arena_gate"), FALSE);
|
|
AssignCommand(oSpawner, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
|
|
AssignCommand(oLever1, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
|
|
AssignCommand(oLever2, ActionPlayAnimation(ANIMATION_PLACEABLE_DEACTIVATE));
|
|
RemoveEffectOfType(oP1, GetEffectType(eEffect));
|
|
RemoveEffectOfType(oP2, GetEffectType(eEffect));
|
|
RemoveEffectOfType(oP3, GetEffectType(eEffect));
|
|
RemoveEffectOfType(oP4, GetEffectType(eEffect));
|
|
SetLocalInt(oMod, "fountain_state", 0);
|
|
SetLocalInt(oMod, "pool_state", 0);
|
|
SetLocalInt(oMod, "challenge", 0);
|
|
}
|
|
|
|
if (nInt3==1)
|
|
{
|
|
QuickRestore(oPC);
|
|
SetLocalInt(oMod, "d3_complete", 1);
|
|
if (iMode==1)
|
|
{AddJournalQuestEntry("boss4_0", 1, oPC, FALSE, FALSE);}
|
|
else{AddJournalQuestEntry("boss4", 1, oPC, FALSE, FALSE);}
|
|
DelayCommand(6.0, AssignCommand(oPC, PlaySound("sce_neutral")));
|
|
DelayCommand(6.0, FloatingTextStringOnCreature("W I N N E R", oPC));
|
|
|
|
SetLocalInt(oPC, "cutscene_on", 1);
|
|
SetLocalInt(oMod, "cutscene_flag", 0);
|
|
}
|
|
if (nInt5==1)
|
|
{
|
|
QuickRestore(oPC);
|
|
SetLocalInt(oMod, "d5_complete", 1);
|
|
if (iMode==1)
|
|
{AddJournalQuestEntry("boss6_0", 1, oPC, FALSE, FALSE);}
|
|
else{AddJournalQuestEntry("boss6", 1, oPC, FALSE, FALSE);}
|
|
DelayCommand(6.0, AssignCommand(oPC, PlaySound("sce_neutral")));
|
|
DelayCommand(6.0, FloatingTextStringOnCreature("S U P R E M E W I N N E R", oPC));
|
|
|
|
SetLocalInt(oPC, "cutscene_on", 1);
|
|
SetLocalInt(oMod, "cutscene_flag", 0);
|
|
}
|
|
}
|
|
if (iMode==1)
|
|
{AddJournalQuestEntry("tyriel", 1, oPC, FALSE, FALSE);}
|
|
else{AddJournalQuestEntry("lucifer", 1, oPC, FALSE, FALSE);}
|
|
SetLocalInt(oPC, "luciferdead", 1);
|
|
|
|
//AssignCommand(oPC, PlaySound("vs_nzeliepm_dead"));
|
|
|
|
SetLocked(GetObjectByTag("arena_gate"), FALSE);
|
|
object oTarget= OBJECT_SELF;
|
|
nInt = GetObjectType(oTarget);
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_DEATH), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT,
|
|
EffectVisualEffect(VFX_IMP_DEATH), GetLocation(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));
|
|
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));
|
|
if (nInt != OBJECT_TYPE_WAYPOINT)
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT,
|
|
EffectVisualEffect(VFX_FNF_WAIL_O_BANSHEES), GetLocation(oTarget));
|
|
ExecuteScript("nw_c2_default7", OBJECT_SELF);
|
|
|
|
}
|