44 lines
1.3 KiB
Lua
44 lines
1.3 KiB
Lua
-----------------------------------
|
|
-- ID: 18243
|
|
-- Item: Astral Pot
|
|
-- Item Effect: Pet Magical Attack +22
|
|
-- Duration 5 Minutes
|
|
-----------------------------------
|
|
---@type TItem
|
|
local itemObject = {}
|
|
|
|
itemObject.onItemCheck = function(target, item, caster)
|
|
local pet = target:getPet()
|
|
if not pet then
|
|
return xi.msg.basic.REQUIRES_A_PET, 0
|
|
elseif target:getStatusEffectBySource(xi.effect.ENCHANTMENT, xi.effectSourceType.EQUIPPED_ITEM, xi.item.ASTRAL_POT) ~= nil then
|
|
target:delStatusEffect(xi.effect.ENCHANTMENT, nil, xi.effectSourceType.EQUIPPED_ITEM, xi.item.ASTRAL_POT)
|
|
end
|
|
|
|
return 0
|
|
end
|
|
|
|
itemObject.onItemUse = function(target, user)
|
|
local pet = target:getPet()
|
|
if target:hasEquipped(xi.item.ASTRAL_POT) and pet ~= nil then
|
|
target:addStatusEffect(xi.effect.ENCHANTMENT, { duration = 300, origin = user, sourceType = xi.effectSourceType.EQUIPPED_ITEM, sourceTypeParam = xi.item.ASTRAL_POT })
|
|
end
|
|
end
|
|
|
|
itemObject.onEffectGain = function(target, effect)
|
|
local pet = target:getPet()
|
|
if not pet then
|
|
return
|
|
end
|
|
|
|
pet:addMod(xi.mod.MATT, 22)
|
|
end
|
|
|
|
itemObject.onEffectLose = function(target, effect)
|
|
local pet = target:getPet()
|
|
if pet ~= nil then
|
|
pet:delMod(xi.mod.MATT, 22)
|
|
end
|
|
end
|
|
|
|
return itemObject
|