Initial Commit
Initial Commit
This commit is contained in:
88
_module/nss/69_henchtrans.nss
Normal file
88
_module/nss/69_henchtrans.nss
Normal file
@@ -0,0 +1,88 @@
|
||||
//:::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
//::69_henchtrans By: 69MEH69 Date: Jan2003
|
||||
//::Place this script in the AreaOnTransitonClick
|
||||
//::event for any in area transition, a transition
|
||||
//::which takes the PC to another location within
|
||||
//::the same area. This script will insure that any
|
||||
//::henchman, familiar, animal companion, summoned
|
||||
//::and/or dominated creature will also make the
|
||||
//::transition.
|
||||
//::Put a check in for whether the associate is
|
||||
//::standing their ground, If the henchman is they will
|
||||
//::NOT transition
|
||||
//:::::::::::::::::::::::::::::::::::::::::::::::::::
|
||||
#include "69_inc_henai"
|
||||
void main()
|
||||
{
|
||||
object oClicker = GetClickingObject();
|
||||
object oTarget = GetTransitionTarget(OBJECT_SELF);
|
||||
location lLoc = GetLocation(oTarget);
|
||||
int nNth = 1;
|
||||
object oHench = GetHenchman(oClicker, nNth);
|
||||
object oFamiliar, oAnimal, oSummoned, oDominated;
|
||||
float fFace = GetFacingFromLocation(lLoc);
|
||||
AssignCommand(oClicker,JumpToLocation(lLoc));
|
||||
AssignCommand(oClicker, SetFacing(fFace));
|
||||
|
||||
if(GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oClicker) != OBJECT_INVALID)
|
||||
{
|
||||
oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oClicker);
|
||||
if(!GetAssociateState(NW_ASC_MODE_STAND_GROUND, oFamiliar))
|
||||
{
|
||||
AssignCommand(oFamiliar, JumpToLocation(lLoc));
|
||||
}
|
||||
}
|
||||
if(GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oClicker) != OBJECT_INVALID)
|
||||
{
|
||||
oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oClicker);
|
||||
if(!GetAssociateState(NW_ASC_MODE_STAND_GROUND, oAnimal))
|
||||
{
|
||||
AssignCommand(oAnimal, JumpToLocation(lLoc));
|
||||
}
|
||||
}
|
||||
if(GetAssociate(ASSOCIATE_TYPE_SUMMONED, oClicker) != OBJECT_INVALID)
|
||||
{
|
||||
oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oClicker);
|
||||
if(!GetAssociateState(NW_ASC_MODE_STAND_GROUND, oSummoned))
|
||||
{
|
||||
AssignCommand(oSummoned, JumpToLocation(lLoc));
|
||||
}
|
||||
}
|
||||
if(GetAssociate(ASSOCIATE_TYPE_DOMINATED, oClicker) != OBJECT_INVALID)
|
||||
{
|
||||
oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oClicker);
|
||||
if(!GetAssociateState(NW_ASC_MODE_STAND_GROUND, oDominated))
|
||||
{
|
||||
AssignCommand(oDominated, JumpToLocation(lLoc));
|
||||
}
|
||||
}
|
||||
while(oHench != OBJECT_INVALID)
|
||||
{
|
||||
if(!GetAssociateState(NW_ASC_MODE_STAND_GROUND, oHench))
|
||||
{
|
||||
AssignCommand(oHench, JumpToLocation(lLoc));
|
||||
|
||||
if(GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oHench) != OBJECT_INVALID)
|
||||
{
|
||||
oFamiliar = GetAssociate(ASSOCIATE_TYPE_FAMILIAR, oHench);
|
||||
AssignCommand(oFamiliar, JumpToLocation(lLoc));
|
||||
}
|
||||
if(GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oHench) != OBJECT_INVALID)
|
||||
{
|
||||
oAnimal = GetAssociate(ASSOCIATE_TYPE_ANIMALCOMPANION, oHench);
|
||||
AssignCommand(oAnimal, JumpToLocation(lLoc));
|
||||
}
|
||||
if(GetAssociate(ASSOCIATE_TYPE_SUMMONED, oHench) != OBJECT_INVALID)
|
||||
{
|
||||
oSummoned = GetAssociate(ASSOCIATE_TYPE_SUMMONED, oHench);
|
||||
AssignCommand(oSummoned, JumpToLocation(lLoc));
|
||||
}
|
||||
if(GetAssociate(ASSOCIATE_TYPE_DOMINATED, oHench) != OBJECT_INVALID)
|
||||
{
|
||||
oDominated = GetAssociate(ASSOCIATE_TYPE_DOMINATED, oHench);
|
||||
AssignCommand(oDominated, JumpToLocation(lLoc));
|
||||
}
|
||||
}
|
||||
oHench = GetHenchman(oClicker, nNth++);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user