diff --git a/scripts/mixins/families/puk.lua b/scripts/mixins/families/puk.lua index e0b4088a1ea..bed1d7f0476 100644 --- a/scripts/mixins/families/puk.lua +++ b/scripts/mixins/families/puk.lua @@ -21,11 +21,24 @@ g_mixins.families.puk = function(mob) [xi.day.DARKSDAY ] = xi.damageType.DARK, } - -- If the element corresponding to the elemental day of the in-game Vana'diel week is used on a Puk, it will get 100% TP instantly. + -- Day element damage gives TP. if damageType == elementTable[VanadielDayOfTheWeek()] then puk:addTP(1000) end end) + + mob:addListener('MAGIC_TAKE', 'PUK_MAGIC_TAKE', function(puk, caster, spell) + -- On Windsday, wind damage spells grant TP (excluding dot). + if + VanadielDayOfTheWeek() == xi.day.WINDSDAY and + spell:getElement() == xi.element.WIND and + spell:getSkillType() == xi.skill.ELEMENTAL_MAGIC and + spell:getSpellFamily() ~= xi.magic.spellFamily.ELE_DOT and + puk:getMod(xi.mod.WIND_ABSORB) > 0 + then + puk:addTP(1000) + end + end) end return g_mixins.families.puk