Compare commits
33 Commits
Author | SHA1 | Date | |
---|---|---|---|
3f214a3cd3 | |||
d9ab607b4c | |||
92882f9de1 | |||
a64f7525d0 | |||
fa78082738 | |||
9b655c1848 | |||
fba862a1ef | |||
c5a82f86c9 | |||
341f07a0f6 | |||
bead07a0cf | |||
407dc14298 | |||
7b9de40e57 | |||
450cad90b9 | |||
739352c641 | |||
6ccaa69b5a | |||
6ae87cea64 | |||
f9d3cf6e84 | |||
0d5248671f | |||
|
634f7b5c6d | ||
|
affde86fa9 | ||
53bc660b7c | |||
|
ec7939be37 | ||
de1cb88ca8 | |||
|
176a0ccf91 | ||
|
fde8966292 | ||
|
90332bac93 | ||
|
014300b239 | ||
b55d263f25 | |||
7c530dc0a1 | |||
c9ac569694 | |||
|
35abf9337b | ||
c7d11b3e44 | |||
|
af3a473fe2 |
@ -1,3 +0,0 @@
|
|||||||
{
|
|
||||||
"url": "https://drone.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo/"
|
|
||||||
}
|
|
58
.drone.yml
58
.drone.yml
@ -1,58 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
name: default
|
|
||||||
|
|
||||||
clone:
|
|
||||||
disable: true
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: clone
|
|
||||||
image: alpine/git
|
|
||||||
commands:
|
|
||||||
- git clone https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo.git sources
|
|
||||||
- cd sources && git checkout $DRONE_COMMIT
|
|
||||||
|
|
||||||
- name: lint
|
|
||||||
image: alpine
|
|
||||||
commands:
|
|
||||||
- apk update
|
|
||||||
- apk add --no-cache build-base curl unzip
|
|
||||||
- apk add --no-cache lua5.1 lua5.1-dev luarocks5.1
|
|
||||||
- luarocks-5.1 install luacheck
|
|
||||||
- cd sources
|
|
||||||
- luacheck ./*.lua
|
|
||||||
|
|
||||||
- name: build
|
|
||||||
image: alpine
|
|
||||||
commands:
|
|
||||||
- apk update && apk add --no-cache zip
|
|
||||||
# Delete unneeded files/dirs
|
|
||||||
- rm -rf sources/.git
|
|
||||||
- rm -f sources/.drone.status
|
|
||||||
- rm -f sources/.drone.yml
|
|
||||||
- rm -f sources/.luacheckrc
|
|
||||||
# Set Version and AddonVersion
|
|
||||||
- export VERSION=$DRONE_TAG
|
|
||||||
- export ADDON_VERSION=$(echo $DRONE_TAG | sed -E 's/(0|)\.//g')
|
|
||||||
- sed -i "s/0.123456789/$VERSION/g" sources/AchievementInfoCommon.lua
|
|
||||||
- sed -i "s/0.123456789/$VERSION/g" sources/AchievementInfo.txt
|
|
||||||
- sed -i "s/0.123456789/$ADDON_VERSION/g" sources/AchievementInfo.txt
|
|
||||||
# Rename and zip
|
|
||||||
- mv sources AchievementInfo
|
|
||||||
- zip -r "AchievementInfo-$DRONE_TAG.zip" ./AchievementInfo
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
||||||
|
|
||||||
- name: release
|
|
||||||
image: plugins/gitea-release
|
|
||||||
settings:
|
|
||||||
base_url: https://git.f-brinker.de
|
|
||||||
api_key:
|
|
||||||
from_secret: gitea_token
|
|
||||||
files: ./*.zip
|
|
||||||
title: AchievementInfo ${DRONE_TAG}
|
|
||||||
note: AchievementInfo/CHANGELOG.md
|
|
||||||
when:
|
|
||||||
event:
|
|
||||||
- tag
|
|
55
.gitea/workflows/build.yaml
Normal file
55
.gitea/workflows/build.yaml
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
name: Workflow
|
||||||
|
run-name: ${{ gitea.actor }} is linting and creating a new release on tag pushes 🚀
|
||||||
|
on: [push]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
|
||||||
|
Linting:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
- name: Run Luacheck linter
|
||||||
|
uses: lunarmodules/luacheck@v1
|
||||||
|
|
||||||
|
Release:
|
||||||
|
needs: [Linting]
|
||||||
|
if: ${{ startsWith(github.ref, 'refs/tags/') }} # only for tags
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
env:
|
||||||
|
Version: ${{ gitea.ref_name }}
|
||||||
|
steps:
|
||||||
|
- name: Check out repository code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
path: sources
|
||||||
|
- name: Delete unneeded files/dirs
|
||||||
|
run: |
|
||||||
|
rm -rf sources/.git
|
||||||
|
rm -rf sources/.gitea
|
||||||
|
rm -rf sources/screenshots
|
||||||
|
rm -f sources/.luacheckrc
|
||||||
|
- name: Set Version and AddonVersion
|
||||||
|
run: |
|
||||||
|
echo "Version: ${{ env.Version }}"
|
||||||
|
export ADDON_VERSION=$(echo ${{ env.Version }} | sed -E 's/(0|)\.//g')
|
||||||
|
sed -i "s/0.123456789/${{ env.Version }}/g" sources/AchievementInfoCommon.lua
|
||||||
|
sed -i "s/0.123456789/${{ env.Version }}/g" sources/AchievementInfo.txt
|
||||||
|
sed -i "s/0.123456789/$ADDON_VERSION/g" sources/AchievementInfo.txt
|
||||||
|
- name: Rename and zip
|
||||||
|
run: |
|
||||||
|
mv sources AchievementInfo
|
||||||
|
zip -r "AchievementInfo-${{ env.Version }}.zip" ./AchievementInfo
|
||||||
|
- name: Create release
|
||||||
|
id: create_release
|
||||||
|
uses: akkuman/gitea-release-action@v1
|
||||||
|
with:
|
||||||
|
token: ${{ secrets.token }}
|
||||||
|
name: "AchievementInfo ${{ env.Version }}"
|
||||||
|
tag_name: "${{ env.Version }}"
|
||||||
|
body_path: AchievementInfo/CHANGELOG.md
|
||||||
|
draft: false
|
||||||
|
prerelease: false
|
||||||
|
sha256sum: true
|
||||||
|
files: |-
|
||||||
|
*.zip
|
@ -17,7 +17,8 @@ read_globals = {
|
|||||||
"EVENT_ACHIEVEMENT_UPDATED",
|
"EVENT_ACHIEVEMENT_UPDATED",
|
||||||
"EVENT_ADD_ON_LOADED",
|
"EVENT_ADD_ON_LOADED",
|
||||||
"EVENT_MANAGER",
|
"EVENT_MANAGER",
|
||||||
"LINK_STYLE_BRACKET",
|
"LINK_STYLE_BRACKETS",
|
||||||
"zo_callLater",
|
"zo_callLater",
|
||||||
|
"zo_strformat",
|
||||||
"ZO_SavedVars",
|
"ZO_SavedVars",
|
||||||
}
|
}
|
@ -15,6 +15,7 @@ function AchievementInfo.initialize(_, addOnName)
|
|||||||
AchievementInfo.hijackedFirstLoad = true
|
AchievementInfo.hijackedFirstLoad = true
|
||||||
|
|
||||||
-- Load Saved Variables
|
-- Load Saved Variables
|
||||||
|
AchievementInfo.useAccountWideSettings = AchievementInfo.loadUseAccountWideSettings()
|
||||||
AchievementInfo.savedVars = AchievementInfo.loadSavedVars()
|
AchievementInfo.savedVars = AchievementInfo.loadSavedVars()
|
||||||
|
|
||||||
-- Load Language Data
|
-- Load Language Data
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
## Author: |c87B7CCAsto|r, @Astarax
|
## Author: |c87B7CCAsto|r, @Astarax
|
||||||
## Contact: mail@coded-with-heart.com
|
## Contact: mail@coded-with-heart.com
|
||||||
|
|
||||||
## APIVersion: 100031
|
## APIVersion: 101044
|
||||||
## SavedVariables: ACHIEVEMENT_INFO_DB
|
## SavedVariables: ACHIEVEMENT_INFO_DB ACHIEVEMENT_INFO_DB_USE_AW
|
||||||
|
|
||||||
## DependsOn: LibAddonMenu-2.0
|
## DependsOn: LibAddonMenu-2.0
|
||||||
|
|
||||||
|
@ -49,7 +49,7 @@ function AchievementInfo.onAchievementUpdated(_, achId)
|
|||||||
local percentageStep = false
|
local percentageStep = false
|
||||||
local percentageStepSize = AchievementInfo.settingGet("genShowUpdateSteps")
|
local percentageStepSize = AchievementInfo.settingGet("genShowUpdateSteps")
|
||||||
|
|
||||||
local link = GetAchievementLink(achId, LINK_STYLE_BRACKET)
|
local link = GetAchievementLink(achId, LINK_STYLE_BRACKETS)
|
||||||
local catName = "/"
|
local catName = "/"
|
||||||
|
|
||||||
if categoryId ~= false then
|
if categoryId ~= false then
|
||||||
@ -67,13 +67,18 @@ function AchievementInfo.onAchievementUpdated(_, achId)
|
|||||||
tmpOutput = tmpOutput .. ", "
|
tmpOutput = tmpOutput .. ", "
|
||||||
end
|
end
|
||||||
|
|
||||||
tmpOutput = tmpOutput .. description .. " "
|
tmpOutput = tmpOutput .. zo_strformat("<<1>>", description) .. " "
|
||||||
tmpOutput = tmpOutput .. AchievementInfo.calcCriteriaColor(numCompleted, numRequired) .. numCompleted .. "|r"
|
tmpOutput = tmpOutput .. AchievementInfo.calcCriteriaColor(numCompleted, numRequired) .. numCompleted .. "|r"
|
||||||
tmpOutput = tmpOutput .. AchievementInfo.clrDefault .. "/" .. "|r"
|
tmpOutput = tmpOutput .. AchievementInfo.clrDefault .. "/" .. "|r"
|
||||||
tmpOutput = tmpOutput .. AchievementInfo.clrCriteriaComplete .. numRequired .. "|r"
|
tmpOutput = tmpOutput .. AchievementInfo.clrCriteriaComplete .. numRequired .. "|r"
|
||||||
tmpOutput = tmpOutput .. AchievementInfo.clrDefault
|
tmpOutput = tmpOutput .. AchievementInfo.clrDefault
|
||||||
|
|
||||||
if AchievementInfo.settingGet("genShowOpenDetailsOnly") == true and numCompleted ~= numRequired then
|
if AchievementInfo.settingGet("genShowOpenDetailsOnly") == true then
|
||||||
|
if numCompleted ~= numRequired then
|
||||||
|
detailOutput[detailOutputCount] = tmpOutput
|
||||||
|
detailOutputCount = detailOutputCount + 1
|
||||||
|
end
|
||||||
|
else
|
||||||
detailOutput[detailOutputCount] = tmpOutput
|
detailOutput[detailOutputCount] = tmpOutput
|
||||||
detailOutputCount = detailOutputCount + 1
|
detailOutputCount = detailOutputCount + 1
|
||||||
end
|
end
|
||||||
|
@ -35,6 +35,9 @@ LANG_STORE.EN.SettingsOption.AddOnEnabled = "AddOn enabled"
|
|||||||
LANG_STORE.EN.SettingsOption.AddOnEnabledTooltip = "Enable or disable this AddOn"
|
LANG_STORE.EN.SettingsOption.AddOnEnabledTooltip = "Enable or disable this AddOn"
|
||||||
LANG_STORE.EN.SettingsOption.AddOnEnabledWarning = "Only the output messages can be disabled here"
|
LANG_STORE.EN.SettingsOption.AddOnEnabledWarning = "Only the output messages can be disabled here"
|
||||||
|
|
||||||
|
LANG_STORE.EN.SettingsOption.AccountWideEnabled = "Use account-wide Settings"
|
||||||
|
LANG_STORE.EN.SettingsOption.AccountWideEnabledTooltip = "Use and edit the same settings for all characters"
|
||||||
|
|
||||||
LANG_STORE.EN.SettingsOption.ShowEveryUpdate = "Show every update"
|
LANG_STORE.EN.SettingsOption.ShowEveryUpdate = "Show every update"
|
||||||
LANG_STORE.EN.SettingsOption.ShowEveryUpdateTooltip = "Shows a message on every status update of an achievement. Otherwise the messages appear only in steps of x%"
|
LANG_STORE.EN.SettingsOption.ShowEveryUpdateTooltip = "Shows a message on every status update of an achievement. Otherwise the messages appear only in steps of x%"
|
||||||
|
|
||||||
@ -86,6 +89,9 @@ LANG_STORE.DE.SettingsOption.AddOnEnabled = "AddOn aktiviert"
|
|||||||
LANG_STORE.DE.SettingsOption.AddOnEnabledTooltip = "Aktiviere oder deaktiviere dieses AddOn"
|
LANG_STORE.DE.SettingsOption.AddOnEnabledTooltip = "Aktiviere oder deaktiviere dieses AddOn"
|
||||||
LANG_STORE.DE.SettingsOption.AddOnEnabledWarning = "An dieser Stelle können nur die Ausgaben deaktiviert werden."
|
LANG_STORE.DE.SettingsOption.AddOnEnabledWarning = "An dieser Stelle können nur die Ausgaben deaktiviert werden."
|
||||||
|
|
||||||
|
LANG_STORE.DE.SettingsOption.AccountWideEnabled = "Accountübergreifende Einstellungen"
|
||||||
|
LANG_STORE.DE.SettingsOption.AccountWideEnabledTooltip = "Benutze und speichere die Einstellungen für alle Charaktere"
|
||||||
|
|
||||||
LANG_STORE.DE.SettingsOption.ShowEveryUpdate = "Zeige alle Fortschritte"
|
LANG_STORE.DE.SettingsOption.ShowEveryUpdate = "Zeige alle Fortschritte"
|
||||||
LANG_STORE.DE.SettingsOption.ShowEveryUpdateTooltip = "Zeigt bei jeder Aktualisierung eines Erfolgs einen Hinweis. Alternativ wird nur in x% Schritten ein Status ausgegeben"
|
LANG_STORE.DE.SettingsOption.ShowEveryUpdateTooltip = "Zeigt bei jeder Aktualisierung eines Erfolgs einen Hinweis. Alternativ wird nur in x% Schritten ein Status ausgegeben"
|
||||||
|
|
||||||
@ -138,6 +144,9 @@ LANG_STORE.FR.SettingsOption.AddOnEnabled = "Extension activée"
|
|||||||
LANG_STORE.FR.SettingsOption.AddOnEnabledTooltip = "Active ou désactive cette extension"
|
LANG_STORE.FR.SettingsOption.AddOnEnabledTooltip = "Active ou désactive cette extension"
|
||||||
LANG_STORE.FR.SettingsOption.AddOnEnabledWarning = "Seul les messages sortants peuvent être désactivés"
|
LANG_STORE.FR.SettingsOption.AddOnEnabledWarning = "Seul les messages sortants peuvent être désactivés"
|
||||||
|
|
||||||
|
LANG_STORE.FR.SettingsOption.AccountWideEnabled = LANG_STORE.EN.SettingsOption.AccountWideEnabled
|
||||||
|
LANG_STORE.FR.SettingsOption.AccountWideEnabledTooltip = LANG_STORE.EN.SettingsOption.AccountWideEnabledTooltip
|
||||||
|
|
||||||
LANG_STORE.FR.SettingsOption.ShowEveryUpdate = "Affichage de chaque mise à jour"
|
LANG_STORE.FR.SettingsOption.ShowEveryUpdate = "Affichage de chaque mise à jour"
|
||||||
LANG_STORE.FR.SettingsOption.ShowEveryUpdateTooltip = "Affiche un message pour chaque mise à jour d'un succès. Le reste du temps les messages n'apparaissent que sous forme de plage de x%"
|
LANG_STORE.FR.SettingsOption.ShowEveryUpdateTooltip = "Affiche un message pour chaque mise à jour d'un succès. Le reste du temps les messages n'apparaissent que sous forme de plage de x%"
|
||||||
|
|
||||||
|
@ -5,6 +5,15 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Function to determine if Account Wide Settings should be used
|
||||||
|
function AchievementInfo.loadUseAccountWideSettings()
|
||||||
|
return ZO_SavedVars:New("ACHIEVEMENT_INFO_DB_USE_AW", 1, nil, {
|
||||||
|
enabled = false
|
||||||
|
})
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Function to set and load the Saved Variables
|
-- Function to set and load the Saved Variables
|
||||||
function AchievementInfo.loadSavedVars()
|
function AchievementInfo.loadSavedVars()
|
||||||
local defaults = {
|
local defaults = {
|
||||||
@ -36,9 +45,14 @@ function AchievementInfo.loadSavedVars()
|
|||||||
cat20 = true,
|
cat20 = true,
|
||||||
cat21 = true,
|
cat21 = true,
|
||||||
cat22 = true,
|
cat22 = true,
|
||||||
|
-- ... new one default to true
|
||||||
devDebug = false
|
devDebug = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if AchievementInfo.useAccountWideSettings["enabled"] == true then
|
||||||
|
return ZO_SavedVars:NewAccountWide("ACHIEVEMENT_INFO_DB", 1, nil, defaults)
|
||||||
|
end
|
||||||
|
|
||||||
return ZO_SavedVars:New("ACHIEVEMENT_INFO_DB", 1, nil, defaults)
|
return ZO_SavedVars:New("ACHIEVEMENT_INFO_DB", 1, nil, defaults)
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -49,16 +63,16 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
local panelData = {
|
local panelData = {
|
||||||
type = "panel",
|
type = "panel",
|
||||||
name = AchievementInfo.name,
|
name = AchievementInfo.name,
|
||||||
displayName = AchievementInfo.clrDefault..AchievementInfo.name,
|
displayName = AchievementInfo.clrDefault .. AchievementInfo.name,
|
||||||
author = AchievementInfo.author,
|
author = AchievementInfo.author,
|
||||||
version = string.format("%.1f", AchievementInfo.version),
|
version = string.format("%.2f", AchievementInfo.version),
|
||||||
slashCommand = "/achievementInfo"
|
slashCommand = "/achievementInfo"
|
||||||
}
|
}
|
||||||
|
|
||||||
local optionsTable = {
|
local optionsTable = {
|
||||||
[1] = {
|
[1] = {
|
||||||
type = "header",
|
type = "header",
|
||||||
name = AchievementInfo.clrSettingsHeader..LANG.SettingsHeader.General
|
name = AchievementInfo.clrSettingsHeader .. LANG.SettingsHeader.General
|
||||||
},
|
},
|
||||||
[2] = {
|
[2] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
@ -69,13 +83,21 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
warning = LANG.SettingsOption.AddOnEnabledWarning
|
warning = LANG.SettingsOption.AddOnEnabledWarning
|
||||||
},
|
},
|
||||||
[3] = {
|
[3] = {
|
||||||
|
type = "checkbox",
|
||||||
|
name = LANG.SettingsOption.AccountWideEnabled,
|
||||||
|
tooltip = LANG.SettingsOption.AccountWideEnabledTooltip,
|
||||||
|
getFunc = function() return AchievementInfo.useAccountWideSettings["enabled"] end,
|
||||||
|
setFunc = function() AchievementInfo.toggleAccountWideSettings() end,
|
||||||
|
requiresReload = true
|
||||||
|
},
|
||||||
|
[4] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = LANG.SettingsOption.ShowEveryUpdate,
|
name = LANG.SettingsOption.ShowEveryUpdate,
|
||||||
tooltip = LANG.SettingsOption.ShowEveryUpdateTooltip,
|
tooltip = LANG.SettingsOption.ShowEveryUpdateTooltip,
|
||||||
getFunc = function() return AchievementInfo.settingGet("genShowEveryUpdate") end,
|
getFunc = function() return AchievementInfo.settingGet("genShowEveryUpdate") end,
|
||||||
setFunc = function() AchievementInfo.settingToogle("genShowEveryUpdate") end
|
setFunc = function() AchievementInfo.settingToogle("genShowEveryUpdate") end
|
||||||
},
|
},
|
||||||
[4] = {
|
[5] = {
|
||||||
type = "slider",
|
type = "slider",
|
||||||
name = LANG.SettingsOption.ShowUpdateSteps,
|
name = LANG.SettingsOption.ShowUpdateSteps,
|
||||||
tooltip = LANG.SettingsOption.ShowUpdateStepsTooltip,
|
tooltip = LANG.SettingsOption.ShowUpdateStepsTooltip,
|
||||||
@ -86,21 +108,21 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
setFunc = function(value) AchievementInfo.settingSet("genShowUpdateSteps", value) end,
|
setFunc = function(value) AchievementInfo.settingSet("genShowUpdateSteps", value) end,
|
||||||
default = 25
|
default = 25
|
||||||
},
|
},
|
||||||
[5] = {
|
[6] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = LANG.SettingsOption.ShowDetails,
|
name = LANG.SettingsOption.ShowDetails,
|
||||||
tooltip = LANG.SettingsOption.ShowDetailsTooltip,
|
tooltip = LANG.SettingsOption.ShowDetailsTooltip,
|
||||||
getFunc = function() return AchievementInfo.settingGet("genShowDetails") end,
|
getFunc = function() return AchievementInfo.settingGet("genShowDetails") end,
|
||||||
setFunc = function() AchievementInfo.settingToogle("genShowDetails") end
|
setFunc = function() AchievementInfo.settingToogle("genShowDetails") end
|
||||||
},
|
},
|
||||||
[6] = {
|
[7] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = LANG.SettingsOption.ShowOpenDetailsOnly,
|
name = LANG.SettingsOption.ShowOpenDetailsOnly,
|
||||||
tooltip = LANG.SettingsOption.ShowOpenDetailsOnlyTooltip,
|
tooltip = LANG.SettingsOption.ShowOpenDetailsOnlyTooltip,
|
||||||
getFunc = function() return AchievementInfo.settingGet("genShowOpenDetailsOnly") end,
|
getFunc = function() return AchievementInfo.settingGet("genShowOpenDetailsOnly") end,
|
||||||
setFunc = function() AchievementInfo.settingToogle("genShowOpenDetailsOnly") end
|
setFunc = function() AchievementInfo.settingToogle("genShowOpenDetailsOnly") end
|
||||||
},
|
},
|
||||||
[7] = {
|
[8] = {
|
||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = LANG.SettingsOption.OneElementPerLine,
|
name = LANG.SettingsOption.OneElementPerLine,
|
||||||
tooltip = LANG.SettingsOption.OneElementPerLineTooltip,
|
tooltip = LANG.SettingsOption.OneElementPerLineTooltip,
|
||||||
@ -108,11 +130,11 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
setFunc = function() AchievementInfo.settingToogle("genOnePerLine") end,
|
setFunc = function() AchievementInfo.settingToogle("genOnePerLine") end,
|
||||||
warning = LANG.SettingsOption.OneElementPerLineWarning
|
warning = LANG.SettingsOption.OneElementPerLineWarning
|
||||||
},
|
},
|
||||||
[8] = {
|
[9] = {
|
||||||
type = "header",
|
type = "header",
|
||||||
name = AchievementInfo.clrSettingsHeader .. LANG.SettingsHeader.Categories
|
name = AchievementInfo.clrSettingsHeader .. LANG.SettingsHeader.Categories
|
||||||
},
|
},
|
||||||
[9] = {
|
[10] = {
|
||||||
type = "description",
|
type = "description",
|
||||||
text = LANG.SettingsHeader.CategoriesDescription .. ":"
|
text = LANG.SettingsHeader.CategoriesDescription .. ":"
|
||||||
}
|
}
|
||||||
@ -128,8 +150,8 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
type = "checkbox",
|
type = "checkbox",
|
||||||
name = catName,
|
name = catName,
|
||||||
tooltip = LANG.SettingsOption.CategoryTooltip .. " '" .. catName .. "'",
|
tooltip = LANG.SettingsOption.CategoryTooltip .. " '" .. catName .. "'",
|
||||||
getFunc = function() return AchievementInfo.settingGet("cat"..i) end,
|
getFunc = function() return AchievementInfo.settingGetForCategory("cat" .. i) end,
|
||||||
setFunc = function() AchievementInfo.settingToogle("cat"..i) end
|
setFunc = function() AchievementInfo.settingToogle("cat" .. i) end
|
||||||
})
|
})
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -149,8 +171,8 @@ function AchievementInfo.createSettingsPanel()
|
|||||||
})
|
})
|
||||||
|
|
||||||
-- Register
|
-- Register
|
||||||
LibAddonMenu2:RegisterAddonPanel(AchievementInfo.name.."SettingsPanel", panelData)
|
LibAddonMenu2:RegisterAddonPanel(AchievementInfo.name .. "SettingsPanel", panelData)
|
||||||
LibAddonMenu2:RegisterOptionControls(AchievementInfo.name.."SettingsPanel", optionsTable)
|
LibAddonMenu2:RegisterOptionControls(AchievementInfo.name .. "SettingsPanel", optionsTable)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
@ -167,6 +189,18 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Function to retrieve settings for categories (default true)
|
||||||
|
function AchievementInfo.settingGetForCategory(id)
|
||||||
|
if AchievementInfo.savedVars[id] == nil then
|
||||||
|
AchievementInfo.savedVars[id] = true
|
||||||
|
return true
|
||||||
|
else
|
||||||
|
return AchievementInfo.savedVars[id]
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Function to toggle Checkbox values
|
-- Function to toggle Checkbox values
|
||||||
function AchievementInfo.settingToogle(id)
|
function AchievementInfo.settingToogle(id)
|
||||||
if AchievementInfo.savedVars[id] == false then
|
if AchievementInfo.savedVars[id] == false then
|
||||||
@ -178,6 +212,17 @@ end
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
-- Function to toggle Checkbox value for accountWideSettings
|
||||||
|
function AchievementInfo.toggleAccountWideSettings()
|
||||||
|
if AchievementInfo.useAccountWideSettings["enabled"] == false then
|
||||||
|
AchievementInfo.useAccountWideSettings["enabled"] = true
|
||||||
|
else
|
||||||
|
AchievementInfo.useAccountWideSettings["enabled"] = false
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
-- Function to set settings
|
-- Function to set settings
|
||||||
function AchievementInfo.settingSet(id, value)
|
function AchievementInfo.settingSet(id, value)
|
||||||
AchievementInfo.savedVars[id] = value
|
AchievementInfo.savedVars[id] = value
|
||||||
|
13
CHANGELOG.md
13
CHANGELOG.md
@ -1,5 +1,18 @@
|
|||||||
#### Notable Changes
|
#### Notable Changes
|
||||||
|
|
||||||
|
##### Release 4.15
|
||||||
|
* Fixed "bracket style" of the achievement links, thanks to DakJaniels
|
||||||
|
|
||||||
|
##### Release 4.5
|
||||||
|
* Fixed "ShowDetails" option working only in combination with "ShowOpenDetailsOnly"
|
||||||
|
|
||||||
|
##### Release 4.3
|
||||||
|
* Fixed an error with gendered achievement descriptions
|
||||||
|
|
||||||
|
##### Release 4.0
|
||||||
|
* Added accountwide settings
|
||||||
|
* Added an "use accountwide settings" option to the settings of each character
|
||||||
|
|
||||||
##### Release 3.0
|
##### Release 3.0
|
||||||
* Removed the bundled Dependency LibAddonMenu-2.0: You have to download it on your own now
|
* Removed the bundled Dependency LibAddonMenu-2.0: You have to download it on your own now
|
||||||
|
|
||||||
|
31
README.md
31
README.md
@ -1,12 +1,33 @@
|
|||||||
# AchievementInfo
|
# AchievementInfo
|
||||||
|
|
||||||
[![Build Status](https://drone.f-brinker.de/api/badges/fbrinker/elderscrolls-addon-achievementInfo/status.svg)](https://drone.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo)
|
[![Version Status](https://monitoring.f-brinker.de/api/badge/18/status?style=plastic&upLabel=Up%20to%20date&downLabel=Outdated)](https://monitoring.f-brinker.de/status/eso)
|
||||||
[![Latest Releases](https://badgen.net/badge/releases/latest)](https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo/releases)
|
[![Build Status](https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo/actions/workflows/build.yaml/badge.svg)](https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo/actions)
|
||||||
|
|
||||||
This is an **The Elderscrolls Online** addon. [See all details and the download @ESOUI](http://www.esoui.com/downloads/info350-AchievementInfo.html#info).
|
[![Latest Releases](https://badgen.net/badge/releases/latest)](https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo/releases)
|
||||||
|
[![Downloads](https://badgen.net/https/scripts.f-brinker.de/esoui-stats/badge-total.php?cache=1800)](https://www.esoui.com/downloads/info350-AchievementInfo.html)
|
||||||
|
[![Favorites](https://badgen.net/https/scripts.f-brinker.de/esoui-stats/badge-fav.php?cache=1800)](https://www.esoui.com/downloads/info350-AchievementInfo.html)
|
||||||
|
|
||||||
|
This is a **The Elderscrolls Online** addon. [See all details and the download @ESOUI](http://www.esoui.com/downloads/info350-AchievementInfo.html#info).
|
||||||
|
|
||||||
[Issue-Tracker](https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo/issues)
|
[Issue-Tracker](https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo/issues)
|
||||||
|
|
||||||
|
## Description
|
||||||
|
|
||||||
|
### What is this AddOn about?
|
||||||
|
|
||||||
|
I like achievements, and I like to know what to do to complete them and what type of achievements exist without browsing through the entire achievement catalog: This AddOn displays lightweight chat notifications if you make progress in an achievement (please see the screenshots).
|
||||||
|
|
||||||
|
### Features
|
||||||
|
|
||||||
|
* Shows chat notifications if you do something that is needed for an achievement
|
||||||
|
* Triggers on each action or just in x% steps of the achievement's requirements (configurable)
|
||||||
|
* Can show some details in the chat notification like (kill 250/1000 Humanoids)
|
||||||
|
* You can toggle the notifications for each category
|
||||||
|
* Lightweight: It is not always present and shows up only when necessary
|
||||||
|
* You can enable account-wide settings
|
||||||
|
|
||||||
|
![preview screenshot](screenshots/chat-1.jpg)
|
||||||
|
|
||||||
## Why is this a public project?
|
## Why is this a public project?
|
||||||
|
|
||||||
In case I quit or pause playing TESO and cannot maintain this addon, feel free to contribute to keep this up to date and running.
|
In case I quit or pause playing TESO and cannot maintain this addon, feel free to contribute to keep this up to date and running.
|
||||||
@ -14,9 +35,9 @@ I'll still be available here and be able to update the ESOUI page.
|
|||||||
|
|
||||||
## How to contribute?
|
## How to contribute?
|
||||||
|
|
||||||
**IMPORTANT: Github is a mirror.** Please contribute at [git.f-brinker.de/elderscrolls-addon-achievementInfo](https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo) - You can login with your Github or Gitlab account (OAuth2).
|
**IMPORTANT: Github is a mirror.** Please contribute at [git.f-brinker.de/elderscrolls-addon-achievementInfo](https://git.f-brinker.de/fbrinker/elderscrolls-addon-achievementInfo) - You can log in with your Github or Gitlab account (OAuth2).
|
||||||
|
|
||||||
Then, create a fork of the repository, do what you have to do and create a pull-request afterwards. Feel free to contact me any time.
|
Then, create a fork of the repository, do what you have to do, and create a pull-request afterward. Feel free to contact me any time.
|
||||||
|
|
||||||
#### Linting
|
#### Linting
|
||||||
Luacheck is used to check the LUA code. [Documentation](https://luacheck.readthedocs.io/en/stable/index.html)
|
Luacheck is used to check the LUA code. [Documentation](https://luacheck.readthedocs.io/en/stable/index.html)
|
||||||
|
BIN
screenshots/chat-1.jpg
Normal file
BIN
screenshots/chat-1.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 60 KiB |
BIN
screenshots/chat-2.jpg
Normal file
BIN
screenshots/chat-2.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 21 KiB |
BIN
screenshots/settings.jpg
Normal file
BIN
screenshots/settings.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 91 KiB |
Loading…
Reference in New Issue
Block a user