Initial commit
Adding all of the current content for Anphillia Unlimited.
This commit is contained in:
118
_module/nss/zep_sarcof1use.nss
Normal file
118
_module/nss/zep_sarcof1use.nss
Normal file
@@ -0,0 +1,118 @@
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Created By: Robert Babiak
|
||||
//:: Created On: June 25, 2002
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Modified By: Andrew Nobbs
|
||||
//:: Modified On: September 23, 2002
|
||||
//:: Modification: Removed unnecessary spaces.
|
||||
//:://////////////////////////////////////////////
|
||||
//::
|
||||
//:: Modified By: John Hawkins
|
||||
//:: Modified On: January, 2004
|
||||
//:: Modification: Changed code
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
now the destination will be a waypoint with
|
||||
the tag of "WP_"+the tag of the object of
|
||||
origin.(the secret door) see the placeable's
|
||||
comments for further directions.
|
||||
*****
|
||||
***you never have to change this script!***
|
||||
*****
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//Yet further modified by: Loki Hakanin
|
||||
//Summary of Alterations:
|
||||
//-----------------------
|
||||
//Created a function "SendAllAssociatesOfType" to encapsulate
|
||||
//functionality in main function, and also to allow for potential
|
||||
//of multople summons or henchmen or whatever. Originaly script would
|
||||
//only send first associate of a given type, this begavior
|
||||
//now fixed.
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "zep_inc_scrptdlg"
|
||||
|
||||
//Sends oCreature to oDest instantly
|
||||
void SendCreature(object oCreature, object oDest);
|
||||
|
||||
//Sends all creatures of nAssociateType associated with oUser to oDest.
|
||||
void SendAllAssociatesOfType(int nAssociateType,object oUser, object oDest);
|
||||
|
||||
void main()
|
||||
{
|
||||
object oidUser = GetLastUsedBy();
|
||||
string sDest = "WP_"+GetTag(OBJECT_SELF);
|
||||
object oidDest = GetObjectByTag(sDest);
|
||||
if (GetIsTrapped(OBJECT_SELF))
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (GetLocked(OBJECT_SELF))
|
||||
{
|
||||
// See if we have the key and unlock if so
|
||||
string sKey = GetTrapKeyTag(OBJECT_SELF);
|
||||
object oKey = GetItemPossessedBy(oidUser, sKey);
|
||||
if (sKey != "" && GetIsObjectValid(oKey))
|
||||
{
|
||||
SendMessageToPC(oidUser, GetStringByStrRef(7945));
|
||||
SetLocked(OBJECT_SELF, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Print '*locked*' message and play sound
|
||||
DelayCommand(0.1, PlaySound("as_dr_locked2"));
|
||||
FloatingTextStringOnCreature("*"
|
||||
+ GetStringByStrRef(8307)
|
||||
+ "*",
|
||||
oidUser);
|
||||
SendMessageToPC(oidUser, GetStringByStrRef(8296));
|
||||
return;
|
||||
}
|
||||
}
|
||||
if(GetIsOpen(OBJECT_SELF))
|
||||
{
|
||||
AssignCommand(oidUser,ActionJumpToObject(oidDest,FALSE));
|
||||
//Send All Animal Companions
|
||||
SendAllAssociatesOfType(ASSOCIATE_TYPE_ANIMALCOMPANION,oidUser,oidDest);
|
||||
//Send all Dominated Creatures
|
||||
SendAllAssociatesOfType(ASSOCIATE_TYPE_DOMINATED,oidUser,oidDest);
|
||||
//Send all Familiars
|
||||
SendAllAssociatesOfType(ASSOCIATE_TYPE_FAMILIAR,oidUser,oidDest);
|
||||
//Send all henchmen
|
||||
SendAllAssociatesOfType(ASSOCIATE_TYPE_HENCHMAN,oidUser,oidDest);
|
||||
//Send all summons
|
||||
SendAllAssociatesOfType(ASSOCIATE_TYPE_SUMMONED,oidUser,oidDest);
|
||||
}
|
||||
else
|
||||
{
|
||||
DelayCommand(1.0,FloatingTextStringOnCreature(GetStringByStrRef(nZEPFoundSecret,GENDER_MALE),oidUser));
|
||||
{
|
||||
DelayCommand(0.1,AssignCommand(OBJECT_SELF,PlaySound("as_dr_stonmedop1")));
|
||||
DelayCommand(0.3,AssignCommand(OBJECT_SELF,PlayAnimation(ANIMATION_PLACEABLE_OPEN)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void SendCreature(object oCreature, object oDest)
|
||||
{
|
||||
if(oCreature != OBJECT_INVALID)
|
||||
{
|
||||
AssignCommand(oCreature, ClearAllActions());
|
||||
AssignCommand(oCreature, ActionJumpToObject(oDest,FALSE));
|
||||
}
|
||||
}
|
||||
|
||||
void SendAllAssociatesOfType(int nAssociateType, object oUser, object oDest)
|
||||
{
|
||||
int nCounter=1;
|
||||
object oCreatureToSend = GetAssociate(nAssociateType, oUser, nCounter);
|
||||
while (GetIsObjectValid(oCreatureToSend))
|
||||
{
|
||||
SendCreature(oCreatureToSend, oDest);
|
||||
nCounter++;
|
||||
oCreatureToSend = GetAssociate(nAssociateType, oUser,nCounter);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user