AOC_PRC8/_module/nss/m_dragon_n.nss

127 lines
3.4 KiB
Plaintext
Raw Permalink Normal View History

2025-04-03 11:24:16 -04:00
#include "nw_i0_generic"
/* Script generated by
Lilac Soul's NWN Script Generator, v. 1.6
For download info, please visit:
http://www.lilacsoul.revility.com */
//Put this on action taken in the conversation editor
void DamnedWar (object oPC, int iNum)
{
object oMod = GetModule();
SetLocalInt(oMod, "sw_hw", 1);
SetLocalInt(oMod, "ch_hw", 1);
SetLocalInt(oMod, "gr_xx", 1);
SetLocalInt(oMod, "xcheck", 0);
object oTarget;
object oSpawn;
location lTarget;
oTarget = GetWaypointByTag("big_wp");
lTarget = GetLocation(oTarget);
int i;
for (i = 0; i < iNum; i++)
{
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "damned_war", lTarget);
oTarget = oSpawn;
SetIsTemporaryEnemy(oPC, oTarget);
AssignCommand(oTarget, ActionAttack(oPC));
AssignCommand(oTarget, DetermineCombatRound(oPC));
}
oTarget = oSpawn;
//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead
int nInt;
nInt = GetObjectType(oTarget);
if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget));
else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget)));
oTarget = GetObjectByTag("arena_gate");
SetLocked(oTarget, TRUE);
}
void DamnedWiz (object oPC, int iNum)
{
object oMod = GetModule();
SetLocalInt(oMod, "sw_dr", 1);
SetLocalInt(oMod, "ch_dr", 1);
SetLocalInt(oMod, "gr_xx", 1);
SetLocalInt(oMod, "xcheck", 0);
object oTarget;
object oSpawn;
location lTarget;
oTarget = GetWaypointByTag("big_wp");
lTarget = GetLocation(oTarget);
int i;
for (i = 0; i < iNum; i++)
{
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "damned_wiz", lTarget);
oTarget = oSpawn;
SetIsTemporaryEnemy(oPC, oTarget);
AssignCommand(oTarget, ActionAttack(oPC));
AssignCommand(oTarget, DetermineCombatRound(oPC));
}
oTarget = oSpawn;
//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead
int nInt;
nInt = GetObjectType(oTarget);
if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget));
else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget)));
oTarget = GetObjectByTag("arena_gate");
SetLocked(oTarget, TRUE);
}
void DamnedCle (object oPC, int iNum)
{
object oMod = GetModule();
SetLocalInt(oMod, "sw_bl", 1);
SetLocalInt(oMod, "ch_bl", 1);
SetLocalInt(oMod, "xcheck", 0);
SetLocalInt(oMod, "gr_xx", 1);
object oTarget;
object oSpawn;
location lTarget;
oTarget = GetWaypointByTag("big_wp");
lTarget = GetLocation(oTarget);
int i;
for (i = 0; i < iNum; i++)
{
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "damned_cle", lTarget);
oTarget = oSpawn;
SetIsTemporaryEnemy(oPC, oTarget);
AssignCommand(oTarget, ActionAttack(oPC));
AssignCommand(oTarget, DetermineCombatRound(oPC));
}
oTarget = oSpawn;
//Visual effects can't be applied to waypoints, so if it is a WP
//apply to the WP's location instead
int nInt;
nInt = GetObjectType(oTarget);
if (nInt != OBJECT_TYPE_WAYPOINT) DelayCommand(0.5, ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), oTarget));
else DelayCommand(0.5, ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_PWKILL), GetLocation(oTarget)));
oTarget = GetObjectByTag("arena_gate");
SetLocked(oTarget, TRUE);
}
//void main() {}