diff --git a/Doc/Changelog.txt b/Doc/Changelog.txt
index 1721e48..bfe9899 100644
--- a/Doc/Changelog.txt
+++ b/Doc/Changelog.txt
@@ -1,3 +1,7 @@
+2018-05-18 version 48
+ Made TG/DB/Clockwork Groups Bosses available.
+
+
2018-05-18 version 47
Changed WB display to have detail panel
Made Dungeon Mode scrollable for people with lots of chars
diff --git a/HistOffline.lua b/HistOffline.lua
index ffdaade..d544817 100644
--- a/HistOffline.lua
+++ b/HistOffline.lua
@@ -11,10 +11,12 @@ local FG_Colour_Complete = "#000000"
local BG_Colour_Not_Complete = "#FFB67D"
local BG_Colour_Complete = "#A4FF5A"
local Colour_Heading_Complete = "#58FA58"
+local dname, key, count, ccount, colour, bgcolour
+
--force_lang = "fr" -- or "de" or "en" for debugging
-- ========================
-version= "47"
+version= "48"
require( "iuplua" )
require( "iupluacontrols" )
iup.SetGlobal("UTF8MODE","YES")
@@ -709,60 +711,44 @@ end
-- Need to keep track of multiple achievements for WB in Zones. Index them by zone LineColumn.
WB_Area={}
- local dname, key, count
-
- for id,_ in pairs (WB_dat) do -- Load World Boss Name. Info LC is the ZONE Identifier
- local L = WB_dat[id].L
- local C = WB_dat[id].C
- local key = tostring(L) .. tostring(C) -- make name key
+ local dname, key, count, ccount
+-- Scan over all Slots, see what we have
+ for C=1, 4 do
+ ccount = 0 -- per column
+ for L = 1, 5 do
+ key = tostring(L) .. tostring(C) -- make name key
dname = Locations[key] -- Zone Locations
if dname == nil then
- dname = "key " .. key .." not found in WB_Dat"
+ break -- only 1 in Coldharbour,1 morrowind, not worry about empty slots
end
- WB_Area[C] =0
- me.WB_box:setcell(L,C,dname .. " (0)")
- end
- count= {}
- for id,_ in pairs (WB_dat) do -- For Achievements we have..
- if thischar.ach[id] ~= nil then
- local L = WB_dat[id].L
- local C = WB_dat[id].C
-
- --Set colour of LC
- local bgcolour = "BGCOLOR" .. L .. ":" .. C
-
- key = tostring(L) .. tostring(C) -- make name key
- dname = Locations[key] -- Zone Locations
- if dname == nil then
- dname = "WB key " .. key .." not found"
+ count = 0
+ if WB_Info[key] == nil then
+ break -- Some Locations not necessarily have WB
end
- -- Increment count and display
- if count[key] == nil then
- count[key] = 0
+ for _, id in ipairs (WB_Info[key].ids) do -- get the WB of the zone
+
+ if thischar.ach[id] ~= nil then -- Have we got it?
+ count =count +1
+ end
end
- count[key] = count[key]+1
+ ccount = ccount + count -- Track the faction (Column)
+ me.WB_box:setcell(L,C,dname .. " (" .. tostring(count) .. ")")
- me.WB_box:setcell(L,C,dname .. " (" .. count[key] ..")")
- --Check if done
- if (count[key] == #WB_Info[key].ids) then
+ colour = "FGCOLOR" .. L .. ":" .. C
+ bgcolour = "BGCOLOR" .. L .. ":" .. C
+ if count == #WB_Info[key].ids then -- Got them all??
+ iup.SetAttribute(me.WB_box, colour , FG_Colour_Complete) -- Yup
iup.SetAttribute(me.WB_box, bgcolour , BG_Colour_Complete)
end
- --Add to Area Completion
- WB_Area[C] = WB_Area[C] +1
- end
- end
-
-
-
-
+ end -- L
- --Set Column Colours if 30 done.
- for i,j in pairs (WB_Area) do
- if j > 29 then
- iup.SetAttribute(me.WB_box, "BGCOLOR0:".. tostring(i), Colour_Heading_Complete)
+ --Set Column Heading Colours
+ if ccount >= 15 then
+ iup.SetAttribute(me.WB_box, "BGCOLOR0:" .. tostring(C), Colour_Heading_Complete)
end
- end
+ end -- C
+---
-- Create WorldBoss Achievements Detail Boxes=======================
me.WB_Detail_box = {}
@@ -808,11 +794,7 @@ end
function me.WB_box:enteritem_cb(L,C)
-
me.WB_Detail_Zbox.value = me.WB_Detail_box[tostring(L) .. tostring(C)]
- if me.WB_Detail_box[tostring(L) .. tostring(C)] == nil then
- -- print ("me.WB_Detail_box " .. tostring(L) .. tostring(C) .. " is nil" )
- end
end
@@ -840,15 +822,13 @@ end
-- Need to keep track of multiple achievements for SQ in Zones. Index them by zone LineColumn.
- local ccount, count
- -- Set up box with default data, and adjust
for C=1, 4 do
ccount = 0 -- per column
for L = 1, 5 do
key = tostring(L) .. tostring(C) -- make name key
dname = Locations[key] -- Zone Locations
if dname == nil then
- break -- only 1 in Coldharbour,1 morrowind
+ break -- only 1 in Coldharbour,1 morrowind not worry about empty slots
end
count = 0
@@ -857,7 +837,6 @@ end
end
for _, id in ipairs (SQ_Info[key].ids) do -- get the quests of the zone
-
if thischar.ach[id] ~= nil then -- Have we got it?
count =count +1
end
@@ -865,9 +844,11 @@ end
ccount = ccount + count -- Track the faction (Column)
me.SQ_box:setcell(L,C,dname .. " (" .. tostring(count) .. ")")
- local colour = "FGCOLOR" .. L .. ":" .. C
+ colour = "FGCOLOR" .. L .. ":" .. C
+ bgcolour = "BGCOLOR" .. L .. ":" .. C
if count == #SQ_Info[key].ids then -- Got them all??
- iup.SetAttribute(me.SQ_box, colour , FG_Colour_Complete) -- Yup
+ iup.SetAttribute(me.SQ_box, colour , FG_Colour_Complete) -- Yup
+ iup.SetAttribute(me.SQ_box, bgcolour , BG_Colour_Complete)
end
end -- L
@@ -884,7 +865,7 @@ end
local link
for key, dat in pairs(SQ_Info) do -- for each zone
- me.SQ_Detail_box[key]= iup.matrix {numcol=2, numcol_visible=2, #dat.ids}
+ me.SQ_Detail_box[key]= iup.matrix {numcol=2, numcol_visible=2, numlin=#dat.ids}
me.SQ_Detail_box[key]:setcell(0,0, L.Ach_ID)
me.SQ_Detail_box[key]:setcell(0,1, L.Name)
@@ -898,7 +879,6 @@ end
iup.SetAttribute(me.SQ_Detail_box[key],"WIDTH1", "150")
iup.SetAttribute(me.SQ_Detail_box[key],"WIDTH2", "250")
for line, id in ipairs (dat.ids) do -- get the quests of the zone
- me.SQ_Detail_box[key].numlin = line
me.SQ_Detail_box[key]:setcell(line,0, tostring(id))
if Ach_Detail[id] == nil then
diff --git a/data/DLC.lua b/data/DLC.lua
index fa38817..c353f6c 100644
--- a/data/DLC.lua
+++ b/data/DLC.lua
@@ -33,10 +33,12 @@ DLC_Dat.id ={
[1959] = {L=3, C=5}, -- "Fang Lair Vanquisher", "Defeat Lizabet Charnis, the Cadaverous Menagerie, Caluurion, Ulfnor and Sabina Cedus, and Orryn the Black and Thurvokun in Fang Lair.",
[1960] = {L=4, C=5}, -- "Fang Lair Conqueror", "Defeat Lizabet Charnis, The Cadaverous Menagerie, Caluurion, Ulfnor and Sabina Cedus, and Orryn the Black and Thurvokun in Veteran Fang Lair.",
---Summerset
+-- No Group Dungeons in Vvardenfell
+-- No Group Dungeons in Thieves Guild
+-- No Group Dungeons in Summerset
-} -- No dungeon in TG
+}
DLC_Dat.key = DLC2key
diff --git a/data/WB.lua b/data/WB.lua
index 56e4ea2..9d4f98d 100644
--- a/data/WB.lua
+++ b/data/WB.lua
@@ -114,19 +114,37 @@ WB_dat = { --World Boss Achievements
[442] = {L=1, C=4}, --Daedroth Larder
[441] = {L=1, C=4}, --Zemarek's Hollow
+-- Thieves Guild. Hews Bane
+[1352] = {L=2, C=4}, -- "Deepest Shallows" "Kill Syvarra of the Deep at Ko Estaran.",
+[1353] = {L=2, C=4}, -- "Cutting the Keel" "Kill Captain Virindi Slave-Taker at Thrall Cove.",
+
+--Dark Brotherhood Gold Coast
+[1419] = {L=3, C=4}, -- "Defeat Limenauruus" "Defeat Limenauruus the possessed minotaur and the shadow spirits at Tribune's Folly.",
+[1420] = {L=3, C=4}, -- "Conquer the Kvatch Arena" "Enter the Kvatch Arena and defeat all challengers.",
+
+
+
--Vvardenfell
-[1847] = {L=2, C=4}, --Loop Eradicator ,"Save Dubdil Alar from the consequences of his temporal experiments.",
-[1802] = {L=2, C=4}, --Songbird Silencer
-[1803] = {L=2, C=4}, --Salothan's Cursebreaker
-[1805] = {L=2, C=4}, --Breaker of the Unbroken, Defeat the nix-ox Nilthog the Unbroken at Nilthog's Hollow.
-[1807] = {L=2, C=4}, --Cheater Defeater, Defeat the Skaafin, Mehz the Cozener, at Dubdil Alar Tower and seal the rift to Oblivion.
-[1804] = {L=2, C=4}, -- "Consort Killer""Defeat the Queen's Consort at Missir-Dadalit Egg Mine.",
+[1847] = {L=4, C=4}, --Loop Eradicator ,"Save Dubdil Alar from the consequences of his temporal experiments.",
+[1802] = {L=4, C=4}, --Songbird Silencer
+[1803] = {L=4, C=4}, --Salothan's Cursebreaker
+[1805] = {L=4, C=4}, --Breaker of the Unbroken, Defeat the nix-ox Nilthog the Unbroken at Nilthog's Hollow.
+[1807] = {L=4, C=4}, --Cheater Defeater, Defeat the Skaafin, Mehz the Cozener, at Dubdil Alar Tower and seal the rift to Oblivion.
+[1804] = {L=4, C=4}, -- "Consort Killer""Defeat the Queen's Consort at Missir-Dadalit Egg Mine.",
+
+--Clock
+[2046] = {L=5, C=4}, -- "Murderer of Crows" "Defeat Ithoxis, Abathoth, and Ssatinot in Exarchs' Egress.",
+[2028] = {L=5, C=4}, -- "Imperfection" "Defeat The Imperfect in the Sanctuary of Verification.",
+
+
--Summerset
-[2036] = {L=3, C=4}, -- "Reef Raider" "Defeat Queen of the Reef at The Queen's Hatchery.",
-[2037] = {L=3, C=4}, -- "Bucking the Matriarchy" "Defeat Caanerin at Indrik Frolic.",
-[2038] = {L=3, C=4}, -- "Sea Sload Slugger""Defeat the Sea Sload B'Korgen at Welenkin Cove.",
-[2039] = {L=3, C=4}, -- "Talon Taker" "Defeat Haeliata and Nagravia at Gryphon Run.",
-[2040] = {L=3, C=4}, -- "Amphibian Agitator""Defeat Graveld at Graveld's Hideaway.",
-[2041] = {L=3, C=4}, -- "Keel Hauler" "Defeat Keelsplitter at Keelsplitter's Nest.",
-[2212] = {L=3, C=4}, -- "Asp Awareness" "Defeat Keelsplitter without stepping on any of the snakes.",
+[2036] = {L=6, C=4}, -- "Reef Raider" "Defeat Queen of the Reef at The Queen's Hatchery.",
+[2037] = {L=6, C=4}, -- "Bucking the Matriarchy" "Defeat Caanerin at Indrik Frolic.",
+[2038] = {L=6, C=4}, -- "Sea Sload Slugger""Defeat the Sea Sload B'Korgen at Welenkin Cove.",
+[2039] = {L=6, C=4}, -- "Talon Taker" "Defeat Haeliata and Nagravia at Gryphon Run.",
+[2040] = {L=6, C=4}, -- "Amphibian Agitator""Defeat Graveld at Graveld's Hideaway.",
+[2041] = {L=6, C=4}, -- "Keel Hauler" "Defeat Keelsplitter at Keelsplitter's Nest.",
+[2212] = {L=6, C=4}, -- "Asp Awareness" "Defeat Keelsplitter without stepping on any of the snakes.",
+
+
}
diff --git a/data/de/de.lua b/data/de/de.lua
index fd979a3..51b10dc 100644
--- a/data/de/de.lua
+++ b/data/de/de.lua
@@ -84,7 +84,7 @@ L = {
Name = "Name",
Link = "Link (zum öffnen anklicken)",
SQ_Detail = "Aufgaben des oben gewählten Gebiets mit Link zur Beschreibung der Quest auf Englisch.",
- WB_Detail ="WB_Detail",
+ WB_Detail ="Welt Bosse - Detail",
Characters = "Charaktere",
Dungeons = "Verliese",
Mode = "Anzeige für",
@@ -177,11 +177,11 @@ Trials_Names["N"] = {
["21"] = "Kargstein: Ätherisches Archiv abgeschlossen",
["31"] = "Kargstein: Sanctum Ophidia abgeschlossen",
["41"] = "Kargstein: Champion der Drachenstern-Arena",
- ["51"] = "Vvardenfell: Abgefertigt", -- 1808,, "Besiegt den Montagegeneral und helft Divayth Fyr, die Flut von Animunkuli aufzuhalten, die aus den Hallen der Fertigung strömt."
- ["61"] = "Diebesgilde: Schlund von Lorkhaj abgeschlossen", --1343 "Treibt die dro-m'Athra zurück in die Leere und schließt den Schlund von Lorkhaj im normalen Modus.",
- ["71"] = "Sommersend: Ruhe in Wolkenruh", -- [2131] "Besiegt Z'Maja, Siroria, Relequen und Galenwe in Wolkenruh.",
- ["81"] = "Sommersend: Wolkenruh Streiter von Wolkenruh",
- ["91"] = "Sommersend: Wolkenruh Erlöser von Wolkenruh",
+ ["51"] = "Vvardenfell: Abgefertigt",
+ ["61"] = "Diebesgilde: Schlund von Lorkhaj abgeschlossen",
+ ["71"] = "Sommersend: Ruhe in Wolkenruh",
+ ["81"] = "Sommersend: Streiter von Wolkenruh",
+ ["91"] = "Sommersend: Erlöser von Wolkenruh",
["101"] = "Stadt der Uhrwerke: Erlöser der Anstalt Sanctorium",
["111"] = "Stadt der Uhrwerke: Anstalt Sanctorium abgeschlossen",
["121"] = "Stadt der Uhrwerke: Streiter der Anstalt Sanctorium",
@@ -230,8 +230,8 @@ Trials_Names["V"] = {
["411"] = "Sommersend: Wolkenruh: Tapfere Verbrennung",
["421"] = "Stadt der Uhrwerke: Eroberer der Anstalt Sanctorium",
["431"] = "Stadt der Uhrwerke: Sieger der Anstalt Sanctorium",
- ["441"] = "Stadt der Uhrwerke: Heilig", -- esiegt den Heiligen Olms, den Gerechten, den Heiligen Llothis, den Frommen, und den Heiligen Felms, den Tapferen, in der Anstalt Sanctorium (Veteranen), ohne dass ein Gruppenmitglied getötet wird.",
- ["451"] = "Stadt der Uhrwerke: Schnelles Erbarmen",-- Besiegt den Heiligen Olms, den Gerechten, den Heiligen Llothis, den Frommen, und den Heiligen Felms, den Tapferen, in der Anstalt Sanctorium (Veteranen) innerhalb von 15 Minuten. Die Zeit läuft, sobald Ihr das Atrium betreten habt.",
+ ["441"] = "Stadt der Uhrwerke: Heilig",
+ ["451"] = "Stadt der Uhrwerke: Schnelles Erbarmen",
["461"] = "Stadt der Uhrwerke: Glückselige Schlägerei",
["471"] = "Stadt der Uhrwerke: Seelenruhige Projektionen",
["481"] = "Stadt der Uhrwerke: Unvollendete Anwesenheit",
@@ -267,11 +267,13 @@ Locations = {
["33"] = "Grünschatten",
["43"] = "Malabal Tor",
["53"] = "Schnittermark",
---Coldharbour
+--Coldharbour/ Other
["14"] = "Kalthafen",
---Morrowind
- ["24"] = "Vvardenfell",
- ["34"] = "Sommersend",
+ ["24"] = "Diebesgilde",
+ ["34"] = "Dark Brotherhood",
+ ["44"] = "VVardenfell",
+ ["54"] = "Stadt der Uhrwerke",
+ ["64"] = "Sommersend",
}
DLC_Location_names = {
diff --git a/data/en/en.lua b/data/en/en.lua
index 2568c82..72bef26 100644
--- a/data/en/en.lua
+++ b/data/en/en.lua
@@ -267,12 +267,13 @@ Locations = { -- Used for WB
["33"] = "Greenshade",
["43"] = "Malabal-Tor",
["53"] = "Reaper's March",
---Coldharbour
+--Coldharbour/ Other
["14"] = "Coldharbour",
---Morrowind
- ["24"] = "VVardenfell",
---Summerset
- ["34"] = "Summerset",
+ ["24"] = "Thieves Guild",
+ ["34"] = "Dark Brotherhood",
+ ["44"] = "VVardenfell",
+ ["54"] = "Clockwork City",
+ ["64"] = "Summerset",
}
DLC_Location_names = {
["11"] = "Rkindaleft",
diff --git a/data/fr/fr.lua b/data/fr/fr.lua
index 2591f96..eb9532f 100644
--- a/data/fr/fr.lua
+++ b/data/fr/fr.lua
@@ -271,13 +271,15 @@ Locations = {
["33"] = "Greenshade",
["43"] = "Malabal-Tor",
["53"] = "Reaper's March",
---Coldharbour
+--Coldharbour/ Other
["14"] = "Coldharbour",
---Morrowind
- ["24"] = "Vvardenfell",
---Summerset
- ["34"] = "Summerset",
+ ["24"] = "Thieves Guild",
+ ["34"] = "Dark Brotherhood",
+ ["44"] = "VVardenfell",
+ ["54"] = "Cité mécanique",
+ ["64"] = "Summerset",
}
+
DLC_Location_names = {
["11"] = "Rkindaleft",
["21"] = "D'Orsinium-la-Vieille",
diff --git a/data/ids.lua b/data/ids.lua
index 3142483..c01038b 100644
--- a/data/ids.lua
+++ b/data/ids.lua
@@ -253,8 +253,8 @@ hist.IDs = {
[262] = true,
[263] = true,
[1802] = true,
-[1803] = true,
-[1804] = true,
+[1419] = true,
+[1420] = true,
[1805] = true,
[399] = true,
[400] = true,
@@ -296,24 +296,30 @@ hist.IDs = {
[190] = true,
[191] = true,
[192] = true,
+[150] = true,
+[152] = true,
[195] = true,
[196] = true,
[197] = true,
[198] = true,
[199] = true,
[200] = true,
-[150] = true,
-[152] = true,
+[1353] = true,
[149] = true,
[148] = true,
[700] = true,
+[2036] = true,
+[258] = true,
+[2046] = true,
+[1804] = true,
+[1807] = true,
[210] = true,
[211] = true,
[212] = true,
[213] = true,
[214] = true,
-[2036] = true,
-[1807] = true,
+[1803] = true,
+[1847] = true,
[345] = true,
[346] = true,
[347] = true,
@@ -326,14 +332,14 @@ hist.IDs = {
[354] = true,
[355] = true,
[356] = true,
-[1847] = true,
+[1352] = true,
[441] = true,
[442] = true,
[444] = true,
[443] = true,
[440] = true,
[259] = true,
-[258] = true,
+[2028] = true,
[701] = true,
[699] = true,
[495] = true,
diff --git a/history.txt b/history.txt
index f518931..6370d00 100644
--- a/history.txt
+++ b/history.txt
@@ -1,6 +1,6 @@
## Title: Dad's History
## APIVersion: 100022 100023
-## Version: 47
+## Version: 48
## Author: HisDad
## Description: Record progress of all characters for offline viewing.
## SavedVariables: History_SV