Battledale_PRC8/_module/nss/jw_new_zh_dr_op.nss

47 lines
1.3 KiB
Plaintext
Raw Permalink Normal View History

void main()
{
object oZhent=GetObjectByTag("jw_new_zhent_wiz");
object oPC=GetLastUnlocked();
int nDisguised=0;
if (GetTag(GetItemInSlot(INVENTORY_SLOT_CHEST,oPC))=="jw_zhent_splint"||GetTag(GetItemInSlot(INVENTORY_SLOT_CHEST,oPC))=="jw_new_zh_robe")
{
nDisguised=1;
}
if (GetObjectSeen(oPC,oZhent)&&nDisguised==0)
{
//AssignCommand(oZhent,SetFacingPoint(GetPosition(oPC)));
AssignCommand(oZhent,SpeakString("Hey you - keep away from there!"));
SetIsTemporaryEnemy(oPC,oZhent);
AssignCommand(oZhent,ActionAttack(oPC));
location lTarget=GetLocation(OBJECT_SELF);
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_GARGANTUAN, lTarget, TRUE, OBJECT_TYPE_CREATURE);
//Cycle through the targets within the spell shape until an invalid object is captured.
while (GetIsObjectValid(oTarget))
{
if (GetIsFriend(oTarget,oZhent))
{
SetIsTemporaryEnemy(oPC,oTarget);
AssignCommand(oTarget,ActionAttack(oPC));
}
//Select the next target within the shape.
oTarget = GetNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_GARGANTUAN, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR);
}
SetIsTemporaryEnemy(oPC,GetObjectByTag("jw_new_zh_ins1"));
SetIsTemporaryEnemy(oPC,GetObjectByTag("jw_new_zh_ins2"));
}
}