Lankhmar_PRC8/_module/nss/cnv_attck_snkct2.nss
Jaysyn904 ebc0c6a9b2 Initial commit
Initial commit [v9.7]
2025-04-03 12:54:47 -04:00

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));
}