add more helper tests
This commit is contained in:
+104
@@ -812,3 +812,107 @@ local function onSpellCastEvent(success, spellId, castType, targetGuid, itemId)
|
|||||||
end
|
end
|
||||||
|
|
||||||
--Nampower:RegisterEvent("SPELL_CAST_EVENT", onSpellCastEvent)
|
--Nampower:RegisterEvent("SPELL_CAST_EVENT", onSpellCastEvent)
|
||||||
|
|
||||||
|
-- UNIT_AURA_GUID - fires when a unit's aura state changes (GUID variant)
|
||||||
|
-- All GUID events share the same parameter format:
|
||||||
|
-- guid (string) - unit guid like "0xF5300000000000A5"
|
||||||
|
-- isPlayer (int) - 1 if the unit is the active player, 0 otherwise
|
||||||
|
-- isTarget (int) - 1 if the unit is the current locked target, 0 otherwise
|
||||||
|
-- isMouseover (int) - 1 if the unit is the current mouseover, 0 otherwise
|
||||||
|
-- isPet (int) - 1 if the unit is the active player's pet, 0 otherwise
|
||||||
|
-- partyIndex (int) - party slot (1-4) if the unit is a party member, 0 otherwise
|
||||||
|
-- raidIndex (int) - raid slot (1-40) if the unit is a raid member, 0 otherwise
|
||||||
|
local function onUnitGuid(guid, isPlayer, isTarget, isMouseover, isPet, partyIndex, raidIndex)
|
||||||
|
isPlayer = isPlayer or 0
|
||||||
|
isTarget = isTarget or 0
|
||||||
|
isMouseover = isMouseover or 0
|
||||||
|
isPet = isPet or 0
|
||||||
|
partyIndex = partyIndex or 0
|
||||||
|
raidIndex = raidIndex or 0
|
||||||
|
print(string.format(
|
||||||
|
"%s: %s | isPlayer:%d isTarget:%d isMouseover:%d isPet:%d party:%d raid:%d",
|
||||||
|
"UNIT_AURA_GUID", tostring(UnitName(guid) or guid), isPlayer, isTarget, isMouseover, isPet, partyIndex, raidIndex
|
||||||
|
))
|
||||||
|
end
|
||||||
|
|
||||||
|
--Nampower:RegisterEvent("UNIT_AURA_GUID", onUnitGuid)
|
||||||
|
|
||||||
|
if not Nampower:HasMinimumVersion(3, 4, 0) then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
-- ENVIRONMENTAL_DMG_SELF / ENVIRONMENTAL_DMG_OTHER
|
||||||
|
-- Parameters:
|
||||||
|
-- unitGuid (string) - guid of the unit that took damage
|
||||||
|
-- dmgType (int) - environmental damage type
|
||||||
|
-- damage (int) - amount of damage taken
|
||||||
|
-- absorb (int) - amount of damage absorbed
|
||||||
|
-- resist (int) - amount of damage resisted
|
||||||
|
local ENV_DMG_NAMES = {
|
||||||
|
[0] = "Exhausted",
|
||||||
|
[1] = "Drowning",
|
||||||
|
[2] = "Fall",
|
||||||
|
[3] = "Lava",
|
||||||
|
[4] = "Slime",
|
||||||
|
[5] = "Fire",
|
||||||
|
[6] = "FallToVoid",
|
||||||
|
}
|
||||||
|
|
||||||
|
local function onEnvironmentalDmg(unitGuid, dmgType, damage, absorb, resist)
|
||||||
|
dmgType = dmgType or -1
|
||||||
|
damage = damage or 0
|
||||||
|
absorb = absorb or 0
|
||||||
|
resist = resist or 0
|
||||||
|
print(string.format(
|
||||||
|
"ENVIRONMENTAL_DMG: %s took %d %s damage (absorbed:%d resisted:%d)",
|
||||||
|
tostring(unitGuid), damage, ENV_DMG_NAMES[dmgType] or "Unknown", absorb, resist
|
||||||
|
))
|
||||||
|
end
|
||||||
|
|
||||||
|
--Nampower:RegisterEvent("ENVIRONMENTAL_DMG_SELF", onEnvironmentalDmg)
|
||||||
|
--Nampower:RegisterEvent("ENVIRONMENTAL_DMG_OTHER", onEnvironmentalDmg)
|
||||||
|
|
||||||
|
-- DAMAGE_SHIELD_SELF / DAMAGE_SHIELD_OTHER
|
||||||
|
-- Parameters:
|
||||||
|
-- unitGuid (string) - guid of shield owner
|
||||||
|
-- targetGuid (string) - guid of attacker taking reflected damage
|
||||||
|
-- damage (int) - amount of shield damage dealt
|
||||||
|
-- spellSchool (int) - school of shield damage
|
||||||
|
local SCHOOL_NAMES = {
|
||||||
|
[0] = "Physical",
|
||||||
|
[1] = "Holy",
|
||||||
|
[2] = "Fire",
|
||||||
|
[3] = "Nature",
|
||||||
|
[4] = "Frost",
|
||||||
|
[5] = "Shadow",
|
||||||
|
[6] = "Arcane",
|
||||||
|
}
|
||||||
|
|
||||||
|
local function onDamageShield(unitGuid, targetGuid, damage, spellSchool)
|
||||||
|
damage = damage or 0
|
||||||
|
spellSchool = spellSchool or -1
|
||||||
|
print(string.format(
|
||||||
|
"DAMAGE_SHIELD: %s dealt %d %s damage to %s",
|
||||||
|
tostring(unitGuid), damage, SCHOOL_NAMES[spellSchool] or "Unknown", tostring(targetGuid)
|
||||||
|
))
|
||||||
|
end
|
||||||
|
|
||||||
|
--Nampower:RegisterEvent("DAMAGE_SHIELD_SELF", onDamageShield)
|
||||||
|
--Nampower:RegisterEvent("DAMAGE_SHIELD_OTHER", onDamageShield)
|
||||||
|
|
||||||
|
-- SPELL_DISPEL_BY_SELF / SPELL_DISPEL_BY_OTHER
|
||||||
|
-- Parameters:
|
||||||
|
-- casterGuid (string) - guid of dispel caster
|
||||||
|
-- targetGuid (string) - guid of dispelled unit
|
||||||
|
-- spellId (int) - dispelled spell id
|
||||||
|
local function onSpellDispel(casterGuid, targetGuid, spellId)
|
||||||
|
spellId = spellId or 0
|
||||||
|
local spellName = GetSpellRecField and GetSpellRecField(spellId, "name") or spellId
|
||||||
|
print(string.format(
|
||||||
|
"SPELL_DISPEL_BY: %s dispelled %s (id:%d) from %s",
|
||||||
|
tostring(casterGuid), tostring(spellName), spellId, tostring(targetGuid)
|
||||||
|
))
|
||||||
|
end
|
||||||
|
|
||||||
|
--Nampower:RegisterEvent("SPELL_DISPEL_BY_SELF", onSpellDispel)
|
||||||
|
--Nampower:RegisterEvent("SPELL_DISPEL_BY_OTHER", onSpellDispel)
|
||||||
|
|||||||
Reference in New Issue
Block a user