diff --git a/.envrc.sample b/.envrc.sample index 2043b1f..92d7a21 100644 --- a/.envrc.sample +++ b/.envrc.sample @@ -1 +1,3 @@ export WOW_ADDON_DIR= +export CURSEFORGE_TOKEN= +export CURSEFORGE_PROJECT_ID= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c4c4ffc --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.zip diff --git a/ATAutoReactivateGoliath/ATAutoReactivateGoliath.lua b/ATAutoReactivateGoliath/ATAutoReactivateGoliath.lua new file mode 100644 index 0000000..c2d6d60 --- /dev/null +++ b/ATAutoReactivateGoliath/ATAutoReactivateGoliath.lua @@ -0,0 +1,35 @@ +local f = CreateFrame("Frame") + +StaticPopupDialogs["GOLIATH_MISSING"] = { + text = "Option to repair goliath not found; move closer", + button1 = "Ok", + OnAccept = function() + C_GossipInfo.CloseGossip() + end, + timeout = 5, + whileDead = false, + hideOnEscape = true, + preferredIndex = 3 +} + +f:RegisterEvent("GOSSIP_SHOW") + +f:SetScript("OnEvent", function(self, event, ...) + local isNecroticWake = GetZoneText() == "The Necrotic Wake" + local isSteward = GetUnitName("npc") == "Steward" + + if isNecroticWake and isSteward then + options = C_GossipInfo.GetOptions() + + found = false + for k, v in pairs(options) do + if v['name'] == 'Can you reactivate this goliath?' then + found = true + C_GossipInfo.SelectOption(k) + break + end + end + + if not found then StaticPopup_Show("GOLIATH_MISSING") end + end +end) diff --git a/ATAutoReactivateGoliath/ATAutoReactivateGoliath.toc b/ATAutoReactivateGoliath/ATAutoReactivateGoliath.toc new file mode 100644 index 0000000..68221c9 --- /dev/null +++ b/ATAutoReactivateGoliath/ATAutoReactivateGoliath.toc @@ -0,0 +1,6 @@ +## Interface: 90005 +## Title: ATReactivateGoliath +## Author: Andrew Tomaka +## Version: 1.0 + +ATAutoReactivateGoliath.lua diff --git a/ATMe/ATMe.lua b/ATMe/ATMe.lua index 8156357..aa50302 100755 --- a/ATMe/ATMe.lua +++ b/ATMe/ATMe.lua @@ -9,18 +9,6 @@ StaticPopupDialogs["REPAIR_ALERT"] = { preferredIndex = 3 } -StaticPopupDialogs["GOLIATH_MISSING"] = { - text = "Option to repair goliath not found; move closer", - button1 = "Ok", - OnAccept = function() - C_GossipInfo.CloseGossip() - end, - timeout = 5, - whileDead = false, - hideOnEscape = true, - preferredIndex = 3 -} - SLASH_ATME1 = "/ta" ATMe.keyItemID = 180653 @@ -84,13 +72,6 @@ function events:INSPECT_READY(guid) end end -function events:GOSSIP_SHOW() - local isNecroticWake = GetZoneText() == 'The Necrotic Wake' - local isSteward = GetUnitName('npc') == 'Steward' - - if isNecroticWake and isSteward then ATMe.activateGoliath() end -end - function events:CHAT_MSG_PARTY_LEADER(message, ...) if message == '!keys' then ATMe.announceKey() @@ -213,21 +194,6 @@ function ATMe.announceTaunts(...) print(message) end -function ATMe.activateGoliath() - options = C_GossipInfo.GetOptions() - - found = false - for k, v in pairs(options) do - if v['name'] == 'Can you reactivate this goliath?' then - found = true - C_GossipInfo.SelectOption(k) - break - end - end - - if not found then StaticPopup_Show("GOLIATH_MISSING") end -end - function ATMe.needsRepair() for slot = 1, #ATMe.slots do local id = GetInventorySlotInfo(ATMe.slots[slot]) diff --git a/Makefile b/Makefile index 6122b30..77111e3 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,25 @@ install: cp -r ATMe/ $$WOW_ADDON_DIR + cp -r ATAutoReactivateGoliath/ $$WOW_ADDON_DIR update: cp -r $$WOW_ADDON_DIR/ATMe . + cp -r $$WOW_ADDON_DIR/ATAutoReactivateGoliath . + +clean: + rm -f ATAutoReactivateGoliath.zip + +archive: clean + zip -r ATAutoReactivateGoliath ATAutoReactivateGoliath + +upload: archive + test $$WOW_GAME_VERSION + curl -H "X-Api-Token: $$CURSEFORGE_TOKEN" \ + -F metadata='{changelog: "Initial upload", gameVersions: [$$WOW_GAME_VERSION], releaseType: "release"}' \ + -F file=@ATAutoReactivateGoliath.zip \ + https://wow.curseforge.com/api/projects/$$CURSEFORGE_PROJECT_ID/upload-file + +version: + @curl -s -H "X-Api-Token: $$CURSEFORGE_TOKEN" \ + https://wow.curseforge.com/api/game/versions | \ + jq ".[-1] | .id" diff --git a/README.md b/README.md new file mode 100644 index 0000000..eb9a1b1 --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# ATAddons + +Miscellaneous World of Warcraft addons. + +## ATAutoReactivateGoliath + +To distribute new file via Makefile + +1. `WOW_GAME_VERSION=$(make version)` to grab the current game version +2. `make upload` to upload addon for recently grabbed game version