local bullseyeCondition = Condition(CONDITION_ATTRIBUTES, CONDITIONID_DEFAULT)
bullseyeCondition:setParameter(CONDITION_PARAM_TICKS, 60000)
bullseyeCondition:setParameter(CONDITION_PARAM_SKILL_DISTANCEPERCENT, 125)
bullseyeCondition:setParameter(CONDITION_SUBID, 1)
bullseyeCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
local mastermindCondition = Condition(CONDITION_ATTRIBUTES, CONDITIONID_DEFAULT)
mastermindCondition:setParameter(CONDITION_PARAM_TICKS, 60000)
mastermindCondition:setParameter(CONDITION_PARAM_STAT_MAGICPOINTSPERCENT, 125)
mastermindCondition:setParameter(CONDITION_SUBID, 1)
mastermindCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
local berserkCondition = Condition(CONDITION_ATTRIBUTES, CONDITIONID_DEFAULT)
berserkCondition:setParameter(CONDITION_PARAM_TICKS, 60000)
berserkCondition:setParameter(CONDITION_SUBID, 1)
berserkCondition:setParameter(CONDITION_PARAM_SKILL_MELEEPERCENT, 125)
berserkCondition:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local bullseyeCondition2 = Condition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT)
bullseyeCondition2:setParameter(CONDITION_PARAM_TICKS, 60000)
bullseyeCondition2:setParameter(CONDITION_PARAM_SKILL_DISTANCEPERCENT, 125)
bullseyeCondition2:setParameter(CONDITION_SUBID, 2)
bullseyeCondition2:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
local mastermindCondition2 = Condition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT)
mastermindCondition2:setParameter(CONDITION_PARAM_TICKS, 60000)
mastermindCondition2:setParameter(CONDITION_PARAM_STAT_MAGICPOINTSPERCENT, 125)
mastermindCondition2:setParameter(CONDITION_SUBID, 2)
mastermindCondition2:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
local berserkCondition2 = Condition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT)
berserkCondition2:setParameter(CONDITION_PARAM_TICKS, 60000)
berserkCondition2:setParameter(CONDITION_SUBID, 2)
berserkCondition2:setParameter(CONDITION_PARAM_SKILL_MELEEPERCENT, 125)
berserkCondition2:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local bullseyeCondition3 = Condition(CONDITION_ATTRIBUTES, CONDITIONID_AMMO)
bullseyeCondition3:setParameter(CONDITION_PARAM_TICKS, 60000)
bullseyeCondition3:setParameter(CONDITION_PARAM_SKILL_DISTANCEPERCENT, 125)
bullseyeCondition3:setParameter(CONDITION_SUBID, 3)
bullseyeCondition3:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
local mastermindCondition3 = Condition(CONDITION_ATTRIBUTES, CONDITIONID_AMMO)
mastermindCondition3:setParameter(CONDITION_PARAM_TICKS, 60000)
mastermindCondition3:setParameter(CONDITION_PARAM_STAT_MAGICPOINTSPERCENT, 125)
mastermindCondition3:setParameter(CONDITION_SUBID, 3)
mastermindCondition3:setParameter(CONDITION_PARAM_BUFF_SPELL, 1)
local berserkCondition3 = Condition(CONDITION_ATTRIBUTES, CONDITIONID_AMMO)
berserkCondition3:setParameter(CONDITION_PARAM_TICKS, 60000)
berserkCondition3:setParameter(CONDITION_SUBID, 3)
berserkCondition3:setParameter(CONDITION_PARAM_SKILL_MELEEPERCENT, 125)
berserkCondition3:setParameter(CONDITION_PARAM_BUFF_SPELL, true)
local t = {
[7439] = {berserkCondition, berserkCondition2, berserkCondition3},
[7440] = {mastermindCondition, mastermindCondition2, mastermindCondition3},
[7443] = {bullseyeCondition, bullseyeCondition2, bullseyeCondition3}
}
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
for k, v in pairs(t) do
if item.itemid == k then
if not player:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_DEFAULT) then
player:addCondition(v[1])
doSendMagicEffect(getCreaturePosition(player), 22)
doCreatureSay(player, "AH!", TALKTYPE_MONSTER_SAY)
item:remove(1)
return true
elseif player:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_DEFAULT) and not player:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT) then
player:addCondition(v[2])
doSendMagicEffect(getCreaturePosition(player), 22)
doCreatureSay(player, "AAHH!!", TALKTYPE_MONSTER_SAY)
item:remove(1)
return true
elseif player:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_COMBAT) and not player:getCondition(CONDITION_ATTRIBUTES, CONDITIONID_AMMO) then
player:addCondition(v[3])
doSendMagicEffect(getCreaturePosition(player), 22)
doCreatureSay(player, "AAAHHH!!!", TALKTYPE_MONSTER_SAY)
item:remove(1)
return true
else
doPlayerSendTextMessage(player, MESSAGE_INFO_DESCR, "You cannot use this potion while the effect is fully charged.")
return false
end
end
end
return true
end