<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -18,7 +18,8 @@ end
 function Quecho:Enable()
 	self:RegisterEvent(&quot;UI_INFO_MESSAGE&quot;)
 	self:RegisterEvent(&quot;CHAT_MSG_ADDON&quot;)
-	self:RegisterEvent(&quot;CHAT_MSG_SYSTEM&quot;)
+	self:RegisterEvent(&quot;QUEST_LOG_UPDATE&quot;)
+	self:QUEST_LOG_UPDATE()
 end
 
 
@@ -80,21 +81,37 @@ function Quecho:CHAT_MSG_ADDON(event, prefix, msg, channel, sender)
 
 		self:UpdateTracker()
 
-	elseif prefix == &quot;Quecho2&quot; then self:PrintF(&quot;%s turned in %q &quot;, sender, msg)
-	elseif prefix == &quot;Quecho3&quot; then self:PrintF(&quot;%s accepted %q &quot;, sender, msg) end
+	elseif prefix == &quot;Quecho2&quot; then self:PrintF(&quot;%s turned in %s &quot;, sender, msg)
+	elseif prefix == &quot;Quecho3&quot; then self:PrintF(&quot;%s accepted %s &quot;, sender, msg)
+	elseif prefix == &quot;Quecho4&quot; then self:PrintF(&quot;%s abandoned %s &quot;, sender, msg) end
 end
 
 
-function Quecho:CHAT_MSG_SYSTEM(event, msg)
-	local _, _, text = msg:find(&quot;Quest accepted: (.*)&quot;)
-	if text then SendAddonMessage(&quot;Quecho3&quot;, text, &quot;PARTY&quot;) end
-end
+local currentquests, oldquests, firstscan, abandoning = {}, {}, true
+function Quecho:QUEST_LOG_UPDATE()
+	currentquests, oldquests = oldquests, currentquests
+	for i in pairs(currentquests) do currentquests[i] = nil end
+
+	for i=1,GetNumQuestLogEntries() do
+		local link = GetQuestLink(i)
+		if link then currentquests[link] = true end
+	end
 
+	if firstscan then
+		firstscan = nil
+		return
+	end
+
+	for link in pairs(oldquests) do if not currentquests[link] then SendAddonMessage(abandoning and &quot;Quecho4&quot; or &quot;Quecho2&quot;, link, &quot;PARTY&quot;) end end
+	for link in pairs(currentquests) do if not oldquests[link] then SendAddonMessage(&quot;Quecho3&quot;, link, &quot;PARTY&quot;) end end
+
+	abandoning = nil
+end
 
-local orig = GetQuestReward
-GetQuestReward = function(...)
-	SendAddonMessage(&quot;Quecho2&quot;, GetTitleText(), &quot;PARTY&quot;)
 
+local orig = AbandonQuest
+function AbandonQuest(...)
+	abandoning = true
 	return orig(...)
 end
 </diff>
      <filename>Quecho.lua</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>72a98449a29f915f1bf3c6cf708e7d718a2ac9f3</id>
    </parent>
  </parents>
  <author>
    <name>Tekkub Stoutwrithe</name>
    <email>tekkub@gmail.com</email>
  </author>
  <url>http://github.com/tekkub/quecho/commit/deaa50a95e6da7907146579e13ddaafb069e3663</url>
  <id>deaa50a95e6da7907146579e13ddaafb069e3663</id>
  <committed-date>2008-05-08T11:42:15-07:00</committed-date>
  <authored-date>2008-05-08T11:42:15-07:00</authored-date>
  <message>Add in new quest links, better tracker, notice for abandoned quests</message>
  <tree>9f81a528c4a6f65d0da6eca2b103c2a72a2ba8d6</tree>
  <committer>
    <name>Tekkub Stoutwrithe</name>
    <email>tekkub@gmail.com</email>
  </committer>
</commit>
