93 lines
3.4 KiB
Plaintext
93 lines
3.4 KiB
Plaintext
|
|
#include "x0_i0_partywide"
|
|
|
|
void ClearAndJumpToObject(object oDestination);
|
|
void ClearAndJumpToObject(object oDestination)
|
|
{
|
|
ClearAllActions();
|
|
JumpToObject(oDestination);
|
|
}
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
int nHench;
|
|
object oHench;
|
|
object oTarget;
|
|
object oSpawn;
|
|
int nInt;
|
|
|
|
// Get the PC who is in this conversation.
|
|
object oPC = GetPCSpeaker();
|
|
|
|
// Give 5 experience (to party) to the PC.
|
|
GiveXPToAll(oPC, 5);
|
|
|
|
// Unlock and open "qtch".
|
|
oTarget = GetObjectByTag("qtch");
|
|
SetLocked(oTarget, FALSE);
|
|
AssignCommand(oTarget, ActionOpenDoor(oTarget));
|
|
|
|
oTarget = GetObjectByTag("Quatch");
|
|
AssignCommand(oTarget, ActionMoveToObject(GetObjectByTag("WP_Quatch")));
|
|
|
|
oTarget = GetObjectByTag("Quatch");
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
oTarget = GetObjectByTag("Quatch");
|
|
DestroyObject(oTarget, 6.0);
|
|
|
|
// Spawn some critters.
|
|
oTarget = GetWaypointByTag("WP_SPn_Quatch2");
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qbully", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
oSpawn = CreateObject(OBJECT_TYPE_CREATURE, "qthug", GetLocation(oTarget));
|
|
|
|
// Find the location to which to teleport.
|
|
oTarget = GetWaypointByTag("WP_Qtch_Jmp");
|
|
|
|
// Teleport the PC.
|
|
DelayCommand(3.0, AssignCommand(oPC, ClearAndJumpToObject(oTarget)));
|
|
|
|
// Also teleport associates.
|
|
oHench = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oPC);
|
|
DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget)));
|
|
oHench = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oPC);
|
|
DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget)));
|
|
oHench = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oPC);
|
|
DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget)));
|
|
oHench = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oPC);
|
|
DelayCommand(3.0, AssignCommand(oHench, ClearAndJumpToObject(oTarget)));
|
|
|
|
// Support for multiple henchmen (includes horses).
|
|
nHench = 1;
|
|
oHench = GetHenchman(oPC, 1);
|
|
while ( oHench != OBJECT_INVALID )
|
|
{
|
|
DelayCommand(3.5, AssignCommand(oHench, ClearAndJumpToObject(oTarget)));
|
|
|
|
// Next henchman.
|
|
|
|
oHench = GetHenchman(oPC, ++nHench);
|
|
}
|
|
}
|