Files
HeroesStone_PRC8/_module/nss/sq_ocombat_fire.nss
Jaysyn904 1eefc84201 Initial Commit
Initial Commit.
2025-09-14 15:40:46 -04:00

56 lines
1.6 KiB
Plaintext

//::///////////////////////////////////////////////
//:: Default: End of Combat Round
//:: NW_C2_DEFAULT3
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Calls the end of combat script every round
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 16, 2001
//:: Modified my TomG fro fire effects in SQ series
//:://////////////////////////////////////////////
#include "NW_I0_GENERIC"
void main()
{
object oPC = GetLastHostileActor();
object oTarget;
effect eEffect;
int nInt;
int rInt = ReflexSave(oPC, 16);
int dInt =d6(1);
oTarget = oPC;
eEffect = EffectDamage(dInt, DAMAGE_TYPE_FIRE, DAMAGE_POWER_NORMAL);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC);
nInt = GetObjectType(oTarget);
if (rInt == 0)
{
SendMessageToPC(oPC, "Rexlex Saving Throw Failed!");
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_FLAME_M), oTarget);
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_FLAME_M), GetLocation(oTarget));
}
else
{
SendMessageToPC(oPC, "Rexlex Saving Throw Succeeded!");
}
//End ReflexSave
if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL))
{
DetermineSpecialBehavior();
}
else if(!GetSpawnInCondition(NW_FLAG_SET_WARNINGS))
{
DetermineCombatRound();
}
if(GetSpawnInCondition(NW_FLAG_END_COMBAT_ROUND_EVENT))
{
SignalEvent(OBJECT_SELF, EventUserDefined(1003));
}
}