80 lines
1.6 KiB
Plaintext
80 lines
1.6 KiB
Plaintext
|
|
||
|
#include "nw_i0_generic"
|
||
|
void main()
|
||
|
{
|
||
|
|
||
|
object oPC = GetPCSpeaker();
|
||
|
|
||
|
object oTarget;
|
||
|
oTarget = GetObjectByTag("frowaterbrazier");
|
||
|
|
||
|
//Visual effects can't be applied to waypoints, so if it is a WP
|
||
|
//the VFX will be applied to the WP's location instead
|
||
|
|
||
|
int nInt;
|
||
|
nInt = GetObjectType(oTarget);
|
||
|
|
||
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_IMPLOSION), oTarget);
|
||
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_IMPLOSION), GetLocation(oTarget));
|
||
|
|
||
|
DestroyObject(oTarget, 3.0);
|
||
|
|
||
|
oTarget = GetObjectByTag("frowaterdoor");
|
||
|
|
||
|
SetLocked(oTarget, FALSE);
|
||
|
|
||
|
AssignCommand(oTarget, ActionOpenDoor(oTarget));
|
||
|
|
||
|
object oSpawn;
|
||
|
location lTarget;
|
||
|
oTarget = GetWaypointByTag("WP_WPn_shslord");
|
||
|
|
||
|
lTarget = GetLocation(oTarget);
|
||
|
|
||
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "frostgiant2", lTarget);
|
||
|
|
||
|
oTarget = oSpawn;
|
||
|
|
||
|
SetIsTemporaryEnemy(oPC, oTarget);
|
||
|
|
||
|
AssignCommand(oTarget, ActionAttack(oPC));
|
||
|
|
||
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
||
|
|
||
|
|
||
|
oTarget = GetWaypointByTag("WP_WPn_shslord");
|
||
|
|
||
|
lTarget = GetLocation(oTarget);
|
||
|
|
||
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "frostgiant2", lTarget);
|
||
|
|
||
|
oTarget = oSpawn;
|
||
|
|
||
|
SetIsTemporaryEnemy(oPC, oTarget);
|
||
|
|
||
|
AssignCommand(oTarget, ActionAttack(oPC));
|
||
|
|
||
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
||
|
|
||
|
|
||
|
oTarget = GetWaypointByTag("WP_WPn_shslord");
|
||
|
|
||
|
lTarget = GetLocation(oTarget);
|
||
|
|
||
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "frostgiant", lTarget);
|
||
|
|
||
|
oTarget = oSpawn;
|
||
|
|
||
|
SetIsTemporaryEnemy(oPC, oTarget);
|
||
|
|
||
|
AssignCommand(oTarget, ActionAttack(oPC));
|
||
|
|
||
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
||
|
|
||
|
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|