<?xml version="1.0" encoding="utf-8"?><waypoints>
	<onLoad>
	-- based on Rock5's Rombot Assist----------------------
	local Version = "0.1c"

	-- User Options ------------------------------------
	local assistname = "NAME"
	-- Change to the name of the char to assist. you have to be in a group
	--
	local attackMode = "auto"
	--
	--      trigger  = Have to trigger each attack with the "go" macro.    /script asTrigger="go";
	--      auto     = Auto attacks targeted mobs. "go" macro toggles it on and off.
	--      disabled = Only heal and buff. Never attacks. "go" macro does nothing.
	-- Note: 'trigger' and 'auto' will always fight back if attacked.
	-- 
	--
	----------------------------------------------------
	--
	--	
	----------------------------------------------------

	function uacTrigger(_time)
		local functime = os.time()
		while not ( os.difftime(os.time(),functime) >= _time) do
			RoMScript("acsMacro();");
			yrest(100)
		end	
	end
	function healTrigger(_time, _anzPlayer)
		local functime = os.time()
		local j = 1
		while not ( os.difftime(os.time(),functime) >= _time) do
			while not (j >= _anzPlayer) do
				if (j==1) then
					RoMScript("TargetUnit('player');");
					yrest(100)
					uacTrigger(1.10)
					cprintf(cli.yellow, "heal\n");
				else
					RoMScript("TargetUnit('party"..j.."');");
					yrest(100)
					uacTrigger(1.10)
					cprintf(cli.yellow, "heal\n");
				end
				j=j+1
			end
			yrest(30)
		end	
	end


	-- Start messages
-- 	cprintf(cli.lightblue, "Rock5's Rombot Assist\n");
-- 	cprintf(cli.white, "Version: %s\n\n", Version);
	cprintf(cli.white, "Attack mode is set to: %s\n", attackMode);
	if attackMode == "trigger" then
		cprintf(cli.yellow, "Use the \"go\" macro to attack targeted mobs.\n");
	elseif attackMode == "auto" then
		cprintf(cli.yellow, "Use the \"go\" macro to toggle auto attack on/off.\n");
	elseif attackMode == "disabled" then
		cprintf(cli.yellow, "Will only buff and heal. Will never fight. \"go\" macro does nothing.\n");
	else
		error("Incorrect value for option 'attackMode'. Please check script.\n",0)
	end
--	inventory:update()

	local myname = RoMScript("UnitName('player');")
	local attack = false 			-- start with attack off
	local i = 1				-- counter
	local chqtime = os.time() - 60		-- check time
	local bufftime = os.time() - 30		-- check time to buff the support
	local prt = 1				-- number of a group member
	prtname = "n"				-- name of a group member
	local ast = false			-- assist
	local folw = true			-- Follow
	local heal = false			-- Groupheal
	local only = false			-- Heal only no fighting 
	local state = false			-- in combat
 
 	if RoMScript("UnitExists('party1')") then
		i = 1
		while not (i >= 7 ) do
			prtname = RoMScript("UnitName('party"..i.."');")
			if (prtname == assistname) then
				sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Assist: Player "..prtname.."|r')")
				prt = i
				ast = true
				break
			end
			i = i + 1
		end
 		prtname = RoMScript("UnitName('party"..prt.."');")
		if (not ast) then
			i = 1
			prtname = RoMScript("UnitName('party"..i.."');")
			sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Assist: "..assistname.." not in Group|r')")
			sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Assist: "..prtname.." instead|r')")
		end
 	else
		sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Assist: Not in Group|r')")	
 	end			
	-- Main loop
	while (true) do
		if attackMode == "disabled" then
			attack = false
		else
			local trigger = RoMScript("asTrigger")
			local GrpHeal = RoMScript("asHeal")
			local onlyHeal = RoMScript("asHealonly")
			local follow = 	RoMScript("asFollow")
			if RoMScript("UnitExists('party1')") then
				if (os.difftime(os.time(),chqtime) >= 60) then
					anzPlayer = 0
					isPlayer = RoMScript("UnitIsPlayer('party1');")
					while (isPlayer) do
						anzPlayer = anzPlayer + 1
						prtname = RoMScript("UnitName('party"..anzPlayer.."');")
						if (prtname == assistname) and ( anzPlayer ~= prt) then
							cprintf(cli.yellow, "Assist: check for member %s\n",assistname);
							sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Assist: Player "..prtname.."|r')")
							prt = anzPlayer
							RoMScript("FocusUnit(1,'party"..prt.."');")
						end
						i = anzPlayer + 1
						isPlayer = RoMScript("UnitIsPlayer('party"..i.."');")
					end
					chqtime = os.time()
				end			
			end
			if trigger == "go" then
				if attackMode == "trigger" then
					attack = true
				elseif attackMode == "auto" then
					attack = (not attack)              -- Toggle attack
					if attack then
						cprintf(cli.yellow, "Assist: Start\n");
						sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Assist: Attack mode on|r')")
					else
						cprintf(cli.yellow, "Assist: Stop\n");
						sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Assist: Attack mode off|r')")
					end
				end
				RoMScript("}asTrigger=nil;a={")         -- Resets trigger
			elseif attackMode == "trigger" then
				attack = false
			end
			if GrpHeal == "go" then
				heal = (not heal)              -- Toggle GroupHeal
				if heal then
					cprintf(cli.yellow, "GroupHeal: Start\n");
					sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB GroupHeal: Start|r')")
				else
					cprintf(cli.yellow, "GroupHeal: Stop\n");
					sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB GroupHeal: Stop|r')")
				end
				RoMScript("}asHeal=nil;a={")         -- Resets trigger
			end
			if onlyHeal == "go" then
				only = (not only)              -- Toggle GroupHeal
				if only then
					cprintf(cli.yellow, "Heal only: Start\n");
					sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Heal only: Start|r')")
				else
					cprintf(cli.yellow, "Heal only: Stop\n");
					sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Heal only: Stop|r')")
				end
				RoMScript("}asHealonly=nil;a={")         -- Resets trigger
			end
			if follow == "go" then
				folw = (not folw)              -- Toggle GroupHeal
				if folw then
					cprintf(cli.yellow, "Follow: Start\n");
					sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Follow: Start|r')")
				else
					cprintf(cli.yellow, "Follow: Stop\n");
					sendMacro("DEFAULT_CHAT_FRAME:AddMessage('|cffffff00RB Follow: Stop|r')")
				end
				RoMScript("}asFollow=nil;a={")         -- Resets trigger
			end

			if (player.Battling == true) or (attack == true) then
				fighttime = 7
				healtime = 3*anzPlayer
				state = RoMScript("GetPlayerCombatState();");
				if (state) and (not heal) and (not only) then
					RoMScript("TargetUnit('party"..prt.."');")
					uacTrigger(1.0)
					while (state) do
						RoMScript("AssistUnit('party"..prt.."');");
						uacTrigger(3.0)
--						RoMScript("TargetUnit('party"..prt.."target');");
--						uacTrigger(2.0)
						RoMScript("TargetUnit('player');");
						uacTrigger(1.0)
						if (folw) then
							RoMScript("FollowUnit('party"..prt.."');"); 
						end
						state = RoMScript("GetPlayerCombatState();")
					end
				elseif (state) and (heal) and (not only) then
					RoMScript("TargetUnit('party"..prt.."');");
					uacTrigger(2.0)
					while (state) do
						RoMScript("AssistUnit('party"..prt.."');")
						uacTrigger(fighttime)
						healTrigger(healtime,anzPlayer)
						if (folw) then
							RoMScript("FollowUnit('party"..prt.."');"); 
						end
						state = RoMScript("GetPlayerCombatState();")
					end
				elseif (state) and (heal) and (only) then
					while (state) do
						healTrigger(healtime,anzPlayer)
						state = RoMScript("GetPlayerCombatState();")
					end
				elseif (not state) and (folw) then
					RoMScript("FollowUnit('party"..prt.."');");
					RoMScript("TargetUnit('party"..prt.."');");
					if (os.difftime(os.time(),bufftime) >= 30) then
						RoMScript("TargetUnit('party"..prt.."');");
						uacTrigger(2.0)
						RoMScript("TargetUnit('player');");
						uacTrigger(2.0)
						bufftime = os.time()
					end			
					uacTrigger(2)
				end
				if (heal) and (only) and (not folw) then
					healTrigger(healtime,anzPlayer)
				end
			end
		end
		player:checkSkills(true, target);
		player:update()
	end
	</onLoad>
</waypoints>
