//:://///////////////////////////////////////////// //:: Confusion Heartbeat Support Script //:: NW_G0_Confuse //:: Copyright (c) 2001 Bioware Corp. //::////////////////////////////////////////////// /* This heartbeat script runs on any creature that has been hit with the confusion effect. */ //::////////////////////////////////////////////// //:: Created By: Preston Watamaniuk //:: Created On: Sept 27, 2001 //::////////////////////////////////////////////// void main() { //Make sure the creature is commandable for the round AssignCommand(OBJECT_SELF, SetCommandable(TRUE)); //Clear all previous actions. AssignCommand(OBJECT_SELF, ClearAllActions()); int nRandom = d10(); //Roll a random int to determine this rounds effects if(nRandom == 1) { object enemy = GetFactionWorstAC(OBJECT_SELF, TRUE); if (enemy == OBJECT_INVALID) { GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE,OBJECT_SELF); } AssignCommand(OBJECT_SELF, ActionAttack(enemy)); } else if (nRandom >= 2 && nRandom <= 6) { object enemy = GetFactionWeakestMember(OBJECT_SELF, TRUE); if (enemy == OBJECT_INVALID) { GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE,OBJECT_SELF); } AssignCommand(OBJECT_SELF, ActionAttack(enemy)); } else if(nRandom >= 7 && nRandom <= 10) { object enemy = GetFactionMostDamagedMember(OBJECT_SELF, TRUE); if (enemy == OBJECT_INVALID) { GetNearestCreature(CREATURE_TYPE_IS_ALIVE, TRUE,OBJECT_SELF); } AssignCommand(OBJECT_SELF, ActionAttack(enemy)); } DelayCommand(0.1, AssignCommand(OBJECT_SELF, SetCommandable(FALSE))); }