AOC_PRC8/_module/nss/b_deathdeath4.nss
Jaysyn904 5e558169a0 Initial Commit
Initial Commit
2025-04-03 11:24:16 -04:00

82 lines
2.7 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Name x2_def_ondeath
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Default OnDeath script
*/
//:://////////////////////////////////////////////
//:: Created By: Keith Warner
//:: Created On: June 11/03
//:://////////////////////////////////Doom Reaver Challenge
#include "nw_i0_generic"
#include "spawner"
#include "x0_i0_petrify"
#include "rank"
void main()
{
object oPC = GetLastKiller();
object oMod = GetModule();
object oTarget= OBJECT_SELF;
int iKilled = GetLocalInt(oPC, "iKilled");
int nInt2=GetLocalInt(oMod, "d2");
int nInt4=GetLocalInt(oMod, "d4");
int nInt2a=GetLocalInt(oMod, "d2a");
int nInt5=GetLocalInt(oMod, "d5");
int nInt3=GetLocalInt(oMod, "d3");
//string oDebug = IntToString(nInt5);
//Message(8.0, oDebug, oPC);
int nInt;
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));
AssignCommand(oPC, ClearAllActions());
DelayCommand(1.5, AssignCommand(oPC, ActionPlayAnimation
(ANIMATION_FIREFORGET_VICTORY2)));
int oExploit = GetLocalInt(oMod, "xcheck");
if (oExploit!=1)
{
LastHit();
iKilled=iKilled+1;
SetLocalInt(oPC, "iKilled", iKilled);
GetRank(oPC);
DeathStats(oPC);
if ((nInt2a!=1)&&(nInt4!=1)&&(nInt5!=1))
{BattleRest(oPC);}
SetLocalInt(oPC, "doppledead", 1);
int oGameMode = GetLocalInt(oMod, "gamemode");
if (oGameMode==1)
{
DelayCommand( 9.8, spawner (oPC, "pfiend2", 0));
}
else
{
DelayCommand( 9.8, spawner (oPC, "zep_pitfiend001", 0));
}
DoEffect(9.8,VFX_FNF_PWKILL, "monster_wp");
}
else
{
SetLocked(GetObjectByTag("arena_gate"), FALSE);
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);
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);
}
}