├── GuideListFrame.lua ├── Locale.lua ├── Mapping.lua ├── NilGuide.lua ├── ObjectivesFrame.lua ├── OptionsFrame.lua ├── Parser.lua ├── QuestTracking.lua ├── StatusFrame.lua ├── TourGuide.lua ├── TourGuideVanilla.toc ├── TourGuide_Alliance ├── 01_12_Dun_Morogh.lua ├── 01_12_Elwynn_Forest.lua ├── 01_12_Teldrassil.lua ├── 12_17_Darkshore.lua ├── 12_17_Westfall.lua ├── 17_18_Loch_Modan.lua ├── 18_20_Redridge_Mountains.lua ├── 20_21_Darkshore.lua ├── 21_22_Ashenvale.lua ├── 22_23_Stonetalon_Mountains.lua ├── 23_24_Darkshore.lua ├── 24_24_Ashenvale.lua ├── 24_27_Wetlands.lua ├── 27_28_Redridge_Mountains.lua ├── 28_29_Duskwood.lua ├── 29_30_Ashenvale.lua ├── 30_31_Wetlands.lua ├── 31_32_Hillsbrad_Foothills.lua ├── 32_33_Stranglethorn.lua ├── 33_34_Thousand_Needles.lua ├── 34_35_Desolace.lua ├── 36_37_Stranglethorn.lua ├── 37_37_Alterac_Mountains.lua ├── 37_38_Arathi_Highlands.lua ├── 38_39_Dustwallow_Marsh.lua ├── 39_40_Stranglethorn.lua ├── 40_41_Badlands.lua ├── 41_42_Swamp_of_Sorrows.lua ├── 42_43_Stranglethorn.lua ├── 43_43_Desolace.lua ├── 43_44_Tanaris.lua ├── 44_46_Feralas.lua ├── 46_46_Azshara.lua ├── 46_46_Hinterlands.lua ├── 46_47_Stranglethorn.lua ├── 47_48_Searing_Gorge.lua ├── 48_49_Feralas.lua ├── 49_50_Tanaris.lua ├── 50_50_Hinterlands.lua ├── 50_51_Blasted_Lands.lua ├── 51_52_UnGoro_Crater.lua ├── 52_53_Azshara.lua ├── 53_54_Felwood.lua ├── 54_55_Winterspring.lua ├── 55_56_Burning_Steppes.lua ├── 55_56_Felwood.lua ├── 56_57_Western_Plaguelands.lua ├── 57_58_Eastern_Plaguelands.lua ├── 57_58_Western_Plaguelands.lua ├── 58_59_Silithus.lua ├── 59_60_Winterspring.lua ├── Guides.xml └── TourGuide_Alliance.toc ├── TourGuide_Horde ├── 01_12_Durotar.lua ├── 01_12_Mulgore.lua ├── 01_12_TirisfalGlades.lua ├── 12_20_Barrens.lua ├── 12_20_Silverpine_Forest.lua ├── 20_22_Stonetalon_Mountains.lua ├── 22_23_Southern_Barrens.lua ├── 23_25_Stonetalon_Mountains.lua ├── 25_25_Southern_Barrens.lua ├── 25_26_Thousand_Needles.lua ├── 26_27_Ashenvale.lua ├── 27_27_StonetalonMountains.lua ├── 27_29_ThousandNeedles.lua ├── 29_30_HillsbradFoothills.lua ├── 30_30_ArathiHighlands.lua ├── 30_31_StranglethornVale.lua ├── 31_32_ThousandNeedles.lua ├── 32_34_Desolace.lua ├── 34_36_StranglethornVale.lua ├── 36_37_Alterac_Mountains.lua ├── 37_38_Arathi_Highlands.lua ├── 37_38_Thousand_Needles.lua ├── 38_38_Dustwallow_Marsh.lua ├── 38_40_Stranglethorn_Vale.lua ├── 40_41_Badlands.lua ├── 41_42_Swamp_of_Sorrows.lua ├── 42_43_Stranglethorn_Vale.lua ├── 43_44_Dustwallow_Marsh.lua ├── 44_44_Desolace.lua ├── 44_45_Tanaris.lua ├── 45_46_Feralas.lua ├── 46_47_Azshara.lua ├── 47_47_Hinterlands.lua ├── 47_47_StranglethornVale.lua ├── 47_48_Searing_Gorge.lua ├── 48_49_Swamp_of_Sorrows.lua ├── 49_49_Dustwallow_Marsh.lua ├── 49_50_Feralas.lua ├── 49_50_Tanaris.lua ├── 50_50_Azshara.lua ├── 50_51_Hinterlands.lua ├── 51_51_Blasted_Lands.lua ├── 51_53_UnGoro_Crater.lua ├── 53_54_Burning_Steppes.lua ├── 54_54_Felwood.lua ├── 54_55_Winterspring.lua ├── 55_56_Felwood.lua ├── 56_56_Western_Plaguelands.lua ├── 56_57_Eastern_Plaguelands.lua ├── 57_58_Western_Plaguelands.lua ├── 58_59_Silithus.lua ├── 59_60_Winterspring.lua ├── Guides.xml └── TourGuide_Horde.toc ├── UnlistedQuest.lua ├── WidgetWarlock.lua ├── libs ├── AceAddon-2.0 │ └── AceAddon-2.0.lua ├── AceConsole-2.0 │ └── AceConsole-2.0.lua ├── AceDB-2.0 │ └── AceDB-2.0.lua ├── AceDebug-2.0 │ └── AceDebug-2.0.lua ├── AceEvent-2.0 │ └── AceEvent-2.0.lua ├── AceHook-2.1 │ └── AceHook-2.1.lua ├── AceLibrary │ └── AceLibrary.lua ├── AceOO-2.0 │ └── AceOO-2.0.lua ├── Deformat-2.0 │ └── Deformat-2.0.lua ├── Dewdrop-2.0 │ └── Dewdrop-2.0.lua ├── FuBarPlugin-2.0 │ └── FuBarPlugin-2.0.lua ├── Gratuity-2.0 │ └── Gratuity-2.0.lua └── Tablet-2.0 │ └── Tablet-2.0.lua └── media ├── dead.tga └── resting.tga /GuideListFrame.lua: -------------------------------------------------------------------------------- 1 | 2 | local TourGuide = TourGuide 3 | local ww = WidgetWarlock 4 | --WidgetWarlock = nil 5 | 6 | local title 7 | 8 | local NUMROWS, COLWIDTH = 16, 210 9 | local ROWHEIGHT = 305/NUMROWS 10 | 11 | local offset = 0 12 | local rows = {} 13 | 14 | local function HideTooltip() 15 | if GameTooltip:IsOwned(this) then 16 | GameTooltip:Hide() 17 | end 18 | end 19 | 20 | local function ShowTooltip() 21 | local f = this 22 | if TourGuide.db.char.completion[f.guide] ~= 1 then return end 23 | 24 | GameTooltip:SetOwner(f, "ANCHOR_RIGHT") 25 | GameTooltip:SetText("This guide has been completed. Shift-click to reset it.", nil, nil, nil, nil, true) 26 | end 27 | 28 | local function OnClick() 29 | local f = this 30 | if IsShiftKeyDown() then 31 | TourGuide.db.char.completion[f.guide] = nil 32 | TourGuide.db.char.turnins[f.guide] = {} 33 | TourGuide:UpdateGuideListPanel() 34 | GameTooltip:Hide() 35 | else 36 | local text = f.guide 37 | if not text then f:SetChecked(false) 38 | else 39 | TourGuide:LoadGuide(text) 40 | TourGuide:UpdateStatusFrame() 41 | TourGuide:UpdateGuideListPanel() 42 | end 43 | end 44 | end 45 | 46 | local frame = CreateFrame("Frame", "TourGuideGuideList", TourGuide.statusframe) 47 | TourGuide.guidelistframe = frame 48 | frame:SetFrameStrata("DIALOG") 49 | frame:SetWidth(660) frame:SetHeight(320+28) 50 | frame:SetPoint("TOPRIGHT", TourGuide.statusframe, "BOTTOMRIGHT") 51 | frame:SetBackdrop(ww.TooltipBorderBG) 52 | frame:SetBackdropColor(0.09, 0.09, 0.19, 1) 53 | frame:SetBackdropBorderColor(0.5, 0.5, 0.5, 0.5) 54 | frame:Hide() 55 | 56 | local closebutton = CreateFrame("Button", nil, frame, "UIPanelCloseButton") 57 | closebutton:SetPoint("TOPRIGHT", frame, "TOPRIGHT") 58 | frame.closebutton = closebutton 59 | 60 | local title = ww.SummonFontString(frame, nil, "SubZoneTextFont", nil, "BOTTOM", frame, "TOP") 61 | local fontname, fontheight, fontflags = title:GetFont() 62 | title:SetFont(fontname, 18, fontflags) 63 | title:SetText("Guide List") 64 | frame.title = title 65 | 66 | -- Fill in the frame with "guides' CheckButtons" 67 | for i=1,NUMROWS*3 do 68 | local anchor, point = rows[i-1], "BOTTOMLEFT" 69 | if i == 1 then anchor, point = frame, "TOPLEFT" 70 | elseif i == (NUMROWS + 1) then anchor, point = rows[1], "TOPRIGHT" 71 | elseif i == (NUMROWS*2 + 1) then anchor, point = rows[NUMROWS + 1], "TOPRIGHT" end 72 | 73 | local row = CreateFrame("CheckButton", nil, frame) 74 | if i == 1 then row:SetPoint("TOPLEFT", anchor, point, 15, -30) 75 | else row:SetPoint("TOPLEFT", anchor, point) end 76 | row:SetHeight(ROWHEIGHT) 77 | row:SetWidth(COLWIDTH) 78 | 79 | local highlight = ww.SummonTexture(row, nil, nil, nil, "Interface\\HelpFrame\\HelpFrameButton-Highlight") 80 | highlight:SetTexCoord(0, 1, 0, 0.578125) 81 | highlight:SetAllPoints() 82 | row:SetHighlightTexture(highlight) 83 | row:SetCheckedTexture(highlight) 84 | 85 | local text = ww.SummonFontString(row, nil, "GameFontWhite", nil, "LEFT", 6, 0) 86 | local fontname, fontheight, fontflags = title:GetFont() 87 | text:SetFont(fontname, 11, fontflags) 88 | text:SetTextColor(.79, .79, .79, 1) 89 | 90 | row:SetScript("OnClick", OnClick) 91 | row:SetScript("OnEnter", ShowTooltip) 92 | row:SetScript("OnLeave", HideTooltip) 93 | 94 | row.text = text 95 | rows[i] = row 96 | end 97 | 98 | frame:SetScript("OnShow", function() 99 | local quad, vhalf, hhalf = TourGuide.GetQuadrant(TourGuide.statusframe) 100 | local anchpoint = (vhalf == "TOP" and "BOTTOM" or "TOP")..hhalf 101 | this:ClearAllPoints() 102 | this:SetPoint(quad, TourGuide.statusframe, anchpoint) 103 | TourGuide:UpdateGuideListPanel() 104 | this:SetAlpha(0) 105 | this:SetScript("OnUpdate", ww.FadeIn) 106 | end) 107 | 108 | frame:EnableMouseWheel() 109 | frame:SetScript("OnMouseWheel", function() 110 | local f,val = this,arg1 111 | offset = offset - val*NUMROWS 112 | if (offset + NUMROWS*2) > table.getn(TourGuide.guidelist) then offset = offset - NUMROWS end 113 | if offset < 0 then offset = 0 end 114 | TourGuide:UpdateGuideListPanel() 115 | end) 116 | 117 | ww.SetFadeTime(frame, 0.7) 118 | 119 | table.insert(UISpecialFrames, "TourGuideGuideList") 120 | 121 | function TourGuide:UpdateGuideListPanel() 122 | if not frame or not frame:IsVisible() then return end 123 | for i,row in ipairs(rows) do 124 | row.i = i + offset + 1 125 | 126 | local name = self.guidelist[i + offset + 1] 127 | local complete = self.db.char.currentguide == name and (self.current-1)/table.getn(self.actions) or self.db.char.completion[name] 128 | row.guide = name 129 | 130 | local r,g,b = self.ColorGradient(complete or 0) 131 | local text = complete and complete ~= 0 and string.format("|cff%02x%02x%02x%s", r*255, g*255, b*255, name) or name 132 | row.text:SetText(text) 133 | row:SetChecked(self.db.char.currentguide == name) 134 | end 135 | end 136 | -------------------------------------------------------------------------------- /Mapping.lua: -------------------------------------------------------------------------------- 1 | 2 | local L = TourGuide.Locale 3 | 4 | local zonei, zonec, zonenames = {}, {}, {} 5 | for ci,c in pairs{GetMapContinents()} do 6 | zonenames[ci] = {GetMapZones(ci)} 7 | for zi,z in pairs(zonenames[ci]) do 8 | zonei[z], zonec[z] = zi, ci 9 | end 10 | end 11 | 12 | local cache = {} 13 | local function MapPoint(zone, x, y, desc) 14 | TourGuide:Debug( string.format("Mapping %q - %s (%.2f, %.2f)", desc, zone, x, y)) 15 | local zi, zc = zone and zonei[zone], zone and zonec[zone] 16 | if not zi then 17 | if zone then TourGuide:Print(L["Cannot find zone %q, using current zone."], zone) 18 | else TourGuide:Print(L["No zone provided, using current zone."]) end 19 | 20 | zi, zc = GetCurrentMapZone(), GetCurrentMapContinent() 21 | zone = zonenames[zc][zi] 22 | end 23 | 24 | local opts = { title = "[TG] "..desc } 25 | if TomTom then TomTom:AddMFWaypoint(zc, zi, x/100, y/100, opts) 26 | elseif Cartographer_Waypoints then 27 | local pt = NotePoint:new(zone, x/100, y/100, "[TG] "..desc) 28 | Cartographer_Waypoints:AddWaypoint(pt) 29 | table.insert(cache, pt.WaypointID) 30 | end 31 | end 32 | 33 | function TourGuide:MapPfQuestNPC(qid, action) 34 | if not self.db.char.mapquestgivers then return end 35 | if not qid then return false end 36 | 37 | local unitId, objectId = "UNKNOWN", "UNKNOWN" 38 | local loc, qid = GetLocale(), tonumber(qid) 39 | local title = pfDB.quests.loc[qid]["T"] 40 | 41 | local qLookup = pfDB["quests"]["data"] 42 | if qLookup[qid] then 43 | if action == "ACCEPT" then 44 | if qLookup[qid]["start"] then 45 | if qLookup[qid]["start"]["U"] then -- NPC 46 | for _, uid in pairs(qLookup[qid]["start"]["U"]) do 47 | unitId = uid 48 | end 49 | elseif qLookup[qid]["start"]["O"] then -- Object 50 | for _, oid in pairs(qLookup[qid]["start"]["O"]) do 51 | objectId = oid 52 | end 53 | end 54 | end 55 | else 56 | if qLookup[qid]["end"] then 57 | if qLookup[qid]["end"]["U"] then -- NPC 58 | for _, uid in pairs(qLookup[qid]["end"]["U"]) do 59 | unitId = uid 60 | end 61 | elseif qLookup[qid]["end"]["O"] then -- Object 62 | for _, oid in pairs(qLookup[qid]["end"]["O"]) do 63 | objectId = oid 64 | end 65 | end 66 | end 67 | end 68 | self:Debug( string.format("pfQuest lookup A:%s U:%s O:%s", action, unitId, objectId)) 69 | 70 | if unitId ~= "UNKNOWN" then 71 | local unitLookup = pfDB["units"]["data"] 72 | if unitLookup[unitId] and unitLookup[unitId]["coords"] then 73 | for _, data in pairs(unitLookup[unitId]["coords"]) do 74 | local x, y, zone, _ = unpack(data) 75 | MapPoint(pfDB.zones.loc[zone], x, y, title.." ("..pfDB.units.loc[unitId]..")") 76 | return true 77 | end 78 | end 79 | elseif objectId ~= "UNKNOWN" then 80 | local objectLookup = pfDB["objects"]["data"] 81 | if objectLookup[objectId] and objectLookup[objectId]["coords"] then 82 | for _, data in pairs(objectLookup[objectId]["coords"]) do 83 | local x, y, zone, _ = unpack(data) 84 | MapPoint(pfDB.zones.loc[zone], x, y, title.." ("..pfDB.objects.loc[objectId]..")") 85 | return true 86 | end 87 | end 88 | end 89 | self:Debug( string.format("%s: No NPC or Object information found for %s!", action, title)) 90 | end 91 | end 92 | 93 | function TourGuide:MapLightHeadedNPC(qid, action) 94 | if not self.db.char.mapquestgivers then return end 95 | local npcid, npcname, stype 96 | LightHeaded:LoadQIDData(qid) 97 | 98 | local title, level = LightHeaded:QIDToTitleLevel(qid) 99 | if action == "ACCEPT" then _, _, _, _, stype, npcname, npcid = LightHeaded:GetQuestInfo(title, level) 100 | else _, _, _, _, _, _, _, stype, npcname, npcid = LightHeaded:GetQuestInfo(title, level) end 101 | self:Debug( string.format("LightHeaded lookup %s %s %s %s %s", action, qid, stype, npcname, npcid)) 102 | if stype ~= "npc" then return end 103 | 104 | local data = LightHeaded:LoadNPCData(tonumber(npcid)) 105 | if not data then return end 106 | local _,_,cid,zid,x,y = string.find(data,"([^,]+),([^,]+),([^,]+),([^:]+):") 107 | MapPoint(zonenames[tonumber(cid)][tonumber(zid)], tonumber(x), tonumber(y), title.." ("..npcname..")") 108 | return true 109 | end 110 | 111 | function TourGuide:ParseAndMapCoords(qid, action, note, desc, zone) 112 | if TomTom then 113 | local TomTom = TomTom 114 | 115 | if TomTom.waypoints then 116 | for k,wp in ipairs(TomTom.waypoints) do 117 | if wp.title and string.sub(wp.title, 1, 5) == "[TG] " then 118 | self:Debug( string.format("Removing %q from TomTom", wp.title)) 119 | TomTom:RemoveWaypoint(wp, true) 120 | end 121 | end 122 | end 123 | elseif Cartographer_Waypoints then 124 | while cache[1] do 125 | local pt = table.remove(cache) 126 | Cartographer_Waypoints:CancelWaypoint(pt) 127 | end 128 | end 129 | 130 | if note and string.find(note, L.COORD_MATCH) then 131 | for x,y in string.gfind(note, L.COORD_MATCH) do MapPoint(zone, tonumber(x), tonumber(y), desc) end 132 | elseif (action == "ACCEPT" or action == "TURNIN") then 133 | if pfQuest then 134 | self:MapPfQuestNPC(qid, action) 135 | elseif LightHeaded then 136 | self:MapLightHeadedNPC(qid, action) 137 | end 138 | end 139 | end 140 | -------------------------------------------------------------------------------- /NilGuide.lua: -------------------------------------------------------------------------------- 1 | local L = TourGuide.Locale 2 | 3 | TourGuide:RegisterGuide("No Guide", nil, "Alliance", function() return L["K No guide loaded... |N|Click to select a guide|"] end) 4 | TourGuide:RegisterGuide("No Guide", nil, "Horde", function() return L["K No guide loaded... |N|Click to select a guide|"] end) 5 | -------------------------------------------------------------------------------- /OptionsFrame.lua: -------------------------------------------------------------------------------- 1 | 2 | local TourGuide = TourGuide 3 | local L = TourGuide.Locale 4 | local ww = WidgetWarlock 5 | 6 | function TourGuide:CreateConfigPanel() 7 | local frame = CreateFrame("Frame", "TourGuideOptions", UIParent) 8 | TourGuide.optionsframe = frame 9 | frame:SetFrameStrata("DIALOG") 10 | frame:SetWidth(300) frame:SetHeight(16+28*2) 11 | frame:SetPoint("TOPRIGHT", TourGuide.statusframe, "BOTTOMRIGHT") 12 | frame:SetBackdrop(ww.TooltipBorderBG) 13 | frame:SetBackdropColor(0.09, 0.09, 0.19, 1) 14 | frame:SetBackdropBorderColor(0.5, 0.5, 0.5, 0.5) 15 | frame:Hide() 16 | 17 | local closebutton = CreateFrame("Button", nil, frame, "UIPanelCloseButton") 18 | closebutton:SetPoint("TOPRIGHT", frame, "TOPRIGHT") 19 | 20 | local title = ww.SummonFontString(frame, nil, "SubZoneTextFont", nil, "BOTTOMLEFT", frame, "TOPLEFT", 5, 0) 21 | local fontname, fontheight, fontflags = title:GetFont() 22 | title:SetFont(fontname, 18, fontflags) 23 | title:SetText("Options") 24 | 25 | local qtrack = ww.SummonCheckBox(22, frame, "TOPLEFT", 5, -5) 26 | ww.SummonFontString(qtrack, "OVERLAY", "GameFontNormalSmall", L["Automatically track quests"], "LEFT", qtrack, "RIGHT", 5, 0) 27 | qtrack:SetScript("OnClick", function() self.db.char.trackquests = not self.db.char.trackquests end) 28 | 29 | local qskipfollowups = ww.SummonCheckBox(22, qtrack, "TOPLEFT", 0, -20) 30 | ww.SummonFontString(qskipfollowups, "OVERLAY", "GameFontNormalSmall", L["Automatically skip suggested follow-ups"], "LEFT", qskipfollowups, "RIGHT", 5, 0) 31 | qskipfollowups:SetScript("OnClick", function() self.db.char.skipfollowups = not self.db.char.skipfollowups end) 32 | frame.qtrack = qtrack 33 | frame.qskipfollowups = qskipfollowups 34 | 35 | local function OnShow(f) 36 | f = f or this 37 | local quad, vhalf, hhalf = self.GetQuadrant(self.statusframe) 38 | local anchpoint = (vhalf == "TOP" and "BOTTOM" or "TOP")..hhalf 39 | f:ClearAllPoints() 40 | f:SetPoint(quad, self.statusframe, anchpoint) 41 | local title_point,title_anchor,title_x,title_y 42 | if quad == "TOPLEFT" then 43 | title_point,title_anchor,title_x,title_y = "BOTTOMRIGHT", "TOPRIGHT", -5, 0 44 | else 45 | title_point,title_anchor,title_x,title_y = "BOTTOMLEFT", "TOPLEFT", 5, 0 46 | end 47 | title:ClearAllPoints() 48 | title:SetPoint(title_point,f,title_anchor,title_x,title_y) 49 | 50 | f.qtrack:SetChecked(self.db.char.trackquests) 51 | f.qskipfollowups:SetChecked(self.db.char.skipfollowups) 52 | f:SetAlpha(0) 53 | f:SetScript("OnUpdate", ww.FadeIn) 54 | end 55 | 56 | frame:SetScript("OnShow", OnShow) 57 | ww.SetFadeTime(frame, 0.5) 58 | OnShow(frame) 59 | end 60 | 61 | table.insert(UISpecialFrames, "TourGuideOptions") 62 | -------------------------------------------------------------------------------- /Parser.lua: -------------------------------------------------------------------------------- 1 | 2 | local actiontypes = { 3 | A = "ACCEPT", 4 | C = "COMPLETE", 5 | T = "TURNIN", 6 | K = "KILL", 7 | R = "RUN", 8 | H = "HEARTH", 9 | h = "SETHEARTH", 10 | G = "GRIND", 11 | F = "FLY", 12 | f = "GETFLIGHTPOINT", 13 | N = "NOTE", 14 | B = "BUY", 15 | b = "BOAT", 16 | U = "USE", 17 | P = "PET", 18 | D = "DIE", 19 | } 20 | 21 | 22 | function TourGuide:GetObjectiveTag(tag, i) 23 | --self:Debug( "GetObjectiveTag", tag, i) 24 | i = i or self.current 25 | local tags = self.tags[i] 26 | if not tags then return end 27 | 28 | if tag == "O" then return string.find(tags,"|O|") 29 | elseif tag == "T" then return string.find(tags,"|T|") 30 | elseif tag == "S" then return string.find(tags,"|S|") 31 | elseif tag == "QID" then return self.select(3, string.find(tags, "|QID|(%d+)|")) 32 | elseif tag == "L" then 33 | local _, _, lootitem, lootqty = string.find(tags,"|L|(%d+)%s?(%d*)|") 34 | lootqty = tonumber(lootqty) or 1 35 | 36 | return lootitem, lootqty 37 | end 38 | 39 | return self.select(3, string.find(tags,"|"..tag.."|([^|]*)|?")) 40 | end 41 | 42 | 43 | local function DumpQuestDebug(accepts, turnins, completes) 44 | for quest in pairs(accepts) do if not turnins[quest] then TourGuide:Debug( string.format("Quest has no 'turnin' objective: %s", quest)) end end 45 | for quest in pairs(turnins) do if not accepts[quest] then TourGuide:Debug( string.format("Quest has no 'accept' objective: %s", quest)) end end 46 | for quest in pairs(completes) do if not accepts[quest] and not turnins[quest] then TourGuide:Debug( string.format("Quest has no 'accept' and 'turnin' objectives: %s", quest)) end end 47 | end 48 | 49 | 50 | local titlematches = {"For", "A", "The", "Or", "In", "Then", "From", "To"} 51 | local function DebugQuestObjective(text, action, quest, accepts, turnins, completes) 52 | local haserrors 53 | 54 | if (action == "A" and accepts[quest] or action == "T" and turnins[quest] or action == "C" and completes[quest]) and not string.find(text, "|NODEBUG|") then 55 | TourGuide:Debug( string.format("%s %s -- Duplicate objective", action, quest)) 56 | haserrors = true 57 | end 58 | 59 | if action == "A" then accepts[quest] = true 60 | elseif action == "T" then turnins[quest] = true 61 | elseif action == "C" then completes[quest] = true end 62 | 63 | if string.find(text, "|NODEBUG|") then return haserrors end 64 | 65 | if action == "A" or action == "C" or action == "T" then 66 | -- Catch bad Title Case 67 | for _,word in pairs(titlematches) do 68 | if string.find(quest,"[^:]%s"..word.."%s") or string.find(quest,"[^:]%s"..word.."$") or string.find(quest,"[^:]%s"..word.."@") then 69 | TourGuide:Debug( string.format("%s %s -- Contains bad title case", action, quest)) 70 | haserrors = true 71 | end 72 | end 73 | end 74 | 75 | if string.find(text,"[���]") then 76 | TourGuide:Debug( string.format("%s %s -- Contains bad char", action, quest)) 77 | haserrors = true 78 | end 79 | 80 | local _, _, comment = string.find(text, "(|[NLUC]V?|[^|]+)$") or string.find(text, "(|[NLUC]V?|[^|]+) |[NLUC]V?|") 81 | if comment then 82 | TourGuide:Debug( "Unclosed comment: ".. comment) 83 | haserrors = true 84 | end 85 | 86 | return haserrors 87 | end 88 | 89 | 90 | local myclass, myrace = UnitClass("player"), UnitRace("player") 91 | local function StepParse(guide) 92 | local accepts, turnins, completes = {}, {}, {} 93 | local uniqueid = 1 94 | local actions, quests, tags = {}, {}, {} 95 | local i, haserrors = 1, false 96 | local guidet = TourGuide.split("\r\n", guide) 97 | 98 | for _,text in pairs(guidet) do 99 | local _, _, class = string.find(text,"|C|([^|]+)|") 100 | local _, _, race = string.find(text,"|R|([^|]+)|") 101 | if text ~= "" and (not class or string.find(class, myclass)) and (not race or string.find(race,myrace)) then 102 | local _, _, action, quest, tag = string.find(text,"^(%a) ([^|]*)(.*)") 103 | assert(actiontypes[action], "Unknown action: "..text) 104 | quest = TourGuide.trim(quest) 105 | if not (action == "A" or action =="C" or action =="T") then 106 | quest = quest.."@"..uniqueid.."@" 107 | uniqueid = uniqueid + 1 108 | end 109 | actions[i], quests[i], tags[i] = actiontypes[action], quest, tag 110 | i = i + 1 111 | haserrors = DebugQuestObjective(text, action, quest, accepts, turnins, completes) or haserrors 112 | end 113 | end 114 | DumpQuestDebug(accepts, turnins, completes) 115 | if haserrors and TourGuide:IsDebugging() then TourGuide:Print("This guide contains errors") end 116 | 117 | return actions, quests, tags 118 | end 119 | 120 | 121 | function TourGuide:LoadGuide(name, complete) 122 | if not name then return end 123 | if complete then self.db.char.completion[self.db.char.currentguide] = 1 124 | elseif self.actions then self.db.char.completion[self.db.char.currentguide] = (self.current-1)/table.getn(self.actions) end 125 | 126 | self.db.char.currentguide = self.guides[name] and name or self.guidelist[1] 127 | 128 | self:Debug( string.format("Loading guide: %s", name)) 129 | self.guidechanged = true 130 | local _, _, zonename = string.find(name,"^(.*) %(.*%)$") 131 | self.zonename = zonename 132 | self.actions, self.quests, self.tags = StepParse(self.guides[self.db.char.currentguide]()) 133 | 134 | if not self.db.char.turnins[name] then self.db.char.turnins[name] = {} end 135 | self.turnedin = self.db.char.turnins[name] 136 | end 137 | 138 | 139 | function TourGuide:DebugGuideSequence(dumpquests) 140 | local accepts, turnins, completes = {}, {}, {} 141 | local function DebugParse(guide) 142 | local uniqueid, haserrors = 1 143 | local guidet = TourGuide.split("\n", guide) 144 | for _,text in pairs(guidet) do 145 | if text ~= "" then 146 | local _, _, action, quest, tag = string.find(text,"^(%a) ([^|]*)(.*)") 147 | if not actiontypes[action] then TourGuide:Debug( "Unknown action: "..text) end 148 | quest = TourGuide.trim(quest) 149 | if not (action == "A" or action =="C" or action =="T") then 150 | quest = quest.."@"..uniqueid.."@" 151 | uniqueid = uniqueid + 1 152 | end 153 | haserrors = DebugQuestObjective(text, action, quest, accepts, turnins, completes) or haserrors 154 | end 155 | end 156 | 157 | return haserrors 158 | end 159 | 160 | self:Debug( "------ Begin Full Debug ------") 161 | 162 | local name, lastzone = self.db.char.currentguide 163 | repeat 164 | if not self.guides[name] then 165 | self:Debug( string.format("Cannot find guide %q", name)) 166 | name, lastzone = nil, name 167 | elseif DebugParse(self.guides[name]()) then 168 | self:Debug( string.format("Errors in guide: %s", name)) 169 | self:Debug( "---------------------------") 170 | end 171 | name, lastzone = self.nextzones[name], name 172 | until not name 173 | 174 | if dumpquests then 175 | self:Debug( "------ Quest Continuity Debug ------") 176 | DumpQuestDebug(accepts, turnins, completes) 177 | end 178 | self:Debug( "Last zone loaded:", lastzone) 179 | self:Debug( "------ End Full Debug ------") 180 | end 181 | -------------------------------------------------------------------------------- /QuestTracking.lua: -------------------------------------------------------------------------------- 1 | 2 | 3 | local TourGuide = TourGuide 4 | local L = TourGuide.Locale 5 | local hadquest 6 | 7 | 8 | TourGuide.TrackEvents = {"UI_INFO_MESSAGE", "CHAT_MSG_LOOT", "CHAT_MSG_SYSTEM", "QUEST_WATCH_UPDATE", "QUEST_LOG_UPDATE", "ZONE_CHANGED", "ZONE_CHANGED_INDOORS", 9 | "MINIMAP_ZONE_CHANGED", "ZONE_CHANGED_NEW_AREA", "PLAYER_LEVEL_UP", "ADDON_LOADED", "CRAFT_SHOW", "PLAYER_DEAD"} 10 | 11 | 12 | function TourGuide:ADDON_LOADED(event, addon) 13 | if addon ~= "Blizzard_TrainerUI" then return end 14 | 15 | self:UnregisterEvent("ADDON_LOADED") 16 | 17 | local f = CreateFrame("Frame", nil, ClassTrainerFrame) 18 | f:SetScript("OnShow", function() if self:GetObjectiveInfo() == "TRAIN" then self:SetTurnedIn() end end) 19 | end 20 | 21 | 22 | function TourGuide:PLAYER_LEVEL_UP(event, newlevel) 23 | local level = tonumber((self:GetObjectiveTag("LV"))) 24 | self:Debug( "PLAYER_LEVEL_UP", newlevel, level) 25 | if level and newlevel >= level then self:SetTurnedIn() end 26 | end 27 | 28 | 29 | function TourGuide:ZONE_CHANGED(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20) 30 | local zonetext, subzonetext, subzonetag, action, quest = GetZoneText(), GetSubZoneText(), self:GetObjectiveTag("SZ"), self:GetObjectiveInfo() 31 | if (action == "RUN" or action == "FLY" or action == "HEARTH" or action == "BOAT") and (subzonetext == quest or subzonetext == subzonetag or zonetext == quest or zonetext == subzonetag) then 32 | self:Debug( string.format("Detected zone change %q - %q", action, quest)) 33 | self:SetTurnedIn() 34 | end 35 | end 36 | TourGuide.ZONE_CHANGED_INDOORS = TourGuide.ZONE_CHANGED 37 | TourGuide.MINIMAP_ZONE_CHANGED = TourGuide.ZONE_CHANGED 38 | TourGuide.ZONE_CHANGED_NEW_AREA = TourGuide.ZONE_CHANGED 39 | 40 | 41 | function TourGuide:CHAT_MSG_SYSTEM(msg) 42 | local action, quest = self:GetObjectiveInfo() 43 | 44 | local _, _, loc = string.find(msg,L["(.*) is now your home."]) 45 | if loc then 46 | self:Debug( string.format("Detected setting hearth to %q", loc)) 47 | self.db.char.hearth = loc 48 | return action == "SETHEARTH" and loc == quest and self:SetTurnedIn() 49 | end 50 | 51 | if action == "ACCEPT" then 52 | local _, _, text = string.find(msg,L["Quest accepted: (.*)"]) 53 | if text and string.gsub(quest,L.PART_GSUB, "") == text then 54 | self:Debug( string.format("Detected quest accept %q", quest)) 55 | return self:UpdateStatusFrame() 56 | end 57 | end 58 | 59 | if action == "PET" then 60 | local _, _, text = string.find(msg,L["You have learned a new spell: (.*)."]) 61 | local nextEntry = table.getn(self.db.char.petskills) + 1 62 | self.db.char.petskills[nextEntry] = text 63 | if text and quest == text then 64 | self:Debug( string.format("Detected pet skill train %q", quest)) 65 | return self:SetTurnedIn() 66 | end 67 | end 68 | end 69 | 70 | 71 | function TourGuide:QUEST_WATCH_UPDATE(event) 72 | if self:GetObjectiveInfo() == "COMPLETE" then self:UpdateStatusFrame() end 73 | end 74 | 75 | 76 | function TourGuide:QUEST_LOG_UPDATE(event) 77 | local action = self:GetObjectiveInfo() 78 | local _, logi, complete = self:GetObjectiveStatus() 79 | 80 | self:Debug( "QUEST_LOG_UPDATE", action, logi, complete) 81 | 82 | if (self.updatedelay and not logi) or action == "ACCEPT" or action == "COMPLETE" and complete then self:UpdateStatusFrame() end 83 | 84 | if action == "KILL" or action == "NOTE" then 85 | local quest, questtext = self:GetObjectiveTag("Q"), self:GetObjectiveTag("QO") 86 | if not quest or not questtext then return end 87 | 88 | local qi = self:GetQuestLogIndexByName(quest) 89 | for i=1,GetNumQuestLeaderBoards(qi) do 90 | if GetQuestLogLeaderBoard(i, qi) == questtext then self:SetTurnedIn() end 91 | end 92 | elseif action == "COMPLETE" then 93 | local skipNext = self:GetObjectiveTag("S") 94 | if self.db.char.skipfollowups and skipNext and QuestFrame:IsVisible() then 95 | CloseQuest() 96 | TourGuide:Print(L["Automatically skipping the follow-up"]) 97 | end 98 | end 99 | end 100 | 101 | 102 | function TourGuide:CHAT_MSG_LOOT(event, msg) 103 | local action, quest = self:GetObjectiveInfo() 104 | local lootitem, lootqty = self:GetObjectiveTag("L") 105 | local _, _, itemid, name = string.find(msg,L["^You .*Hitem:(%d+).*(%[.+%])"]) 106 | self:Debug( event, action, quest, lootitem, lootqty, itemid, name) 107 | 108 | if action == "BUY" and name and name == quest 109 | or (action == "BUY" or action == "KILL" or action == "NOTE") and lootitem and itemid == lootitem and (self.GetItemCount(lootitem) + 1) >= lootqty then 110 | return self:SetTurnedIn() 111 | end 112 | end 113 | 114 | 115 | function TourGuide:PLAYER_DEAD() 116 | if self:GetObjectiveInfo() == "DIE" then 117 | self:Debug( "Player has died") 118 | self:SetTurnedIn() 119 | end 120 | end 121 | 122 | 123 | function TourGuide:UI_INFO_MESSAGE(event, msg) 124 | if msg == ERR_NEWTAXIPATH and self:GetObjectiveInfo() == "GETFLIGHTPOINT" then 125 | self:Debug( "Discovered flight point") 126 | self:SetTurnedIn() 127 | end 128 | end 129 | 130 | 131 | function TourGuide:CRAFT_SHOW() 132 | if not GetCraftName() == "Beast Training" then return end 133 | for i=1,GetNumCrafts() do 134 | local name, rank = GetCraftInfo(i) 135 | self.db.char.petskills[name.. (rank == "" and "" or (" (" .. rank .. ")"))] = true 136 | end 137 | if self:GetObjectiveInfo() == "PET" then self:UpdateStatusFrame() end 138 | end 139 | 140 | 141 | local orig = GetQuestReward 142 | GetQuestReward = function(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20) 143 | local quest = string.gsub(GetTitleText(), "%[[0-9%+%-]+]%s", "") 144 | 145 | TourGuide:Debug( "GetQuestReward", quest) 146 | TourGuide:CompleteQuest(quest, true) 147 | 148 | return orig(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20) 149 | end 150 | -------------------------------------------------------------------------------- /TourGuideVanilla.toc: -------------------------------------------------------------------------------- 1 | ## Interface: 11200 2 | 3 | ## Title: TourGuide |cff7fff7f -Ace2-|r 4 | ## Notes: Powerleveling guide framework 5 | ## Author: cralor 6 | ## Version: 1.0 7 | ## X-Credits: Tekkub, Road-block, rsheep 8 | ## X-Category: Quest 9 | ## X-Website: https://github.com/cralor/TourGuideVanilla 10 | 11 | ## SavedVariables: TourGuideAlphaDB 12 | 13 | ## OptionalDeps: TomTom, pfQuest, Ace2, FuBar, FuBarPlugin-2.0, Deformat, TabletLib, DewdropLib, GratuityLib 14 | 15 | # libs Core 16 | libs\AceLibrary\AceLibrary.lua 17 | libs\AceOO-2.0\AceOO-2.0.lua 18 | libs\AceConsole-2.0\AceConsole-2.0.lua 19 | libs\AceEvent-2.0\AceEvent-2.0.lua 20 | libs\AceDebug-2.0\AceDebug-2.0.lua 21 | libs\AceDB-2.0\AceDB-2.0.lua 22 | libs\AceAddon-2.0\AceAddon-2.0.lua 23 | libs\AceHook-2.1\AceHook-2.1.lua 24 | # libs Extra 25 | libs\Deformat-2.0\Deformat-2.0.lua 26 | libs\Gratuity-2.0\Gratuity-2.0.lua 27 | libs\Dewdrop-2.0\Dewdrop-2.0.lua 28 | libs\Tablet-2.0\Tablet-2.0.lua 29 | libs\FuBarPlugin-2.0\FuBarPlugin-2.0.lua 30 | 31 | # Addon files 32 | Locale.lua 33 | TourGuide.lua 34 | WidgetWarlock.lua 35 | Parser.lua 36 | Mapping.lua 37 | StatusFrame.lua 38 | OptionsFrame.lua 39 | GuideListFrame.lua 40 | ObjectivesFrame.lua 41 | UnlistedQuest.lua 42 | QuestTracking.lua 43 | 44 | NilGuide.lua 45 | 46 | TourGuide_Alliance\Guides.xml 47 | TourGuide_Horde\Guides.xml 48 | -------------------------------------------------------------------------------- /TourGuide_Alliance/17_18_Loch_Modan.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Loch Modan (17-18)", "Redridge Mountains (18-20)", "Alliance",function() 2 | 3 | 4 | return [[ 5 | 6 | R Menethil Harbor |QID|307| |N|Travel to Menethil Harbor (9.6, 59.6)| |Z|Wetlands| |R|Night Elf| 7 | f Wetlands |QID|307| |N|Speak to Shellei Brondir and grab flight path for Menethil Harbor (9.6, 59.6)| |Z|Wetlands| |R|Night Elf| 8 | R Algaz Station |QID|307| |N|Follow the road to Algaz Station in Loch Modan (11.29, 53.52) (14.44, 45.60) (23.13, 43.43) (32.16, 39.21) (37.35, 36.79) (49.79, 39.21) (56.26, 52.75) (57.88, 61.70) (57.71, 69.11) (54.39, 72.04)| |Z|Wetlands| |R|Night Elf| |REACH| 9 | R Algaz Station |QID|307| |N|Travel to Algaz Station in Loch Modan (24.67, 18.25)| 10 | A Filthy Paws |QID|307| |N|Mountaineer Stormpike in Algaz Station (24.67, 18.25)| 11 | A Stormpike's Order |QID|1338| |N|Mountaineer Stormpike in Algaz Station (24.67, 18.25)| 12 | C Filthy Paws |QID|307| |N|Go inside the cave to open the crates spread throughout to collect 4 Miners' Gear from the ground (35, 20) (36, 24)| |OBJ|36| 13 | T Filthy Paws |QID|307| |N|Mountaineer Stormpike in Algaz Station (24.67, 18.25)| 14 | 15 | R Thelsamar |QID|436| |N|Travel to Thelsamar (33.9, 50.9)| 16 | f Thelsamar |QID|436| |N|Speak to Thorgrum Borrelson and grab flight point for Thelsamar (33.9, 50.9)| 17 | T Rat Catching |Z|Loch Modan| |QID|416| |N|Mountaineer Kadrell in Thelsamar (34.94, 47.04)| |Z|Loch Modan| 18 | A Ironband's Excavation |QID|436| |N|Jern Hornhelm in Thelsamar (37.17, 47.55)| 19 | h Stoutlager Inn |TID|436| |N|Speak to Miran and set hearth at Stoutlager Inn (35.53, 48.41)| 20 | 21 | R Ironband's Excavation Site |QID|298| |N|Travel to Ironband's Excavation Site (64.83, 66.59)| 22 | T Ironband's Excavation |QID|436| |N|Magmar Fellhew in Ironband's Excavation Site (64.83, 66.59)| 23 | A Gathering Idols |QID|297| |N|Magmar Fellhew in Ironband's Excavation Site (64.83, 66.59)| 24 | A Excavation Progress Report |QID|298| |N|Prospector Ironband in Ironband's Excavation Site (65.86, 65.67)| 25 | C Gathering Idols |QID|297| |N|Travel to the Excavation Site and kill any Berserk Trogg, Stonesplinter Geomancer or Stonesplinter Digger to collect 8 Carved Stone Idol (68, 63)| 26 | T Gathering Idols |QID|297| |N|Magmar Fellhew in Ironband's Excavation Site (64.83, 66.59)| 27 | 28 | R The Farstrider Lodge |QID|385| |N|East of Excavation site (83.8, 62.4)| 29 | A Crocolisk Hunting |QID|385| |N|Marek Ironheart in The Farstrider Lodge (81.84, 61.77)| 30 | A A Hunter's Boast |QID|257| |N|Daryl the Youngling in The Farstrider Lodge (83.43, 65.30)| 31 | C A Hunter's Boast |QID|257| |N|Kill 6 Mountain Buzzard within 15 mins, found spread along the Southeast corner of Loch Modan (76, 72)| 32 | T A Hunter's Boast |QID|257| |N|Daryl the Youngling in The Farstrider Lodge (83.43, 65.30)| 33 | A A Hunter's Challenge |QID|258| |N|Daryl the Youngling in The Farstrider Lodge (83.43, 65.30)| 34 | C A Hunter's Challenge |QID|258| |N|Kill 5 Elder Mountain Boar found spread throughout the central eastern area (65, 39)| 35 | T A Hunter's Challenge |QID|258| |N|Daryl the Youngling in The Farstrider Lodge (83.43, 65.30)| 36 | A Vyrin's Revenge (Part 1) |QID|271| |N|Vyrin Swiftwind in The Farstrider Lodge (81.76, 64.15)| 37 | A Bingles' Missing Supplies |QID|2038| |N|Bingles Blastenheimer in The Loch (63.44, 47.78)| 38 | N As you go... |AYG|2038| |QID|385| |N|Kill Loch Crocolisk found in the the lake until you've collected 5 pieces of Crocolisk Meat and 6 Crocolisk Skin| 39 | N Bingles' Blastencapper |QID|2038.4| |N|Collect Bingles' Blastencapper from Bingles's Blastencapper on the ground (54.33, 26.54)| 40 | N Bingles' Hammer |QID|2038.3| |N|Collect Bingles' Hammer from the tool bucket in Loch Modan (51.79, 23.93)| 41 | N Bingles' Screwdriver |QID|2038.2| |N|Collect Bingles' Screwdriver from Bingle's Toolbucket in Loch Modan (48.35, 20.39)| 42 | N Bingles' Wrench |QID|2038.1| |N|Collect Bingles' Wrench from Bingle's Toolbucket near the camp fire in Loch Modan (48.69, 29.99)| 43 | C In Defense of the King's Lands (Part 2) |QID|237| |N|Kill 10 Stonesplinter Seer and 10 Stonesplinter Skullthumper in Valley of Kings (48.35, 20.39)| |Z|Loch Modan| |O| 44 | R Loch Modan |QID|2038| |N|Travel to Loch Modan| 45 | C Crocolisk Hunting |QID|385| |N|Kill Loch Crocolisk found in the the lake until you've collected 5 pieces of Crocolisk Meat and 6 Crocolisk Skin (57, 38)| 46 | 47 | R Stonewrought Dam |QID|250| |N|Travel to Stonewrought Dam (55.36, 14.91)| 48 | A A Dark Threat Looms (Part 1) |QID|250| |N|Chief Engineer Hinderweir VII in Stonewrought Dam (55.36, 14.91) (52.94, 10.99) (46.06, 13.72)| 49 | T A Dark Threat Looms (Part 1) |QID|250| |N|Suspicious Barrel in Stonewrought Dam (56.14, 13.16)| 50 | A A Dark Threat Looms (Part 2) |QID|199| |N|Suspicious Barrel in Stonewrought Dam (56.14, 13.16)| 51 | T A Dark Threat Looms (Part 2) |QID|199| |N|Chief Engineer Hinderweir VII in Stonewrought Dam (46.06, 13.72)| 52 | 53 | R Thelsamar |QID|301| |N|Travel to Thelsamar (42.60, 10.97) (37.17, 47.55)| 54 | T Excavation Progress Report |QID|298| |N|Jern Hornhelm in Thelsamar (37.17, 47.55)| 55 | A Report to Ironforge |QID|301| |N|Jern Hornhelm in Thelsamar (37.17, 47.55)| 56 | T Thelsamar Blood Sausages |QID|418| |N|in Stoutlager Inn (34.88, 49.18)| |Z|Loch Modan| 57 | 58 | R Grizzlepaw Ridge |QID|271| |N|Travel to Grizzlepaw Ridge (39.98, 66.87)| 59 | C Vyrin's Revenge (Part 1) |QID|271| |N|Kill Ol' Sooty in the cave at the top of the mountain and collect Ol' Sooty's Head in Grizzlepaw Ridge
Can be difficult to solo, it's safe to abandon and skip all Vyrin's Revenge quest (39.98, 66.87) (40.89, 63.06) (40.06, 61.55)| 60 | 61 | R The Farstrider Lodge |QID|531| |N|Travel to The Farstrider Lodge (81.84, 61.77)| 62 | T Crocolisk Hunting |QID|385| |N|Marek Ironheart in The Farstrider Lodge (81.84, 61.77)| 63 | T Vyrin's Revenge (Part 1) |QID|271| |N|Daryl the Youngling in The Farstrider Lodge (83.43, 65.30)| 64 | A Vyrin's Revenge (Part 2) |QID|531| |N|Daryl the Youngling in The Farstrider Lodge (83.43, 65.30)| 65 | T Vyrin's Revenge (Part 2) |QID|531| |N|Vyrin Swiftwind in The Farstrider Lodge (81.76, 64.15)| 66 | T Bingles' Missing Supplies |QID|2038| |N|Bingles Blastenheimer in The Loch (63.44, 47.78)| 67 | 68 | R Valley of Kings |TID|237| |N|Travel to Valley of Kings (23.52, 76.37)| |Z|Loch Modan| 69 | T In Defense of the King's Lands (Part 2) |QID|237| |N|Mountaineer Gravelgaw in Valley of Kings (23.52, 76.37)| |Z|Loch Modan| |O| 70 | 71 | R City of Ironforge |TID|301| |N|Travel to City of Ironforge (55.60, 47.94)| |Z|Ironforge| 72 | N Letter to Delgren |QID|967| |N|Store Letter to Delgren to the bank (35.48, 60.70)| |Z|Ironforge| |L|5354| |O| 73 | N Fandral's Message |QID|952| |N|Store Fandral's Message to the bank (35.48, 60.70)| |Z|Ironforge| |L|5390| |O| 74 | f The Great Forge |TID|301| |N|Speak to Gryth Thurden and grab flight path for The Great Forge (55.60, 47.94)| |Z|Ironforge| 75 | A Speak with Shoni |QID|2041| |N|Gnoarn in Ironforge (69.4, 50.6)| |Z|Ironforge| 76 | T Report to Ironforge |QID|301| |N|Prospector Stormpike in The Library (74.31, 12.16)| |Z|Ironforge| 77 | 78 | N Guide Complete |N|Tick to continue to the next guide| 79 | 80 | ]] 81 | end) 82 | -------------------------------------------------------------------------------- /TourGuide_Alliance/21_22_Ashenvale.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Ashenvale (21-22)", "Stonetalon Mountains (22-23)", "Alliance",function() 2 | 3 | 4 | return [[ 5 | 6 | R Maestra's Post |QID|970| |N|Travel to Maestra's Post (27.25, 35.62)| |Z|Ashenvale| 7 | T The Sleeper Has Awakened |QID|5321| |N|Liladris Moonriver in Maestra's Post (27.25, 35.62)| |Z|Ashenvale| |O| 8 | T One Shot. One Kill. |QID|5713| |N|Sentinel Onaeya in Maestra's Post (26.6, 36.7) |Z|Ashenvale| |O| 9 | T The Tower of Althalaxx (Part 3) |QID|967| |N|Delgren the Purifier in Maestra's Post (26.20, 38.66)| |Z|Ashenvale| |O| 10 | A The Tower of Althalaxx (Part 4) |QID|970| |N|Delgren the Purifier in Maestra's Post (26.20, 38.66)| |Z|Ashenvale| |PRE|970| 11 | A Bathran's Hair |QID|1010| |N|Orendil Broadleaf in Maestra's Post (26.42, 38.56)| |Z|Ashenvale| 12 | 13 | C The Tower of Althalaxx (Part 4) |QID|970| |N|Kill Dark Strand Adept, Dark Strand Enforcer or Dark Strand Cultist and collect a Glowing Soul Gem (32, 30)| |PRE|970| 14 | C Bathran's Hair |QID|1010| |N|Collect 5 of Bathran's Hair found in the plant bundles on the ground in the camp (31, 22)| 15 | 16 | R Maestra's Post |QID|973| |N|Travel to Maestra's Post (26.20, 38.66)| |Z|Ashenvale| 17 | T The Tower of Althalaxx (Part 4) |QID|970| |N|Delgren the Purifier in Maestra's Post (26.20, 38.66)| |Z|Ashenvale| |PRE|970| 18 | A The Tower of Althalaxx (Part 5) |QID|973| |N|Delgren the Purifier in Maestra's Post (26.20, 38.66)| |Z|Ashenvale| |PRE|970| 19 | T Bathran's Hair |QID|1010| |N|Orendil Broadleaf in Maestra's Post (26.42, 38.56)| |Z|Ashenvale| 20 | A Orendil's Cure |QID|1020| |N|Orendil Broadleaf in Maestra's Post (26.42, 38.56)| |Z|Ashenvale| 21 | 22 | R The Shrine of Aessina |TID|945| |N|Travel to The Shrine of Aessina (22.69, 51.89)| |Z|Ashenvale| |O| 23 | T Therylune's Escape |QID|945| |N|Therysil in The Shrine of Aessina (22.69, 51.89)| |Z|Ashenvale| |O| 24 | 25 | R Astranaar |QID|1008| |N|Travel to Astranaar (34.5, 48)| 26 | f Astranaar |QID|1008| |N|Speak to Daelyshia and grab flight path for Astranaar (34.5, 48)| 27 | A The Zoram Strand |QID|1008| |N|Shindrell Swiftfire in Astranaar (34.65, 48.88)| |Z|Ashenvale| 28 | A On Guard in Stonetalon |QID|1070| |N|Sentinel Thenysil in Astranaar (34.92, 49.77)| |Z|Ashenvale| 29 | A Journey to Stonetalon Peak |QID|1056| |N|Faldreas Goeth'Shael in Astranaar (35.78, 49.16)| |Z|Ashenvale| 30 | A Raene's Cleansing (Part 1) |QID|991| |N|Raene Wolfrunner in Astranaar (36.59, 49.59)| |Z|Ashenvale| 31 | A Culling the Threat |QID|1054| |N|Raene Wolfrunner in Astranaar (36.59, 49.63)| |Z|Ashenvale| 32 | h Astranaar |QID|1033| |N|Speak to Innkeeper Kimlya and set hearth at Astranaar (37, 49.3)| 33 | T Orendil's Cure |QID|1020| |N|Pelturas Whitemoon in Astranaar (37.37, 51.78)| |Z|Ashenvale| 34 | A Elune's Tear |QID|1033| |N|Pelturas Whitemoon in Astranaar (37.37, 51.78)| |Z|Ashenvale| 35 | A The Ancient Statuette |QID|1007| |N|Talen in (14.81, 31.25)| |Z|Ashenvale| 36 | 37 | N As you go... |AYG|1009| |QID|1008| |N|Kill any nagas around The Zoram Strand and collect 20 Wrathtail Head| 38 | C The Ancient Statuette |QID|1007| |N|Collect the Ancient Statuette laying on the ground in The Zoram Strand (14.2, 20.6)| 39 | T The Ancient Statuette |QID|1007| |N|Talen in The Zoram Strand (14.81, 31.25)| |Z|Ashenvale| 40 | A Ruuzel |QID|1009| |N|Talen in The Zoram Strand (14.81, 31.25)| |Z|Ashenvale| 41 | C Ruuzel |QID|1009| |N|Kill Ruuzel collect the Ring of Zoram
She patrols clockwise around the small island with two bodyguards (7, 14)| 42 | C The Zoram Strand |QID|1008| |N|Kill any Wrathtail Wave Rider, Wrathtail Sorceress or Wrathtail Sea Witch which surround The Zoram Strand until you've collected 20 Wrathtail Head (15, 24)| 43 | T Ruuzel |QID|1009| |N|Talen in The Zoram Strand (14.81, 31.25)| |Z|Ashenvale| 44 | 45 | R Lake Falathim |QID|1023| |N|Travel to Lake Falathim (20.32, 42.39)| |Z|Ashenvale| 46 | T Raene's Cleansing (Part 1) |QID|991| |N|Teronis' Corpse in Lake Falathim (20.32, 42.39)| |Z|Ashenvale| 47 | A Raene's Cleansing (Part 2) |QID|1023| |N|Teronis' Corpse in Lake Falathim (20.32, 42.39)| |Z|Ashenvale| 48 | C Raene's Cleansing (Part 2) |QID|1023| |N|Kill the Saltspittle Oracle, Saltspittle Puddlejumper or Saltspittle Warrior at the nearby lake until you've collected the Glowing Gem (19, 43)| 49 | 50 | R Astranaar |QID|1024| |N|Travel to Astranaar (36.59, 49.59)| |Z|Ashenvale| 51 | T Raene's Cleansing (Part 2) |QID|1023| |N|Raene Wolfrunner in Astranaar (36.59, 49.59)| |Z|Ashenvale| 52 | A Raene's Cleansing (Part 3) |QID|1024| |N|Raene Wolfrunner in Astranaar (36.59, 49.59)| |Z|Ashenvale| 53 | A An Aggressive Defense |QID|1025| |N|Raene Wolfrunner in Astranaar (36.59, 49.59)| |Z|Ashenvale| 54 | T The Zoram Strand |QID|1008| |N|Shindrell Swiftfire in Astranaar (34.65, 48.88)| |Z|Ashenvale| 55 | A Pridewings of Stonetalon |QID|1134| |N|Shindrell Swiftfire in Astranaar (34.68, 48.88)| |Z|Ashenvale| 56 | 57 | R Iris Lake |QID|1033| |N|Travel to Iris Lake (44.18, 56.29) (43.56, 49.23)| |Z|Ashenvale| 58 | C Elune's Tear |QID|1033| |N|Find and retrieve Elune's Tear in Iris Lake (43.48, 45.76) (46.25, 45.93)| |Z|Ashenvale| 59 | 60 | R Moonwell |QID|1026| |N|Travel to Moonwell (48, 47) (53.49, 46.30)| |Z|Ashenvale| 61 | T Raene's Cleansing (Part 3) |QID|1024| |N|Shael'dryn in Moonwell (53.49, 46.30)| |Z|Ashenvale| 62 | A Raene's Cleansing (Part 4) |QID|1026| |N|Shael'dryn in Moonwell (53.49, 46.30)| |Z|Ashenvale| 63 | 64 | C An Aggressive Defense |QID|1025| |N|Kill 1 Foulweald Den Watcher, 2 Foulweald Ursa, 10 Foulweald Totemic and 12 Foulweald Warrior which can be found in the camp (51, 60)| 65 | 66 | R Astranaar |TID|1025| |N|Travel to Astranaar (36.59, 49.59)| |Z|Ashenvale| 67 | T An Aggressive Defense |QID|1025| |N|Raene Wolfrunner in Astranaar (36.59, 49.59)| |Z|Ashenvale| 68 | T Elune's Tear |QID|1033| |N|Pelturas Whitemoon in Astranaar (37.37, 51.78)| |Z|Ashenvale| 69 | A The Ruins of Stardust |QID|1034| |N|Pelturas Whitemoon in Astranaar (37.37, 51.78)| |Z|Ashenvale| 70 | 71 | R Ruins of Stardust |QID|1034| |N|Travel to Ruins of Stardust (33.61, 67.49)| 72 | C The Ruins of Stardust |QID|1034| |N|Collect 5 Handful of Stardust which are found in Stardust covered bushes which are in the Ruins of Stardust (33.61, 67.49)| 73 | N Teronis' Journal |TID|1034| |N|Destroy Teronis' Journal as it is no longer needed| |L|5505| |O| 74 | 75 | N Guide Complete |N|Tick to continue to the next guide| 76 | 77 | ]] 78 | end) 79 | -------------------------------------------------------------------------------- /TourGuide_Alliance/22_23_Stonetalon_Mountains.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Stonetalon Mountains (22-23)", "Darkshore (23-24)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Ratchet |QID|1483| |N|Travel to Ratchet only if you have flight point or want to make the run(62.95, 37.23)| |Z|The Barrens| |O| 6 | A Ziz Fizziks |QID|1483| |N|Sputtervalve in Ratchet (62.95, 37.23)| |Z|The Barrens| |O| 7 | 8 | R Astranaar |QID|1070| |N|Travel to Astranaar (34.5, 48)| |Z|Ashenvale| 9 | A On Guard in Stonetalon (Part 1) |QID|1070| |N|Sentinel Thenysil in Astranaar (34.92, 49.77)| |Z|Ashenvale| 10 | A Journey to Stonetalon Peak |QID|1056| |N|Faldreas Goeth'Shael in Astranaar (35.78, 49.16)| |Z|Ashenvale| 11 | 12 | R The Talondeep Path |QID|1093| |N|Travel to The Talondeep Path (42.08, 57.83) (41.72, 65.95) (42.38, 70.90)| |Z|Ashenvale| 13 | R Windshear Crag |QID|1093| |N|Travel to Windshear Crag (59.00, 62.50)| |Z|Stonetalon Mountains| 14 | T Ziz Fizziks |QID|1483| |N|Ziz Fizziks in Windshear Crag (59.00, 62.50)| |Z|Stonetalon Mountains| |O| 15 | A Super Reaper 6000 |QID|1093| |N|Ziz Fizziks in Windshear Crag (59.00, 62.50)| |Z|Stonetalon Mountains| 16 | T On Guard in Stonetalon (Part 1) |QID|1070| |N|Kaela Shadowspear in Webwinder Path (59.87, 66.86)| |Z|Stonetalon Mountains| 17 | A On Guard in Stonetalon (Part 2) |QID|1085| |N|Kaela Shadowspear in Webwinder Path (59.87, 66.86)| |Z|Stonetalon Mountains| 18 | T On Guard in Stonetalon (Part 2) |QID|1085| |N|Gaxim Rustfizzle in Webwinder Path (59.49, 67.10)| |Z|Stonetalon Mountains| 19 | A A Gnome's Respite |QID|1071| |N|Gaxim Rustfizzle in Webwinder Path (59.49, 67.10)| |Z|Stonetalon Mountains| 20 | C Super Reaper 6000 |QID|1093| |N|Kill Venture Co. Operator until you find Super Reaper 6000 Blueprints for Ziz Fizziks in Windshear Crag (62.63, 52.07)| |Z|Stonetalon Mountains| 21 | C Gnome's Respite |QID|1071| |N|Kill 10 Venture Co. Deforester and 10 Venture Co. Logger in Windshear Crag (67.90, 51.44) (68.99, 56.77)| |Z|Stonetalon Mountains| 22 | T Super Reaper 6000 |QID|1093| |N|Ziz Fizziks in Windshear Crag (58.99, 62.56)| |Z|Stonetalon Mountains| 23 | 24 | 25 | R Webwinder Path |TID|1071| |N|Travel to Webwinder Path (60.00, 69.98)| |Z|Stonetalon Mountains| 26 | T A Gnome's Respite |QID|1071| |N|Gaxim Rustfizzle in Webwinder Path (59.50, 67.16)| |Z|Stonetalon Mountains| 27 | A An Old Colleague |QID|1072| |N|Gaxim Rustfizzle in Webwinder Path (59.50, 67.16)| |Z|Stonetalon Mountains| 28 | 29 | 30 | R Mirkfallon Lake |QID|1134| |N|Travel to Mirkfallon Lake (51.84, 51.84) (51.54, 48.63)| |Z|Stonetalon Mountains| 31 | C Pridewings of Stonetalon |QID|1134| |N|Kill Pridewing Wyvern and collect 12 Pridewing Venom Sac in Mirkfallon Lake (54.63, 43.35)| |Z|Stonetalon Mountains| |O| 32 | 33 | R Stonetalon Peak |TID|1056| |N|Travel to Stonetalon Peak (37.10, 8.10)| |Z|Stonetalon Mountains| 34 | T Journey to Stonetalon Peak |QID|1056| |N|Keeper Albagorm in Stonetalon Peak (37.10, 8.10)| |Z|Stonetalon Mountains| 35 | f Stonetalon Peak |TID|1134| |N|Speak to Teloren and grab flight path for Stonetalon Peak (36.46, 7.20)| |Z|Stonetalon Mountains| 36 | 37 | N Guide Complete |N|Tick to continue to the next guide| 38 | 39 | ]] 40 | end) 41 | -------------------------------------------------------------------------------- /TourGuide_Alliance/23_24_Darkshore.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Darkshore (23-24)", "Ashenvale (24-24)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Auberdine |QID|741| |N|Travel to Auberdine (37.21, 44.27)| |Z|Darkshore| 6 | h Auberdine |QID|741| |N|Speak to Innkeeper Shaussiy and set hearth in Auberdine (37, 44.1)| 7 | T WANTED: Murkdeep! |QID|4740| |N|Sentinel Glynda Nal'Shea in Auberdine (37.70, 43.44)| |Z|Darkshore| |O| 8 | T The Absent Minded Prospector (Part 2) |QID|731| |N|Archaeologist Hollee in Auberdine (37.46, 41.88)| |Z|Darkshore| |O| 9 | A The Absent Minded Prospector (Part 3) |QID|741| |N|Archaeologist Hollee in Auberdine (37.46, 41.88)| |Z|Darkshore| |PRE|731| 10 | T How Big a Threat? (Part 2) |QID|985| |N|Terenthis in Auberdine (39.35, 43.46)| |O| 11 | A A Lost Master (Part 1) |QID|986| |N|Terenthis in Auberdine (39.32, 43.45)| |Z|Darkshore| |PRE|985| 12 | 13 | R Ruins of Mathystra |TID|951| |N|Travel to Ruins of Mathystra (58.50, 24.31)| |Z|Darkshore| |O| 14 | T Return to Onu |QID|950| |N|Onu in Grove of the Ancients (43.55, 76.32)| |O| 15 | C Mathystra Relics |QID|951| |N|Collect 6 Mathystra Relic from the ground in Ruins of Mathystra (58.50, 24.31)| |PRE|950| |Z|Darkshore| 16 | 17 | R Mist's Edge |QID|2098| |N|Travel to Mist's Edge (56.68, 13.53)| |Z|Darkshore| 18 | A Gyromast's Retrieval |QID|2098| |N|Gelkak Gyromast in Mist's Edge (56.68, 13.53)| |Z|Darkshore| 19 | K Raging Reef Crawler |QID|2098.3| |N|Kill Raging Reef Crawler until you collect Bottom of Gelkak's Key in Mist's Edge (56.36, 17.22)| |Z|Darkshore| 20 | K Greymist Tidehunter |QID|2098.2| |N|Kill Greymist Tidehunter until you collect Middle of Gelkak's Key in Mist's Edge (55.41, 12.33)| |Z|Darkshore| 21 | K Giant Foreststrider |QID|2098.1| |N|Kill Giant Foreststrider until you collect Top of Gelkak's Key in Mist's Edge (61.71, 11.54)| |Z|Darkshore| 22 | C A Lost Master |QID|986| |N|Kill Moonstalker Sire and collect 5 Fine Moonstalker Pelt in Mist's Edge (61, 12)| |Z|Darkshore| 23 | T Gyromast's Retrieval |QID|2098| |N|Gelkak Gyromast in Mist's Edge (56.67, 13.49)| |Z|Darkshore| 24 | A Gyromast's Revenge |QID|2078| |N|Gelkak Gyromast in Mist's Edge (56.67, 13.49)| |Z|Darkshore| 25 | C Gyromast's Revenge |QID|2078| |N|Speak to The Threshwackonator 4100 and bring it back to the quest giver in Mist's Edge
The Threshwackonator 4100 will turn hostile as soon as you reach Gelkak Gyromast, be ready to use all your cooldowns as it can be difficult to solo (55.79, 18.26)| |Z|Darkshore| 26 | T Gyromast's Revenge |QID|2078| |N|Gelkak Gyromast in Mist's Edge (56.67, 13.51)| |Z|Darkshore| 27 | N Gyromast's Key |QID|950| |N|Destroy Gyromast's Key as it is no longer needed| |L|7442| |O| 28 | 29 | R Auberdine |TID|986| |N|Travel to Auberdine (37.21, 44.27)| |Z|Darkshore| 30 | T A Lost Master (Part 1) |QID|986| |N|Terenthis in Auberdine (39.32, 43.45)| |Z|Darkshore| |PRE|985| 31 | A A Lost Master (Part 2) |QID|993| |N|Terenthis in Auberdine (39.34, 43.49)| |Z|Darkshore| |PRE|985| 32 | 33 | R Grove of the Ancients |QID|951| |N|Travel to Grove of the Ancients (43.57, 76.34)| |Z|Darkshore| 34 | T Mathystra Relics |QID|951| |N|Onu in Grove of the Ancients (43.57, 76.34)| |Z|Darkshore| |PRE|950| 35 | 36 | R Blackwood Den |TID|993| |N|Travel to Blackwood Den (44.96, 85.33)| |Z|Darkshore| |PRE|985| 37 | T A Lost Master (Part 2) |QID|993| |N|Volcor in Blackwood Den
You can use the Enchanted Moonstalker Cloak to stealth pass the mobs (44.96, 85.33)| |Z|Darkshore| |PRE|985| 38 | N Accept Quest |N|Volcor in Blackwood Den. Select either 'Escape Through Force' for Steadfast Cinch (hard) or 'Escape Through Stealth' for Scarab Trousers (easy)| |PRE|985| |OID|994, 995| 39 | A Escape Through Force |QID|994| |N|Volcor in Blackwood Den (44.96, 85.33)| |Z|Darkshore| |PRE|985| |OID|995| 40 | C Escape Through Force |QID|994| |N|Escort Volcor until he escape in Blackwood Den (42, 81)| |Z|Darkshore| |PRE|985| |OID|995| 41 | A Escape Through Stealth |QID|995| |N|Volcor in Blackwood Den (45.01, 85.34)| |Z|Darkshore| |PRE|985| |OID|994| 42 | C Escape Through Stealth |QID|995| |N|Escape the Furbolg cave and meet Terenthis in Auberdine (44.75, 85.21)| |Z|Darkshore| |PRE|985| |OID|994| 43 | 44 | R Auberdine |TID|741| |N|Travel to Auberdine (39.34, 43.48)| |Z|Darkshore| |PRE|985| 45 | T Escape Through Stealth |QID|995| |N|Terenthis in Auberdine (39.34, 43.48)| |Z|Darkshore| |PRE|985| |OID|994| 46 | T Escape Through Stealth |QID|994| |N|Terenthis in Auberdine (39.34, 43.48)| |Z|Darkshore| |PRE|985| |OID|995| 47 | 48 | R Darnassus |TID|741| |N|Travel to Darnassus (31.37, 84.14)| |Z|Darnassus| |PRE|731| 49 | N Elixir of Water Breathing |TID|741| |N|Store Elixir of Water Breathing to the bank (39.88, 42.21)| |Z|Darnassus| |L|5996| |O| 50 | N Book: The Powers Below |QID|968| |N|Store Book: The Powers Below to the bank (39.88, 42.21)| |Z|Darnassus| |L|5352| |O| 51 | T The Absent Minded Prospector (Part 3) |QID|741| |N|Chief Archaeologist Greywhisker in Darnassus (31.37, 84.14)| |Z|Darnassus| |PRE|731| 52 | A The Absent Minded Prospector (Part 4) |QID|942| |N|Chief Archaeologist Greywhisker in Darnassus (31.28, 83.65)| |Z|Darnassus| |PRE|731| 53 | 54 | N Guide Complete |N|Tick to continue to the next guide| 55 | 56 | ]] 57 | end) 58 | -------------------------------------------------------------------------------- /TourGuide_Alliance/24_24_Ashenvale.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Ashenvale (24-24)", "Wetlands (24-27)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Astranaar |TID|1134| |N|Travel to Astranaar (34.65, 48.84)| |Z|Ashenvale| 6 | T Pridewings of Stonetalon |QID|1134| |N|Shindrell Swiftfire in Astranaar (34.65, 48.84)| |Z|Ashenvale| |O| 7 | T The Ruins of Stardust |QID|1034| |N|Pelturas Whitemoon in Astranaar (37.33, 51.80)| |Z|Ashenvale| |O| 8 | A Culling the Threat |QID|1054| |N|Raene Wolfrunner in Astranaar (36.59, 49.59)| |Z|Ashenvale| 9 | 10 | R Fire Scar Shrine |QID|973| |N|Travel to Fire Scar Shrine (36.80, 56.93) (33.76, 59.11) (28.54, 60.57)| |Z|Ashenvale| |O| 11 | C The Tower of Althalaxx (Part 5) |QID|973| |N|Kill Ilkrud Magthrull and collect Ilkrud Magthrull's Tome in Fire Scar Shrine
This is hard to solo but give it a try otherwise you can safely skip this and all 'The Tower of Althalaxx' follow up (28.54, 60.57) (25.95, 63.13) (25.24, 60.63)| |Z|Ashenvale| |O| 12 | 13 | R Thistlefur Village |QID|1054| |N|Travel to Thistlefur Village (31.25, 46.18) (34.11, 35.38)| |Z|Ashenvale| 14 | C Culling the Threat |QID|1054| |N|Find and kill Dal Bloodclaw and collect Dal Bloodclaw's Skull. He patrols around this area. If you can pull him solo it will be an easy quest (34.11, 35.38)| 15 | 16 | R Maestra's Post |TID|973| |N|Travel to Maestra's Post (26.20, 38.66)| |Z|Ashenvale| |O| 17 | T The Tower of Althalaxx (Part 5) |QID|973| |N|Delgren the Purifier in Maestra's Post (26.20, 38.66)| |Z|Ashenvale| |O| 18 | A The Tower of Althalaxx (Part 6) |QID|1140| |N|Delgren the Purifier in Maestra's Post (26.20, 38.66)| |Z|Ashenvale| |PRE|973| 19 | 20 | R Astranaar |TID|1054| |N|Travel to Astranaar (36.59, 49.59)| |Z|Ashenvale| 21 | T Culling the Threat |QID|1054| |N|Raene Wolfrunner in Astranaar (36.59, 49.59)| |Z|Ashenvale| 22 | 23 | R Silverwind Refuge |QID|1016| |N|Travel to Silverwind Refuge (49.81, 67.20)| |Z|Ashenvale| 24 | A Elemental Bracers |QID|1016| |N|Sentinel Velene Starstrike in Silverwind Refuge (49.81, 67.20)| |Z|Ashenvale| 25 | K Befouled Water Elemental |QID|1016| |N|Kill Befouled Water Elemental until you collect 5 Intact Elemental Bracer in Mystral Lake (49.4, 71.1)| |L|12220 5| 26 | C Elemental Bracers |QID|1016| |N|Use the Divining Scroll after collect 5 Intact Elemental Bracer from Befouled Water Elemental in Mystral Lake (49, 70)| |U|5456| 27 | T Elemental Bracers |QID|1016| |N|Sentinel Velene Starstrike in Silverwind Refuge (49.81, 67.20)| |Z|Ashenvale| 28 | 29 | N Guide Complete |N|Tick to continue to the next guide| 30 | 31 | ]] 32 | end) 33 | -------------------------------------------------------------------------------- /TourGuide_Alliance/27_28_Redridge_Mountains.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Redridge Mountains (27-28)", "Duskwood (28-29)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Redridge Mountains |QID|128| |N|Travel to in Lakeshire (31.52, 57.90)| |Z|Redridge Mountains| 6 | A Blackrock Bounty |QID|128| |N|Guard Howe in Lakeshire (31.52, 57.90)| |Z|Redridge Mountains| 7 | A Blackrock Menace |QID|20| |N|Marshal Marris in Lakeshire (33.4, 48.9)| 8 | A Wanted: Gath'Ilzogg |QID|169| |N|Wanted Sign in Lakeshire (29.54, 46.03)| |Z|Redridge Mountains| 9 | T Messenger to Stormwind (Part 2) |QID|121| |N|Magistrate Solomon in Lakeshire (30, 44)| |O| 10 | A Solomon's Law |QID|91| |N|Bailiff Conacher in Lakeshire (29.64, 44.35)| |Z|Redridge Mountains| 11 | A Wanted: Lieutenant Fangore |QID|180| |N|Wanted Sign in Lakeshire (26.7, 46.5)| 12 | h Lakeshire |QID|34| |N|Speak to Innkeeper Brianna and set hearth in Lakeshire (27, 45)| 13 | A An Unwelcome Guest |QID|34| |N|Martie Jainrose in Lakeshire (21.90, 46.27)| |Z|Redridge Mountains| 14 | C An Unwelcome Guest |QID|34| |N|Kill Bellygrub and collect Bellygrub's Tusk west of Lakeshire (17, 48)| 15 | T An Unwelcome Guest |QID|34| |N|Martie Jainrose in Lakeshire (21.90, 46.27)| |Z|Redridge Mountains| 16 | T A Baying of Gnolls |QID|124| |N|Verner Osgood, in Lakeshire (31.03, 47.42)| |Z|Redridge Mountains| |O| 17 | A Howling in the Hills |QID|126| |N|Verner Osgood, in Lakeshire (31.03, 47.42)| |Z|Redridge Mountains| |PRE|124| 18 | C Howling in the Hills |QID|126| |N|Kill Yowler and collect Yowler's Paw in Redridge Canyons, he patrol's around use the target button or /tar Yowler (39.2, 33.8) (32.4, 25) (27.8, 23.0) (23.8, 29)| |Z|Redridge Mountains| |PRE|124| 19 | 20 | C Blackrock Menace |QID|20| |N|Collect 10 Battleworn Axe which drop from Blackrock Grunt, Blackrock Summoner, Blackrock Tracker and Blackrock Outrunner found along the Northern road or at their encampment at (29.2, 11.6)| 21 | C Blackrock Bounty |QID|128| |N|Kill 15 Blackrock Champion which are found in Render's Rock (31, 14)| 22 | A Missing In Action |QID|219| |N|Corporal Keeshan in Render's Rock (28.36, 12.74)| 23 | C Missing In Action |QID|219| |N|This is an escort quest where you must protect Corporal Keeshan through the cave. He is a strong NPC who you should let tank but also be sure to pull the mobs to him instead of him charging into them to prevent any unwanted adds. He is an elite warrior so will help taunt any mobs off you, skip this quest if its too hard (31.22, 15.04) (33.41, 48.52)| 24 | 25 | T Missing In Action |QID|219| |N|Marshal Marris in Lakeshire (33.4, 48.9)| 26 | T Blackrock Menace |QID|20| |N|Marshal Marris in Lakeshire (33.4, 48.9)| 27 | T Blackrock Bounty |QID|128| |N|Guard Howe in Lakeshire (31.52, 57.90)| |Z|Redridge Mountains| 28 | T Howling in the Hills |QID|126| |N|Verner Osgood, in Lakeshire (31.03, 47.42)| |Z|Redridge Mountains| |PRE|124| 29 | 30 | R Galardell Valley |QID|180| |N|Travel to Galardell Valley (79.10, 37.19)| |Z|Redridge Mountains| 31 | C Wanted: Lieutenant Fangore |QID|180| |N|Kill Lieutenant Fangore and collect Fangore's Paw in Galardell Valley. Lieutenant Fangore is a level 26 non-elite but is surrounded by other mobs. Clear any mobs first before attacking him and then loot Fangore's Paw (80, 40)| 32 | C Solomon's Law |QID|91| |N|Collect 10 Shadowhide Pendant from Shadowhide Warrior, Shadowhide Gnoll, Rabid Shadowhide Gnoll and Shadowhide Brute in Galardell Valley (74, 47)| 33 | N Glowing Shadowhide Pendant |QID|178| |N|Collect Glowing Shadowhide Pendant from Shadowhide Warrior in Galardell Valley (74, 47)| 34 | A Theocritus' Retrieval |QID|178| |N|Use Glowing Shadowhide Pendant to accept quest| |U|1962| |O| 35 | 36 | R Lakeshire |TID|91| |N|Travel to Lakeshire (29.64, 44.35)| |Z|Redridge Mountains| |REACH| 37 | T Solomon's Law |QID|91| |N|Bailiff Conacher in Lakeshire (29.64, 44.35)| |Z|Redridge Mountains| 38 | T Wanted: Lieutenant Fangore |QID|180| |N|Magistrate Solomon in Lakeshire (30, 44)| 39 | 40 | R Tower of Azora |TID|178| |N|Travel to Tower of Azora (65.20, 69.72)| |Z|Elwynn Forest| |O| 41 | T Theocritus' Retrieval |QID|178| |N|Theocritus in Tower of Azora, inside on the top floor (65.20, 69.72)| |Z|Elwynn Forest| |O| 42 | 43 | N Guide Complete |N|Tick to continue to the next guide| 44 | 45 | ]] 46 | end) 47 | -------------------------------------------------------------------------------- /TourGuide_Alliance/30_31_Wetlands.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Wetlands (30-31)", "Hillsbrad Foothills (31-32)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | A Seeking Strahad |QID|1798| |N|Lago Blackwrench in Stormwind (39.0 85.2)| |C|Warlock| |Z|Stormwind| 6 | A The Islander |QID|1718| |N|Kelv Sternhammer in Ironforge (71.5, 91.2)| |C|Warrior| |Z|Ironforge| 7 | 8 | R Fray Island |QID|1719| |N|Travel to Fray Island (68.6, 49.1)| |Z|The Barrens| |C|Warrior| 9 | T The Islander |QID|1718| |N|Klannoc Macleod in Fray Island (68.6, 49.1)| |Z|The Barrens| |C|Warrior| 10 | A The Affray |QID|1719| |N|Klannoc Macleod in Fray Island (68.6, 49.1)| |Z|The Barrens| |C|Warrior| 11 | C The Affray |QID|1719| |N|Kill the series of Mobs, bandage and eat in between Mobs. As for Big Will, you're given the privilege to attack him first because he's neutral, so just run back and (spell:100) then use your (spell:20230) for Big Will (68.6, 48.7)| |Z|The Barrens| |C|Warrior| 12 | T The Affray |QID|1719| |N|Klannoc Macleod in Fray Island (68.6, 49.1)| |Z|The Barrens| |C|Warrior| 13 | 14 | T Seeking Strahad |QID|1798| |N|Strahad Farsan in Ratchet (62.6, 35.5)| |Z|The Barrens| |C|Warlock| 15 | A Tome of the Cabal (Part 1) |QID|1758| |N|Strahad Farsan in Ratchet (62.6, 35.5)| |Z|The Barrens| |C|Warlock| 16 | 17 | T Tome of the Cabal (Part 1) |QID|1758| |N|Krom Stoutarm in Ironforge (74.3, 9.4)| |C|Warlock| |Z|Ironforge| 18 | A Tome of the Cabal (Part 2) |QID|1802| |N|Krom Stoutarm in Ironforge (74.3, 9.4)| |C|Warlock| |Z|Ironforge| 19 | 20 | N Tattered Manuscript |QID|1802| |N|Collect Tattered Manuscript inside the cave east of the Great Lift in Thousand Needles. Take the path to the right at the fork in the cave. (43.5, 32.7)| |L|6997| |Z|Thousand Needles| |C|Warlock| 21 | 22 | C Tome of the Cabal (Part 2) |QID|1802| |N|Collect the Moldy Tome (27.7, 72.8)| |L|6931| |C|Warlock| |Z|Hillsbrad Foothills| 23 | 24 | T Tome of the Cabal (Part 2) |QID|1802| |N|Krom Stoutarm in Ironforge (74.3, 9.8)| |C|Warlock| |Z|Ironforge| 25 | A Tome of the Cabal (Part 3) |QID|1804| |N|Krom Stoutarm in Ironforge (74.3, 9.8)| |C|Warlock| |Z|Ironforge| 26 | 27 | C Tome of the Cabal (Part 3) |QID|1804| |N|Kill Dragonmaw Bonewarder and Dragonmaw Shadowwarder to collect 3 Rod of Channeling (49, 46)| |C|Warlock| |Z|Wetlands| 28 | 29 | T Tome of the Cabal (Part 3) |QID|1804| |N|Strahad Farsan in Ratchet (62.6, 35.5)| |C|Warlock| |Z|The Barrens| 30 | A The Binding |QID|1795| |N|Strahad Farsan in Ratchet (62.6, 35.5)| |Z|The Barrens| |C|Warlock| 31 | C The Binding |QID|1795| |N|Using the Tome of the Cabal, summon and subdue a Summoned Felhunter (62.6, 35.3)| |U|6999| |Z|The Barrens| |C|Warlock| 32 | T The Binding |QID|1795| |N|Strahad Farsan in Ratchet (62.6, 35.5)| |Z|The Barrens| |C|Warlock| |QID|1795| 33 | 34 | R Deepwater Tavern |QID|288| |N|Travel to Deepwater Tavern (10.68, 60.92)| |Z|Wetlands| 35 | h Deepwater Tavern |QID|288| |N|Speak to Innkeeper Helbrek and set hearth at Deepwater Tavern (10.7, 60.9)| 36 | A The Third Fleet |QID|288| |N|First Mate Fitzsimmons in Menethil Harbor (10.88, 59.64)| |Z|Wetlands| 37 | B Flagon of Mead |QID|288| |N|Purchase Flagon of Mead from Innkeeper Helbrek in Deepwater Tavern (10.69, 60.89)| |Z|Wetlands| 38 | T The Third Fleet |QID|288| |N|First Mate Fitzsimmons in Menethil Harbor (10.88, 59.64)| |Z|Wetlands| 39 | A The Cursed Crew |QID|289| |N|First Mate Fitzsimmons in Menethil Harbor (10.91, 59.53)| |Z|Wetlands| 40 | 41 | R The Lost Fleet |QID|289| |N|Travel to The Lost Fleet (13.91, 31.03)| |Z|Wetlands| 42 | K First Mate Snellig |QID|289.3| |N|Collect Snellig's Snuffbox in The Lost Fleet (13.91, 31.03)| |Z|Wetlands| 43 | C The Cursed Crew |QID|289| |N|Kill 13 Cursed Sailor and 5 Cursed Marine which are found around the shipwreck (13, 27) (14, 30)| 44 | T The Cursed Crew |QID|289| |N|First Mate Fitzsimmons in Menethil Harbor (10.91, 59.53)| |Z|Wetlands| 45 | A Lifting the Curse |QID|290| |N|First Mate Fitzsimmons in Menethil Harbor (10.91, 59.53)| |Z|Wetlands| 46 | 47 | R The Lost Fleet |QID|290| | |N|Travel to The Lost Fleet (15.20, 23.63)| |Z|Wetlands| 48 | C Lifting the Curse |QID|290| |N|Kill Captain Halyndor for the Intrepid Strongbox Key. Walk up the rudder on the top floor to reach him (15.5, 23.5)| 49 | T Lifting the Curse |QID|290| |N|Intrepid's Locked Strongbox (14.5, 24.1) Open the box on bottom floor of the boat, it's underwater | 50 | A The Eye of Paleth |QID|292| |N|Intrepid's Locked Strongbox (14.5, 24.1)| 51 | 52 | R Angerfang Encampment |TID|465| |N|Travel to Angerfang Encampment (47.5, 46.9)| |O| 53 | T Nek'rosh's Gambit |QID|465| |N|Dragonmaw Catapult in Angerfang Encampment (47.5, 46.9)| |O| 54 | A Defeat Nek'rosh |QID|474| |N|Dragonmaw Catapult in Angerfang Encampment (47.40, 46.90)| |Z|Wetlands| |PRE|465| 55 | C Defeat Nek'rosh |QID|474| |N|Kill Chieftain Nek'rosh in Angerfang Encampment. Chieftain Nek'rosh is a level 32 elite npc and difficult to solo, you can give it a try if you're good, the graveyard is nearby otherwise safe to skip (53.50, 54.67)| |Z|Wetlands| |PRE|465| 56 | 57 | R Deepwater Tavern |OID|293| |N|Travel or Hearthstone to Deepwater Tavern (10.60, 60.61)| |Z|Wetlands| 58 | T The Eye of Paleth |QID|292| |N|Glorin Steelbrow in Deepwater Tavern (10.60, 60.61)| |Z|Wetlands| 59 | A Cleansing the Eye |QID|293| |N|Glorin Steelbrow in Deepwater Tavern (10.60, 60.61)| |Z|Wetlands| 60 | 61 | R Menethil Keep |TID|474| |N|Travel to Menethil Keep (9.90, 57.45)| |Z|Wetlands| 62 | T Defeat Nek'rosh |QID|474| |N|Captain Stoutfist in Menethil Keep (9.90, 57.45)| |Z|Wetlands| |PRE|465| 63 | 64 | N Guide Complete |N|Tick to continue to the next guide| 65 | 66 | ]] 67 | end) 68 | -------------------------------------------------------------------------------- /TourGuide_Alliance/33_34_Thousand_Needles.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Thousand Needles (33-34)", "Desolace (34-35)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R City of Ironforge |QID|1179| |N|Travel to City of Ironforge (67.95, 17.61)| |Z|Ironforge| 6 | A Reclaimers' Business in Desolace |QID|1453| |N|Roetten Stonehammer in Hall of Explorers (67.95, 17.61)| |Z|Ironforge| 7 | T Letter to Stormpike |QID|514| |N|Prospector Stormpike in The Library, skip follow up (74.59, 11.68)| |Z|Ironforge| |O| 8 | T Klockmort's Essentials |QID|2925| |N|Klockmort Spannerspan in Tinker Town, skip follow up (67.99, 46.21)| |Z|Ironforge| |O| 9 | T Tinkmaster Overspark |QID|2923| |N|Tinkmaster Overspark in Tinker Town (69.63, 50.09)| |Z|Ironforge| |O| 10 | A The Brassbolts Brothers |QID|1179| |N|Pilot Longbeard in Hall of Arms (72.70, 93.97)| |Z|Ironforge| 11 | 12 | R Ratchet |QID|1100| |N|Travel to Ratchet (63.36, 38.44)| |Z|The Barrens| 13 | N Crate of Crash Helmets |QID|1179| |N|Withdraw Crate of Crash Helmets from the bank. Tick this step (62.69, 37.43)| |Z|The Barrens| |L|5849| |OO| 14 | T The Barrens Port |QID|1039| |N|Wharfmaster Dizzywig in Ratchet (63.36, 38.44)| |Z|The Barrens| |O| 15 | f Ratchet |QID|1100| |N|Speak to Bragok and grab flight path for Ratchet (63.09, 37.16)| |Z|The Barrens| 16 | 17 | R The Great Lift |OID|1100| |N|Travel to The Great Lift (55.77, 44.14) (51.12, 49.16) (48.10, 54.07) (47.43, 62.59) (46.13, 67.56)(45.97, 84.35) (44.14, 91.19) (44.14, 91.19)| |Z|The Barrens| |REACH| 18 | R The Great Lift |OID|1100| |N|Travel to The Great Lift (30.71, 24.39)| |Z|Thousand Needles| 19 | N Henrig Lonebrow's Journal |QID|1100| |N|Collect Henrig Lonebrow's Journal near the corpse on the ground, to the right of the lift as you step off. Click on the book in The Great Lift (30.71, 24.39)| |L|5791| 20 | A Lonebrow's Journal |QID|1100| |N|Use Henrig Lonebrow's Journal to accept quest| |Z|Thousand Needles| |U|5791| 21 | 22 | R Thalanaar |TID|1179| |N|Travel to Thalanaar (89.63, 46.56)| |Z|Feralas| 23 | T Lonebrow's Journal |QID|1100| |N|Falfindel Waywarder in Thalanaar (89.63, 46.56)| |Z|Feralas| 24 | f Thalanaar |TID|1179| |N|Speak to Thyssiana and grab flight path for Thalanaar (89.49, 45.84)| |Z|Feralas| 25 | 26 | R Mirage Raceway |QID|1110| |N|Travel to Mirage Raceway (15.49, 25.95) (20.89, 28.26) (26.50, 34.21) (29.56, 34.25) (36.13, 43.46) (43.71, 52.84) (45.90, 55.22) (51.03, 52.78) (66.98, 61.84) (78.13, 77.10)| |Z|Thousand Needles| 27 | T The Brassbolts Brothers |QID|1179| |N|Wizzle Brassbolts in Mirage Raceway (78.13, 77.10)| |Z|Thousand Needles| |O| 28 | A Hardened Shells |QID|1105| |N|Wizzle Brassbolts in Mirage Raceway (78.13, 77.10)| |Z|Thousand Needles| 29 | A Salt Flat Venom |QID|1104| |N|Fizzle Brassbolts in Mirage Raceway (78.07, 77.11)| |Z|Thousand Needles| 30 | A Rocket Car Parts |QID|1110| |N|Kravel Koalbeard in Mirage Raceway (77.78, 77.23)| |Z|Thousand Needles| 31 | A Wharfmaster Dizzywig |QID|1111| |N|Kravel Koalbeard in Mirage Raceway (77.78, 77.23)| |Z|Thousand Needles| 32 | A Hemet Nesingwary |QID|5762| |N|Kravel Koalbeard in Mirage Raceway (77.78, 77.23)| |Z|Thousand Needles| 33 | A Load Lightening |QID|1176| |N|Pozzik in Mirage Raceway (80.13, 75.88)| |Z|Thousand Needles| 34 | A A Bump in the Road |QID|1175| |N|Trackmaster Zherin in Mirage Raceway (81.62, 77.93)| |Z|Thousand Needles| 35 | 36 | N As you go... |AYG|1175| |QID|1110| |N|Collect 30 Rocket Car Parts from the ground anywhere in The Shimmering Flats.| |OBJ|450, 453, 454, 449| 37 | C Salt Flat Venom |QID|1104| |N|Kill Scorpid Reaver and Scorpid Terror in The Shimmering Flats for 6 Salty Scorpid Venom (72, 75)| 38 | C Hardened Shells |QID|1105| |N|Kill Sparkleshell Tortoise, Sparkleshell Snapper and Sparkleshell Borer in The Shimmering Flats for 9 Hardened Tortoise Shell (82, 54)| 39 | C Load Lightening |QID|1176| |N|Kill Salt Flats Scavenger and Salt Flats Vulture for 10 Hollow Vulture Bone in The Shimmering Flats (87, 66)| 40 | C A Bump in the Road |QID|1175| |N|Kill the required Saltstone crocs, Saltstone Gazer are found bottom part of the map and Saltstone Basilisk are found top of the map (76, 87) (86.4, 60.1) (73, 59)| 41 | R The Shimmering Flats |QID|1175| |N|Travel to The Shimmering Flats (88, 75)| 42 | C Rocket Car Parts |QID|1110| |N|Collect 30 Rocket Car Parts through out The Shimmering Flats (87, 77) (86, 60) (77.5, 54) (70, 62) (72, 78) (78, 85)| |OBJ|450, 453, 454, 449| 43 | 44 | R Mirage Raceway |TID|1110| |N|Travel to Mirage Raceway (81.62, 77.93)| |Z|Thousand Needles| 45 | T A Bump in the Road |QID|1175| |N|Trackmaster Zherin in Mirage Raceway (81.62, 77.93)| |Z|Thousand Needles| 46 | T Load Lightening |QID|1176| |N|Pozzik in Mirage Raceway (80.14, 75.83)| |Z|Thousand Needles| 47 | A Goblin Sponsorship (Part 1) |QID|1178| |N|Pozzik in Mirage Raceway (80.14, 75.83)| |Z|Thousand Needles| 48 | T Hardened Shells |QID|1105| |N|Wizzle Brassbolts in Mirage Raceway (78.14, 77.13)| |Z|Thousand Needles| 49 | T Salt Flat Venom |QID|1104| |N|Fizzle Brassbolts in Mirage Raceway (78.06, 77.09)| |Z|Thousand Needles| 50 | A Martek the Exiled |QID|1106| |N|Fizzle Brassbolts in Mirage Raceway (78.07, 77.11)| |Z|Thousand Needles| 51 | T Rocket Car Parts |QID|1110| |N|Kravel Koalbeard in Mirage Raceway (77.80, 77.23)| |Z|Thousand Needles| 52 | 53 | R Gadgetzan |N|Travel to Gadgetzan (74.33, 93.67) (75.50, 97.26)| |Z|Thousand Needles| |REACH| 54 | R Gadgetzan |N|Travel to Gadgetzan (51.00, 29.35)| |Z|Tanaris| 55 | f Gadgetzan |N|Speak to Bera Stonehammer and grab flight path for Gadgetzan (51.00, 29.35)| |Z|Tanaris| 56 | N Turtle Meat |QID|555| |N|Store Turtle Meat to the bank (52.30, 28.89)| |Z|Tanaris| |L|3712| |O| 57 | N Kravel's Parts Order |QID|1111| |N|Store Kravel's Parts Order to the bank (52.30, 28.89)| |Z|Tanaris| |L|5799| |O| 58 | N Kravel's Crate |QID|5762| |N|Store Kravel's Crate to the bank (52.30, 28.89)| |Z|Tanaris| |L|14542| |O| 59 | N Fizzle Brassbolts' Letter |QID|1106| |N|Store Fizzle Brassbolts' Letter to the bank (52.30, 28.89)| |Z|Tanaris| |L|5827| |O| 60 | 61 | N Guide Complete |N|Tick to continue to the next guide| 62 | 63 | ]] 64 | end) 65 | -------------------------------------------------------------------------------- /TourGuide_Alliance/37_37_Alterac_Mountains.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Alterac Mountains (36-37)", "Arathi Highlands (37-38)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Southshore |QID|504| |N|Travel to Southshore (48.12, 59.06)| |Z|Hillsbrad Foothills| 6 | A Crushridge Bounty |QID|500| |N|Marshal Redpath in Southshore (49.67, 58.73)| |Z|Hillsbrad Foothills| 7 | T Further Mysteries |QID|525| |N|Magistrate Henry Maleb in Southshore (48.12, 59.06)| |Z|Hillsbrad Foothills| |O| 8 | A Dark Council |QID|537| |N|Magistrate Henry Maleb in Southshore (48.17, 59.17)| |Z|Hillsbrad Foothills| 9 | A Noble Deaths |QID|512| |N|Magistrate Henry Maleb in Southshore (48.14, 59.13)| |Z|Hillsbrad Foothills| 10 | h Southshore |QID|512| |N|Speak to Innkeeper Anderson and set hearth at Southshore (51.16, 58.95)| |Z|Hillsbrad Foothills| 11 | 12 | R Gallows' Corner |QID|500| |N|Travel to Gallows' Corner (48.82, 54.87)| |Z|Alterac Mountains| 13 | C Crushridge Bounty |QID|500| |N|Kill Crushridge Ogre and collect 9 Dirty Knucklebones in Gallows' Corner (48.82, 54.87)| |Z|Alterac Mountains| 14 | 15 | R The Uplands |QID|512| |N|Travel to The Uplands (47.67, 18.58)| |Z|Alterac Mountains| 16 | N As you go... |N|Collect 7 Alterac Signet Ring from any Syndicate enemies| 17 | K Argus Shadow Mage |QID|512.1| |N|Kill 4 Argus Shadow Mage in The Uplands, you will only find one in each camp in The Uplands (58.43, 30.95) (55.43, 27.03) (52.97, 20.91) (47.67, 18.58)| |Z|Alterac Mountains| 18 | K Nagaz |QID|537.2| |N|Kill Nagaz inside the house and collect Head of Nagaz in Dandred's Fold (39.34, 15.01)| |Z|Alterac Mountains| 19 | N Ensorcelled Parchment |QID|551| |N|Collect Ensorcelled Parchment from the chest in Dandred's Fold (39.21, 14.66)| |L|3706| 20 | A The Ensorcelled Parchment |QID|551| |N|Use Ensorcelled Parchment to accept quest| |Z|Alterac Mountains| |U|3706| |O| 21 | C Noble Deaths |QID|512| |N|Collect 7 Alterac Signet Ring from any Syndicate enemies (47.67, 18.58)| 22 | 23 | R Southshore |TID|512| |N|Travel or Hearthstone to Southshore (49.67, 58.73)| |Z|Hillsbrad Foothills| 24 | T The Ensorcelled Parchment |QID|551| |N|Loremaster Dibbs in Southshore (50.56, 57.13)| |Z|Hillsbrad Foothills| 25 | A Stormpike's Deciphering |QID|554| |N|Loremaster Dibbs in Southshore (50.56, 57.13)| |Z|Hillsbrad Foothills| 26 | T Crushridge Bounty |QID|500| |N|Marshal Redpath in Southshore (49.67, 58.73)| |Z|Hillsbrad Foothills| 27 | T Noble Deaths |QID|512| |N|Magistrate Henry Maleb in Southshore (48.15, 59.12)| |Z|Hillsbrad Foothills| 28 | T Dark Council |QID|537| |N|Magistrate Henry Maleb in Southshore (48.15, 59.12)| |Z|Hillsbrad Foothills| 29 | 30 | N Guide Complete |N|Tick to continue to the next guide| 31 | 32 | ]] 33 | end) 34 | -------------------------------------------------------------------------------- /TourGuide_Alliance/41_42_Swamp_of_Sorrows.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Swamp of Sorrows (41-42)", "Stranglethorn (42-43)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | A The Tome of Nobility |QID|4486| |N|Brandur Ironhammer in Hall of Mysteries (23.32, 6.33)| |Z|Ironforge| |C|Paladin| |R|Dwarf| 6 | T The Tome of Nobility |QID|4486| |N|Duthorian Rall in Cathedral of Light (39.83, 29.83)| |Z|Stormwind City| |C|Paladin| |R|Dwarf| 7 | A The Tome of Nobility |QID|4485| |N|Arthur the Faithful in Cathedral of Light (38.67, 32.91)| |Z|Stormwind City| |C|Paladin| |R|Human| 8 | T The Tome of Nobility |QID|4485| |N|Duthorian Rall in Cathedral of Light (39.86, 29.78)| |Z|Stormwind City| |C|Paladin| |R|Human| 9 | N (spell:13819) |N|Speak to Arthur the Faithful and train (spell:13819) (38.67, 32.91)| |Z|Stormwind City| |C|Paladin| 10 | 11 | R Stormwind City |QID|1477| |N|Travel to Stormwind City(37.48, 81.72)| |Z|Stormwind City| 12 | A Vital Supplies |QID|1477| |N|High Sorcerer Andromath in Wizard's Sanctum (37.48, 81.72)| |Z|Stormwind City| 13 | A In Search of The Temple |QID|1448| |N|Brohann Caskbelly in Dwarven District (64.27, 20.74)| |Z|Stormwind City| 14 | 15 | T The Rumormonger |QID|1115| |N|Krazek in The Salty Sailor Tavern (26.95, 77.22)| |Z|Stranglethorn Vale| |O| 16 | A Dream Dust in the Swamp |QID|1116| |N|Krazek in The Salty Sailor Tavern (26.95, 77.22)| |Z|Stranglethorn Vale| |PRE|1115| 17 | 18 | R Darkshire |QID|1396| |N|Travel to Darkshire in Duskwood (73.9, 44.4)| |Z|Duskwood| 19 | T Vital Supplies |QID|1477| |N|Watchmaster Sorigal in Darkshire (75.75, 46.19)| |Z|Duskwood| 20 | h Darkshire |QID|1396| |N|Speak to Innkeeper Trelayne and set hearth for Scarlet Raven Tavern (73.9, 44.4)| |Z|Duskwood| 21 | 22 | R Swamp of Sorrows |QID|1396| |N|Travel through Deadwind Pass to Swamp of Sorrows (16.64, 56.29)| |Z|Swamp of Sorrows| 23 | C Dream Dust in the Swamp |QID|1116| |N|Kill Dreaming Whelp and collect 10 Speck of Dream Dust in Itharius's Cave (16.64, 56.29)| |Z|Swamp of Sorrows| |PRE|1115| 24 | A Encroaching Wildlife |QID|1396| |N|Watcher Biggs in Swamp of Sorrows (26.76, 59.75)| |Z|Swamp of Sorrows| 25 | 26 | C Encroaching Wildlife |QID|1396| |N|Kill 10 Sorrow Spinner, 8 Young Sawtooth Crocolisk and 10 Swamp Jaguar in Swamp of Sorrows (34.90, 53.17) (28.60, 52.24) (26.41, 45.98) (22.43, 52.15)| |Z|Swamp of Sorrows| 27 | T Encroaching Wildlife |QID|1396| |N|Watcher Biggs in Swamp of Sorrows (26.76, 59.75)| |Z|Swamp of Sorrows| 28 | A The Lost Caravan |QID|1421| |N|Watcher Biggs in Swamp of Sorrows (26.76, 59.75)| |Z|Swamp of Sorrows| 29 | 30 | R The Harborage |TID|1392| |N|Travel to The Harborage (25.99, 31.44)| 31 | A Draenethyst Crystals |QID|1389| |N|Magtoor in The Harborage (25.99, 31.44)| |Z|Swamp of Sorrows| 32 | 33 | R Fallow Sanctuary |QID|1393| |N|Travel Fallow Sanctuary (65.40, 18.29)| |Z|Swamp of Sorrows| 34 | C The Lost Caravan |QID|1421| |N|Collect Wizards' Reagents from the Caravan Chest in Fallow Sanctuary (64.47, 18.36)| |Z|Swamp of Sorrows| |OBJ|10| 35 | C Ongeku |QID|1373| |N|Kill Ongeku and collect Draenethyst Shard in Fallow Sanctuary (65.08, 22.04)| |Z|Swamp of Sorrows| |O| 36 | A Galen's Escape |QID|1393| |N|Galen Goodward in Fallow Sanctuary. Clear the area then accept the quest (65.40, 18.29)| |Z|Swamp of Sorrows| 37 | 38 | N As you go.. |AYG|1393| |QID|1389| |N|Collect 6 Draenethyst Crystal in Fallow Sanctuary, it is a large blue crystal on the ground| |OBJ|219| 39 | C Galen's Escape |QID|1393| |N|Escort Galen Goodward until quest is complete (64.69, 25.17) (52.62, 29.83)| |Z|Swamp of Sorrows| 40 | R Fallow Sanctuary |QID|1393| |N|Travel to Fallow Sanctuary (62, 24)| 41 | C Draenethyst Crystals |QID|1389| |N|Collect 6 Draenethyst Crystal which are scattered around the Fallow Sanctuary (62, 24)| |OBJ|219| 42 | 43 | T Galen's Escape |QID|1393| |N|Galen's Strongbox in The Shifting Mire (47.86, 39.79)| |Z|Swamp of Sorrows| |OBJ|10| 44 | T Draenethyst Crystals |QID|1389| |N|Magtoor in The Harborage (26.00, 31.54)| |Z|Swamp of Sorrows| 45 | T The Lost Caravan |QID|1421| |N|Watcher Biggs in Swamp of Sorrows (26.76, 59.75)| |Z|Swamp of Sorrows| 46 | A Driftwood |QID|1398| |N|Watcher Biggs in Swamp of Sorrows (26.76, 59.75)| |Z|Swamp of Sorrows| 47 | 48 | R Nethergarde Keep |OID|1395| |N|Travel to Nethergarde Keep (53.24, 12.27) (62.75, 19.75) (65.53, 24.36)| |Z|Blasted Lands| 49 | f Nethergarde Keep |OID|1395| |N|Speak to Alexandra Constantine and grab flight path for Nethergarde Keep (65.53, 24.36)| |Z|Blasted Lands| 50 | 51 | R Darkshire |OID|1395| |N|Travel to Darkshire (75.75, 46.19)| |Z|Duskwood| 52 | A Supplies for Nethergarde |QID|1395| |N|Watchmaster Sorigal in Darkshire (75.75, 46.19)| |Z|Duskwood| 53 | 54 | R Nethergarde Keep |QID|1448| |N|Travel to Nethergarde Keep (66.53, 21.41)| |Z|Blasted Lands| 55 | T Supplies for Nethergarde |QID|1395| |N|Quartermaster Lungertz in Nethergarde Keep (66.53, 21.41)| |Z|Blasted Lands| 56 | 57 | C In Search of The Temple |QID|1448| |N|Search for the Temple of Atal'Hakkar in Pool of Tears, just run towards the waypoint to complete the quest (67.8, 44.4)| |Z|Swamp of Sorrows| 58 | 59 | R Misty Reed Strand |QID|1258| |N|Travel to Misty Reed Strand (75.98, 4.96)| |Z|Swamp of Sorrows| 60 | C ... and Bugs |QID|1258| |N|Kill Silt Crawler and collect 12 Pristine Crawler Leg in Misty Reed Strand (75.98, 4.96)| |Z|Swamp of Sorrows| 61 | C Driftwood |QID|1398.1| |N|Collect 8 Sundried Driftwood in Misty Reed Strand. It spawns in each waypoint and you will need to through the murloc village to get some unless you're willing to wait for respawn (83.60, 14.10) (93.30, 36.36) (94.39, 41.45) (94.76, 44.83) (94.60, 49.66) (93.46, 66.23)| |Z|Swamp of Sorrows| |OBJ|627| 62 | 63 | T Driftwood |QID|1398| |N|Watcher Biggs in Swamp of Sorrows (26.76, 59.75)| |Z|Swamp of Sorrows| 64 | A Deliver the Shipment |QID|1425| |N|Watcher Biggs in Swamp of Sorrows (26.76, 59.75)| |Z|Swamp of Sorrows| 65 | 66 | R Nethergarde Keep |TID|1425| |N|Travel to Nethergarde Keep (66.48, 21.36)| |Z|Blasted Lands| 67 | T Deliver the Shipment |QID|1425| |N|Quartermaster Lungertz in Nethergarde Keep (66.48, 21.36)| |Z|Blasted Lands| 68 | 69 | R Stormwind City |QID|1477| |N|Travel to Stormwind City(37.48, 81.72)| |Z|Stormwind City| 70 | N Draenethyst Shard |QID|1373| |N|Store Draenethyst Shard to the bank (57.00, 72.81)| |Z|Stormwind City| |L|6190| |O| 71 | T In Search of The Temple |QID|1448| |N|Brohann Caskbelly in Dwarven District (64.27, 20.74)| |Z|Stormwind City| 72 | A To The Hinterlands |QID|1449| |N|Brohann Caskbelly in Dwarven District (64.27, 20.74)| |Z|Stormwind City| 73 | 74 | R The Salty Sailor Tavern |QID|1117| |N|Travel to The Salty Sailor Tavern in Booty Bay (26.95, 77.21)| |Z|Stranglethorn Vale| 75 | T Dream Dust in the Swamp |QID|1116| |N|Krazek in The Salty Sailor Tavern (26.95, 77.21)| |Z|Stranglethorn Vale| |PRE|1115| 76 | A Rumors for Kravel |QID|1117| |N|Krazek in The Salty Sailor Tavern (26.95, 77.21)| |Z|Stranglethorn Vale| |PRE|1115| 77 | 78 | R Theramore Isle |TID|1258| |N|Travel to Theramore Isle (66.35, 45.48)| |Z|Dustwallow Marsh| 79 | T ... and Bugs |QID|1258| |N|Morgan Stern in Theramore Isle (66.35, 45.48)| |Z|Dustwallow Marsh| 80 | 81 | N Guide Complete |N|Tick to continue to the next guide| 82 | 83 | ]] 84 | end) 85 | -------------------------------------------------------------------------------- /TourGuide_Alliance/43_43_Desolace.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Desolace (43-43)", "Tanaris (43-44)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Nijel's Point |QID|1437| |N|Travel to Nijel's Point (66.40, 9.74)| |Z|Desolace| 6 | T Reagents for Reclaimers Inc. (Part 2) |QID|1459| |N|Kreldig Ungor, in Nijel's Point (66.20, 9.64)| |Z|Desolace| |O| 7 | A Reagents for Reclaimers Inc. (Part 3) |QID|1466| |N|Kreldig Ungor in Nijel's Point (66.40, 9.74)| |Z|Desolace| |PRE|1459| 8 | T Brother Anton |QID|6141| |N|Brother Anton in Nijel's Point (66.51, 7.89)| |Z|Desolace| |O| 9 | A Down the Scarlet Path (Part 1) |QID|261| |N|Brother Anton in Nijel's Point (66.51, 7.89)| |Z|Desolace| 10 | h Nijel's Point |QID|6134| |N|Speak to Innkeeper Lyshaerya and set hearth at Nijel's Point (66.30, 6.60)| |Z|Desolace| 11 | 12 | R Kodo Graveyard |QID|6134| |N|Travel to Kodo Graveyard (47.86, 61.79)| |Z|Desolace| 13 | A Ghost-o-plasm Round Up |QID|6134| |N|Hornizz Brimbuzzle in Kodo Graveyard (47.86, 61.79)| |Z|Desolace| 14 | 15 | R Gelkis Village |TID|1373| |N|Travel to Gelkis Village (45.05, 60.86) (42.04, 65.96) (36.21, 79.27)| |Z|Desolace| |O| 16 | T Ongeku |QID|1373| |N|Uthek the Wise in Gelkis Village (36.21, 79.27)| |Z|Desolace| |O| 17 | A Khan Jehn |QID|1374| |N|Uthek the Wise in Gelkis Village (36.21, 79.27)| |PRE|1374| |Z|Desolace| 18 | 19 | C Reagents for Reclaimers Inc. (Part 3) |QID|1466| |N|Make a start with this quest, tick the step if you can't find much and you can complete later. Kill Ley Hunter, Nether Sister and Doomwarder Captain to collect the materials required in Mannoroc Coven (56.0, 75.0) (51.0, 82.0)| |Z|Desolace| |O| 20 | 21 | R Magram Village |QID|1374| |N|Travel to Magram Village (66.43, 79.93)| |PRE|1374| 22 | C Khan Jehn |QID|1374| |N|Kill Khan Jehn and collect Khan Jehn's Head in Magram Village (66.43, 79.93)| |PRE|1374| |Z|Desolace| 23 | 24 | R Valley of Bones |QID|261| |N|Travel to Valley of Bones (63.91, 90.74)| |Z|Desolace| 25 | C Ghost-o-plasm Round Up |QID|6134| |N|Clear the area and use Crate of Ghost Magnets, kill the Magrami Spectre that appear and collect 8 Ghost-o-plasm (63.87, 91.71)| |Z|Desolace| |U|15848| 26 | C Down the Scarlet Path |QID|261| |N|Kill 30 Undead Ravager in Valley of Bones (63.91, 90.74)| |Z|Desolace| 27 | 28 | C Reagents for Reclaimers Inc. (Part 3) |QID|1466| |N|Kill Ley Hunter, Nether Sister and Doomwarder Captain to collect the materials required in Mannoroc Coven (56.0, 75.0) (51.0, 82.0)| |Z|Desolace| |PRE|1459| 29 | 30 | R Kodo Graveyard |TID|6134| |N|Travel to Kodo Graveyard (47.83, 61.83)| |Z|Desolace| 31 | T Ghost-o-plasm Round Up |QID|6134| |N|Hornizz Brimbuzzle in Kodo Graveyard (47.83, 61.83)| |Z|Desolace| 32 | 33 | R Gelkis Village |TID|1374| |N|Travel to Gelkis Village (36.25, 79.27)| |Z|Desolace| 34 | T Khan Jehn |QID|1374| |N|Uthek the Wise in Gelkis Village (36.25, 79.27)| |Z|Desolace| |PRE|1374| 35 | 36 | R Nijel's Point |TID|261| |N|Travel or Hearthstone to Nijel's Point (66.20, 9.64)| |Z|Desolace| 37 | T Reagents for Reclaimers Inc. (Part 3) |QID|1466| |N|Kreldig Ungor in Nijel's Point (66.20, 9.64)| |Z|Desolace| |PRE|1459| 38 | A Reagents for Reclaimers Inc. (Part 4) |QID|1467| |N|Kreldig Ungor in Nijel's Point (66.20, 9.64)| |Z|Desolace| |PRE|1459| 39 | T Down the Scarlet Path (Part 1) |QID|261| |N|Brother Anton in Nijel's Point (66.51, 7.95)| |Z|Desolace| 40 | A Down the Scarlet Path (Part 2) |QID|1052| |N|Brother Anton in Nijel's Point (66.51, 7.95)| |Z|Desolace| 41 | 42 | N Guide Complete |N|Tick to continue to the next guide| 43 | 44 | ]] 45 | end) 46 | -------------------------------------------------------------------------------- /TourGuide_Alliance/46_46_Azshara.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Azshara (46-46)", "The Hinterlands (46-46)", "Alliance",function() 2 | 3 | 4 | return [[ 5 | 6 | R Talrendis Point |QID|5535| |N|Travel to Talrendis Point in Azshara (11.40, 78.13)| |Z|Azshara| 7 | f Talrendis Point |QID|5535| |N|Speak to Jarrodenus and grab flight path for Talrendis Point (11.90, 77.57)| |Z|Azshara| 8 | A Spiritual Unrest |QID|5535| |N|Loh'atu in Talrendis Point (11.40, 78.13)| |Z|Azshara| 9 | A A Land Filled with Hatred |QID|5536| |N|Loh'atu in Talrendis Point (11.40, 78.13)| |Z|Azshara| 10 | 11 | C Spiritual Unrest |QID|5535| |N|Kill 6 Highborne Lichling and 6 Highborne Apparition in Shadowsong Shrine (16.40, 68.21)| |Z|Azshara| 12 | R Haldarr Encampment |QID|5536| |N|Travel to Haldarr Encampment (20.58, 61.67)| |Z|Azshara| 13 | C A Land Filled with Hatred |QID|5536| |N|Kill 2 Haldarr Trickster, 2 Haldarr Felsworn and 6 Haldarr Satyr in Haldarr Encampment (20.58, 61.67)| |Z|Azshara| 14 | 15 | R Talrendis Point |TID|5535| |N|Travel to Talrendis Point (11.37, 78.15)| |Z|Azshara| 16 | T Spiritual Unrest |QID|5535| |N|Loh'atu in Talrendis Point (11.37, 78.15)| |Z|Azshara| 17 | T A Land Filled with Hatred |QID|5536| |N|Loh'atu in Talrendis Point (11.37, 78.15)| |Z|Azshara| 18 | 19 | R Gadgetzan |OID|2944| |N|Travel to Gadgetzan (52.35, 26.91)| |Z|Tanaris| 20 | T The Borrower |QID|2941| |N|Curgle Cranklehop in Gadgetzan (52.35, 26.91)| |Z|Tanaris| 21 | A The Super Snapper FX |QID|2944| |N|Curgle Cranklehop in Gadgetzan (52.35, 26.91)| |Z|Tanaris| 22 | N Bag of Water Elemental Bracers |QID|602| |N|Withdraw Bag of Water Elemental Bracers from the bank. Tick this step (52.30, 28.89)| |Z|Tanaris| |L|3960| |OO| 23 | N Seahorn's Sealed Letter |QID|670| |N|Withdraw Seahorn's Sealed Letter from the bank. Tick this step (52.30, 28.89)| |Z|Tanaris| |L|4494| |OO| 24 | N Letter of Commendation |QID|1052| |N|Withdraw Letter of Commendation from the bank. Tick this step (52.30, 28.89)| |Z|Tanaris| |L|5539| |OO| 25 | 26 | N Guide Complete |N|Tick to continue to the next guide| 27 | 28 | ]] 29 | end) 30 | -------------------------------------------------------------------------------- /TourGuide_Alliance/50_50_Hinterlands.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("The Hinterlands (50-50)", "Blasted Lands (50-51)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R The Salty Sailor Tavern |OID|580| |N|Travel to The Salty Sailor Tavern (27.12, 77.43)| |Z|Stranglethorn Vale| 6 | A Whiskey Slim's Lost Grog |QID|580| |N|Whiskey Slim in The Salty Sailor Tavern (27.12, 77.43)| |Z|Stranglethorn Vale| 7 | 8 | R Wildhammer Keep |QID|3661| |N|Travel to Wildhammer Keep (14.09, 41.56)| |Z|The Hinterlands| 9 | h Wildhammer Keep |QID|3661| |N|Speak to Innkeeper Thulfram and set hearth at Wildhammer Keep (13.52, 44.76) (13.46, 43.97) (13.46, 41.66) (13.91, 42.24)| |Z|The Hinterlands| 10 | T The Newest Member of the Family |QID|3843| |N|Agnar Beastamer in Wildhammer Keep (14.15, 43.61)| |Z|The Hinterlands| |O| 11 | A Food for Baby |QID|4297| |N|Agnar Beastamer in Wildhammer Keep (13.81, 43.28)| |Z|The Hinterlands| |PRE|3843| 12 | A Protecting Aerie Peak |QID|40664| |N|Claira Kindfeather in Wildhammer Keep (16.4, 47.6)| |Z|The Hinterlands| 13 | 14 | A Package to Quel'Danil |QID|80392| |N|Take Lieren package to Loania (14.0,44.6)| |Z|The Hinterlands| 15 | T Package to Quel'Danil |QID|80392| |N|Package to Quel 'Danil (31.1,48.5)| |Z|The Hinterlands| 16 | A Errand for Quel'Danil |QID|80393| |N|Errand for Quel'Danil (31.1,48.5)| |Z|The Hinterlands| 17 | A Ritual Secrets of the Witherbark |QID|40607| |N|Ritual Secrets of the Witherbark (31.1,48.5)| |Z|The Hinterlands| 18 | 19 | R Shindigger's Camp |TID|1452| |N|Travel to Shindigger's Camp (20.00, 48.33) (26.93, 48.60)| |Z|The Hinterlands| |O| 20 | T Rhapsody's Kalimdor Kocktail |QID|1452| |N|Rhapsody Shindigger in Shindigger's Camp (26.93, 48.60)| |Z|The Hinterlands| |O| 21 | 22 | R Valorwind Lake |QID|2641| |N|Travel to Valorwind Lake (40.05, 59.89)| |Z|The Hinterlands| 23 | N Violet Tragan |QID|2641| |N|Collect Violet Tragan from the mushroom underwater in the middle of Valorwind Lake (40.05, 59.89)| |Z|The Hinterlands| |OBJ|1847| 24 | 25 | 26 | R The Altar of Zul |QID|2989| |N|Travel to The Altar of Zul (48.76, 68.35)| |Z|The Hinterlands| 27 | C The Altar of Zul |QID|2989| |N|Go up to the top of the stair to search The Altar of Zul (48.76, 68.35)| |Z|The Hinterlands| 28 | 29 | T Find OOX-09/HL! |QID|485| |N|Homing Robot OOX-09/HL in The Hinterlands (49.35, 37.68)| |Z|The Hinterlands| |O| 30 | A Rescue OOX-09/HL! |QID|836| |N|Homing Robot OOX-09/HL in The Hinterlands (49.35, 37.68)| |Z|The Hinterlands| |PRE|485| 31 | C Rescue OOX-09/HL! |QID|836| |N|Escort Homing Robot OOX-09/HL to the shoreline beyond The Overlook Cliffs. You will be ambushed by 3 level 47 Savage Owlbeast and 3 Trolls, and 1 Wolf on seperate occassions (48.27, 41.23) (48.09, 44.86) (53.37, 44.67) (57.82, 50.14) (61.93, 54.05) (63.18, 56.18) (66.00, 61.13) (72.31, 66.22) (78.99, 61.33)| |Z|The Hinterlands| 32 | 33 | R The Overlook Cliffs |QID|580| |N|Travel to The Overlook Cliffs (71.88, 65.44)| |Z|The Hinterlands| 34 | T Small Murloc in a Big Pond |QID|40546| |N|Murloc Tadpole in The Overlook Cliffs (79.6, 62.6) |Z|The Hinterlands| 35 | C Whiskey Slim's Lost Grog |QID|580.1| |N|Collect 12 Pupellyverbos Port from the ground near the water around The Overlook Cliffs (79.10, 71.61) (79.14, 64.09) (80.79, 58.88) (82.01, 49.85)| |Z|The Hinterlands| |O| |OBJ|225| 36 | T Cortello's Riddle |QID|626| |N|Cortello's Treasure in The Overlook Cliffs (80.82, 46.79)| |Z|The Hinterlands| |OBJ|10| 37 | 38 | C Food for Baby |QID|4297| |N|Kill Silvermane Stalker and collect 5 Silvermane Stalker Flank (76.49, 60.70) (69.17, 54.07)| |Z|The Hinterlands| 39 | 40 | R Wildhammer Keep |TID|2989| |N|Travel or Hearthstone to Wildhammer Keep (14.15, 43.61)| |Z|The Hinterlands| |U|6948| 41 | T Food for Baby |QID|4297| |N|Agnar Beastamer in Wildhammer Keep (14.15, 43.61)| |Z|The Hinterlands| |PRE|3843| 42 | A Becoming a Parent |QID|4298| |N|Agnar Beastamer in Wildhammer Keep (14.15, 43.61)| |Z|The Hinterlands| |PRE|3843| 43 | T Becoming a Parent |QID|4298| |N|Agnar Beastamer in Wildhammer Keep (14.15, 43.61)| |Z|The Hinterlands| |PRE|3843| 44 | T The Altar of Zul |QID|2989| |N|Gryphon Master Talonaxe in Aerie Peak, on top of Aerie Peak (9.69, 44.47)| |Z|The Hinterlands| 45 | A Thadius Grimshade |QID|2990| |N|Gryphon Master Talonaxe in Aerie Peak, on top of Aerie Peak (9.69, 44.47)| |Z|The Hinterlands| 46 | 47 | R Theramore Isle |QID|4502| |N|Travel to Theramore Isle (66.59, 45.22)| |Z|Dustwallow Marsh| 48 | h Theramore Isle |QID|4502| |N|Speak to Innkeeper Janene and set hearth to Theramore Isle (66.59, 45.22)| |Z|Dustwallow Marsh| 49 | 50 | R Ratchet |OID|4502| |N|Travel to Ratchet (62.54, 38.50)| |Z|The Barrens| 51 | C The Stone Circle |QID|3444| |N|Collect Stone Circle from Marvon's chest in Ratchet (62.51, 38.54)| |Z|The Barrens| |O| 52 | A Volcanic Activity |QID|4502| |N|Liv Rizzlefix in Ratchet (62.45, 38.72)| |Z|The Barrens| 53 | 54 | R Booty Bay |TID|580| |N|Travel to Booty Bay (28.35, 76.35)| |Z|Stranglethorn Vale| |O| 55 | T Rescue OOX-09/HL! |QID|836| |N|Gryphon Master Talonaxe in Booty Bay (28.35, 76.35)| |Z|Stranglethorn Vale| |O| 56 | T Rescue OOX-22/FE! |QID|2767| |N|Oglethorpe Obnoticus in Booty Bay (28.35, 76.35)| |Z|Stranglethorn Vale| |O| 57 | T Rescue OOX-17/TN! |QID|648| |N|Oglethorpe Obnoticus in Booty Bay (28.36, 76.35)| |Z|Stranglethorn Vale| |O| 58 | T An OOX of Your Own |QID|3721| |N|Liv Rizzlefix in Booty Bay (28.36, 76.35)| |Z|Stranglethorn Vale| |PRE|836, 2767, 648| 59 | T Whiskey Slim's Lost Grog |QID|580| |N|Whiskey Slim in The Salty Sailor Tavern (27.13, 77.45)| |Z|Stranglethorn Vale| |O| 60 | N Stone Circle |QID|3444| |N|Store Stone Circle to the bank (26.57, 76.56)| |Z|Stranglethorn Vale| |L|10556| |O| 61 | N Violet Tragan |QID|2641| |N|Store Violet Tragan to the bank (26.57, 76.56)| |Z|Stranglethorn Vale| |L|8526| |O| 62 | 63 | N Guide Complete |N|Tick to continue to the next guide| 64 | 65 | ]] 66 | end) 67 | -------------------------------------------------------------------------------- /TourGuide_Alliance/50_51_Blasted_Lands.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Blasted Lands (50-51)", "Un'goro (51-52)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Nethergarde Keep |QID|2783| |N|Travel to Nethergarde Keep (66.91, 19.46)| 6 | T Thadius Grimshade |QID|2990| |N|Thadius Grimshade in Nethergarde Keep (66.91, 19.46)| |O| 7 | A Petty Squabbles |QID|2783| |N|Ambassador Ardalan in Nethergarde Keep (67.57, 19.29)| 8 | 9 | R Swamp of Sorrows |QID|2801| |N|Travel to Swamp of Sorrows (34.24, 66.11)| |Z|Swamp of Sorrows| 10 | T Petty Squabbles |QID|2783| |N|Fallen Hero of the Horde in Swamp of Sorrows (34.24, 66.11)| |Z|Swamp of Sorrows| 11 | A A Tale of Sorrow |QID|2801| |N|Fallen Hero of the Horde in Swamp of Sorrows (34.24, 66.11)| |Z|Swamp of Sorrows| 12 | C A Tale of Sorrow |QID|2801| |N|Speak to Fallen Hero of the Horde until the quest is complete (34.24, 66.11)| |Z|Swamp of Sorrows| 13 | T A Tale of Sorrow |QID|2801| |N|Fallen Hero of the Horde in Swamp of Sorrows (34.24, 66.11)| |Z|Swamp of Sorrows| 14 | 15 | N As you go... |AYG|2603| |QID|2603| |N|Kill creatures found all around Blasted Lands and collect the required materials from Vulture, Basilisk, Boar, Scorpion and Hyena type creatures. The quest items will drop without needing to accept the quests, you can complete in any order| 16 | A The Basilisk's Bite |QID|2601| |N|Bloodmage Lynnore in Dreadmaul Hold (50.65, 14.27)| 17 | A Vulture's Vigor |QID|2603| |N|Bloodmage Lynnore in Dreadmaul Hold (50.59, 14.23)| 18 | A Snickerfang Jowls |QID|2581| |N|Bloodmage Drazial in Dreadmaul Hold (50.55, 14.21)| 19 | A A Boar's Vitality |QID|2583| |N|Bloodmage Drazial in Dreadmaul Hold (50.55, 14.21)| 20 | A The Decisive Striker |QID|2585| |N|Bloodmage Drazial in Dreadmaul Hold (50.55, 14.21)| 21 | 22 | K Black Slayer |QID|2603| |N|Collect 14 Vulture Gizzard from Black Slayer, East of the road (53, 38) (59, 27)| |L|8396 14| 23 | K Redstone Basilisk |QID|2601| |N|Collect 11 Basilisk Brain from Redstone Basilisk or Redstone Crystalhide, East of the road (60, 40) (57, 31)| |L|8394 11| 24 | K Helboar |QID|2583| |N|Collect 6 Blasted Boar Lung from Helboar or Ashmane Boar, East of the road (52.5, 54) (57, 31)| |L|8392 6| 25 | K Scorpok Stinger |QID|2585| |N|Collect 6 Scorpok Pincer from Scorpok Stinger, West of the road (47, 20)| |L|8393 6| 26 | K Snickerfang Hyena |QID|2581| |N|Collect 5 Snickerfang Jowl from Snickerfang Hyena or Starving Snickerfang West of the road (47, 20) (50, 38)| |L|8391 5| 27 | T The Basilisk's Bite |QID|2601| |N|Bloodmage Lynnore in Dreadmaul Hold (50.65, 14.27)| 28 | T Vulture's Vigor |QID|2603| |N|Bloodmage Lynnore in Dreadmaul Hold (50.59, 14.23)| 29 | T Snickerfang Jowls |QID|2581| |N|Bloodmage Drazial in Dreadmaul Hold (50.55, 14.21)| 30 | T A Boar's Vitality |QID|2583| |N|Bloodmage Drazial in Dreadmaul Hold (50.55, 14.21)| 31 | T The Decisive Striker |QID|2585| |N|Bloodmage Drazial in Dreadmaul Hold (50.55, 14.21)| 32 | 33 | A Everything Counts In Large Amounts |QID|3501| |N|Kum'isha the Collector in Rise of the Defiler (51.99, 35.65)| |L|10593| |O| 34 | T Everything Counts In Large Amounts |QID|3501| |N|Kum'isha the Collector in Rise of the Defiler (51.99, 35.65)| |L|10593| |O| 35 | A To Serve Kum'isha |QID|2521| |N|Kum'isha the Collector in Rise of the Defiler (51.99, 35.65)| |L|8244| |O| 36 | T To Serve Kum'isha |QID|2521| |N|Kum'isha the Collector in Rise of the Defiler (51.99, 35.65)| |L|8244| |O| 37 | 38 | N Guide Complete |N|Tick to continue to the next guide| 39 | 40 | ]] 41 | end) 42 | -------------------------------------------------------------------------------- /TourGuide_Alliance/52_53_Azshara.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Azshara (52-53)", "Felwood (53-54)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Gadgetzan |TID|4504| |N|Travel to Gadgetzan (51.59, 26.77)| |Z|Tanaris| |O| 6 | T Super Sticky |QID|4504| |N|Tran'rek in Gadgetzan (51.59, 26.77)| |Z|Tanaris| |O| 7 | 8 | N Level 52 Required |N|Grind any mobs in Tanaris until you reach level 52| 9 | 10 | R Rut'theran Village |QID|978| |N|Travel to Rut'theran Village in Teldrassil (55.49, 92.05)| |Z|Teldrassil| 11 | A Moontouched Wildkin |QID|978| |N|Erelas Ambersky in Rut'theran Village (55.49, 92.05)| |Z|Teldrassil| 12 | 13 | N Insect Analysis Report |QID|162| |N|Withdraw Insect Analysis Report from the bank. Tick this step (39.88, 42.21)| |Z|Darnassus| |L|8594| |OO| 14 | N Drawing Kit |QID|3461| |N|Withdraw Drawing Kit from the bank. Tick this step (39.88, 42.21)| |Z|Darnassus| |L|10445| |OO| 15 | N Standard Issue Flare Gun |QID|3451| |N|Withdraw Standard Issue Flare Gun from the bank. Tick this step (39.88, 42.21)| |Z|Darnassus| |L|10444| |OO| 16 | N Prayer to Elune |QID|3378| |N|Withdraw Prayer to Elune from the bank. Tick this step (39.88, 42.21)| |Z|Darnassus| |L|10458| |OO| 17 | R Cenarion Enclave |TID|3763| |N|Travel to Cenarion Enclave in Darnassus (34.83, 9.21)| |Z|Darnassus| 18 | T Assisting Arch Druid Staghelm |QID|3763| |N|Arch Druid Fandral Staghelm in Cenarion Enclave (34.83, 9.21)| |Z|Darnassus| |O| 19 | T Assisting Arch Druid Staghelm |QID|3789| |N|Arch Druid Fandral Staghelm in Cenarion Enclave (34.83, 9.21)| |Z|Darnassus| |O| 20 | T Assisting Arch Druid Staghelm |QID|3790| |N|Arch Druid Fandral Staghelm in Cenarion Enclave (34.83, 9.21)| |Z|Darnassus| |O| 21 | A Un'Goro Soil |QID|3764| |N|Arch Druid Fandral Staghelm in Cenarion Enclave (34.83, 9.21)| |Z|Darnassus| |L|11018 20| |O| 22 | C Un'Goro Soil |QID|3764| |N|You should have 20 Un'Goro Soil from Un'Goro otherwise, skip this quest| |Z|Darnassus| |O| 23 | T Un'Goro Soil |QID|3764| |N|Jenal in Cenarion Enclave (31.45, 8.18)| |Z|Darnassus| |O| 24 | A Morrowgrain Research |QID|3781| |N|Arch Druid Fandral Staghelm in Cenarion Enclave, on top of the tree (34.73, 9.21)| |Z|Darnassus| |PRE|3764| 25 | T Morrowgrain Research |QID|3781| |N|Mathrengyl Bearwalker in Cenarion Enclave, he's in the middle of the tree (35.33, 8.39)| |Z|Darnassus| |PRE|3764| 26 | A Morrowgrain Research |QID|3785| |N|Mathrengyl Bearwalker in Cenarion Enclave (35.33, 8.39)| |Z|Darnassus| |PRE|3764| 27 | N As you go... |AYG|3601| |QID|3785| |N|Use Evergreen Pouch every 10 mins to create Evergreen Herb Casing, open it to get some herbs, you will need to get 10 Morrowgrain using this method otherwise purchase from Auction. Tick this step| |U|11020| |PRE|3764| 28 | T Rise of the Silithid |QID|162| |N|Gracina Spiritmight in Temple of the Moon (41.91, 85.69)| |Z|Darnassus| |O| 29 | T Prayer to Elune |QID|3378| |N|Astarii Starseeker in Temple of the Moon (38.29, 80.95)| |Z|Darnassus| |O| 30 | h Craftsmen's Terrace |QID|3449| |N|Speak to Innkeeper Saelienne set hearth in Craftsmen's Terrace (67.42, 15.57)| |Z|Darnassus| 31 | 32 | R Temple of Zin-Malor |QID|3449| |N|Travel to Temple of Zin-Malor in Azshara (39.54, 50.12)| |Z|Azshara| 33 | N Rubbing: Rune of Jin'yael |QID|3449.2| |N|Collect Rubbing: Rune of Jin'yael from Rune of Jin'yael in Temple of Zin-Malor (39.54, 50.12)| |Z|Azshara| |OBJ|12925| 34 | N Rubbing: Rune of Beth'Amara |QID|3449.1| |N|Collect Rubbing: Rune of Beth'Amara from Rune of Beth'Amara in Temple of Zin-Malor (36.8, 53.2)| |Z|Azshara| |OBJ|12925| 35 | N Rubbing: Rune of Markri |QID|3449.3| |N|Collect Rubbing: Rune of Markri from Rune of Markri in Temple of Zin-Malor (39.36, 55.59)| |Z|Azshara| |OBJ|12925| 36 | 37 | R Legash Encampment |QID|3601| |N|Travel to Legash Encampment (46.22, 39.47) (44.89, 36.56) (53.28, 20.15)| |Z|Azshara| 38 | A Kim'jael Indeed! |QID|3601| |N|Kim'jael in Legash Encampment (53.28, 20.15) (53.16, 21.46) (53.46, 21.81)| |Z|Azshara| 39 | C Kim'jael Indeed! |QID|3601| |N|Collect all the required parts from the crates in Thalassian Base Camp (58.57, 28.99)| |Z|Azshara| |OBJ|285| 40 | T Kim'jael Indeed! |QID|3601| |N|Kim'jael in Legash Encampment (53.32, 20.20) (53.26, 21.53) (53.46, 21.80)| |Z|Azshara| 41 | A Kim'jael's "Missing" Equipment |QID|5534| |N|Kim'jael in Legash Encampment (53.46, 21.80)| |Z|Azshara| 42 | 43 | N As you go... |AYG|5534| |QID|3785| |N|Use Evergreen Pouch every 10 mins to create Evergreen Herb Casing, open it to get some herbs, you will need to get 10 Morrowgrain using this method otherwise purchase from Auction. Tick this step| |U|11020| |PRE|3764| 44 | R The Shattered Strand |QID|5534| |N|Travel to The Shattered Strand (45.42, 37.15)| |Z|Azshara| 45 | C Kim'jael's "Missing" Equipment |QID|5534| |N|Kill Nagas in The Shattered Strand until you collect Some Rune (48.68, 42.70)| |Z|Azshara| 46 | 47 | R Legash Encampment |QID|5534| |N|Travel to Legash Encampment (46.22, 39.47) (44.89, 36.56) (53.28, 20.15)| |Z|Azshara| 48 | T Kim'jael's "Missing" Equipment |QID|5534| |N|Kim'jael in Legash Encampment (53.28, 20.15) (53.16, 21.46) (53.46, 21.82)| |Z|Azshara| 49 | 50 | N Level 53 Required |N|Grind Blood Elf Surveyor in Thalassian Base Camp, until you reach level 53, they have low HP and easy to kill (58.29, 28.39)| |Z|Azshara| 51 | 52 | R Ruins of Eldarath |QID|3449| |N|Travel to Ruins of Eldarath (42.35, 64.12)| |Z|Azshara| 53 | N Rubbing: Rune of Sael'hai |QID|3449.4| |N|Collect Rubbing: Rune of Sael'hai from Rune of Sael'hai in Ruins of Eldarath (42.35, 64.12)| |Z|Azshara| 54 | 55 | R The Ruined Reaches |OID|3461| |N|Travel to The Ruined Reaches (43.91, 68.86) (62.28, 81.98) (63.71, 81.55) (65.04, 82.26) (67.03, 82.95) (77.80, 91.32)| 56 | U Standard Issue Flare Gun |TID|3449| |N|Use Standard Issue Flare Gun to summon Pilot Xiggs Fuselighter in The Ruined Reaches (77.81, 91.45)| |Z|Azshara| |U|10444| 57 | T Arcane Runes |QID|3449| |N|Pilot Xiggs Fuselighter in The Ruined Reaches, use Standard Issue Flare Gun to summon him (77.81, 91.45)| |Z|Azshara| 58 | N Standard Issue Flare Gun |QID|3785| |N|Destroy Standard Issue Flare Gun as it is no longer needed| |L|5251| |O| 59 | A Return to Tymor |QID|3461| |N|Pilot Xiggs Fuselighter in The Ruined Reaches (77.81, 91.45)| |Z|Azshara| 60 | 61 | R Cenarion Enclave |TID|3785| |N|Travel or Hearthstone to Cenarion Enclave (35.35, 8.29)| |Z|Darnassus| |U|6948| |PRE|3764| 62 | C Morrowgrain Research |QID|3785| |N|Use Evergreen Pouch every 10 mins to create Evergreen Herb Casing until you get 10 Morrowgrain| |Z|Darnassus| |PRE|3764| 63 | T Morrowgrain Research |QID|3785| |N|Mathrengyl Bearwalker in Cenarion Enclave (35.35, 8.29)| |Z|Darnassus| |PRE|3764| 64 | N Evergreen Pouch |N|Destroy Evergreen Pouch as it is no longer needed| |L|11020| |O| 65 | N Package of Empty Ooze Containers |QID|4512| |N|Withdraw Package of Empty Ooze Containers from the bank. Tick this step (39.88, 42.21)| |Z|Darnassus| |L|11912| |OO| 66 | N Linken's Training Sword |QID|3908| |N|Withdraw Linken's Training Sword from the bank. Tick this step (39.88, 42.21)| |Z|Darnassus| |L|11133| |OO| 67 | N Drawing Kit |QID|3461| |N|Store Drawing Kit to the bank (35.48, 60.70)| |Z|Ironforge| |L|10445| |O| 68 | 69 | N Guide Complete |N|Tick to continue to the next guide| 70 | 71 | ]] 72 | end) 73 | -------------------------------------------------------------------------------- /TourGuide_Alliance/53_54_Felwood.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Felwood (53-54)", "Winterspring (54-55)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Morlos'Aran |QID|4101| |N|Travel to Morlos'Aran in Felwood (54.15, 86.84)| |Z|Felwood| 6 | A Cleansing Felwood |QID|4101| |N|Arathandris Silversky in Morlos'Aran (54.15, 86.84)| |Z|Felwood| 7 | 8 | R Emerald Sanctuary |QID|6131| |N|Travel to Emerald Sanctuary (50.98, 81.76)| |Z|Felwood| 9 | A Forces of Jaedenar |QID|5155| |N|Greta Mosshoof in Emerald Sanctuary (51.2, 82.1)| |Z|Felwood| 10 | A Verifying the Corruption |QID|5156| |N|Taronn Redfeather in Emerald Sanctuary (50.94, 81.65)| |Z|Felwood| 11 | A To Winterspring! |QID|5249| |N|Ivy Leafrunner in Emerald Sanctuary (51.01, 81.94)| |Z|Felwood| 12 | A The Corruption of the Jadefire |QID|4421| |N|Eridan Bluewind in Emerald Sanctuary (51.35, 81.53)| |Z|Felwood| 13 | A Timbermaw Ally |QID|8460| |N|Grazle in Emerald Sanctuary (50.94, 85.00)| |Z|Felwood| 14 | C Timbermaw Ally |QID|8460| |N|Kill the required Deadwood furbolg mobs in Deadwood Village (48.69, 92.08)| |Z|Felwood| 15 | T Timbermaw Ally |QID|8460| |N|Grazle in Emerald Sanctuary (50.93, 85.03)| |Z|Felwood| 16 | A Speak to Nafien |QID|8462| |N|Grazle in Emerald Sanctuary (50.93, 85.03)| |Z|Felwood| 17 | 18 | R Ruins of Constellas |QID|4512| |N|Travel to Ruins of Constellas (40.14, 67.91)| |Z|Felwood| 19 | N Empty Cursed Ooze Jar |QID|4512| |N|Collect 6 Empty Cursed Ooze Jar from Package of Empty Ooze Containers in your bag| |U|11912| |L|11914| 20 | N Empty Tainted Ooze Jar |QID|4512| |N|Collect 6 Empty Tainted Ooze Jar from Package of Empty Ooze Containers in your bag| |U|11912| |L|11948| 21 | K Cursed Ooze |QID|4512.1| |N|Kill Cursed Ooze and use Empty Cursed Ooze Jar to collect 6 Filled Cursed Ooze Jar in Ruins of Constellas (40.14, 67.91)| |Z|Felwood| |U|11914| 22 | K Xavathras |QID|4421.4| |N|Kill Xavathras Xavathras in Ruins of Constellas (36.62, 68.46) (33.6, 66.6)| |Z|Felwood| 23 | C The Corruption of the Jadefire |QID|4421| |N|Kill the required Jadefire Satry in Ruins of Constellas (37.16, 66.88) (37.79, 69.24) (36.62, 68.46)| |Z|Felwood| 24 | 25 | R Jaedenar |QID|4512| |N|Travel to Jaedenar (42.22, 64.74) (39.94, 55.20)| |Z|Felwood| 26 | K Tainted Ooze |QID|4512.2| |N|Kill Tainted Ooze and use Empty Tainted Ooze Jar to collect 6 Filled Tainted Ooze Jar in Jaedenar (39.94, 55.20)| |Z|Felwood| |U|11948| 27 | C Forces of Jaedenar |QID|5155| |N|Kill the required Jaedenar Satrys in Jaedenar (38.87, 58.76) (37.66, 61.12) (35.40, 60.27)| |Z|Felwood| 28 | 29 | R Emerald Sanctuary |QID|4906| |N|Travel to Emerald Sanctuary (41.36, 58.32) (51.35, 81.52)| |Z|Felwood| 30 | T The Corruption of the Jadefire |QID|4421| |N|Eridan Bluewind in Emerald Sanctuary (51.35, 81.52)| |Z|Felwood| 31 | A Further Corruption |QID|4906| |N|Eridan Bluewind in Emerald Sanctuary (51.35, 81.52)| |Z|Felwood| 32 | T Forces of Jaedenar |QID|5155| |N|Greta Mosshoof in Emerald Sanctuary (51.19, 82.06)| |Z|Felwood| 33 | A Collection of the Corrupt Water |QID|5157| |N|Greta Mosshoof in Emerald Sanctuary (51.19, 82.06)| |Z|Felwood| 34 | 35 | R Jaedenar |QID|5157| |N|Travel to Jaedenar (43.81, 75.42) (41.30, 59.84)| |Z|Felwood| 36 | C Collection of the Corrupt Water |QID|5157| |N|Use Empty Canteen near the Corrupt Moonwell in Jaedenar (41.30, 59.84) (35.16, 59.74)| |Z|Felwood| 37 | 38 | R Emerald Sanctuary |QID|5158| |N|Travel to Emerald Sanctuary (51.21, 82.11)| |Z|Felwood| 39 | T Collection of the Corrupt Water |QID|5157| |N|Greta Mosshoof in Emerald Sanctuary (51.21, 82.11)| |Z|Felwood| 40 | A Seeking Spiritual Aid |QID|5158| |N|Greta Mosshoof in Emerald Sanctuary (51.21, 82.11)| |Z|Felwood| 41 | 42 | R Shatter Scar Vale |QID|5156| |N|Travel to Shatter Scar Vale (43.32, 74.51) (40.55, 42.80)| |Z|Felwood| 43 | C Verifying the Corruption |QID|5156| |N|Kill 2 Entropic Beast and 2 Entropic Horror in Shatter Scar Vale (40.55, 42.80)| |Z|Felwood| 44 | 45 | R Jadefire Run |QID|4906| |N|Travel to Jadefire Run (43.21, 21.85)| |Z|Felwood| 46 | K Xavaric |QID|4906.4| |N|Kill Xavaric in Jadefire Run (42.68, 18.34) (43.05, 15.26) (39.15, 21.70)| |Z|Felwood| 47 | N Flute of Xavaric |QID|939| |N|Collect Flute of Xavaric from Xavaric (39.15, 21.70)| |Z|Felwood| |L|11668| 48 | A Flute of Xavaric |QID|939| |N|Use Flute of Xavaric to accept quest| |Z|Felwood| |U|11668| 49 | N Jadefire Felbind |QID|939.1| |N|Kill Jadefire Satry and collect 5 in Jadefire Run (42.13, 18.70)| |Z|Felwood| 50 | C Further Corruption |QID|4906| |N|Kill the required Jadefire Satry in Jadefire Run (42.68, 18.34) (43.05, 15.26) (41.65, 19.77)| |Z|Felwood| 51 | 52 | R Irontree Woods |QID|4101| |N|Travel to Irontree Woods (51.12, 15.21) (55.19, 17.72)| |Z|Felwood| 53 | C Cleansing Felwood |QID|4101| |N|Kill Warpwood Moss Flayer, Warpwood Shredder and collect 15 Blood Amber in Irontree Woods, (low drop rate) (51.12, 15.21) (55.19, 17.72)| |Z|Felwood| 54 | 55 | R Talonbranch Glade |QID|8461| |N|Travel to Talonbranch Glade (60.71, 16.65) (62.48, 24.24)| |Z|Felwood| 56 | f Talonbranch Glade |QID|8461| |N|Speak to Mishellena grab flight path for Talonbranch Glade (62.48, 24.24)| |Z|Felwood| 57 | T Speak to Nafien |QID|8462| |N|Nafien in Timbermaw Hold (64.77, 8.11)| |Z|Felwood| 58 | A Deadwood of the North |QID|8461| |N|Nafien in Timbermaw Hold (64.77, 8.11)| |Z|Felwood| 59 | C Deadwood of the North |QID|8461| |N|Kill the required Deadwood Timbermaw in Felpaw Village (62.89, 11.29) (62.69, 7.86) (61.37, 7.42)| |Z|Felwood| 60 | N (fac:576) |QID|8465| |N|Keep grinding until you're 150 XP to Unfriendly status with (fac:576) (62.89, 11.29) (62.69, 7.86) (61.37, 7.42)| |Z|Felwood| |FS|576, -3150| 61 | T Deadwood of the North |QID|8461| |N|Nafien in Timbermaw Hold (64.40, 14.79) (64.77, 8.17)| |Z|Felwood| 62 | A Speak to Salfa |QID|8465| |N|Nafien in Timbermaw Hold (64.77, 8.17)| |Z|Felwood| 63 | 64 | R Moonglade |TID|5249| |N|Travel to Moonglade (35.76, 72.41)| |Z|Moonglade| 65 | f Moonglade |TID|5249| |N|Speak to Sindrayl and grab flight path for Moonglade (48.09, 67.40)| |Z|Moonglade| 66 | 67 | N Guide Complete |N|Tick to continue to the next guide| 68 | 69 | ]] 70 | end) 71 | -------------------------------------------------------------------------------- /TourGuide_Alliance/59_60_Winterspring.lua: -------------------------------------------------------------------------------- 1 | TourGuide:RegisterGuide("Winterspring (59-60)", "Winterspring (59-60)", "Alliance",function() 2 | 3 | return [[ 4 | 5 | R Nighthaven |TID|6844| |N|Travel to Nighthaven (44.88, 35.58)| |Z|Moonglade| |O| 6 | T Umber, Archivist |QID|6844| |N|Umber in Nighthaven (44.88, 35.58)| |Z|Moonglade| |O| 7 | A Uncovering Past Secrets |QID|6845| |N|Umber in Nighthaven (44.83, 35.71)| |Z|Moonglade| |PRE|6844| 8 | T A Reliquary of Purity |QID|5527| |N|Rabine Saturna in Nighthaven (51.69, 45.03)| |Z|Moonglade| |O| 9 | T Uncovering Past Secrets |QID|6845| |N|Rabine Saturna in Nighthaven (51.69, 45.03)| |Z|Moonglade| |PRE|6844| 10 | T Under the Chitin Was... |QID|1185| |N|Umber in Nighthaven (44.83, 35.71)| |Z|Moonglade| |PRE|6845| 11 | 12 | R Frostfire Hot Springs |TID|5086| |N|Travel to Frostfire Hot Springs in Winterspring (31.28, 45.17)| |Z|Winterspring| |O| |REACH| 13 | T Toxic Horrors |QID|5086| |N|Donova Snowden in Frostfire Hot Springs (31.28, 45.17)| |Z|Winterspring| |O| 14 | A Winterfall Runners |QID|5087| |N|Donova Snowden in Frostfire Hot Springs (31.28, 45.17)| |Z|Winterspring| |PRE|5086| 15 | C Winterfall Runners |QID|5087| |N|Find Winterfall Runner along the road and kill them to collect Winterfall Crate (30.67, 42.62) (40.23, 40.80) (48.10, 39.05) (53.39, 34.42)| |Z|Winterspring| |PRE|5086| 16 | 17 | R Everlook |QID|4809| |N|Travel to Everlook (60.89, 37.64)| |Z|Winterspring| 18 | T Are We There, Yeti? |QID|5163| |N|Umi Rumplesnicker in Everlook (60.89, 37.64)| |Z|Winterspring| |O| 19 | T Felnok Steelspring |QID|4808| |N|Felnok Steelspring in Everlook (61.62, 38.60)| |Z|Winterspring| |O| 20 | A Chillwind Horns |QID|4809| |N|Felnok Steelspring in Everlook (61.62, 38.60)| |Z|Winterspring| |PRE|4808| 21 | A Luck Be With You |QID|969| |N|Witch Doctor Mau'ari in Everlook (61.92, 38.37)| |Z|Winterspring| 22 | h Everlook |QID|4970| |N|Speak to Innkeeper Vizzie and set hearth to Everlook (61.33, 38.85)| |Z|Winterspring| 23 | 24 | R Frostsaber Rock |QID|4970| |N|Travel to Frostsaber Rock (48.57, 10.37)| |Z|Winterspring| 25 | A Frostsaber Provisions |QID|4970| |N|Rivern Frostwind in Frostsaber Rock (48.57, 10.37) (49.93, 9.84)| |Z|Winterspring| 26 | C Frostsaber Provisions |QID|4970| |N|Kill Elder Shardtooth and Chillwind Ravager and collect 5 Shardtooth Meat and (npc:12623) near Frostsaber Rock (59.25, 14.09)| |Z|Winterspring| 27 | C Chillwind Horns |QID|4809| |N|Kill Chillwind Ravager and collect 8 Uncracked Chillwind Horn near Frostsaber Rock (62.27, 34.04)| |Z|Winterspring| |PRE|4808| 28 | T Frostsaber Provisions |QID|4970| |N|Rivern Frostwind in Frostsaber Rock (49.93, 9.84)| |Z|Winterspring| 29 | 30 | R Everlook |QID|4810| |N|Travel to Everlook (61.60, 38.61)| |Z|Winterspring| |PRE|4808| 31 | T Chillwind Horns |QID|4809| |N|Felnok Steelspring in Everlook (61.60, 38.61)| |Z|Winterspring| |PRE|4808| 32 | A Return to Tinkee |QID|4810| |N|Felnok Steelspring in Everlook (61.62, 38.6)| |Z|Winterspring| |PRE|4809| 33 | 34 | R Owl Wing Thicket |TID|979| |N|Travel to Owl Wing Thicket (63.07, 59.49)| |Z|Winterspring| |O| 35 | T Find Ranshalla |QID|979| |N|Storm Shadowhoof in Owl Wing Thicket (63.07, 59.49)| |Z|Winterspring| |O| 36 | A Guardians of the Altar |QID|4901| |N|Ranshalla in Owl Wing Thicket (63.07, 59.49)| |Z|Winterspring| |PRE|979| 37 | C Guardians of the Altar |QID|4901| |N|Escort Ranshalla to the Altar of Elune in Owl Wing Thicket (64.77, 59.99) (64.83, 63.76)| |Z|Winterspring| |PRE|979| 38 | C Luck Be With You |QID|969| |N|Collect 10 Frostmaul Shards from the ground and you can also get it from the Frostmaul Giant in Frostwhisper Gorge (65.04, 65.41) (64.59, 66.33) (64.35, 67.15) (62.53, 67.25) (61.83, 70.74) (63.46, 72.43) (64.38, 72.33) (59.88, 69.50)| |Z|Winterspring| |PRE|6606| |OBJ|2592| 39 | 40 | R Everlook |QID|975| |N|Travel to Everlook (61.92, 38.29)| |Z|Winterspring| |PRE|6606| 41 | T Luck Be With You |QID|969| |N|Witch Doctor Mau'ari in Everlook (61.92, 38.29)| |Z|Winterspring| |PRE|6606| 42 | A Cache of Mau'ari |QID|975| |N|Witch Doctor Mau'ari in Everlook (61.92, 38.29)| |Z|Winterspring| |PRE|6606| 43 | T Cache of Mau'ari |QID|975| |N|Storm Shadowhoof in Everlook (61.92, 38.29)| |Z|Winterspring| |PRE|6606| 44 | 45 | R Frostfire Hot Springs |TID|5087| |N|Travel to Frostfire Hot Springs (31.28, 45.17)| |Z|Winterspring| |PRE|5086| 46 | T Winterfall Runners |QID|5087| |N|Donova Snowden in Frostfire Hot Springs (31.28, 45.17)| |Z|Winterspring| |PRE|5086| 47 | A High Chief Winterfall |QID|5121| |N|Donova Snowden in Frostfire Hot Springs (31.28, 45.17)| |Z|Winterspring| |PRE|5087| 48 | 49 | R Winterfall Village |QID|5121| |N|Travel to Winterfall Village (69.69, 38.26)| |Z|Winterspring| |PRE|5087| 50 | C High Chief Winterfall |QID|5121| |N|Kill High Chief Winterfall in Winterfall Village, he's a level 59 elite (69.69, 38.26)| |Z|Winterspring| |PRE|5087| 51 | N Crudely-written Log |QID|5123| |N|Collect Crudely-written Log from High Chief Winterfall in Winterfall Village (69.69, 38.26)| |Z|Winterspring| |L|12842| |PRE|5087| 52 | A The Final Piece |QID|5123| |N|Use Crudely-written Log to accept quest| |Z|Winterspring| |U|12842| |PRE|5087| 53 | 54 | R Frostfire Hot Springs |TID|5087| |N|Travel to Frostfire Hot Springs (31.28, 45.17)| |Z|Winterspring| |PRE|5087| 55 | T The Final Piece |QID|5123| |N|Donova Snowden in Frostfire Hot Springs (31.28, 45.17)| |Z|Winterspring| |PRE|5087| 56 | A Words of the High Chief |QID|5128| |N|Donova Snowden in Frostfire Hot Springs (31.28, 45.17)| |Z|Winterspring| |PRE|5087| 57 | 58 | R Emerald Sanctuary |TID|5128| |N|Travel to Emerald Sanctuary in Felwood (51.14, 81.76)| |Z|Felwood| |PRE|5087| 59 | T Words of the High Chief |QID|5128| |N|Kelek Skykeeper in Emerald Sanctuary (51.14, 81.76)| |Z|Felwood| |PRE|5087| 60 | 61 | R Rut'theran Village |QID|4902| |N|Travel to Rut'theran Village (55.50, 92.07)| |Z|Teldrassil| |PRE|979| 62 | T Guardians of the Altar |QID|4901| |N|Erelas Ambersky in Rut'theran Village (55.50, 92.07)| |Z|Teldrassil| |PRE|979| 63 | A Wildkin of Elune |QID|4902| |N|Erelas Ambersky in Rut'theran Village (55.50, 92.07)| |Z|Teldrassil| |PRE|979| 64 | T Wildkin of Elune |QID|4902| |N|Arch Druid Fandral Staghelm in Cenarion Enclave (34.75, 9.08)| |Z|Darnassus| |PRE|979| 65 | 66 | R Flame Crest |QID|4810| |N|Travel to Flame Crest (65.23, 23.95)| |Z|Burning Steppes| |PRE|4809| 67 | T Return to Tinkee |QID|4810| |N|Tinkee Steamboil in Flame Crest (65.23, 23.95)| |Z|Burning Steppes| |PRE|4809| 68 | 69 | N Guide Complete 70 | 71 | ]] 72 | end) 73 | -------------------------------------------------------------------------------- /TourGuide_Alliance/Guides.xml: -------------------------------------------------------------------------------- 1 | 2 |