120 lines
3.5 KiB
Plaintext
120 lines
3.5 KiB
Plaintext
#include "nw_i0_generic"
|
|
#include "nw_i0_2q4luskan"
|
|
#include "x0_i0_partywide"
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
object oTarget;
|
|
object oActor;
|
|
object oHench;
|
|
int nHench;
|
|
|
|
object oPC = GetPCSpeaker();
|
|
|
|
// Give 10 experience (to party) to the PC.
|
|
GiveXPToAll(oPC, 10);
|
|
|
|
object oPathellgx = GetObjectByTag("Pathellgx");
|
|
ChangeToStandardFaction(oPathellgx, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
|
|
oTarget = GetObjectByTag("Pathellgx");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
//
|
|
object osnkcltst1 = GetObjectByTag("snkcltst1");
|
|
ChangeToStandardFaction(osnkcltst1, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
oTarget = GetObjectByTag("snkcltst1");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
object osnkcltst2 = GetObjectByTag("snkcltst2");
|
|
ChangeToStandardFaction(osnkcltst2, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
oTarget = GetObjectByTag("snkcltst2");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
object osnkcltst3 = GetObjectByTag("snkcltst3");
|
|
ChangeToStandardFaction(osnkcltst3, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
oTarget = GetObjectByTag("snkcltst3");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
object osnkcltst4 = GetObjectByTag("snkcltst4");
|
|
ChangeToStandardFaction(osnkcltst4, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
oTarget = GetObjectByTag("snkcltst4");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
object osnkcltst5 = GetObjectByTag("snkcltst5");
|
|
|
|
ChangeToStandardFaction(osnkcltst5, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
oTarget = GetObjectByTag("snkcltst5");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
object osnkcltst6 = GetObjectByTag("snkcltst6");
|
|
ChangeToStandardFaction(osnkcltst6, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
oTarget = GetObjectByTag("snkcltst6");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
object osnkcltst7 = GetObjectByTag("snkcltst7");
|
|
ChangeToStandardFaction(osnkcltst7, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
oTarget = GetObjectByTag("snkcltst7");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
object osnkcltst8 = GetObjectByTag("snkcltst8");
|
|
ChangeToStandardFaction(osnkcltst8, STANDARD_FACTION_HOSTILE);
|
|
ActionAttack(oPC);
|
|
oTarget = GetObjectByTag("snkcltst8");
|
|
SetIsTemporaryEnemy(oPC, oTarget);
|
|
AssignCommand(oTarget, ActionAttack(oPC));
|
|
AssignCommand(oTarget, DetermineCombatRound(oPC));
|
|
|
|
FadeToBlack(oPC);
|
|
|
|
// Have the PC release its henchman.
|
|
nHench = 1;
|
|
oHench = GetHenchman(oPC, 1);
|
|
while ( oHench != OBJECT_INVALID )
|
|
{
|
|
if ( GetTag(oHench) == "Belgora" )
|
|
RemoveHenchman(oPC, oHench);
|
|
|
|
// Update the loop.
|
|
oHench = GetHenchman(oPC, ++nHench);
|
|
}
|
|
|
|
// Have "Belgora" perform a sequence of actions.
|
|
oActor = GetObjectByTag("Belgora");
|
|
AssignCommand(oActor, ActionJumpToObject(GetObjectByTag("WP_Belgora_f")));
|
|
|
|
// Spawn "belgora2".
|
|
DelayCommand(1.0, CreateObjectVoid(OBJECT_TYPE_CREATURE, "belgora2", GetLocation(oPC)));
|
|
|
|
DelayCommand(0.5, FadeFromBlack(oPC));
|
|
|
|
}
|
|
|
|
|