Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ Nothing else to install: QuestieDB is no longer needed, and TomTom stays optiona
- The aids are on for a new install: the quest marks and counters above the monsters, the line
in their tooltip, and enemy nameplates shown farther. The game hides the enemy nameplates
until you press V: Ding shows them once so that its counters appear, and says so in the chat.
- Upstairs and downstairs: when the NPC or the object waits on another floor, the arrow no
longer says "You're here" in the middle of the building. It says "The NPC is one floor up",
"at the top" or "one floor down", and stays on screen until you find the stairs.

## v1.6.0

Expand Down
7 changes: 5 additions & 2 deletions Ding/Core/Import.lua
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ local STEP_KEYS = {
faction = "faction", use = "items", useitem = "items", equip = "items", destroy = "items",
bank = "items", unbank = "items", keep = "items", kill = "npcPairs", collect = "itemPairs",
buy = "buys", talk = "npcs", gossip = "index", object = "objects", spots = "points",
patrol = "points", revive = "revive", when = "when", why = "why",
patrol = "points", revive = "revive", when = "when", why = "why", floor = "floor",
}
local WHEN_KEYS = {
done = "quests", notdone = "quests", log = "quests", notlog = "quests", ready = "quests",
Expand All @@ -69,6 +69,7 @@ local SAMPLES = {
next = '"guide-id"', when = "{ done = 456 }", held = "{ { 5469, 4 } }", steps = "{ { accept = 456 } }",
category = '"leveling" / "items"', guides = "{ { steps = { ... } } }", pack = '{ title = "text" }',
why = '"text" / { kind = "detour", quest = 67, xp = 9000 }', leftOut = '{ [456] = "text" }',
floor = '"up" / "top" / "down"',
}

-- The order of the keys in an exported guide.
Expand All @@ -81,7 +82,7 @@ local STEP_ORDER = {
"revive", "train", "fly", "vendor", "repair", "kill", "collect", "buy", "talk", "gossip", "useitem",
"object", "equip", "destroy", "bank", "unbank", "abandon", "keep", "spots", "patrol", "use",
"sticky", "noauto", "dungeon", "elite", "optional", "faction", "races", "classes", "when", "text",
"note", "why", "done", "notdone", "log", "notlog", "ready", "item", "noitem", "minlevel", "maxlevel",
"floor", "note", "why", "done", "notdone", "log", "notlog", "ready", "item", "noitem", "minlevel", "maxlevel",
}

---------------------------------------------------------------------------
Expand Down Expand Up @@ -191,6 +192,8 @@ local function checkValue(kind, key, v, at, ctx)
if not known then at("warning", L.IMPORT_CATEGORY:format(v)) end
elseif kind == "faction" then
if not FACTION_RACES[v] then expects() end
elseif kind == "floor" then
if v ~= "up" and v ~= "top" and v ~= "down" then expects() end
elseif kind == "races" or kind == "classes" then
local list = names(v)
if not list then return expects() end
Expand Down
8 changes: 4 additions & 4 deletions Ding/Guides/Class/Alliance/Druid.lua
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ Ding.RegisterGuide({
{ turnin = 5923, races = { "NightElf" }, optional = true },
{ accept = 5921, races = { "NightElf" },
why = { text = "From level 10: the chain that teaches Bear Form.", short = true },
note = "Mathrengyl Bearwalker, upstairs in the Cenarion Enclave." },
floor = "up", note = "Mathrengyl Bearwalker, upstairs in the Cenarion Enclave." },
{ turnin = 5921, accept = 5929, races = { "NightElf" },
note = "Dendrite Starblaze waits on the upper floor of the great house of Nighthaven." },
floor = "up", note = "Dendrite Starblaze waits on the upper floor of the great house of Nighthaven." },
{ complete = 5929, talk = 11956, races = { "NightElf" },
note = "The Great Bear Spirit waits northwest of the village, up the hill path: listen to all it has to say." },
{ turnin = 5929, accept = 5931, races = { "NightElf" } },
Expand All @@ -47,7 +47,7 @@ Ding.RegisterGuide({
{ turnin = 94912, accept = 94914, races = { "Skyborne" },
note = "Sheldras Moontree, the druid trainer of Stormwind, in the park." },
{ turnin = 94914, races = { "Skyborne" },
note = "Dendrite Starblaze waits on the upper floor of the great house of Nighthaven." },
floor = "up", note = "Dendrite Starblaze waits on the upper floor of the great house of Nighthaven." },

-- Level 14: Cure Poison (Night Elves).
{ accept = 6121, races = { "NightElf" },
Expand Down Expand Up @@ -105,7 +105,7 @@ Ding.RegisterGuide({
{ turnin = 98731, accept = 98397, races = { "NightElf" } },
{ turnin = 98738, accept = 98397, races = { "Skyborne" } },
{ turnin = 98397, races = { "NightElf", "Skyborne" },
note = "Mathrengyl Bearwalker, upstairs in the Cenarion Enclave of Darnassus." },
floor = "up", note = "Mathrengyl Bearwalker, upstairs in the Cenarion Enclave of Darnassus." },

-- Level 50: Torwa Pathfinder, in Un'Goro Crater.
{ accept = 9063,
Expand Down
2 changes: 1 addition & 1 deletion Ding/Guides/Class/Alliance/Hunter.lua
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ Ding.RegisterGuide({
why = { text = "Turning this in teaches Tame Beast: you can now keep a pet.", short = true } },
{ turnin = 6103, races = { "NightElf" },
why = { text = "Your pet can now learn new skills.", short = true },
note = "Jocaste, the hunter trainer of Darnassus, upstairs." },
floor = "up", note = "Jocaste, the hunter trainer of Darnassus, upstairs." },

-- Level 10, Dwarves: Grif Wildheart, in Kharanos.
{ accept = 6064, races = { "Dwarf" },
Expand Down
8 changes: 4 additions & 4 deletions Ding/Guides/Class/Alliance/Mage.lua
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,9 @@ Ding.RegisterGuide({
-- Level 10, Humans: Mirror Lake.
{ accept = 1860, races = { "Human" },
why = { text = "From level 10: your trainer's first errand, a few minutes from Goldshire.", short = true },
note = "Zaldimar Wefhellt, the mage trainer of Goldshire, upstairs in the inn." },
floor = "up", note = "Zaldimar Wefhellt, the mage trainer of Goldshire, upstairs in the inn." },
{ turnin = 1860, races = { "Human" },
note = "Jennea Cannon, upstairs in the Wizard's Sanctum of the Mage Quarter, in Stormwind." },
floor = "up", note = "Jennea Cannon, upstairs in the Wizard's Sanctum of the Mage Quarter, in Stormwind." },
{ accept = 1861, races = { "Human", "Skyborne" } },
{ complete = 1861, useitem = 7207, races = { "Human", "Skyborne" },
note = "Stand in the water of Mirror Lake, in the west of Elwynn Forest, and use the flask there." },
Expand Down Expand Up @@ -46,7 +46,7 @@ Ding.RegisterGuide({
why = { text = "From level 15: a chain in Stormwind that ends with a robe for you.", short = true },
note = "Your mage trainer gives it." },
{ turnin = 1919, accept = 1920, races = { "Human", "Gnome" },
note = "Jennea Cannon, upstairs in the Wizard's Sanctum of the Mage Quarter, in Stormwind." },
floor = "up", note = "Jennea Cannon, upstairs in the Wizard's Sanctum of the Mage Quarter, in Stormwind." },
{ collect = { { 7247, 1 }, { 7308, 1 } }, races = { "Human", "Gnome" },
note = "The chest of coffers and the cantation lie in Jennea's tower." },
{ go = { 1453, 50.61, 90.55 }, text = "The Blue Recluse, the inn of the Mage Quarter", races = { "Human", "Gnome" } },
Expand All @@ -64,7 +64,7 @@ Ding.RegisterGuide({
{ accept = 1939, races = { "Human", "Gnome" },
why = { text = "From level 26: a chain that ends with a second robe.", short = true } },
{ turnin = 1939, accept = 1938, races = { "Human", "Gnome" },
note = "High Sorcerer Andromath, at the top of the Wizard's Sanctum." },
floor = "top", note = "High Sorcerer Andromath, at the top of the Wizard's Sanctum." },
{ complete = 1938, races = { "Human", "Gnome" },
note = "The book lies in the Tower of Ilgalar, in the east of Redridge Mountains." },
{ turnin = 1938, accept = 1940, races = { "Human", "Gnome" } },
Expand Down
6 changes: 3 additions & 3 deletions Ding/Guides/Class/Alliance/Rogue.lua
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,15 @@ Ding.RegisterGuide({
-- Level 20: Klaven's Tower, then your poisons.
{ accept = 2360,
why = { text = "From level 20: the chain that teaches your poisons.", short = true },
note = "Master Mathias Shaw, on the top floor of SI:7's headquarters, in Old Town." },
floor = "top", note = "Master Mathias Shaw, on the top floor of SI:7's headquarters, in Old Town." },
{ turnin = 2360, accept = 2359,
note = "Agent Kearnen watches from a hill in the southeast of Westfall." },
{ complete = 2359,
note = "Pick the Defias Tower Key from the pocket of a Malformed Defias Drone, by the tower; then, upstairs, sap Klaven Mortwake before you open the chest." },
{ turnin = 2359, accept = 2607,
note = "The chest leaves a sickness on you: that is the next quest." },
{ turnin = 2607, accept = 2608,
note = "Doc Mixilpixil works in the cellar of SI:7's headquarters." },
floor = "down", note = "Doc Mixilpixil works in the cellar of SI:7's headquarters." },
{ complete = 2608,
note = "Lie down in front of him (the emote) so he can examine you." },
{ turnin = 2608,
Expand All @@ -65,7 +65,7 @@ Ding.RegisterGuide({
{ complete = 8234,
note = "The Timbermaw shamans of northern Azshara carry the bag." },
{ turnin = 8234, accept = 8235,
note = "Archmage Xylem, at the top of his tower in Azshara: Sanath Lim-yo, at its foot, sends you up." },
floor = "top", note = "Archmage Xylem, at the top of his tower in Azshara: Sanath Lim-yo, at its foot, sends you up." },
{ complete = 8235,
note = "The Forest Oozes of northeastern Azshara carry the fragments." },
{ turnin = 8235 },
Expand Down
10 changes: 5 additions & 5 deletions Ding/Guides/Class/Alliance/Warlock.lua
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@ Ding.RegisterGuide({
{ turnin = 1715, races = { "Gnome" }, optional = true },
{ accept = 1688,
why = { text = "From level 10: the chain that teaches Summon Voidwalker.", short = true },
note = "Gakin the Darkbinder, in the cellar of the Slaughtered Lamb, in the Mage Quarter of Stormwind." },
floor = "down", note = "Gakin the Darkbinder, in the cellar of the Slaughtered Lamb, in the Mage Quarter of Stormwind." },
{ complete = 1688,
note = "Surena Caledon hides in a house of the Brackwell Pumpkin Patch, in the east of Elwynn Forest." },
{ turnin = 1688, accept = 1689 },
{ complete = 1689, useitem = 6928,
note = "Down the stairs of the Slaughtered Lamb's crypt: use the choker on the summoning circle, then defeat the voidwalker." },
floor = "down", note = "Down the stairs of the Slaughtered Lamb's crypt: use the choker on the summoning circle, then defeat the voidwalker." },
{ turnin = 1689,
why = { text = "Turning this in teaches Summon Voidwalker.", short = true } },

Expand All @@ -49,21 +49,21 @@ Ding.RegisterGuide({
{ turnin = 1717, races = { "Gnome" }, optional = true },
{ accept = 1716,
why = { text = "From level 20: the chain that teaches Summon Succubus.", short = true },
note = "Gakin the Darkbinder, in the cellar of the Slaughtered Lamb." },
floor = "down", note = "Gakin the Darkbinder, in the cellar of the Slaughtered Lamb." },
{ turnin = 1716, accept = 1738,
note = "Takar the Seer, north of Camp Taurajo in the Barrens: Horde land, stay clear of the guards." },
{ complete = 1738,
note = "The Heartswood grows in the north of Ashenvale, near the Horde's lumber camp." },
{ turnin = 1738, accept = 1739 },
{ complete = 1739, useitem = 6913,
note = "In the Slaughtered Lamb's crypt again: use the heartswood core on the summoning circle, then defeat the succubus." },
floor = "down", note = "In the Slaughtered Lamb's crypt again: use the heartswood core on the summoning circle, then defeat the succubus." },
{ turnin = 1739,
why = { text = "Turning this in teaches Summon Succubus.", short = true } },

-- Level 30: the felhunter.
{ accept = 1798,
why = { text = "From level 30: the chain that teaches Summon Felhunter.", short = true },
note = "Gakin the Darkbinder, in the cellar of the Slaughtered Lamb." },
floor = "down", note = "Gakin the Darkbinder, in the cellar of the Slaughtered Lamb." },
{ turnin = 1798, accept = 1758,
note = "Strahad Farsan, in Ratchet." },
{ turnin = 1758, accept = 1802,
Expand Down
2 changes: 1 addition & 1 deletion Ding/Guides/Class/Alliance/Warrior.lua
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Ding.RegisterGuide({
why = { text = "From level 10: the chain that teaches Defensive Stance.", short = true },
note = "Granis Swiftaxe, the warrior trainer of Kharanos." },
{ turnin = 1679, accept = 1678, races = { "Dwarf", "Gnome" },
note = "Muren Stormpike, upstairs in the Hall of Arms of Ironforge." },
floor = "up", note = "Muren Stormpike, upstairs in the Hall of Arms of Ironforge." },
{ complete = 1678, races = { "Dwarf", "Gnome" },
note = "Vejrek waits in a Frostmane hut in the west of Dun Morogh." },
{ turnin = 1678, races = { "Dwarf", "Gnome" },
Expand Down
4 changes: 2 additions & 2 deletions Ding/Guides/Class/Horde/Druid.lua
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Ding.RegisterGuide({
why = { text = "From level 10: the chain that teaches Bear Form.", short = true },
note = "Turak Runetotem, in the Elder Rise of Thunder Bluff." },
{ turnin = 5922, accept = 5930, races = { "Tauren" },
note = "Dendrite Starblaze waits on the upper floor of the great house of Nighthaven." },
floor = "up", note = "Dendrite Starblaze waits on the upper floor of the great house of Nighthaven." },
{ complete = 5930, talk = 11956, races = { "Tauren" },
note = "The Great Bear Spirit waits northwest of the village, up the hill path: listen to all it has to say." },
{ turnin = 5930, accept = 5932, races = { "Tauren" } },
Expand All @@ -47,7 +47,7 @@ Ding.RegisterGuide({
{ turnin = 94911, accept = 94913, races = { "Skyborne" },
note = "Turak Runetotem, in the Elder Rise of Thunder Bluff." },
{ turnin = 94913, races = { "Skyborne" },
note = "Dendrite Starblaze waits on the upper floor of the great house of Nighthaven." },
floor = "up", note = "Dendrite Starblaze waits on the upper floor of the great house of Nighthaven." },

-- Level 14: Cure Poison (Tauren).
{ accept = 6126, races = { "Tauren" },
Expand Down
2 changes: 1 addition & 1 deletion Ding/Guides/Class/Horde/Rogue.lua
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ Ding.RegisterGuide({
{ complete = 8234,
note = "The Timbermaw shamans of northern Azshara carry the bag." },
{ turnin = 8234, accept = 8235,
note = "Archmage Xylem, at the top of his tower in Azshara: Sanath Lim-yo, at its foot, sends you up." },
floor = "top", note = "Archmage Xylem, at the top of his tower in Azshara: Sanath Lim-yo, at its foot, sends you up." },
{ complete = 8235,
note = "The Forest Oozes of northeastern Azshara carry the fragments." },
{ turnin = 8235 },
Expand Down
Loading
Loading