Update:
I changed the code to:
Code:
$npc->Damage($npc, $h_dmg, 0, 1, true, -1, false);
and the npc does the damage to itself, so the first argument is the destination, target, or recipient of the damage. So, I changed the first argument to $h_ent and added an output say to see what is being held by that variable, but that results in the following:
Code:
if($timer eq "damage") {
my @hatelist = $npc->GetHateList(); #Get every entity on hatelist
foreach $ent (@hatelist) {
my $h_ent = $ent->GetEnt();
my $h_dmg = $ent->GetDamage();
my $h_hate = $ent->GetHate();
if($h_ent) {
my $h_ent_name = $h_ent->GetName();
quest::say("$h_ent_name is on my hate list with $h_hate hate and $h_dmg damage."); #For quest debugging/testing purposes
quest::say("Doing $h_dmg to $h_ent");
$npc->Damage($h_ent, $h_dmg, 0, 1, true, -1, false);
}
}
$npc->CastSpell(21789,$NPC_ID); #Flusterbolt Memblur Effect, 100% memblur on self
quest::settimer("damage",20); #every 20 seconds
results in the following output say from the npc:
Nomada the Snowdrift says 'Salvanna is on my hatelist with 19014 hate and 56753 damage.
Nomada the Snowdrift says 'Doing 56753 damage to Mob=SCALAR(0xcdd1f64)'