
function MNT2:LoadDruid()
	if select(2, UnitClass("player")) == 'DRUID' then
		self:RegisterEvent("LEARNED_SPELL_IN_TAB")

		self.LEARNED_SPELL_IN_TAB = function(self)
			if GetSpellInfo(GetSpellInfo(783)) then --40% Travel Form
				self.db.global.macros['Druid Ground'] = [[
#showtooltip
/cast <s783>]]
				if not self:MountExists(783) then
					self.db.char.mounts['ground'][40] = self.db.char.mounts['ground'][40] or {}
					self.db.char.mounts['ground'][40][783] = 5
					self.db.char.mountSummonMode[783] = 'instant'
				end
				if (not self.MaxGroundSpeed) or self.MaxGroundSpeed < 40 then
					self.MaxGroundSpeed = 40
				end
			end
			if GetSpellInfo(GetSpellInfo(1066)) then --50% Aquatic Form
				self.db.global.macros['Druid Water'] = [[
#showtooltip
/cast <s1066>]]
				if not self:MountExists(1066) then
					self.db.char.mounts['water'][50] = self.db.char.mounts['water'][50] or {}
					self.db.char.mounts['water'][50][1066] = 5
					self.db.char.mountSummonMode[1066] = 'instant'
				end
			end
			if GetSpellInfo(GetSpellInfo(33943)) then
				self.db.global.macros['Druid Flight'] = [[
#showtooltip
/cast [nomodifier] <s33943>; <s783>]]
				if not self:MountExists(33943) then --60% Flight Form -- needs to be removed if 40120 is found
					self.db.char.mounts['flying'][60] = self.db.char.mounts['flying'][60] or {}
					self.db.char.mounts['flying'][60][33943] = 5
					self.db.char.mountSummonMode[33943] = 'instant'
				end
			end
			if GetSpellInfo(GetSpellInfo(40120)) then --280% Swift Flight Form
				self.db.global.macros['Druid Flight'] = [[
#showtooltip
/cast [nomodifier] <s40120>; <s783>]]
				if not self:MountExists(40120) then
					self.db.char.mounts['flying'][280] = self.db.char.mounts['flying'][280] or {}
					self.db.char.mounts['flying'][280][40120] = 5
					self.db.char.mountSummonMode[40120] = 'instant'
					if self:MountExists(33943) then -- remove 60% flightform since for some reason it get unlearned
						for mountType, typeTable in pairs(self.db.char.mounts) do
							for mountSpeed, speedTable in pairs(typeTable) do
								if speedTable[33943] then
									self.db.char.mounts[mountType][mountSpeed][33943] = nil
									if not next(self.db.char.mounts[mountType][mountSpeed]) then
										self.db.char.mounts[mountType][mountSpeed] = nil
									end
								end
							end
						end
					end
				end
			end
			self:LocalizeIDs()
			self:UpdateMountOptions()
			self:UpdateMainOptions()
		end

		self:LEARNED_SPELL_IN_TAB()
	else
		MNT2.LoadDruid = nil -- not a druid so we can erase any trace of this file and let the GC deal with it
		self.db.global.macros['Druid Ground'] = nil
		self.db.global.macros['Druid Water'] = nil
		self.db.global.macros['Druid Flight'] = nil
	end
end
