Files
dsrc/sku.0/sys.server/compiled/game/script/ai/random_player_target.script
T
2013-09-10 23:17:15 -07:00

58 lines
986 B
Plaintext

include library.ai_lib;
include library.stealth;
include library.utils;
void addHateToTarget(obj_id self)
{
if(ai_lib.isDead(self))
{
return;
}
obj_id target = null;
// debugSpeakMsg(self, "Acquiring target...");
// Get a new target
obj_id[] targets = getPlayerCreaturesInRange(getLocation(self), 64f);
if(targets == null || targets.length <= 0)
{
return;
}
target = targets[rand(0, targets.length - 1)];
if(!isIdValid(target) || isIncapacitated(target) || isDead(target) || stealth.hasInvisibleBuff(target))
{
return;
}
if(!canSee(self, target))
{
stopCombat(self);
}
utils.setScriptVar(self, "lastTargetSwitchTime", getGameTime());
// Add more hate to a random target
addHate(self, target, 5000);
}
trigger OnAiCombatFrame()
{
if(!isIdValid(self))
{
return SCRIPT_CONTINUE;
}
int lastTime = utils.getIntScriptVar(self, "lastTargetSwitchTime");
if(getGameTime() - lastTime > 10)
{
addHateToTarget(self);
}
return SCRIPT_CONTINUE;
}