Quantcast

Beta-v4.2(0210)

Jennifer Calladine [08-13-22 - 16:48]
Beta-v4.2(0210)
Filename
Bindings _TBC.xml
Bindings _Wrath.xml
Bindings.xml
Bindings_MainLine.xml
Bindings_TBC.xml
Bindings_Vanilla.xml
Bindings_Wrath.xml
CHANGELOG.txt
Core/Core.lua
Core/Team.lua
EMA.toc
EMA_Mainline.toc
EMA_TBC.toc
EMA_Vanilla.toc
EMA_Wrath.toc
Libs/EMALibActionButton-1.0.lua
Libs/LibBagUtils-1.0/LibBagUtils-1.0.lua
Locales/Core-Locale-enUS.lua
Modules/Follow.lua
Modules/Interaction.lua
Modules/Quest-Classic.lua
Modules/QuestWatcher-Classic.lua
Modules/Toon.lua
diff --git a/Bindings _TBC.xml b/Bindings _TBC.xml
new file mode 100644
index 0000000..0a6367e
--- /dev/null
+++ b/Bindings _TBC.xml
@@ -0,0 +1,152 @@
+<!--
+				EMA - ( Ebony's MultiBoxing Assistant )
+				Current Author: Jennifer Cally (Ebony)
+				License: MIT License 2018-2020 Jennifer Cally
+
+				Some Code Used from 'Jamba' that is
+				Released under the MIT License
+				'Jamba' Copyright 2008-2015  Michael "Jafula" Miller
+-->
+<Bindings>
+	<!-- Team Bindings -->
+	<Binding name="TEAMINVITE" header="TEAM" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMDISBAND" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMMASTER" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="CLICKTOMOVE" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOCUS" header="ASTERISK" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERTARGET" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERASSIST" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOPNEW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS1" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS2" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS3" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS4" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS5" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS6" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS7" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS8" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS9" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS10" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+
+
+	<!-- Follow Bindings-->
+	<Binding name="FOLLOWME" header="FOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEME" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEOFF" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOP" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+	<!-- ItemUse Bindings-->
+	<Binding name="ITEMUSE1" header="ITEMUSE" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE2" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE3" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE4" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE5" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE6" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE7" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE8" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE9" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE10" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE11" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE12" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE13" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE14" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE15" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE16" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE17" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE18" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE19" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE20" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+
+	<!-- Toon Bindings-->
+	<Binding name="SETVIEW" header="TOON" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+</Bindings>
diff --git a/Bindings _Wrath.xml b/Bindings _Wrath.xml
new file mode 100644
index 0000000..4647c42
--- /dev/null
+++ b/Bindings _Wrath.xml
@@ -0,0 +1,156 @@
+<!--
+				EMA - ( Ebony's MultiBoxing Assistant )
+				Current Author: Jennifer Cally (Ebony)
+				License: MIT License 2018-2020 Jennifer Cally
+
+				Some Code Used from 'Jamba' that is
+				Released under the MIT License
+				'Jamba' Copyright 2008-2015  Michael "Jafula" Miller
+-->
+<Bindings>
+	<!-- Team Bindings -->
+	<Binding name="TEAMINVITE" header="TEAM" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMDISBAND" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMMASTER" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="CLICKTOMOVE" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOCUS" header="ASTERISK" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERTARGET" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERASSIST" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOPNEW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS1" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS2" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS3" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS4" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS5" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS6" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS7" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS8" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS9" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS10" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+
+
+	<!-- Follow Bindings-->
+	<Binding name="FOLLOWME" header="FOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEME" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEOFF" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOP" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+	<Binding name="TEAMMOUNT" header="MOUNT" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+	<!-- ItemUse Bindings-->
+	<Binding name="ITEMUSE1" header="ITEMUSE" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE2" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE3" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE4" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE5" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE6" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE7" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE8" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE9" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE10" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE11" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE12" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE13" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE14" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE15" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE16" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE17" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE18" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE19" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE20" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+
+	<!-- Toon Bindings-->
+	<Binding name="SETVIEW" header="TOON" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+</Bindings>
diff --git a/Bindings.xml b/Bindings.xml
deleted file mode 100644
index 31f384a..0000000
--- a/Bindings.xml
+++ /dev/null
@@ -1,150 +0,0 @@
-<!--
-				EMA - ( Ebony's MultiBoxing Assistant )
-				Current Author: Jennifer Cally (Ebony)
-				License: MIT License 2018-2020 Jennifer Cally
-
-				Some Code Used from 'Jamba' that is
-				Released under the MIT License
-				'Jamba' Copyright 2008-2015  Michael "Jafula" Miller
--->
-<Bindings>
-	<!-- Team Bindings -->
-	<Binding name="TEAMINVITE" header="TEAM" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="TEAMDISBAND" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="TEAMMASTER" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="CLICKTOMOVE" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="MASTERFOCUS" header="ASTERISK" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="MASTERTARGET" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="MASTERASSIST" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS1" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS2" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS3" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS4" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS5" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS6" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS7" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS8" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS9" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOCUS10" category="EMA-Set-Team-Focus">
-		--[[dummy]]
-	</Binding>
-
-
-	<!-- Follow Bindings-->
-	<Binding name="FOLLOWME" header="FOLLOW" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOLLOWSTROBEME" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOLLOWSTROBEOFF" category="EMA">
-		--[[dummy]]
-	</Binding>
-	<Binding name="FOLLOWSTOP" category="EMA">
-		--[[dummy]]
-	</Binding>
-
-	<Binding name="TEAMMOUNT" header="MOUNT" category="EMA">
-		--[[dummy]]
-	</Binding>
-
-	<!-- ItemUse Bindings-->
-	<Binding name="ITEMUSE1" header="ITEMUSE" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE2" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE3" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE4" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE5" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE6" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE7" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE8" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE9" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE10" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE11" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE12" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE13" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE14" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE15" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE16" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE17" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE18" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE19" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-	<Binding name="ITEMUSE20" category="EMA-Item Use">
-		--[[dummy]]
-	</Binding>
-
-	<!-- Toon Bindings-->
-	<Binding name="SETVIEW" header="TOON" category="EMA">
-		--[[dummy]]
-	</Binding>
-
-</Bindings>
diff --git a/Bindings_MainLine.xml b/Bindings_MainLine.xml
new file mode 100644
index 0000000..4647c42
--- /dev/null
+++ b/Bindings_MainLine.xml
@@ -0,0 +1,156 @@
+<!--
+				EMA - ( Ebony's MultiBoxing Assistant )
+				Current Author: Jennifer Cally (Ebony)
+				License: MIT License 2018-2020 Jennifer Cally
+
+				Some Code Used from 'Jamba' that is
+				Released under the MIT License
+				'Jamba' Copyright 2008-2015  Michael "Jafula" Miller
+-->
+<Bindings>
+	<!-- Team Bindings -->
+	<Binding name="TEAMINVITE" header="TEAM" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMDISBAND" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMMASTER" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="CLICKTOMOVE" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOCUS" header="ASTERISK" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERTARGET" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERASSIST" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOPNEW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS1" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS2" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS3" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS4" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS5" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS6" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS7" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS8" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS9" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS10" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+
+
+	<!-- Follow Bindings-->
+	<Binding name="FOLLOWME" header="FOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEME" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEOFF" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOP" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+	<Binding name="TEAMMOUNT" header="MOUNT" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+	<!-- ItemUse Bindings-->
+	<Binding name="ITEMUSE1" header="ITEMUSE" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE2" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE3" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE4" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE5" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE6" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE7" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE8" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE9" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE10" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE11" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE12" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE13" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE14" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE15" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE16" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE17" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE18" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE19" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE20" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+
+	<!-- Toon Bindings-->
+	<Binding name="SETVIEW" header="TOON" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+</Bindings>
diff --git a/Bindings_TBC.xml b/Bindings_TBC.xml
new file mode 100644
index 0000000..0a6367e
--- /dev/null
+++ b/Bindings_TBC.xml
@@ -0,0 +1,152 @@
+<!--
+				EMA - ( Ebony's MultiBoxing Assistant )
+				Current Author: Jennifer Cally (Ebony)
+				License: MIT License 2018-2020 Jennifer Cally
+
+				Some Code Used from 'Jamba' that is
+				Released under the MIT License
+				'Jamba' Copyright 2008-2015  Michael "Jafula" Miller
+-->
+<Bindings>
+	<!-- Team Bindings -->
+	<Binding name="TEAMINVITE" header="TEAM" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMDISBAND" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMMASTER" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="CLICKTOMOVE" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOCUS" header="ASTERISK" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERTARGET" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERASSIST" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOPNEW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS1" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS2" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS3" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS4" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS5" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS6" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS7" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS8" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS9" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS10" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+
+
+	<!-- Follow Bindings-->
+	<Binding name="FOLLOWME" header="FOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEME" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEOFF" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOP" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+	<!-- ItemUse Bindings-->
+	<Binding name="ITEMUSE1" header="ITEMUSE" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE2" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE3" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE4" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE5" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE6" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE7" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE8" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE9" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE10" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE11" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE12" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE13" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE14" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE15" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE16" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE17" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE18" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE19" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE20" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+
+	<!-- Toon Bindings-->
+	<Binding name="SETVIEW" header="TOON" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+</Bindings>
diff --git a/Bindings_Vanilla.xml b/Bindings_Vanilla.xml
new file mode 100644
index 0000000..0a6367e
--- /dev/null
+++ b/Bindings_Vanilla.xml
@@ -0,0 +1,152 @@
+<!--
+				EMA - ( Ebony's MultiBoxing Assistant )
+				Current Author: Jennifer Cally (Ebony)
+				License: MIT License 2018-2020 Jennifer Cally
+
+				Some Code Used from 'Jamba' that is
+				Released under the MIT License
+				'Jamba' Copyright 2008-2015  Michael "Jafula" Miller
+-->
+<Bindings>
+	<!-- Team Bindings -->
+	<Binding name="TEAMINVITE" header="TEAM" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMDISBAND" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMMASTER" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="CLICKTOMOVE" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOCUS" header="ASTERISK" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERTARGET" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERASSIST" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOPNEW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS1" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS2" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS3" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS4" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS5" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS6" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS7" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS8" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS9" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS10" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+
+
+	<!-- Follow Bindings-->
+	<Binding name="FOLLOWME" header="FOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEME" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTROBEOFF" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOP" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+	<!-- ItemUse Bindings-->
+	<Binding name="ITEMUSE1" header="ITEMUSE" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE2" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE3" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE4" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE5" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE6" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE7" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE8" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE9" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE10" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE11" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE12" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE13" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE14" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE15" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE16" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE17" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE18" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE19" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE20" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+
+	<!-- Toon Bindings-->
+	<Binding name="SETVIEW" header="TOON" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+</Bindings>
diff --git a/Bindings_Wrath.xml b/Bindings_Wrath.xml
new file mode 100644
index 0000000..7fe4f1f
--- /dev/null
+++ b/Bindings_Wrath.xml
@@ -0,0 +1,142 @@
+<!--
+				EMA - ( Ebony's MultiBoxing Assistant )
+				Current Author: Jennifer Cally (Ebony)
+				License: MIT License 2018-2020 Jennifer Cally
+
+				Some Code Used from 'Jamba' that is
+				Released under the MIT License
+				'Jamba' Copyright 2008-2015  Michael "Jafula" Miller
+-->
+<Bindings>
+	<!-- Team Bindings -->
+	<Binding name="TEAMINVITE" header="TEAM" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMDISBAND" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="TEAMMASTER" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="CLICKTOMOVE" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOCUS" header="ASTERISK" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERTARGET" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERASSIST" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="MASTERFOLLOW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOLLOWSTOPNEW" category="EMA">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS1" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS2" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS3" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS4" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS5" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS6" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS7" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS8" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS9" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+	<Binding name="FOCUS10" category="EMA-Set-Team-Focus">
+		--[[dummy]]
+	</Binding>
+
+	<!-- Interaction Bindings-->
+	<Binding name="TEAMMOUNT" header="MOUNT" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+	<!-- ItemUse Bindings-->
+	<Binding name="ITEMUSE1" header="ITEMUSE" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE2" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE3" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE4" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE5" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE6" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE7" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE8" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE9" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE10" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE11" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE12" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE13" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE14" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE15" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE16" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE17" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE18" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE19" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+	<Binding name="ITEMUSE20" category="EMA-Item Use">
+		--[[dummy]]
+	</Binding>
+
+	<!-- Toon Bindings-->
+	<Binding name="SETVIEW" header="TOON" category="EMA">
+		--[[dummy]]
+	</Binding>
+
+</Bindings>
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 26cda97..71cae70 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,6 +1,42 @@
 ---------------------------
 ChangeLogs:
 ---------------------------
+EMA Version: Beta-v4.2(0210)
+Game Version: 9.2.5/3.4.0/2.5.4/1.14.3
+Release Date: TBC
+
+EMA BETA 4.2 WOTLK Support
+
+## Core
+	-Added Bindings to there own Game Releases So you don't get borken KeyBindings on
+	   -- clients that don't support some of the keybindings the game does.
+	-Added support for Wotlk classic 3.4.0
+	Added TOC File for Wotlk
+
+## Team
+	-- Added KeyBinding to "Follow" Master
+	-- Added KeyBinding to Stop Follow
+		--Dev Note: as the follow is now a protected function you need to press the key on all clients
+
+
+## Follow
+	- Removed for WOTLKC
+	 -- Dev Note: Follow Is now a protected function.
+	    most of the functions in this module will nolonger work.
+	-- Follow warning nolonger defualts to this module.
+
+## Toon
+	-- Moved Follow Warning to this Module Under warnings
+		-- Old Installs will move over follow here you can trun it off and use the follow module.
+
+## 	Quest-Watcher
+	-- Made changes to support Wotlk
+
+## Quest
+	-- Made changes to support Wotlk
+
+
+---------------------------
 EMA Version: Release-v4.1(0209)
 Game Version: 9.2.5/2.5.2/1.1.14
 Release Date: 23/06/2022
diff --git a/Core/Core.lua b/Core/Core.lua
index c768904..ef54eb7 100644
--- a/Core/Core.lua
+++ b/Core/Core.lua
@@ -46,7 +46,6 @@ local AceGUI = LibStub("AceGUI-3.0")
 local EMAUtilities = LibStub:GetLibrary( "EbonyUtilities-1.0" )
 local EMAHelperSettings = LibStub:GetLibrary( "EMAHelperSettings-1.0" )

-
 -- Create frame for EMA Settings.
 EMAPrivate.SettingsFrame = {}
 EMAPrivate.SettingsFrame.Widget = AceGUI:Create( "EMAWindow" )
@@ -319,7 +318,7 @@ local function isEmaClassicBuild()
 	return 	classic
 end

--- EMA TBC Build
+-- EMA WOTLK Build
 local function isEmaClassicBccBuild()
 	local classic = false
 	if _G.WOW_PROJECT_ID == _G.WOW_PROJECT_BURNING_CRUSADE_CLASSIC then
diff --git a/Core/Team.lua b/Core/Team.lua
index 2e231ca..7ea6b28 100644
--- a/Core/Team.lua
+++ b/Core/Team.lua
@@ -42,6 +42,8 @@ BINDING_NAME_TEAMINVITE = L["INVITE_GROUP"]
 BINDING_NAME_TEAMDISBAND = L["DISBAND_GROUP"]
 BINDING_NAME_TEAMMASTER = L["SET_MASTER"]
 BINDING_NAME_CLICKTOMOVE = L["BINDING_CLICK_TO_MOVE"]
+BINDING_NAME_MASTERFOLLOW = L["SET_MASTER_FOLLOW"]
+BINDING_NAME_FOLLOWSTOPNEW = L["SET_FOLLOW_STOP"]
 BINDING_NAME_MASTERFOCUS = L["SET_FOCUS_MASTER"]
 BINDING_NAME_MASTERTARGET = L["SET_MASTER_TARGET"]
 BINDING_NAME_MASTERASSIST = L["SET_MASTER_ASSIST"]
@@ -1398,13 +1400,18 @@ function EMA:UpdateMacros()
 		return
 	end
 	local characterName = ( Ambiguate(EMA.db.master, "none" ) )
+	local ownName = ( Ambiguate(EMA.characterName, "none" ) )
 	local focus = "/focus " .. characterName
 	local target = "/target " .. characterName
 	local assist = "/assist " .. characterName
-	--EMA:Print("test", characterName, "M", focus )
+	local follow = "/follow " .. characterName
+	local followStop = "/follow " .. ownName
+	EMA:Print("test", ownName , "M", followStop )
 	EMAFocusMaster:SetAttribute( "macrotext", focus )
 	EMATargetMaster:SetAttribute( "macrotext", target )
 	EMAAssistMaster:SetAttribute( "macrotext", assist )
+	EMAFollowMaster:SetAttribute( "macrotext", follow )
+	EMAFollowStopNew:SetAttribute( "macrotext", followStop )

 	local EMAFocusOneName = ( Ambiguate(EMAApi.GetCharacterNameAtOrderPosition(1), "none" ) )
 		EMAFocusOne:SetAttribute( "macrotext", "/focus " .. EMAFocusOneName  )
@@ -1537,6 +1544,14 @@ function EMA:OnInitialize()
 		EMAAssistMaster:SetAttribute( "type", "macro" )
 		EMAAssistMaster:Hide()

+		EMAFollowMaster = CreateFrame( "CheckButton", "EMAFollowMaster", nil, "SecureActionButtonTemplate" )
+		EMAFollowMaster:SetAttribute( "type", "macro" )
+		EMAFollowMaster:Hide()
+
+		EMAFollowStopNew = CreateFrame( "CheckButton", "EMAFollowStopNew", nil, "SecureActionButtonTemplate" )
+		EMAFollowStopNew:SetAttribute( "type", "macro" )
+		EMAFollowStopNew:Hide()
+
 		EMAFocusOne = CreateFrame( "CheckButton", "EMAFocusOne", nil, "SecureActionButtonTemplate" )
 		EMAFocusOne:SetAttribute( "type", "macro" )
 		EMAFocusOne:Hide()
@@ -2036,6 +2051,20 @@ function EMA:UPDATE_BINDINGS()
 	if key2 then
 		SetOverrideBindingClick( EMA.keyBindingFrame, false, key2, "EMATargetMaster" )
 	end
+	local key1, key2 = GetBindingKey( "MASTERFOLLOW" )
+	if key1 then
+		SetOverrideBindingClick( EMA.keyBindingFrame, false, key1, "EMAFollowMaster" )
+	end
+	if key2 then
+		SetOverrideBindingClick( EMA.keyBindingFrame, false, key2, "EMAFollowMaster" )
+	end
+	local key1, key2 = GetBindingKey( "FOLLOWSTOPNEW" )
+	if key1 then
+		SetOverrideBindingClick( EMA.keyBindingFrame, false, key1, "EMAFollowStopNew" )
+	end
+	if key2 then
+		SetOverrideBindingClick( EMA.keyBindingFrame, false, key2, "EMAFollowStopNew" )
+	end
 	local key1, key2 = GetBindingKey( "MASTERASSIST" )
 	if key1 then
 		SetOverrideBindingClick( EMA.keyBindingFrame, false, key1, "EMAAssistMaster" )
diff --git a/EMA.toc b/EMA.toc
index c91796a..6db4f36 100644
--- a/EMA.toc
+++ b/EMA.toc
@@ -1,8 +1,8 @@
 ## Interface: 90205
 ## Title: EMA
 ## Notes: Ebony's MultiBoxing Assistant
-## Author: Jennifer Calladine 'Ebony'
-## Version: Release-v4.1(0209)
+## Author: Jennifer Calladine 'Ebony/Blossom'
+## Version: Beta-v4.2(0210)
 ## SavedVariables: CoreProfileDB, CommunicationsProfileDB, TeamProfileDB, TagProfileDB, MessageProfileDB, InformationProfileDB, InformationClassicProfileDB, DisplayTeamProfileDB, FollowProfileDB, GuildProfileDB, InteractionProfileDB, ItemUseProfileDB, PurchaseProfileDB, QuestProfileDB,  QuestWatcherProfileDB, SellProfileDB, TalkProfileDB, ToonProfileDB, TradeProfileDB, MailProfileDB, BankProfileDB, ISBoxerProfileDB

 #Libs
diff --git a/EMA_Mainline.toc b/EMA_Mainline.toc
deleted file mode 100644
index de4da79..0000000
--- a/EMA_Mainline.toc
+++ /dev/null
@@ -1,28 +0,0 @@
-## Interface: 90200
-## Title: EMA
-## Notes: Ebony's MultiBoxing Assistant
-## Author: Jennifer Calladine 'Ebony'
-## Version: Release-v4.1(0209)
-## SavedVariables: CoreProfileDB, CommunicationsProfileDB, TeamProfileDB, TagProfileDB, MessageProfileDB, InformationProfileDB, InformationClassicProfileDB, DisplayTeamProfileDB, FollowProfileDB, GuildProfileDB, InteractionProfileDB, ItemUseProfileDB, PurchaseProfileDB, QuestProfileDB,  QuestWatcherProfileDB, SellProfileDB, TalkProfileDB, ToonProfileDB, TradeProfileDB, MailProfileDB, BankProfileDB, ISBoxerProfileDB
-
-#Libs
-Embeds.xml
-Libs\EbonyUtilities.lua
-
-#Locales
-Locales\Locales.xml
-
-#GUI
-GUI\EMAHelperSettings.lua
-
-#Core
-Core\Core.lua
-Core\Module.lua
-Core\Communications.lua
-
-Core\Team.lua
-Core\Tag.lua
-Core\Message.lua
-
-#Modules
-Modules\Modules.xml
\ No newline at end of file
diff --git a/EMA_TBC.toc b/EMA_TBC.toc
index a710482..60430c4 100644
--- a/EMA_TBC.toc
+++ b/EMA_TBC.toc
@@ -1,8 +1,8 @@
-## Interface: 20502
+## Interface: 20504
 ## Title: EMA
 ## Notes: Ebony's MultiBoxing Assistant
-## Author: Jennifer Calladine 'Ebony'
-## Version: Release-v4.1(0209)
+## Author: Jennifer Calladine 'Ebony/Blossom'
+## Version: Beta-v4.2(0210)
 ## SavedVariables: CoreProfileDB, CommunicationsProfileDB, TeamProfileDB, TagProfileDB, MessageProfileDB, InformationProfileDB, InformationClassicProfileDB, DisplayTeamProfileDB, FollowProfileDB, GuildProfileDB, InteractionProfileDB, ItemUseProfileDB, PurchaseProfileDB, QuestProfileDB,  QuestWatcherProfileDB, SellProfileDB, TalkProfileDB, ToonProfileDB, TradeProfileDB, MailProfileDB, BankProfileDB, ISBoxerProfileDB

 #Libs
diff --git a/EMA_Vanilla.toc b/EMA_Vanilla.toc
index 57d8ec8..bdba9a2 100644
--- a/EMA_Vanilla.toc
+++ b/EMA_Vanilla.toc
@@ -1,8 +1,8 @@
-## Interface: 11402
+## Interface: 11403
 ## Title: EMA
 ## Notes: Ebony's MultiBoxing Assistant
-## Author: Jennifer Calladine 'Ebony'
-## Version: Release-v4.1(0209)
+## Author: Jennifer Calladine 'Ebony/Blossom'
+## Version: Beta-v4.2(0210)
 ## SavedVariables: CoreProfileDB, CommunicationsProfileDB, TeamProfileDB, TagProfileDB, MessageProfileDB, InformationProfileDB, InformationClassicProfileDB, DisplayTeamProfileDB, FollowProfileDB, GuildProfileDB, InteractionProfileDB, ItemUseProfileDB, PurchaseProfileDB, QuestProfileDB,  QuestWatcherProfileDB, SellProfileDB, TalkProfileDB, ToonProfileDB, TradeProfileDB, MailProfileDB, BankProfileDB, ISBoxerProfileDB

 #Libs
diff --git a/EMA_Wrath.toc b/EMA_Wrath.toc
new file mode 100644
index 0000000..b838c3d
--- /dev/null
+++ b/EMA_Wrath.toc
@@ -0,0 +1,28 @@
+## Interface: 30400
+## Title: EMA
+## Notes: Ebony's MultiBoxing Assistant
+## Author: Jennifer Calladine 'Ebony/Blossom'
+## Version: Beta-v4.2(0210)
+## SavedVariables: CoreProfileDB, CommunicationsProfileDB, TeamProfileDB, TagProfileDB, MessageProfileDB, InformationProfileDB, InformationClassicProfileDB, DisplayTeamProfileDB, FollowProfileDB, GuildProfileDB, InteractionProfileDB, ItemUseProfileDB, PurchaseProfileDB, QuestProfileDB,  QuestWatcherProfileDB, SellProfileDB, TalkProfileDB, ToonProfileDB, TradeProfileDB, MailProfileDB, BankProfileDB, ISBoxerProfileDB
+
+#Libs
+Embeds.xml
+Libs\EbonyUtilities.lua
+
+#Locales
+Locales\Locales.xml
+
+#GUI
+GUI\EMAHelperSettings.lua
+
+#Core
+Core\Core.lua
+Core\Module.lua
+Core\Communications.lua
+
+Core\Team.lua
+Core\Tag.lua
+Core\Message.lua
+
+#Modules
+Modules\Modules.xml
\ No newline at end of file
diff --git a/Libs/EMALibActionButton-1.0.lua b/Libs/EMALibActionButton-1.0.lua
index 80d36c8..c6438ed 100644
--- a/Libs/EMALibActionButton-1.0.lua
+++ b/Libs/EMALibActionButton-1.0.lua
@@ -60,7 +60,7 @@ local str_match, format, tinsert, tremove = string.match, format, tinsert, tremo
 local function isClassicBuild()
 	local isClassicBuild = false
 	local _, _, _, tocversion = GetBuildInfo()
-	if tocversion >= 10000 and tocversion <= 30000 then
+	if tocversion >= 10000 and tocversion <= 40000 then
 		isClassicBuild = true
 	end
 	return isClassicBuild
diff --git a/Libs/LibBagUtils-1.0/LibBagUtils-1.0.lua b/Libs/LibBagUtils-1.0/LibBagUtils-1.0.lua
index c14eee7..3ed6605 100644
--- a/Libs/LibBagUtils-1.0/LibBagUtils-1.0.lua
+++ b/Libs/LibBagUtils-1.0/LibBagUtils-1.0.lua
@@ -40,7 +40,7 @@ local GetItemInfo, GetItemFamily = GetItemInfo, GetItemFamily
 local function isClassicBuild()
 	local isClassicBuild = false
 	local _, _, _, tocversion = GetBuildInfo()
-	if tocversion >= 10000 and tocversion <= 30000 then
+	if tocversion >= 10000 and tocversion <= 40000 then
 		isClassicBuild = true
 	end
 	return isClassicBuild
diff --git a/Locales/Core-Locale-enUS.lua b/Locales/Core-Locale-enUS.lua
index 1179883..c1d8841 100644
--- a/Locales/Core-Locale-enUS.lua
+++ b/Locales/Core-Locale-enUS.lua
@@ -255,6 +255,8 @@ L["STATICPOPUP_REMOVE"] = "Are you sure you wish to remove %s from the team list
 L["SET_FOCUS_MASTER"] = "Sets Focus To Master* "
 L["SET_MASTER_TARGET"] = "Sets Target To Master* "
 L["SET_MASTER_ASSIST"] = "Sets Assist To Master* "
+L["SET_MASTER_FOLLOW"] = "NEW! Sets Follow To Master* "
+L["SET_FOLLOW_STOP"]	= "NEW! Sets Follow To Stop* "
 L["FAKE_KEY_BINDING"] = "* Needs to Press the key on all clones"
 L["BINDING_CLICK_TO_MOVE"] = "Toggle Click To Move"
 L["COMMANDLINE_CLICK_TO_MOVE"] = "Toggles Click To Move <Group> "
diff --git a/Modules/Follow.lua b/Modules/Follow.lua
index b1d84cb..1e6d746 100644
--- a/Modules/Follow.lua
+++ b/Modules/Follow.lua
@@ -10,6 +10,13 @@
 --																					--
 -- ================================================================================ --

+-- DO NOT lOAD FOR WOTLK.
+local _, _, _, tocversion = GetBuildInfo()
+if tocversion >= 30000 and tocversion <= 40000 then
+--if WOW_PROJECT_ID == WOW_PROJECT_WOTLKC then
+	return
+end
+
 -- Create the addon using AceAddon-3.0 and embed some libraries.
 local EMA = LibStub( "AceAddon-3.0" ):NewAddon(
 	"Follow",
@@ -46,7 +53,7 @@ BINDING_NAME_FOLLOWSTOP = L["FOLLOW_STOP"]
 -- Settings - the values to store and their defaults for the settings database.
 EMA.settings = {
 	profile = {
-		warnWhenFollowBreaks = true,
+		warnWhenFollowBreaks = false,
 		followBrokenMessage = L["FOLLOW_BROKEN_MSG"],
 		autoFollowAfterCombat = false,
 		useAfterCombatDelay = false,
@@ -708,6 +715,7 @@ end
 function EMA:OnInitialize()
 	EMA.EMAExternalNoWarnNextBreak = false
 	EMA.EMAExternalNoWarnNextSecondBreak = false
+	-- build change moving follow to toon
 	-- An empty team list.
 	EMA.teamList = {}
 	-- Create the settings control.
@@ -759,6 +767,7 @@ end

 -- Called when the addon is enabled.
 function EMA:OnEnable()
+	EMA.db.warnWhenFollowBreaks = false
 	-- WoW events.
 	EMA:RegisterEvent( "AUTOFOLLOW_BEGIN" )
 	EMA:RegisterEvent( "AUTOFOLLOW_END" )
diff --git a/Modules/Interaction.lua b/Modules/Interaction.lua
index 05cd23b..fa27889 100644
--- a/Modules/Interaction.lua
+++ b/Modules/Interaction.lua
@@ -783,18 +783,19 @@ function EMA:AmNotMounted()
 end

 function EMA:RandomMountWithTeam( info, parameters )
-	if EMAPrivate.Core.isEmaClassicBccBuild() == true then return end
+	--if EMAPrivate.Core.isEmaClassicBccBuild() == true then return end
 	local tag = parameters
 	--EMA:Print("test", tag )
 	EMA:EMASendCommandToTeam( EMA.COMMAND_MOUNT_COMMAND, tag )
 end

 function EMA:ReceiveRandomMountWithTeam( characterName, tag)
-	if EMAPrivate.Core.isEmaClassicBccBuild() == true then return end
+	--if EMAPrivate.Core.isEmaClassicBccBuild() == true then return end
 	--EMA:Print("test", characterName, tag )
 	if EMAApi.IsCharacterInGroup( EMA.characterName, tag ) == true then
 		if IsMounted() == false then
 			C_MountJournal.SummonByID(0)
+			--CallCompanion("mount", "2")
 		else
 			if EMA.db.dismountWithTeam == true then
 				Dismount()
@@ -966,6 +967,7 @@ function EMA:EMAOnCommandReceived( characterName, commandName, ... )
 		end
 	end
 	if commandName == EMA.COMMAND_MOUNT_COMMAND then
+
 		EMA:ReceiveRandomMountWithTeam( characterName, ... )
 	end
 end
diff --git a/Modules/Quest-Classic.lua b/Modules/Quest-Classic.lua
index 63752a6..c3c2711 100644
--- a/Modules/Quest-Classic.lua
+++ b/Modules/Quest-Classic.lua
@@ -1887,11 +1887,19 @@ function EMA:EMADoQuest_TrackQuest(questID, questLogIndex)
 	if EMA.isInternalCommand == false then
 		if ( not IsQuestWatched(questID) ) then
 			AddQuestWatch(questLogIndex, true)
-			AutoQuestWatch_Insert(questLogIndex, QUEST_WATCH_NO_EXPIRE)
-			QuestWatch_Update()
+			local _, _, _, tocversion = GetBuildInfo()
+			if tocversion >= 30000 and tocversion <= 40000 then
+				AddQuestWatch( questIndex )
+			else
+				AutoQuestWatch_Insert(questLogIndex, QUEST_WATCH_NO_EXPIRE)
+				QuestWatch_Update()
+			end
 		end
-		QuestLog_SetSelection(questLogIndex)
-		QuestLog_Update()
+		local _, _, _, tocversion = GetBuildInfo()
+		if tocversion <= 30000 then
+			QuestLog_SetSelection(questLogIndex)
+			QuestLog_Update()
+		end
 	end
 end

@@ -1899,11 +1907,19 @@ end
 function EMA:EMADoQuest_UnTrackQuest(questID, questLogIndex)
 	--EMA:Print("test2", questID, questLogIndex )
 	if ( IsQuestWatched(questLogIndex) ) then
-		RemoveQuestWatch(questLogIndex)
-		QuestWatch_Update()
+		local _, _, _, tocversion = GetBuildInfo()
+		if tocversion >= 30000 and tocversion <= 40000 then
+			RemoveQuestWatch( questIndex )
+		else
+			RemoveQuestWatch(questLogIndex)
+			QuestWatch_Update()
+		end
 	end
-	QuestLog_SetSelection(questLogIndex)
-	QuestLog_Update()
+	local _, _, _, tocversion = GetBuildInfo()
+	if tocversion <= 30000 then
+		QuestLog_SetSelection(questLogIndex)
+		QuestLog_Update()
+	end
 end

 function EMA:QuestMapQuestOptions_EMA_DoAbandonQuest( sender, questID, title )
@@ -1937,7 +1953,12 @@ function EMA:CreateEMAMiniQuestLogFrame()
 	if IsAddOnLoaded("ElvUI" ) == true then
 		frame:SetPoint("BOTTOMLEFT", QuestLogFrame, "BOTTOMLEFT", 40, -80)
 	else
-		frame:SetPoint("BOTTOMLEFT", QuestLogFrame, "BOTTOMLEFT", 40, -30)
+		local _, _, _, tocversion = GetBuildInfo()
+		if tocversion >= 30000 and tocversion <= 40000 then
+			frame:SetPoint("BOTTOMLEFT", QuestLogFrame, "BOTTOMLEFT", 10 , -70 )--40, -30)
+		else
+			frame:SetPoint("BOTTOMLEFT", QuestLogFrame, "BOTTOMLEFT", 40, -30)
+		end
 	end
 		frame:SetBackdrop( {
 		bgFile = "Interface\\DialogFrame\\UI-DialogBox-Background",
diff --git a/Modules/QuestWatcher-Classic.lua b/Modules/QuestWatcher-Classic.lua
index 5d15643..94a8389 100644
--- a/Modules/QuestWatcher-Classic.lua
+++ b/Modules/QuestWatcher-Classic.lua
@@ -965,15 +965,29 @@ function EMA:UpdateHideBlizzardWatchFrame()
 	if EMA.db.enableQuestWatcher == false then
 		return
 	end
-	if EMA.db.hideBlizzardWatchFrame == true then
-		if QuestWatchFrame:IsVisible() then
-			--QuestLogFrame:Hide()
-			QuestWatchFrame:HookScript("OnShow", function(self) self:Hide() end)
-			QuestWatchFrame:Hide()
+	-- WOLTK workaround!
+	local _, _, _, tocversion = GetBuildInfo()
+	if tocversion >= 30000 and tocversion <= 40000 then
+		if EMA.db.hideBlizzardWatchFrame == true then
+			if WatchFrame:IsVisible() then
+				--QuestLogFrame:Hide()
+				WatchFrame:HookScript("OnShow", function(self) self:Hide() end)
+				WatchFrame:Hide()
+			end
+		else
+			WatchFrame:Show()
 		end
 	else
-		QuestWatchFrame:Show()
-	end
+		if EMA.db.hideBlizzardWatchFrame == true then
+			if QuestWatchFrame:IsVisible() then
+				--QuestLogFrame:Hide()
+				QuestWatchFrame:HookScript("OnShow", function(self) self:Hide() end)
+				QuestWatchFrame:Hide()
+			end
+		else
+			QuestWatchFrame:Show()
+		end
+	end
 end

 -------------------------------------------------------------------------------------------------------------
@@ -1011,10 +1025,14 @@ function EMA:AddQuestWatch( questIndex )
 end

 function EMA:RemoveQuestWatch( questIndex )
+	local questIndex = questIndex
 	if EMA.db.enableQuestWatcher == false then
 		return
     end
-    EMA:DebugMessage( "RemoveQuestWatch", questIndex )
+    if questIndex == nil then
+		questIndex = GetQuestLogSelection()
+	end
+	--EMA:Print( "RemoveQuestWatch", questIndex )
 	EMA:UpdateHideBlizzardWatchFrame()
 	EMA:ScheduleTimer( "UpdateHideBlizzardWatchFrame", 0.3 )
 	local title, level, suggestedGroup, isHeader, isCollapsed, isComplete, frequency, questID, startEvent, displayQuestID, isOnMap, hasLocalPOI, isTask, isStory = GetQuestLogTitle( questIndex )
diff --git a/Modules/Toon.lua b/Modules/Toon.lua
index 22e17d7..892c411 100644
--- a/Modules/Toon.lua
+++ b/Modules/Toon.lua
@@ -52,6 +52,14 @@ BINDING_NAME_SETVIEW= L["SET_VIEW"]
 -- Settings - the values to store and their defaults for the settings database.
 EMA.settings = {
 	profile = {
+		--Follow Stuff
+		warnWhenFollowBreaks = true,
+		followBrokenMessage = L["FOLLOW_BROKEN_MSG"],
+		warnFollowPvP = true,
+		onlyWarnIfOutOfFollowRange = false,
+		doNotWarnFollowBreakInCombat = false,
+		doNotWarnFollowBreakMembersInCombat = false,
+		-- WARNINGS
 		warnHitFirstTimeCombat = false,
 		hitFirstTimeMessage = L["ATTACKED"],
 		warnTargetNotMasterEnterCombat = false,
@@ -74,6 +82,7 @@ EMA.settings = {
 		warnCC = true,
 		CcMessage = L["CCED"],
 		warningArea = EMAApi.DefaultWarningArea(),
+		-- Toon
 		autoAcceptResurrectRequest = true,
 		autoAcceptResurrectRequestOnlyFromTeam = true,
 		acceptDeathRequests = true,
@@ -431,6 +440,78 @@ local function SettingsCreateWarnings( top )
 	local left2 = left + thirdWidth
 	local left3 = left + (thirdWidth * 2)
 	local movingTop = top
+	EMAHelperSettings:CreateHeading( EMA.settingsControlWarnings, "", movingTop, true )
+	movingTop = movingTop - headingHeight
+	EMAHelperSettings:CreateHeading( EMA.settingsControlWarnings, L["FOLLOW"], movingTop, true )
+	movingTop = movingTop - headingHeight
+	EMA.settingsControlWarnings.checkBoxWarnWhenFollowBreaks = EMAHelperSettings:CreateCheckBox(
+		EMA.settingsControlWarnings,
+		headingWidth,
+		left,
+		movingTop,
+		L["WARN_STOP_FOLLOWING"],
+		EMA.SettingsToggleWarnWhenFollowBreaks,
+		L["WARN_STOP_FOLLOWING_HELP"]
+	)
+	if EMAPrivate.Core.isEmaClassicBccBuild() == false then
+	movingTop = movingTop - checkBoxHeight
+	EMA.settingsControlWarnings.checkBoxWarnInFollowPvP = EMAHelperSettings:CreateCheckBox(
+		EMA.settingsControlWarnings,
+		headingWidth,
+		left,
+		movingTop,
+		L["WRAN_IN_PVP_COMBAT"],
+		EMA.SettingsToggleWarnWhenFollowPvP,
+		L["WRAN_IN_PVP_COMBAT_HELP"]
+	)
+	end
+	movingTop = movingTop - checkBoxHeight
+	EMA.settingsControlWarnings.checkBoxOnlyWarnIfOutOfFollowRange = EMAHelperSettings:CreateCheckBox(
+		EMA.settingsControlWarnings,
+		headingWidth,
+		left,
+		movingTop,
+		L["ONLY_IF_OUTSIDE_RANGE"],
+		EMA.SettingsToggleOnlyWarnIfOutOfFollowRange,
+		L["ONLY_IF_OUTSIDE_RANGE_HELP"]
+	)
+	movingTop = movingTop - checkBoxHeight
+	EMA.settingsControlWarnings.editBoxFollowBrokenMessage = EMAHelperSettings:CreateEditBox( EMA.settingsControlWarnings,
+		headingWidth,
+		left,
+		movingTop,
+		L["FOLLOW_BROKEN_MESSAGE"]
+	)
+	EMA.settingsControlWarnings.editBoxFollowBrokenMessage:SetCallback( "OnEnterPressed", EMA.EditBoxChangedFollowBrokenMessage )
+	movingTop = movingTop - editBoxHeight
+
+	EMA.settingsControlWarnings.labelDoNotWarnIf = EMAHelperSettings:CreateLabel(
+		EMA.settingsControlWarnings,
+		headingWidth,
+		left,
+		movingTop,
+		L["DO_NOT_WARN"]
+	)
+	movingTop = movingTop - labelHeight
+	EMA.settingsControlWarnings.checkBoxDoNotWarnInCombat = EMAHelperSettings:CreateCheckBox(
+		EMA.settingsControlWarnings,
+		halfWidth,
+		left,
+		movingTop,
+		L["IN_COMBAT"],
+		EMA.SettingsToggleDoNotWarnInCombat,
+		L["IN_COMBAT"]
+	)
+	EMA.settingsControlWarnings.checkBoxDoNotWarnMembersInCombat = EMAHelperSettings:CreateCheckBox(
+		EMA.settingsControlWarnings,
+		halfWidth,
+		column2left,
+		movingTop,
+		L["ANY_MEMBER_IN_COMBAT"],
+		EMA.SettingsToggleDoNotWarnMembersInCombat
+	)
+	movingTop = movingTop - checkBoxHeight
+
 	EMAHelperSettings:CreateHeading( EMA.settingsControlWarnings, L["COMBAT"], movingTop, true )
 	movingTop = movingTop - headingHeight
 	EMA.settingsControlWarnings.checkBoxWarnHitFirstTimeCombat = EMAHelperSettings:CreateCheckBox(
@@ -684,6 +765,17 @@ function EMA:OnEMAProfileChanged()
 end

 function EMA:SettingsRefresh()
+	EMA.settingsControlWarnings.checkBoxWarnWhenFollowBreaks:SetValue( EMA.db.warnWhenFollowBreaks )
+	if EMAPrivate.Core.isEmaClassicBccBuild() == false then
+		EMA.settingsControlWarnings.checkBoxWarnInFollowPvP:SetValue( EMA.db.warnFollowPvP )
+	end
+	EMA.settingsControlWarnings.checkBoxOnlyWarnIfOutOfFollowRange:SetValue( EMA.db.onlyWarnIfOutOfFollowRange )
+	EMA.settingsControlWarnings.editBoxFollowBrokenMessage:SetText( EMA.db.followBrokenMessage )
+
+	EMA.settingsControlWarnings.checkBoxDoNotWarnInCombat:SetValue( EMA.db.doNotWarnFollowBreakInCombat )
+	EMA.settingsControlWarnings.checkBoxDoNotWarnMembersInCombat:SetValue( EMA.db.doNotWarnFollowBreakMembersInCombat )
+
+
 	EMA.settingsControlWarnings.checkBoxWarnHitFirstTimeCombat:SetValue( EMA.db.warnHitFirstTimeCombat )
 	EMA.settingsControlWarnings.editBoxHitFirstTimeMessage:SetText( EMA.db.hitFirstTimeMessage )
 	EMA.settingsControlWarnings.checkBoxWarnTargetNotMasterEnterCombat:SetValue( EMA.db.warnTargetNotMasterEnterCombat )
@@ -824,6 +916,38 @@ end

 -- Warnings Toggles

+function EMA:SettingsToggleWarnWhenFollowBreaks( event, checked )
+	EMA.db.warnWhenFollowBreaks = checked
+	EMA:SettingsRefresh()
+end
+
+function EMA:SettingsToggleWarnWhenFollowPvP( event, checked )
+	EMA.db.warnFollowPvP = checked
+	EMA:SettingsRefresh()
+end
+
+function EMA:SettingsToggleOnlyWarnIfOutOfFollowRange( event, checked )
+	EMA.db.onlyWarnIfOutOfFollowRange = checked
+	EMA:SettingsRefresh()
+end
+
+function EMA:EditBoxChangedFollowBrokenMessage( event, text )
+	EMA.db.followBrokenMessage = text
+	EMA:SettingsRefresh()
+end
+
+function EMA:SettingsToggleDoNotWarnInCombat( event, checked )
+	EMA.db.doNotWarnFollowBreakInCombat = checked
+	EMA:SettingsRefresh()
+end
+
+function EMA:SettingsToggleDoNotWarnMembersInCombat( event, checked )
+	EMA.db.doNotWarnFollowBreakMembersInCombat = checked
+	EMA:SettingsRefresh()
+end
+
+--combat
+
 function EMA:SettingsToggleWarnHitFirstTimeCombat( event, checked )
 	EMA.db.warnHitFirstTimeCombat = checked
 	EMA:SettingsRefresh()
@@ -964,12 +1088,21 @@ end

 -- Initialise the module.
 function EMA:OnInitialize()
+	EMA.EMAExternalNoWarnNextBreak = false
+	EMA.EMAExternalNoWarnNextSecondBreak = false
+
 	-- Create the settings control.
 	SettingsCreate()
 	-- Initialise the EMAModule part of this module.
 	EMA:EMAModuleInitialize( EMA.settingsControlWarnings.widgetSettings.frame )
 	-- Populate the settings.
 	EMA:SettingsRefresh()
+	-- Following flag.
+	EMA.isFollowing = false
+	EMA.warnFollowPvPCombat = true
+	EMA.PvPTimerReset = nil
+	-- Set to true if EMA initiated a follow.
+	EMA.SetFollowTarget = false
 	-- Flag set when told the master about health falling below a certain percentage.
 	EMA.toldMasterAboutHealth = false
 	-- Flag set when told the master about mana falling below a certain percentage.
@@ -991,6 +1124,14 @@ end
 function EMA:OnEnable()
 	EMA.isInternalCommand = false
 	-- WoW events.
+	EMA:RegisterEvent( "AUTOFOLLOW_BEGIN" )
+	EMA:RegisterEvent( "AUTOFOLLOW_END" )
+	EMA:RegisterEvent( "PLAYER_REGEN_DISABLED" )
+	EMA:RegisterEvent( "PLAYER_REGEN_ENABLED" )
+	if EMAPrivate.Core.isEmaClassicBccBuild() == false then
+		EMA:RegisterEvent( "UI_ERROR_MESSAGE", "PVP_FOLLOW" )
+	end
+
 	EMA:RegisterEvent( "UNIT_COMBAT" )
 	EMA:RegisterEvent( "PLAYER_REGEN_DISABLED" )
 	EMA:RegisterEvent( "PLAYER_REGEN_ENABLED" )
@@ -1038,6 +1179,13 @@ end
 function EMA:EMAOnSettingsReceived( characterName, settings )
 	if characterName ~= EMA.characterName then
 		-- Update the settings.
+		EMA.db.warnWhenFollowBreaks = settings.warnWhenFollowBreaks
+		EMA.db.followBrokenMessage = settings.followBrokenMessage
+		EMA.db.doNotWarnFollowBreakInCombat = settings.doNotWarnFollowBreakInCombat
+		EMA.db.doNotWarnFollowBreakMembersInCombat = settings.doNotWarnFollowBreakMembersInCombat
+		EMA.db.warnFollowPvP = settings.warnFollowPvP
+		EMA.db.onlyWarnIfOutOfFollowRange = settings.onlyWarnIfOutOfFollowRange
+
 		EMA.db.warnHitFirstTimeCombat = settings.warnHitFirstTimeCombat
 		EMA.db.hitFirstTimeMessage = settings.hitFirstTimeMessage
 		EMA.db.warnTargetNotMasterEnterCombat = settings.warnTargetNotMasterEnterCombat
@@ -1085,6 +1233,128 @@ function EMA:EMAOnSettingsReceived( characterName, settings )
 	end
 end

+-- new follow
+function EMA:AUTOFOLLOW_BEGIN( event, target, ... )
+	EMA.currentFollowTarget = target
+	EMA.isFollowing = true
+end
+
+function EMA:AUTOFOLLOW_END( event, ... )
+	EMA.isFollowing = false
+	EMA:ScheduleTimer( "AutoFollowEndUpdate", 0.5 )
+end
+
+-- checks the follow system Msg, is there under 1 always 1 unless it fadeing.
+function EMA:AutoFollowEndUpdate()
+	local alpha = AutoFollowStatus:GetAlpha()
+	--EMA:Print("updatetest", test)
+	if alpha < 1 then
+		--EMA:Print("canSend")
+		EMA:AutoFollowEndSend()
+	end
+end
+
+function EMA:AutoFollowEndSend()
+	-- If warn if auto follow breaks is on...
+	local canWarn = false
+	EMA:Print("test", canWarn)
+	if EMA.db.warnWhenFollowBreaks == true then
+		if EMA.SetFollowTarget == false then
+			canWarn = true
+		end
+	end
+	-- Do not warn if on Taxi
+	if UnitOnTaxi("player") == true then
+			--EMA:Print("taxi")
+			canWarn = false
+	end
+	--Do not warn if in combat?
+	if EMA.db.doNotWarnFollowBreakInCombat == true and EMA.outOfCombat == false then
+		--EMA:Print("Do Not warn in comabt")
+		canWarn = false
+	end
+	--Do not warn if a passenger in a vehicle. -- not in classic or bc
+
+	local _, _, _, tocversion = GetBuildInfo()
+	if tocversion >= 10000 and tocversion <= 40000 then
+		if UnitInVehicle("Player") == true and UnitControllingVehicle("player") == false then
+			--EMA:Print("UnitInVehicle")
+			canWarn = false
+		end
+	end
+
+	-- Do not warn if any other members in combat?
+	if EMA.db.doNotWarnFollowBreakMembersInCombat == true and EMA:AreTeamMembersInCombat() == true or UnitAffectingCombat("player") == true then
+		--EMA:Print("doNotWarnFollowBreakMembersInCombat")
+		canWarn = false
+	end
+	-- Check to see if range warning is in effect. This olny works in a party it seems!!
+	if EMA.db.onlyWarnIfOutOfFollowRange == true then
+		if CheckInteractDistance( EMA.currentFollowTarget, 4 ) then
+			--EMA:Print("CheckInteractDistance")
+			canWarn = false
+		end
+	end
+	if EMA.EMAExternalNoWarnNextBreak == true then
+		--EMA:Print("test", EMA.EMAExternalNoWarnNextBreak )
+		canWarn = false
+		EMA.EMAExternalNoWarnNextBreak = false
+	end
+	-- If allowed to warn, then warn.
+	if canWarn == true then
+		EMA:EMASendMessageToTeam( EMA.db.warningArea, EMA.db.followBrokenMessage, false )
+	end
+	EMA.SetFollowTarget = false
+end
+
+function EMA:PLAYER_REGEN_ENABLED()
+	EMA.outOfCombat = true
+end
+
+function EMA:PLAYER_REGEN_DISABLED()
+	EMA.outOfCombat = false
+end
+
+function EMA:PVP_FOLLOW(event, arg1, message, ...  )
+	--EMA:Print("test", message, EMA.warnFollowPvPCombat )
+	if EMA.db.warnFollowPvP == false and EMA.db.warnWhenFollowBreaks == false and EMAPrivate.Core.isEmaClassicBccBuild() == true then
+		return
+	end
+	if message == ERR_INVALID_FOLLOW_TARGET_PVP_COMBAT or message == ERR_INVALID_FOLLOW_PVP_COMBAT then
+
+		if EMA.warnFollowPvPCombat == true then
+			EMA:EMASendMessageToTeam( EMA.db.warningArea, L["PVP_FOLLOW_ERR"], false )
+			EMA.warnFollowPvPCombat = false
+			EMA:ScheduleTimer("ResetPvpWarn", 10, nil )
+			EMA.PvPTimerReset = EMA:EMASendMessageToTeam( EMA.db.warningArea, L["PVP_FOLLOW_ERR"], false )
+		end
+	end
+end
+
+function EMA:ResetPvpWarn()
+	EMA.warnFollowPvPCombat = true
+	EMA:CancelTimer( EMA.PvPTimerReset )
+end
+
+function EMA:AreTeamMembersInCombat()
+	local inCombat = false
+	for index, characterName in EMAApi.TeamListOrdered() do
+		-- Is the team member online?
+		if EMAApi.GetCharacterOnlineStatus( characterName ) == true then
+			-- Yes, is the character in combat?
+			if UnitAffectingCombat( Ambiguate( characterName, "none" ) ) then
+			inCombat = true
+				break
+			end
+		end
+	end
+	return inCombat
+end
+
+---
+
+
+
 function EMA:UNIT_COMBAT( event, unitAffected, action )
 	if EMA.db.warnHitFirstTimeCombat == false then
 		return