File Details
SimpleTauntAnnounce 1.1.4
- R
- Apr 24, 2026
- 32.68 KB
- 97
- 12.0.1+1
- Retail
File Name
SimpleTauntAnnounce-1.1.4.zip
Supported Versions
- 12.0.1
- 11.2.7
1.1.4 — Midnight secret boolean hotfix IV (2026)
Follow-up hotfix to 1.1.3. The previous pcall pattern wrapped only the
call to the unit API, but Midnight's secret boolean system also blocks
boolean evaluation of the return value when that evaluation occurs outside
the pcall. This caused 1401+ errors per session from SafeUnitIsUnit.
Bug fixes
- Boolean evaluation of secret values must occur inside
pcall.pcall(UnitIsUnit, a, b)returns the secret boolean as its second value; testing it withok and result and true or falseoutside the pcall still throws. Fixed by wrapping both the call and theif r thencheck inside a single closure for all three helpers:SafeUnitIsUnit— primary fix (reported error)IsPrimaryTank— preventive fix (same vulnerable pattern)IsUnitInGroup— preventive fix (same vulnerable pattern)
Technical notes
The correct Midnight pattern for any combat/unit API that returns a boolean:
local ok, result = pcall(function()
local r = SomeAPI(args)
if r then return true end -- boolean test inside pcall
return false
end)
return ok and result or false -- result is now a plain bool, safe to test
Direct if/not/and tests on the return value of pcall — even when
pcall itself succeeded — are not sufficient if the API returns a secret
boolean.
Follow-up hotfix to 1.1.2. Blizzard extended the secret boolean system to
UnitIsUnit(), which now returns a tainted proxy for non-player unit IDs
such as "targettarget". This caused 1052 error spam per session.
Bug fixes
UnitIsUnit()returns a secret boolean. All five call sites replaced with a newSafeUnitIsUnit(a, b)helper that wraps the call inpcalland returns a plain Lua boolean. Affected paths:- Own-taunt detection (player / pet / vehicle check)
findNewTankloop (skip-self guard)- PATH B group-member guard
Technical notes
Midnight's taint system now covers the return values of UnitIsUnit,
UnitDetailedThreatSituation, UnitInRaid, UnitInParty,
GetRaidTargetIndex, and spellID from UNIT_SPELLCAST_SUCCEEDED.
Any boolean or identifier returned by a combat/unit API in Midnight
must be consumed through pcall. Direct if/not tests will crash.