From c7856dc51acd634bb49fe8416db7c4605d710352 Mon Sep 17 00:00:00 2001 From: "Johnny C. Lam" Date: Tue, 5 Mar 2013 06:05:15 +0000 Subject: [PATCH] Add HasTrinket(id) condition to test whether a trinket is equipped. git-svn-id: svn://svn.curseforge.net/wow/ovale/mainline/trunk@723 d5049fe3-3747-40f7-a4b5-f36d6801af5f --- OvaleCondition.lua | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/OvaleCondition.lua b/OvaleCondition.lua index 7ff1d1a..3f1a1ec 100644 --- a/OvaleCondition.lua +++ b/OvaleCondition.lua @@ -1323,6 +1323,37 @@ OvaleCondition.conditions.hasshield = function(condition) return testbool(itemLoc=="INVTYPE_SHIELD", condition[1]) end +--- Test if the player has a particular trinket equipped. +-- @name HasTrinket +-- @paramsig boolean +-- @param id The item ID of the trinket or the name of an item list. +-- @param yesno Optional. If yes, then return true if the trinket is equipped. If no, then return true if it isn't equipped. +-- Default is yes. +-- Valid values: yes, no. +-- @return A boolean value. +-- @usage +-- ItemList(rune_of_reorigination 94532 95802 96546) +-- if HasTrinket(rune_of_reorigination) and BuffPresent(rune_of_reorigination_buff) +-- Spell(rake) + +OvaleCondition.conditions.hastrinket = function(condition) + local trinketZero = GetInventoryItemID("player", GetInventorySlotInfo("Trinket0Slot")) + local trinketOne = GetInventoryItemID("player", GetInventorySlotInfo("Trinket1Slot")) + local trinketId = condition[1] + if type(trinketId) == "number" then + if (trinketZero and trinketZero == trinketId) or (trinketOne and trinketOne == trinketId) then + return testbool(true, condition[2]) + end + elseif OvaleData.itemList[trinketId] then + for _, v in pairs(OvaleData.itemList[trinketId]) do + if (trinketZero and trinketZero == v) or (trinketOne and trinketOne == v) then + return testbool(true, condition[2]) + end + end + end + return testbool(false, condition[2]) +end + --- Test if the player has a weapon equipped. -- @name HasWeapon -- @paramsig boolean -- 1.7.9.5