//! zinc
library WardTaunt
{
private hashtable hash = InitHashtable();
function death()
{
unit u = GetEnumUnit();
integer h = GetHandleId(u);
FlushChildHashtable(hash, h);
DestroyTrigger(LoadTriggerHandle(hash, h, 1));
}
private function actions()
{
unit u = GetTriggerUnit();
unit ward = LoadUnitHandle(hash, GetHandleId(GetTriggeringTrigger()), 1);
IssueTargetOrder(u, "attack", ward);
}
public function addWardTaunt(unit u)
{
trigger t = CreateTrigger();
TriggerRegisterUnitInRangeSimple(t, 500, u);
TriggerAddAction(t, function actions);
SaveUnitHandle(hash, GetHandleId(t), 1, u);
SaveTriggerHandle(hash, GetHandleId(u), 1, t);
}
function onInit()
{
trigger t = CreateTrigger();
TriggerRegisterAnyUnitEventBJ(t, EVENT_PLAYER_UNIT_DEATH);
TriggerAddAction(t, function death);
}
}
//! endzinc