Quantcast

0160

Jennifer [10-23-20 - 16:15]
0160
Filename
CHANGELOG.txt
Core/Team.lua
EMA.toc
Locales/Core-Locale-enUS.lua
Modules/DisplayTeam.lua
Modules/Quest.lua
Modules/QuestWatcher.lua
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 83eafa0..5491269 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,6 +1,74 @@
 ---------------------------
 ChangeLogs:
 ---------------------------
+EMA Version: v9.0.1-Release-v3.0(0160)
+Game Version: 9.0.1
+Release Date: 23/10/2020
+
+## Quest-Tracker
+	-- More API changes Fixed!
+
+
+---------------------------
+EMA Version: v9.0.1-Release-v3.0(0159)
+Game Version: 9.0.1
+Release Date: 17/10/2020
+
+## Disaply-Team
+	-- Can now show PLayerName on the HeathBars.
+	-- Can now Freeze the Portrait Frame
+	-- if a Character can not be found now sets a "Talking ?"
+	-- if Not Using Trufigcd  in EMA it show noloner change the settings of the addon.
+
+
+---------------------------
+EMA Version: v9.0.1-Release-v3.0(0158)
+Game Version: 9.0.1
+Release Date: 17/10/2020
+
+## Team
+	- Fixed API change for BN Friends.
+
+## Quest
+	- Fixed more Quest-API.
+
+
+---------------------------
+EMA Version: v9.0.1-Release-v3.0(0157)
+Game Version: 9.0.1
+Release Date: 15/10/2020
+
+# Quest
+	- If Master Auto Shareing Quest is on it should work again.
+	- ShareAll should work again.
+
+# Quest-Tracker
+	- Fixed Disaply Problem with German Clients (bitbicket #114 )
+
+
+---------------------------
+EMA Version: v9.0.1-Release-v3.0(0156)
+Game Version: 9.0.1
+Release Date: 15/10/2020
+
+# Display-Team
+	-- Fixed an Error if you login with a new Trufigcd Profile
+
+---------------------------
+
+EMA Version: v9.0.0-Release-v3.0(0155)
+Game Version: 9.0.1
+Release Date: 15/10/2020
+
+##	Quest
+	-- Removed some debug Code
+
+## Quest-Tracker
+	-- Removed some Debug Code
+
+
+
+---------------------------

 EMA Version: v9.0.0-Release-v3.0(0154)
 Game Version: 9.0.1
diff --git a/Core/Team.lua b/Core/Team.lua
index 950a905..67f11a5 100644
--- a/Core/Team.lua
+++ b/Core/Team.lua
@@ -1256,14 +1256,16 @@ function EMA:PARTY_INVITE_REQUEST( event, inviter, ... )
 			-- Iterate each friend; searching for the inviter in the friends list.
 			local _, numFriends = BNGetNumFriends()
 			for bnIndex = 1, numFriends do
-				for toonIndex = 1, BNGetNumFriendGameAccounts( bnIndex ) do
-					local _, toonName, client, realmName = BNGetFriendGameAccountInfo( bnIndex, toonIndex )
-					--EMA:Print("BNFrindsTest", toonName, client, realmName, "inviter", inviter)
-					if client == "WoW" then
-						if toonName == inviter or toonName.."-"..realmName == inviter then
-							acceptInvite = true
-							break
-						end
+				for toonIndex = 1, C_BattleNet.GetFriendNumGameAccounts( bnIndex ) do
+					local gameAccountInfo = C_BattleNet.GetFriendGameAccountInfo ( bnIndex, toonIndex )
+					--EMA:Print("BNFrindsTest", bnIndex, toonIndex, "a", gameAccountInfo.characterName, gameAccountInfo.clientProgram, gameAccountInfo.realmName, "inviter", inviter)
+					if gameAccountInfo.clientProgram == "WoW" and gameAccountInfo.wowProjectID == 1 then
+						if gameAccountInfo.realmName ~= nil then
+							if gameAccountInfo.characterName == inviter or gameAccountInfo.characterName.."-"..gameAccountInfo.realmName == inviter then
+								acceptInvite = true
+								break
+							end
+						end
 					end
 				end
 			end
diff --git a/EMA.toc b/EMA.toc
index e1fa444..b1a3c8d 100644
--- a/EMA.toc
+++ b/EMA.toc
@@ -2,7 +2,7 @@
 ## Title: EMA
 ## Notes: Ebony's MultiBoxing Assistant
 ## Author: Jennifer Calladine 'Ebony'
-## Version: v9.0.1-Release-v3.0(0154)
+## Version: v9.0.1-Release-v3.0(0160)
 ## SavedVariables: CoreProfileDB, CommunicationsProfileDB, TeamProfileDB, TagProfileDB, MessageProfileDB, InformationProfileDB, DisplayTeamProfileDB, FollowProfileDB, GuildProfileDB, InteractionProfileDB, ItemUseProfileDB, PurchaseProfileDB, QuestProfileDB,  QuestWatcherProfileDB, SellProfileDB, TalkProfileDB, ToonProfileDB, TradeProfileDB, MailProfileDB, BankProfileDB, ISBoxerProfileDB

 #Libs
diff --git a/Locales/Core-Locale-enUS.lua b/Locales/Core-Locale-enUS.lua
index 2bf2a0e..9a71408 100644
--- a/Locales/Core-Locale-enUS.lua
+++ b/Locales/Core-Locale-enUS.lua
@@ -514,6 +514,8 @@ L["STACK_VERTICALLY"] = "Stack Bars Vertically"
 L["STACK_VERTICALLY_HELP"] = "Stack Display Team Frame Bars Vertically"
 L["CHARACTERS_PER_BAR"] = "Number of Characters Per Row"
 L["SHOW_CHARACTER_PORTRAIT"] = "Shows Characters Portraits"
+L["FREEZE_PORTRAIT"] = "Freeze Portrait"
+L["FREEZE_PORTRAIT_HELP"] = "Freeze Characters Portrait"
 L["SHOW_FOLLOW_BAR"] = "Shows the Follow Bar and Character Name"
 L["SHOW_NAME"] = "Show Character Name"
 L["SHOW_XP_BAR"] = "Show the Team Experience Bar\n\nAnd Artifact XP Bar\nAnd Honor XP Bar\nAnd Reputation Bar"
diff --git a/Modules/DisplayTeam.lua b/Modules/DisplayTeam.lua
index e6d2e83..de723ef 100644
--- a/Modules/DisplayTeam.lua
+++ b/Modules/DisplayTeam.lua
@@ -27,6 +27,8 @@ local LibBagUtils = LibStub:GetLibrary( "LibBagUtils-1.0" )
 local LibButtonGlow = LibStub:GetLibrary( "LibButtonGlow-1.0" )
 EMA.SharedMedia = LibStub( "LibSharedMedia-3.0" )
 local TrufiGCD = IsAddOnLoaded( "TrufiGCD" )
+TrufiGCDGlSave = TrufiGCDGlSave
+

 -- Constants required by EMAModule and Locale for this module.
 EMA.moduleName = "JmbDspTm"
@@ -66,7 +68,8 @@ EMA.settings = {
 		olnyShowInParty = false,
 		healthManaOutOfParty = false,
 		showCharacterPortrait = false,
-		characterPortraitWidth = 80,
+		characterPortraitWidth = 50,
+		characterPortraitFreeze = false,
 		showFollowStatus = true,
 		followStatusWidth = 100,
 		followStatusHeight = 15,
@@ -82,6 +85,7 @@ EMA.settings = {
 		experienceStatusShowPercentage = true,
 		showHealthStatus = false,
 		showClassColors = false,
+		showHealthName = false,
 		healthStatusWidth = 100,
 		healthStatusHeight = 25,
 		healthStatusShowValues = true,
@@ -885,13 +889,26 @@ function EMA:UpdateEMATeamStatusBar( characterName, characterPosition )
 	local portraitButton = characterStatusBar["portraitButton"]
 	local portraitButtonClick = characterStatusBar["portraitButtonClick"]
 	if EMA.db.showCharacterPortrait == true then
-		portraitButton:ClearModel()
-		local portraitName = Ambiguate( characterName, "none" )
-		portraitButton:SetUnit( portraitName )
-		portraitButton:SetPortraitZoom( 1 )
-        portraitButton:SetCamDistanceScale( 1 )
-        portraitButton:SetPosition( 0, 0, 0 )
-        portraitButton:SetWidth( EMA.db.characterPortraitWidth )
+		local unit = Ambiguate( characterName, "none" )
+		--EMA:Print("test", unit, UnitExists(unit) )
+		if(not UnitExists(unit) or not UnitIsConnected(unit) or not UnitIsVisible(unit)) then
+			portraitButton:SetCamDistanceScale(0.65)
+            portraitButton:SetPortraitZoom(0)
+            portraitButton:SetPosition(0,0,0.5)
+            portraitButton:ClearModel()
+            portraitButton:SetModel('interface\\buttons\\talktomequestionmark.m2')
+		 else
+			portraitButton:SetCamDistanceScale(1)
+            portraitButton:SetPortraitZoom(1)
+            portraitButton:SetPosition(0,0,0)
+            portraitButton:ClearModel()
+            portraitButton:SetUnit(unit)
+        end
+
+		if EMA.db.characterPortraitFreeze == true then
+			portraitButton:FreezeAnimation(60, 0, 55)
+		end
+		portraitButton:SetWidth( EMA.db.characterPortraitWidth )
 		portraitButton:SetHeight( EMA.db.characterPortraitWidth )
 		portraitButton:ClearAllPoints()
 		portraitButton:SetPoint( "TOPLEFT", parentFrame, "TOPLEFT", positionLeft, positionTop )
@@ -1371,13 +1388,22 @@ local function SettingsCreateDisplayOptions( top )
 	movingTop = movingTop - headingHeight
 	EMA.settingsControl.displayOptionsCheckBoxShowPortrait = EMAHelperSettings:CreateCheckBox(
 		EMA.settingsControl,
-		headingWidth,
+		thirdWidth,
 		left,
 		movingTop,
 		L["SHOW"],
 		EMA.SettingsToggleShowPortrait,
 		L["SHOW_CHARACTER_PORTRAIT"]
 	)
+	EMA.settingsControl.displayOptionsCheckBoxCharacterPortraitFreeze = EMAHelperSettings:CreateCheckBox(
+		EMA.settingsControl,
+		thirdWidth,
+		left2,
+		movingTop,
+		L["FREEZE_PORTRAIT"],
+		EMA.SettingsToggleShowPortraitFreeze,
+		L["FREEZE_PORTRAIT_HELP"]
+	)
 	movingTop = movingTop - checkBoxHeight - verticalSpacing
 	EMA.settingsControl.displayOptionsPortraitWidthSlider = EMAHelperSettings:CreateSlider(
 		EMA.settingsControl,
@@ -1520,35 +1546,44 @@ local function SettingsCreateDisplayOptions( top )
 		L["SHOW"],
 		EMA.SettingsToggleShowHealthStatus,
 		L["SHOW_HEALTH"]
-	)
-	EMA.settingsControl.displayOptionsCheckBoxShowHealthStatusValues = EMAHelperSettings:CreateCheckBox(
+	)
+	EMA.settingsControl.displayOptionsCheckBoxShowClassColors = EMAHelperSettings:CreateCheckBox(
 		EMA.settingsControl,
 		thirdWidth,
 		left2,
 		movingTop,
+		L["SHOW_CLASS_COLORS"],
+		EMA.SettingsToggleShowClassColors,
+		L["SHOW_CLASS_COLORS_HELP"]
+	)
+	movingTop = movingTop - checkBoxHeight - verticalSpacing
+	EMA.settingsControl.displayOptionsCheckBoxShowHealthStatusValues = EMAHelperSettings:CreateCheckBox(
+		EMA.settingsControl,
+		thirdWidth,
+		left,
+		movingTop,
 		L["VALUES"],
 		EMA.SettingsToggleShowHealthStatusValues,
 		L["VALUES_HELP"]
-	)
+	)
 	EMA.settingsControl.displayOptionsCheckBoxShowHealthStatusPercentage = EMAHelperSettings:CreateCheckBox(
 		EMA.settingsControl,
 		thirdWidth,
-		left3,
+		left2,
 		movingTop,
 		L["PERCENTAGE"],
 		EMA.SettingsToggleShowHealthStatusPercentage,
 		L["PERCENTAGE_HELP"]
 	)
-	movingTop = movingTop - checkBoxHeight - verticalSpacing
-	EMA.settingsControl.displayOptionsCheckBoxShowClassColors = EMAHelperSettings:CreateCheckBox(
+	EMA.settingsControl.displayOptionsCheckBoxShowHealthName = EMAHelperSettings:CreateCheckBox(
 		EMA.settingsControl,
 		thirdWidth,
-		left,
+		left3,
 		movingTop,
-		L["SHOW_CLASS_COLORS"],
-		EMA.SettingsToggleShowClassColors,
-		L["SHOW_CLASS_COLORS_HELP"]
-	)
+		L["SHOW_NAME"],
+		EMA.SettingsToggleShowHealthName,
+		L["SHOW_NAME"]
+	)
 	movingTop = movingTop - checkBoxHeight - verticalSpacing
 	EMA.settingsControl.displayOptionsHealthStatusWidthSlider = EMAHelperSettings:CreateSlider(
 		EMA.settingsControl,
@@ -1765,6 +1800,7 @@ function EMA:SettingsRefresh()
 	EMA.settingsControl.displayOptionsSetFontSize:SetValue( EMA.db.fontSize )
 	EMA.settingsControl.displayOptionsCheckBoxShowPortrait:SetValue( EMA.db.showCharacterPortrait )
 	EMA.settingsControl.displayOptionsPortraitWidthSlider:SetValue( EMA.db.characterPortraitWidth )
+	EMA.settingsControl.displayOptionsCheckBoxCharacterPortraitFreeze:SetValue( EMA.db.characterPortraitFreeze )
 	EMA.settingsControl.displayOptionsCheckBoxShowFollowStatus:SetValue( EMA.db.showFollowStatus )
 	EMA.settingsControl.displayOptionsCheckBoxShowFollowStatusName:SetValue( EMA.db.followStatusShowName )
 	EMA.settingsControl.displayOptionsFollowStatusWidthSlider:SetValue( EMA.db.followStatusWidth )
@@ -1781,6 +1817,7 @@ function EMA:SettingsRefresh()
 	EMA.settingsControl.displayOptionsCheckBoxShowClassColors:SetValue( EMA.db.showClassColors )
 	EMA.settingsControl.displayOptionsCheckBoxShowHealthStatusValues:SetValue( EMA.db.healthStatusShowValues )
 	EMA.settingsControl.displayOptionsCheckBoxShowHealthStatusPercentage:SetValue( EMA.db.healthStatusShowPercentage )
+	EMA.settingsControl.displayOptionsCheckBoxShowHealthName:SetValue( EMA.db.showHealthName )
 	EMA.settingsControl.displayOptionsHealthStatusWidthSlider:SetValue( EMA.db.healthStatusWidth )
 	EMA.settingsControl.displayOptionsHealthStatusHeightSlider:SetValue( EMA.db.healthStatusHeight )
 	EMA.settingsControl.displayOptionsCheckBoxShowPowerStatus:SetValue( EMA.db.showPowerStatus )
@@ -1794,7 +1831,6 @@ function EMA:SettingsRefresh()
 	EMA.settingsControl.displayOptionsComboStatusWidthSlider:SetValue( EMA.db.comboStatusWidth )
 	EMA.settingsControl.displayOptionsComboStatusHeightSlider:SetValue( EMA.db.comboStatusHeight )
 	EMA.settingsControl.displayOptionsCheckBoxShowGcdFrame:SetValue( EMA.db.showGCDFrame )
---	EMA.settingsControl.displayOptionsCheckBoxShowGcdFrameToolTips:SetValue( EMA.db.gCDFrameToolTips )
 	EMA.settingsControl.displayOptionsGcdFrameWidthSlider:SetValue( EMA.db.gCDFrameWidth )
 	EMA.settingsControl.displayOptionsGcdFrameHeightSlider:SetValue( EMA.db.gCDFrameHeight )
 	EMA.settingsControl.displayOptionsBackgroundColourPicker:SetColor( EMA.db.frameBackgroundColourR, EMA.db.frameBackgroundColourG, EMA.db.frameBackgroundColourB, EMA.db.frameBackgroundColourA )
@@ -1820,6 +1856,7 @@ function EMA:SettingsRefresh()
 		EMA.settingsControl.displayOptionsSetFontSize:SetDisabled( not EMA.db.showTeamList )
 		EMA.settingsControl.displayOptionsCheckBoxShowPortrait:SetDisabled( not EMA.db.showTeamList )
 		EMA.settingsControl.displayOptionsPortraitWidthSlider:SetDisabled( not EMA.db.showTeamList or not EMA.db.showCharacterPortrait )
+		EMA.settingsControl.displayOptionsCheckBoxCharacterPortraitFreeze:SetDisabled( not EMA.db.showTeamList or not EMA.db.showCharacterPortrait )
 		EMA.settingsControl.displayOptionsCheckBoxShowFollowStatus:SetDisabled( not EMA.db.showTeamList)
 		EMA.settingsControl.displayOptionsCheckBoxShowFollowStatusName:SetDisabled( not EMA.db.showTeamList or not EMA.db.showFollowStatus )
 		EMA.settingsControl.displayOptionsFollowStatusWidthSlider:SetDisabled( not EMA.db.showTeamList or not EMA.db.showFollowStatus )
@@ -1836,6 +1873,7 @@ function EMA:SettingsRefresh()
 		EMA.settingsControl.displayOptionsCheckBoxShowClassColors:SetDisabled( not EMA.db.showTeamList or not EMA.db.showHealthStatus )
 		EMA.settingsControl.displayOptionsCheckBoxShowHealthStatusValues:SetDisabled( not EMA.db.showTeamList or not EMA.db.showHealthStatus )
 		EMA.settingsControl.displayOptionsCheckBoxShowHealthStatusPercentage:SetDisabled( not EMA.db.showTeamList or not EMA.db.showHealthStatus )
+		EMA.settingsControl.displayOptionsCheckBoxShowHealthName:SetDisabled( not EMA.db.showTeamList or not EMA.db.showHealthStatus )
 		EMA.settingsControl.displayOptionsHealthStatusWidthSlider:SetDisabled( not EMA.db.showTeamList or not EMA.db.showHealthStatus )
 		EMA.settingsControl.displayOptionsHealthStatusHeightSlider:SetDisabled( not EMA.db.showTeamList or not EMA.db.showHealthStatus )
 		EMA.settingsControl.displayOptionsCheckBoxShowPowerStatus:SetDisabled( not EMA.db.showTeamList )
@@ -1849,7 +1887,6 @@ function EMA:SettingsRefresh()
 		EMA.settingsControl.displayOptionsComboStatusWidthSlider:SetDisabled( not EMA.db.showTeamList or not EMA.db.showComboStatus)
 		EMA.settingsControl.displayOptionsComboStatusHeightSlider:SetDisabled( not EMA.db.showTeamList or not EMA.db.showComboStatus)
 		EMA.settingsControl.displayOptionsCheckBoxShowGcdFrame:SetDisabled( not EMA.db.showTeamList )
---		EMA.settingsControl.displayOptionsCheckBoxShowGcdFrameToolTips:SetDisabled( not EMA.db.showTeamList or not EMA.db.showGCDFrame )
 		EMA.settingsControl.displayOptionsGcdFrameWidthSlider:SetDisabled( not EMA.db.showTeamList or not EMA.db.showGCDFrame)
 		EMA.settingsControl.displayOptionsGcdFrameWidthSlider:SetDisabled( not EMA.db.showTeamList or not EMA.db.showGCDFrame)
 		EMA.settingsControl.displayOptionsBackgroundColourPicker:SetDisabled( not EMA.db.showTeamList )
@@ -1895,6 +1932,7 @@ function EMA:EMAOnSettingsReceived( characterName, settings )
 		EMA.db.fontSize = settings.fontSize
 		EMA.db.showCharacterPortrait = settings.showCharacterPortrait
 		EMA.db.characterPortraitWidth = settings.characterPortraitWidth
+		EMA.db.characterPortraitFreeze = settings.characterPortraitFreeze
 		EMA.db.showFollowStatus = settings.showFollowStatus
 		EMA.db.followStatusWidth = settings.followStatusWidth
 		EMA.db.followStatusHeight = settings.followStatusHeight
@@ -1913,6 +1951,7 @@ function EMA:EMAOnSettingsReceived( characterName, settings )
 		EMA.db.healthStatusHeight = settings.healthStatusHeight
 		EMA.db.healthStatusShowValues = settings.healthStatusShowValues
 		EMA.db.healthStatusShowPercentage = settings.healthStatusShowPercentage
+		EMA.db.showHealthName = settings.showHealthName
 		EMA.db.showPowerStatus = settings.showPowerStatus
 		EMA.db.powerStatusWidth = settings.powerStatusWidth
 		EMA.db.powerStatusHeight = settings.powerStatusHeight
@@ -2045,11 +2084,18 @@ function EMA:SettingsToggleShowPortrait( event, checked )
 	EMA:SettingsRefresh()
 end

+function EMA:SettingsToggleShowPortraitFreeze( event, checked )
+	EMA.db.characterPortraitFreeze = checked
+	EMA:SettingsRefresh()
+end
+
 function EMA:SettingsChangePortraitWidth( event, value )
 	EMA.db.characterPortraitWidth = tonumber( value )
 	EMA:SettingsRefresh()
 end

+
+
 function EMA:SettingsToggleShowFollowStatus( event, checked )
 	EMA.db.showFollowStatus = checked
 	EMA:SettingsRefresh()
@@ -2132,6 +2178,11 @@ function EMA:SettingsToggleShowHealthStatusPercentage( event, checked )
 	EMA:SettingsRefresh()
 end

+function EMA:SettingsToggleShowHealthName( event, checked )
+	EMA.db.showHealthName = checked
+	EMA:SettingsRefresh()
+end
+
 function EMA:SettingsChangeHealthStatusWidth( event, value )
 	EMA.db.healthStatusWidth = tonumber( value )
 	EMA:SettingsRefresh()
@@ -2450,20 +2501,6 @@ function EMA:ARTIFACT_XP_UPDATE(event, ...)
 	EMA:SendExperienceStatusUpdateCommand()
 end

---[[ CLEAN UP FOR 8.0
-function EMA:HONOR_XP_UPDATE(event, arg1, agr2, ...)
-	--EMA:SendExperienceStatusUpdateCommand()
-end
-
-function EMA:HONOR_LEVEL_UPDATE(event, arg1, agr2, ...)
-	---EMA:SendExperienceStatusUpdateCommand()
-end
-
-function EMA:HONOR_PRESTIGE_UPDATE(event, arg1, agr2, ...)
-	--EMA:SendExperienceStatusUpdateCommand()
-end
-]]
-
 function EMA:SendExperienceStatusUpdateCommand()
 	if EMA.db.showTeamList == true and EMA.db.showExperienceStatus == true then
 		--Player XP
@@ -2493,22 +2530,6 @@ function EMA:SendExperienceStatusUpdateCommand()
 		artifactPointsAvailable = 0
 		artifactPointsSpent	= 0
 	end
---Remove From 8.0
---[[
-		local honorXP = UnitHonor("player")
-		local prestigeLevel = UnitPrestige("Player")
-		local honorMax = UnitHonorMax("player")
-		-- A DityDityHack if capped --Ebony
-		if honorMax == 0 then
-			honorMax = 10000
-		end
-		local HonorLevel = UnitHonorLevel("player")
-		local honorExhaustionStateID = GetHonorRestState()
-		if not (honorexhaustionStateID == 1) then
-			honorExhaustionStateID = 0
-		end
-]]
-		--	EMA:Print("testSend", honorXP, honorMax, HonorLevel, honorExhaustionStateID)
 		if EMA.db.showTeamListOnMasterOnly == true then
 				--EMA:Print("Testtoteam", characterName, name, xp, xpForNextPoint, numPointsAvailableToSpend)
 				--EMA:Print("TestTOTEAM", characterName, name, xp, xpForNextPoint, numPointsAvailableToSpend)
@@ -2534,7 +2555,6 @@ end
 function EMA:UpdateExperienceStatus( characterName, playerExperience, playerMaxExperience, exhaustionStateID, playerLevel, artifactName, artifactXP, artifactPointsSpent, artifactForNextPoint, artifactPointsAvailable) --, honorXP, honorMax, HonorLevel, prestigeLevel, honorExhaustionStateID )
 --	EMA:Print( "UpdateExperienceStatus", characterName, playerExperience, playerMaxExperience, exhaustionStateID, playerLevel)
 --	EMA:Print("ArtTest", characterName, "name", artifactName, "xp", artifactXP, "Points", artifactForNextPoint, artifactPointsAvailable)
---	EMA:Print("honorTest", characterName, honorXP, honorMax, HonorLevel, prestigeLevel, honorExhaustionStateID)
 	if CanDisplayTeamList() == false then
 		return
 	end
@@ -2587,23 +2607,7 @@ function EMA:UpdateExperienceStatus( characterName, playerExperience, playerMaxE
 	if artifactPointsAvailable == nil then
 		artifactPointsAvailable = experienceArtBarText.artifactPointsAvailable
 	end
---[[
-	if honorXP == nil then
-		honorXP = experienceHonorBarText.honorXP
-	end
-
-	if honorMax == nil then
-		honorMax = experienceHonorBarText.honorMax
-	end

-	if HonorLevel == nil then
-		honorLevel = experienceHonorBarText.honorLevel
-	end
-
-	if honorExhaustionStateID == nil then
-		honorExhaustionStateID = experienceHonorBarText.honorExhaustionStateID
-	end
-]]
 	experienceBarText.playerExperience = playerExperience
 	experienceBarText.playerMaxExperience = playerMaxExperience
 	experienceBarText.exhaustionStateID = exhaustionStateID
@@ -2612,18 +2616,11 @@ function EMA:UpdateExperienceStatus( characterName, playerExperience, playerMaxE
 	experienceArtBarText.artifactXP = artifactXP
 	experienceArtBarText.artifactPointsSpent = artifactPointsSpent
 	experienceArtBarText.artifactForNextPoint = artifactForNextPoint
-	experienceArtBarText.artifactPointsAvailable = artifactPointsAvailable
---[[
-	experienceHonorBarText.honorXP = honorXP
-	experienceHonorBarText.honorMax = honorMax
-	experienceHonorBarText.honorLevel = honorLevel
-	experienceHonorBarText.honorExhaustionStateID = honorExhaustionStateID
-]]
+	experienceArtBarText.artifactPointsAvailable = artifactPointsAvailable
 	local min, max = math.min(0, playerExperience), playerMaxExperience

 	experienceBar:SetAnimatedValues(playerExperience, min, max , playerLevel)
 	experienceArtBar:SetAnimatedValues(artifactXP, 0, artifactForNextPoint, artifactPointsAvailable + artifactPointsSpent)
---	experienceHonorBar:SetAnimatedValues(honorXP, 0, honorMax, honorLevel)

 	local text = ""
 	if EMA.db.experienceStatusShowValues == true then
@@ -2665,36 +2662,6 @@ function EMA:UpdateExperienceStatus( characterName, playerExperience, playerMaxE
 	experienceArtBarText:SetText( artText )
 	experienceArtBar:SetStatusBarColor( 0.901, 0.8, 0.601, 1.0 )
 	experienceArtBar.backgroundTexture:SetColorTexture( 0.901, 0.8, 0.601, 0.20 )
-
---[[
-	--HonorText
-	local honorText = ""
-	if EMA.db.showExpInfo == true then
-		if prestigeLevel > 0 then
-			honorText = honorText..prestigeLevel.."-"..honorLevel..L[" "]
-		else
-			honorText = honorText..honorLevel..L[" "]
-		end
-	end
-	if EMA.db.experienceStatusShowValues == true then
-		honorText = honorText..tostring( AbbreviateLargeNumbers(honorXP) )..L[" / "]..tostring( AbbreviateLargeNumbers(honorMax) )..L[" "]
-	end
-	if EMA.db.experienceStatusShowPercentage == true then
-		if EMA.db.experienceStatusShowValues == true then
-			honorText = honorText..tostring( AbbreviateLargeNumbers(honorXP) )..L[" "]..L["("]..tostring( floor( (honorXP/honorMax)*100) )..L["%"]..L[")"]
-		else
-			honorText = honorText..L["("]..tostring( floor( (honorXP/honorMax)*100) )..L["%"]..L[")"]
-		end
-	end
-	experienceHonorBarText:SetText( honorText )
-	if honorExhaustionStateID == 1 then
-		experienceHonorBar:SetStatusBarColor( 1.0, 0.71, 0.0, 1.0 )
-		experienceHonorBar.backgroundTexture:SetColorTexture( 1.0, 0.71, 0.0, 0.20 )
-	else
-		experienceHonorBar:SetStatusBarColor( 1.0, 0.24, 0.0, 1.0 )
-		experienceHonorBar.backgroundTexture:SetColorTexture( 1.0, 0.24, 0.0, 0.20 )
-	end
-]]
 end


@@ -2921,22 +2888,27 @@ function EMA:UpdateHealthStatus( characterName, playerHealth, playerMaxHealth, i
 		healthIncomingBar:SetStatusBarColor( 0, 1, 0, 1 )
 	end
 	local text = ""
+	if EMA.db.showHealthName == true then
+		local formatedName = Ambiguate( characterName, "none" )
+		text = text..formatedName.."\n"
+	end
 	if UnitIsDeadOrGhost(Ambiguate( characterName, "none" ) ) == true then
 		--EMA:Print("dead", characterName)
 		text = text..L["DEAD"]
 	else
 		if EMA.db.healthStatusShowValues == true then
-			text = text..tostring( AbbreviateLargeNumbers(playerHealth) )..L[" / "]..tostring( AbbreviateLargeNumbers(playerMaxHealth) )..L[" "]
+			text = text..tostring( AbbreviateLargeNumbers(playerHealth) )..L[" / "]..tostring( AbbreviateLargeNumbers(playerMaxHealth) )..L[" "].."\n"
 		end
 		if EMA.db.healthStatusShowPercentage == true then
-			if EMA.db.healthStatusShowValues == true then
-				text = tostring( AbbreviateLargeNumbers(playerHealth) )..L[" "]..L["("]..tostring( floor( (playerHealth/playerMaxHealth)*100) )..L["%"]..L[")"]
-			else
-				text = tostring( floor( (playerHealth/playerMaxHealth)*100) )..L["%"]
-			end
+			--if EMA.db.healthStatusShowValues == true then
+			--text = text.."\n"..tostring( AbbreviateLargeNumbers(playerHealth) )..L[" "]..L["("]..tostring( floor( (playerHealth/playerMaxHealth)*100) )..L["%"]..L[")"]
+		--else
+			text = text..tostring( floor( (playerHealth/playerMaxHealth)*100) )..L["%"]
+			--end
 		end
 	end
-	healthBarText:SetText( text )
+	--EMA:Print("test2", text)
+	healthBarText:SetText(text)
 	EMA:SetStatusBarColourForHealth( healthBar, floor((playerHealth/playerMaxHealth)*100), characterName, class)
 end

@@ -3290,28 +3262,36 @@ function EMA:UpdateSpellStatus( unitTarget, spellID )
 end

 function EMA:SetTrGCOpt()
+	if EMA.db.showTeamList == false and EMA.db.showGCDFrame == false then
+		return
+	end
 	if IsAddOnLoaded( "TrufiGCD" ) == true then
 		local TimeGcd = 1.6
 		for i=1,5 do
 		-- enable
 			TrGCDQueueOpt[i].enable = true
-			TrufiGCDGlSave["TrGCDQueueFr"][i]["enable"] = true
+			if TrufiGCDGlSave ~= nil then
+				TrufiGCDGlSave["TrGCDQueueFr"][i]["enable"] = true
+			end
 			-- fade
 			TrGCDQueueOpt[i].fade = "Right"
-			TrufiGCDGlSave["TrGCDQueueFr"][i]["fade"] = "Right"
+			if TrufiGCDGlSave ~= nil then
+				TrufiGCDGlSave["TrGCDQueueFr"][i]["fade"] = "Right"
+			end
 			-- spells ( width )
 			TrGCDQueueOpt[i].width = EMA.db.gCDFrameWidth
-			TrufiGCDGlSave["TrGCDQueueFr"][i]["width"] = 3
 			TrGCDSpWidthChanged( i, EMA.db.gCDFrameWidth )
+			if TrufiGCDGlSave ~= nil then
+				TrufiGCDGlSave["TrGCDQueueFr"][i]["width"] = EMA.db.gCDFrameWidth
+			end
 			-- Icon Size!
 			--EMA:Print("sizetest", TrGCDQueueOpt[i].size, EMA.db.comboStatusHeight )
 			TrGCDQueueOpt[i].size = EMA.db.gCDFrameHeight
-			TrufiGCDGlSave["TrGCDQueueFr"][i]["size"] = EMA.db.gCDFrameHeight
 			TrGCDQueueOpt[i].speed = TrGCDQueueOpt[i].size / TimeGcd
-			TrufiGCDGlSave["TrGCDQueueFr"][i]["speed"] = TrGCDQueueOpt[i].speed
 			TrGCDResizeQFr(i)
-			if TrGCDQueueOpt[i].size ~= EMA.db.gCDFrameHeight then
-				TrGCDClear(i)
+			if TrufiGCDGlSave ~= nil then
+				TrufiGCDGlSave["TrGCDQueueFr"][i]["size"] = EMA.db.gCDFrameHeight
+				TrufiGCDGlSave["TrGCDQueueFr"][i]["speed"] = TrGCDQueueOpt[i].speed
 			end
 			TrGCDLoadSettings()
 		end
diff --git a/Modules/Quest.lua b/Modules/Quest.lua
index 4ff0375..32e7d09 100644
--- a/Modules/Quest.lua
+++ b/Modules/Quest.lua
@@ -1283,7 +1283,7 @@ function EMA:SelectAvailableQuest( questIndex )
 end

 function EMA:DoSelectAvailableQuest( sender, questIndex )
-	EMA:Print("test4", sender, questIndex )
+	--EMA:Print("test4", sender, questIndex )
 	if EMA.db.mirrorMasterQuestSelectionAndDeclining == true then
 		EMA.isInternalCommand = true
         EMA:DebugMessage( "DoSelectAvailableQuest" )
@@ -1384,7 +1384,7 @@ function EMA:ShowQuestComplete( questIndex )
 	if EMA.isInternalCommand == true then
 		return
 	end
-	local questName = select( 1, GetQuestLogTitle( questIndex ) )
+	local questName = QuestUtils_GetQuestName( questIndex )
 	EMA:EMASendCommandToTeam( EMA.COMMAND_LOG_COMPLETE_QUEST, questName )
 end

@@ -1499,16 +1499,16 @@ end
 -------------------------------------------------------------------------------------------------------------

 function EMA:QUEST_ACCEPTED( ... )
-	local event, questIndex =  ...
+	local event, questID =  ...
+	--EMA:Print("test", event, questID )
 	if EMA.db.acceptQuests == true then
 		if EMA.db.masterAutoShareQuestOnAccept == true then
 			if EMAApi.IsCharacterTheMaster( EMA.characterName ) == true then
 				if EMA.isInternalCommand == false then
-					SelectQuestLogEntry( questIndex )
-						if GetQuestLogPushable() and GetNumSubgroupMembers() > 0 then
-							EMA:EMASendMessageToTeam( EMA.db.messageArea, "Pushing newly accepted quest.", false )
-							QuestLogPushQuest()
-						end
+					if C_QuestLog.IsPushableQuest( questID ) and GetNumSubgroupMembers() > 0 then
+						EMA:EMASendMessageToTeam( EMA.db.messageArea, "Pushing newly accepted quest.", false )
+						QuestMapQuestOptions_ShareQuest( questID )
+					end
 				end
 			end
 		end
@@ -1736,7 +1736,7 @@ end


 function EMA:EMADoQuest_UnTrackQuest(questID, questLogIndex)
-	EMA:Print("test2", questID, questLogIndex )
+	--EMA:Print("test2", questID, questLogIndex )
 	if ( QuestUtils_IsQuestWatched(questID) ) then
 		QuestObjectiveTracker_UntrackQuest(nil, questID)
 	end
@@ -1846,7 +1846,7 @@ end
 function EMA.AbandonNextQuest()
 	local title, isHeader, questID = EMA:GetRelevantQuestInfo(EMA.iterateQuests)
 	if isHeader == false and questID ~= 0 then
-		local canAbandon = CanAbandonQuest(questID)
+		local canAbandon = C_QuestLog.CanAbandonQuest(questID)
 		if canAbandon then
 			EMA:EMASendCommandToTeam( EMA.COMMAND_ABANDON_QUEST, questID, title)
 			if (EMA.iterateQuests ~= C_QuestLog.GetNumQuestLogEntries()) then
@@ -1871,7 +1871,8 @@ end

 function EMA.ShareNextQuest()
 	local title, isHeader, questID = EMA:GetRelevantQuestInfo(EMA.iterateQuests)
-	if GetQuestLogPushable() then
+	--EMA:Print("pushTest", title, isHeader, questID )
+	if C_QuestLog.IsPushableQuest( questID ) then
 		if isHeader == false and questID ~= 0 then
 			QuestMapQuestOptions_ShareQuest(questID)
 		end
@@ -1930,8 +1931,9 @@ function EMA:IterateQuests(methodToCall, timer)
 end

 function EMA:GetRelevantQuestInfo(questLogIndex)
-    local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle( questLogIndex )
-	return title, isHeader, questID
+	local info =  C_QuestLog.GetInfo( questLogIndex )
+	--EMA:Print("test121", questLogIndex, info.title, info.isHeader, info.questID)
+	return info.title, info.isHeader, info.questID
 end

 function EMA:ToggleFrame( frame )
diff --git a/Modules/QuestWatcher.lua b/Modules/QuestWatcher.lua
index 3ecfdc3..ace5707 100644
--- a/Modules/QuestWatcher.lua
+++ b/Modules/QuestWatcher.lua
@@ -1056,20 +1056,31 @@ function EMA:QUEST_LOG_UPDATE( event, ... )
 	if EMA.db.enableQuestWatcher == true then
 		-- Wait a bit for the correct information to come through from the server...
 		EMA:ScheduleTimer( "EMAQuestWatcherUpdate", 1, true, "all" )
+		-- For PopUpQuests!
+		for i = 1, GetNumAutoQuestPopUps() do
+			local questID, popUpType = GetAutoQuestPopUp(i);
+			if ( not C_QuestLog.IsQuestBounty(questID) ) then
+				local questTitle = C_QuestLog.GetTitleForQuestID(questID);
+				if ( questTitle and questTitle ~= "" ) then
+					if popUpType == "OFFER" then
+						EMA:EMASendCommandToTeam( EMA.COMMAND_AUTO_QUEST_OFFER, questID )
+					elseif popUpType == "COMPLETE" then
+						EMA:EMASendCommandToTeam( EMA.COMMAND_AUTO_QUEST_COMPLETE, questID )
+					end
+				end
+			end
+		end
 	end
 end

-
 function EMA:SCENARIO_UPDATE( event, ... )
 	--EMA:Print("test2")
-	if EMA.db.enableQuestWatcher == true then
-
+	if EMA.db.enableQuestWatcher == true then
 		EMA:RemoveQuestsNotBeingWatched()
 		EMA:ScheduleTimer( "EMAQuestWatcherUpdate", 1, true, "scenario" )
 	end
 end

-
 function EMA:SCENARIO_CRITERIA_UPDATE( event, ... )
 	--EMA:Print("test3.5")
 	if EMA.db.enableQuestWatcher == true then
@@ -1128,6 +1139,21 @@ end

 function EMA:GetQuestObjectiveCompletion( text )
 	if text == nil then
+        return L["N/A"], L["N/A"]
+    end
+
+    local icount,imax = string.match(text,"(%d+)/(%d+)")
+    if icount ~= nil then
+        text=string.gsub(text,icount .. "/" .. imax,"")
+        text=string.gsub(text,"[: ]*$","")
+        text=string.gsub(text,"^[: ]*","")
+        return icount..L["/"]..imax, text
+    else
+        return L["DONE"] , text
+    end
+end
+	--[[
+	if text == nil then
 		return L["N/A"], L["N/A"]
 	end
 	local makeString = nil
@@ -1150,6 +1176,7 @@ function EMA:GetQuestObjectiveCompletion( text )
 		return L["DONE"] , text
 	end
 end
+]]

 function EMA:QuestWatchGetObjectiveText( questIndex, objectiveIndex )
 	local objectiveFullText, objectiveType, objectiveFinished = GetQuestLogLeaderBoard( objectiveIndex, questIndex )
@@ -1210,8 +1237,10 @@ function EMA:SetActiveQuestForQuestWatcherCache( questIndex )
 	end
 	if questIndex ~= nil then
         --local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle( questIndex )
-		local info =  C_QuestLog.GetInfo( questIndex )
-		EMA.currentQuestForQuestWatcherID = info.questID
+		--local info =  C_QuestLog.GetInfo( questIndex )
+
+		--EMA:Print("testaa", info.questID)
+		EMA.currentQuestForQuestWatcherID = questIndex
 	else
 		EMA.currentQuestForQuestWatcherID = nil
 	end
@@ -1245,25 +1274,12 @@ end
 -- AUTO QUEST COMMUNICATION
 -------------------------------------------------------------------------------------------------------------

-function EMA:IsCompletedAutoCompleteFieldQuest( questIndex, isComplete )
-	-- Send an isComplete true flag if the quest is completed and is an in the field autocomplete quest.
-	if isComplete and isComplete > 0 then
-		if GetQuestLogIsAutoComplete( questIndex ) then
-			isComplete = true
-		else
-			isComplete = false
-		end
-	else
-		isComplete = false
-	end
-	return isComplete
-end
-
 function EMA:QUEST_AUTOCOMPLETE( event, questID, ... )
 	-- In the field autocomplete quest event.
 	if EMA.db.enableQuestWatcher == false then
 		return
 	end
+	--EMA:Print("test")
 	EMA:EMASendCommandToTeam( EMA.COMMAND_AUTO_QUEST_COMPLETE, questID )
 end

@@ -1282,13 +1298,20 @@ function EMA:DoRemoveAutoQuestFieldComplete( characterName, questID )
 	EMA:EMARemoveAutoQuestPopUp( questID, characterName )
 end

-function EMA:QUEST_DETAIL()
+function EMA:QUEST_DETAIL(event, ...)
 	if EMA.db.enableQuestWatcher == false then
 		return
 	end
-	if QuestGetAutoAccept() and QuestIsFromAreaTrigger() then
+	local questStartItemID = ...
+	--EMA:Print("testOffer", questStartItemID, QuestGetAutoAccept(), QuestIsFromAreaTrigger() )
+    if(questStartItemID ~= nil and questStartItemID ~= 0) then
 		EMA:EMASendCommandToTeam( EMA.COMMAND_AUTO_QUEST_OFFER, GetQuestID() )
+		return
 	end
+	if ( QuestGetAutoAccept() and QuestIsFromAreaTrigger()) then
+		EMA:EMASendCommandToTeam( EMA.COMMAND_AUTO_QUEST_OFFER, GetQuestID() )
+		return
+	end
 end

 function EMA:DoAutoQuestFieldOffer( characterName, questID )
@@ -1403,7 +1426,7 @@ function EMA:EMAQuestWatcherQuestLogUpdate( useCache )
 				local isComplete = C_QuestLog.IsComplete( info.questID)
 				--local isComplete = EMA:IsCompletedAutoCompleteFieldQuest( questIndex, isComplete )
 				if info.isHeader == false and info.isHidden == false then
-				--EMA:Print("EMAQuestData", questID, title, questLogIndex, numObjectives, requiredMoney, isComplete, startEvent, isAutoComplete, failureTime, timeElapsed, questType, isTask, isBounty, isStory, isOnMap, hasLocalPOI, isHidden)
+				--EMA:Print("EMAQuestData", questID, title, questLogIndex, numObjectives, requiredMoney, isComplete, startEvent, isAutoComplete, failureTime, timeElapsed, questType, isTask, isBounty, isStory, isOnMap, hasLocalPOI, isHidden)
 				if numObjectives > 0 then
 					for iterateObjectives = 1, numObjectives do
 						--EMA:Print( "NumObjs:", numObjectives )
@@ -1414,7 +1437,7 @@ function EMA:EMAQuestWatcherQuestLogUpdate( useCache )
 							local progress = GetQuestProgressBarPercent( info.questID )
 							objectiveText = "ProgressBar"..": "..objectiveText
 							amountCompleted = tostring(progress)..L["%"]
-						end
+						end
 						if objectiveFullText ~= nil then
 							--EMA:Print("test2", info.questID, info.title, iterateObjectives, objectiveText, amountCompleted, objectiveFinished, isComplete )
 							if (EMA:QuestCacheUpdate( info.questID, iterateObjectives, amountCompleted, objectiveFinished ) == true) or (useCache == false) then
@@ -1462,7 +1485,7 @@ function EMA:EMAQuestWatcherWorldQuestUpdate( useCache )
 					local amountCompleted = tostring(progress)..L["%"]
 					--EMA:Print("QuestPercent", title, objectiveText, amountCompleted )
 					local EditedQuestName = tostring("Bonus:")..(info.title)
-					EMA:Print("BarQuest", info.questID, name, iterateObjectives, objectiveText, amountCompleted, objectiveFinished, isComplete)
+					--EMA:Print("BarQuest", info.questID, name, iterateObjectives, objectiveText, amountCompleted, objectiveFinished, isComplete)
 					if (EMA:QuestCacheUpdate( info.questID, iterateObjectives, amountCompleted, objectiveFinished ) == true) or (useCache == false) then
 						EMA:EMASendCommandToTeam( EMA.COMMAND_QUEST_WATCH_OBJECTIVE_UPDATE, info.questID, EditedQuestName, iterateObjectives, objectiveText, amountCompleted, objectiveFinished, isComplete )
 					end
@@ -1495,6 +1518,7 @@ function EMA:EMAQuestWatcherUpdate( useCache, questType )
 	if questType == "worldQuest" or "all" then
 		EMA:EMAQuestWatcherWorldQuestUpdate( useCache )
 	end
+
 end

 -- Gathers messages from team.
@@ -1512,7 +1536,8 @@ function EMA:UpdateQuestWatchList( questID, questName, objectiveIndex, objective
 	objectiveHeaderPosition = EMA:GetObjectiveHeaderInWatchList( questID, questName, objectiveIndex, objectiveText, totalAmountCompleted, questHeaderPosition )
 	-- isComplete piggybacks on the quest watch update, so we are always displaying a complete quest button (in case the QUEST_AUTOCOMPLETE event does not fire).
 	if isComplete == true then
-		EMA:DoAutoQuestFieldComplete( characterName, questID )
+		-- Do feel we need this!
+		--EMA:DoAutoQuestFieldComplete( characterName, questID )
 	end
 	if EMA.db.hideQuestIfAllComplete == true then
 		EMA:CheckQuestForAllObjectivesCompleteAndHide( questID )
@@ -2313,7 +2338,7 @@ function EMA:QuestMapQuestOptions_ToggleTrackQuest(questID, questText)
 end

 function EMA:QuestMapQuestOptions_ShareQuest( questID )
-	local questLogIndex = GetQuestLogIndexByID(questID)
+	local questLogIndex = C_QuestLog.GetLogIndexForQuestID(questID)
 	if questLogIndex then
 		QuestLogPushQuest(questLogIndex)
 	end
@@ -2343,10 +2368,12 @@ function EMA:HasAtLeastOneAutoQuestPopup()
 end

 function EMA:EMAAddAutoQuestPopUp( questID, popUpType, characterName )
+	--EMA:Print("addPopUP", questID, popUpType, characterName)
 	if EMA.currentAutoQuestPopups[questID] == nil then
-		EMA.currentAutoQuestPopups[questID] = {}
-	end
+		EMA.currentAutoQuestPopups[questID] = {}
+	end
 	EMA.currentAutoQuestPopups[questID][characterName] = popUpType
+	EMA:DisplayAutoQuestPopUps()
 end

 function EMA:EMARemoveAutoQuestPopUp( questID, characterName )
@@ -2401,50 +2428,48 @@ function EMA:DisplayAutoQuestPopUps()
 	EMAQuestWatcherFrame.autoQuestPopupsHeight = 0
 	local parentFrame = EMAQuestWatcherFrame.fieldNotifications
 	for questID, characterInfo in pairs( EMA.currentAutoQuestPopups ) do
+		local title = C_QuestLog.GetTitleForQuestID(questID)
+		local isComplete = C_QuestLog.IsComplete(questID)
+		--EMA:Print("test", questID, title, isComplete )
 		local characterName, characterPopUpType, popUpType
 		local characterList = ""
 		for characterName, characterPopUpType in pairs( characterInfo ) do
-			--characterList = characterList..characterName.." "
+			--EMA:Print("popup", characterPopUpType)
 			characterList = characterList..( Ambiguate( characterName, "none" ) ).." "
 			-- TODO - hack, assuming all characters have the same sort of popup.
 			popUpType = characterPopUpType
 		end
-        --local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle( C_QuestLog.GetQuestLogIndexByID( questID ) )
-
-		if isComplete and isComplete > 0 then
-			isComplete = true
-		else
-			isComplete = false
-		end
 		-- If the current character does not have the quest, show the character names that do have it.
 		local clickToViewText = QUEST_WATCH_POPUP_CLICK_TO_VIEW
-		if not (title and title ~= "") then
-            title = characterList
-			clickToViewText = ""
-		end
+			if not (title and title ~= "") then
+				title = characterList
+				clickToViewText = ""
+			end
 		local frame = EMA:AutoQuestGetOrCreateFrame( parentFrame, countPopUps + 1 )
 		frame:Show()
 		frame:ClearAllPoints()
 		frame:SetParent( parentFrame )
-		if isComplete == true and popUpType == "COMPLETE" then
-			frame.TopText:SetText( QUEST_WATCH_POPUP_CLICK_TO_COMPLETE )
-			frame.BottomText:Hide()
-            frame:SetHeight( 32 )
-			frame.type = "COMPLETED"
-            frame:HookScript( "OnMouseUp", function()
-                ShowQuestComplete( GetQuestLogIndexByID( questID ) )
-                EMA:EMARemoveAllAutoQuestPopUps( questID )
-                EMA:DisplayAutoQuestPopUps()
-                EMA:SettingsUpdateBorderStyle()
-				EMA:SettingsUpdateFontStyle()
-            end )
+		--EMA:Print("test2", isComplete, popUpType)
+			if isComplete == true and popUpType == "COMPLETE" then
+				frame.TopText:SetText( QUEST_WATCH_POPUP_CLICK_TO_COMPLETE )
+				frame.BottomText:Hide()
+				frame:SetHeight( 32 )
+				frame.type = "COMPLETED"
+				frame:HookScript( "OnMouseUp", function()
+					ShowQuestComplete( questID )
+					EMA:EMARemoveAllAutoQuestPopUps( questID )
+					EMA:DisplayAutoQuestPopUps()
+					EMA:SettingsUpdateBorderStyle()
+					EMA:SettingsUpdateFontStyle()
+				end )
 		elseif popUpType == "OFFER" then
 			frame.TopText:SetText( QUEST_WATCH_POPUP_QUEST_DISCOVERED )
 			frame.BottomText:Show()
 			frame.BottomText:SetText( clickToViewText )
-            frame:SetHeight( 48 )
+			frame:SetHeight( 48 )
 			frame.type = "OFFER"
 			frame:HookScript( "OnMouseUp", function()
+				ShowQuestOffer( questID )
 				EMA:EMARemoveAllAutoQuestPopUps( questID )
 				EMA:DisplayAutoQuestPopUps()
 				EMA:SettingsUpdateBorderStyle()
@@ -2452,15 +2477,15 @@ function EMA:DisplayAutoQuestPopUps()
 			end )
 		end
 		frame:ClearAllPoints()
-		if nextAnchor ~= nil then
-			if iterateQuestPopups == 1 then
-				frame:SetPoint( "TOP", nextAnchor, "BOTTOM", 0, 0 ) -- -WATCHFRAME_TYPE_OFFSET
+			if nextAnchor ~= nil then
+				if iterateQuestPopups == 1 then
+					frame:SetPoint( "TOP", nextAnchor, "BOTTOM", 0, 0 ) -- -WATCHFRAME_TYPE_OFFSET
+				else
+					frame:SetPoint( "TOP", nextAnchor, "BOTTOM", 0, 0 )
+				end
 			else
-				frame:SetPoint( "TOP", nextAnchor, "BOTTOM", 0, 0 )
+				frame:SetPoint( "TOP", parentFrame, "TOP", 0, 5 ) -- -WATCHFRAME_INITIAL_OFFSET
 			end
-		else
-			frame:SetPoint( "TOP", parentFrame, "TOP", 0, 5 ) -- -WATCHFRAME_INITIAL_OFFSET
-		end
 		frame:SetPoint( "LEFT", parentFrame, "LEFT", -20, 0 )
 		frame.QuestName:SetText( title )
 		frame.questId = questID
@@ -2469,11 +2494,11 @@ function EMA:DisplayAutoQuestPopUps()
 		nextAnchor = frame
 		countPopUps = countPopUps + 1
 		EMAQuestWatcherFrame.autoQuestPopupsHeight = EMAQuestWatcherFrame.autoQuestPopupsHeight + frame:GetHeight()
-	end
-	for iterateQuestPopups = countPopUps + 1, EMA.countAutoQuestPopUpFrames do
-		_G["EMAWatchFrameAutoQuestPopUp"..iterateQuestPopups].questId = nil
-		_G["EMAWatchFrameAutoQuestPopUp"..iterateQuestPopups]:Hide()
-	end
+		end
+			for iterateQuestPopups = countPopUps + 1, EMA.countAutoQuestPopUpFrames do
+				_G["EMAWatchFrameAutoQuestPopUp"..iterateQuestPopups].questId = nil
+				_G["EMAWatchFrameAutoQuestPopUp"..iterateQuestPopups]:Hide()
+			end
 	EMA:UpdateQuestWatcherDimensions()
 end