<?xml version="1.0" encoding="utf-8"?>
<waypoints>
<onLoad><![CDATA[
         startGMDetect()
   	]]></onLoad>

	-- Move to the boss.
	<!-- #  1 --><waypoint x="-18430" z="27012" y="903" tag="start">	
	while not RoMScript("UnitExists('party1')") do
        	sendMacro('InviteByName("2nd Char Name")');
		yrest(2000);
		end;
	</waypoint>
	<!-- #  2 --><waypoint x="-18411" z="26957" y="905">	
		waitForLoadingScreen();
	</waypoint>
	<!-- #  3 --><waypoint x="3320" z="3530" y="1487">
		fly();
	</waypoint>
	<!-- #  4 --><waypoint x="3269" z="3621" y="1610">	</waypoint>
	<!-- #  5 --><waypoint x="3242" z="3682" y="1601">	</waypoint>
	<!-- #  6 --><waypoint x="3192" z="3796" y="1550">	</waypoint>
	<!-- #  7 --><waypoint x="3188" z="3953" y="1518">	</waypoint>
	<!-- #  8 --><waypoint x="3631" z="4102" y="1662">	</waypoint>
	<!-- #  9 --><waypoint x="4029" z="4453" y="1224">	</waypoint>
	<!-- # 10 --><waypoint x="3571" z="4281" y="850">	</waypoint>
	<!-- # 11 --><waypoint x="3478" z="4250" y="769">	
		flyoff();
		yrest(1500);
		player:cast("ROGUE_LIONS_PROTECTION");
		yrest(1000);
		player:cast("ROGUE_SEARING_LIGHT");
		yrest(1000);
		player:cast("ROGUE_YAWAKAS_BLESSING");
		yrest(1000);	
		player:cast("KNIGHT_ENHANCED_ARMOR");
		yrest(500);
		player:updateBuffs();
    		if not player:hasBuff(506687) then
       			inventory:useItem(207203);
			yrest(1500);
       		end
		player:updateBuffs();
    		if not player:hasBuff(506679) then
       			inventory:useItem(207215);
			yrest(1000);
       		end
		player:updateBuffs();
    		if not player:hasBuff(500715) then
       			player:cast("ROGUE_POISON");
			yrest(2000);
       		end
		
		player:updateBuffs();
		if not player:hasBuff(506679) then
			inventory:useItem(207215);
			if not player:hasBuff(506679) then
	    			if not player:hasBuff(506273) then
       					inventory:useItem(206876);
					yrest(1500);
				end
			end
       		end
	</waypoint>


	-- Start the fight.

	<!-- # 12 --><waypoint x="3667" z="4295" y="743"> 
		yrest(1000);	
	</waypoint>
	<!-- # 13 --><waypoint x="3565" z="4271" y="743">
		yrest(3000);

		while 4 > inventory:itemTotalCount(206138) do 
		la = player:findNearestNameOrId(102779)
		lb = player:findNearestNameOrId(102738)
    	   		if la then
				player:target(la);
				player:cast("KNIGHT_HOLY_STRIKE");
				player:loot();
			end
			if lb then
				player:target(lb);
				player:cast("ROGUE_LOW_BLOW");
				yrest(500);
				player:loot();
			end
   	   		
         		yrest(500);
      			item:update(206138)
      			if item.ItemCount == 4 then
      				break
      			end
      			yrest(300);
   		end			
		yrest(1000);
	</waypoint>
	

	-- Prison runes.
	<!-- # 14 --><waypoint x="3631" z="4476" y="743">
		yrest(750);
		player:target_Object(113648);
		yrest(500);
		player:cast("ROGUE_POWER_OF_THE_LION");
		yrest(1000);
		player:cast("ROGUE_LIONS_PROTECTION");
	</waypoint>
	<!-- # 15 --><waypoint x="3997" z="4437" y="743">
		yrest(750);	
		player:target_Object(113648);
	</waypoint>
	<!-- # 16 --><waypoint x="3705" z="4116" y="743">
		yrest(750);	
		player:target_Object(113648);
	</waypoint>
	
	-- Boss fight.
	<!-- # 17 --><waypoint x="3955" z="4177" y="743">
	lboss = player:findNearestNameOrId(102670)
    	if lboss then
		player:cast("ROGUE_INFORMER");
		yrest(750);
		player:cast("ROGUE_UNKNOWN_CHOICE");
		yrest(1000);
		player:updateBuffs();
    		if not player:hasBuff(506675) then
       			inventory:useItem(207211);
			yrest(1000);
       		end
		player:target_Object(113648);
		yrest(1000);
		player:target(lboss);
      		player:cast("ROGUE_FERVENT_ATTACK");
		yrest(750);
		player:cast("ROGUE_ASSASSINS_RAGE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(1000);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(1000);
		player:cast("ROGUE_EVASION");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");

		lc = player:findNearestNameOrId(102777)
		if lc then
			player:target(lc);
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			player:loot();
		end
		yrest(500);
		ld = player:findNearestNameOrId(102776)
		if ld then
			player:target(ld);
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			player:loot();
		end
		yrest(500);
		lc = player:findNearestNameOrId(102777)
		if lc then
			player:target(lc);
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			player:loot();
		end
		yrest(500);

		player:target(lboss);
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");		
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);

		lc = player:findNearestNameOrId(102777)
		if lc then
			player:target(lc);
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			player:loot();
		end

		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(1000);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		
		lc = player:findNearestNameOrId(102777)
		if lc then
			player:target(lc);
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			yrest(500);
			player:cast("KNIGHT_HOLY_STRIKE");
			player:loot();
		end

		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(1000);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(1000);
		player:cast("ROGUE_EVASION");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("ROGUE_SHADOWSTAB");
		yrest(500);
		player:cast("ROGUE_LOW_BLOW");
		yrest(500);
		player:cast("ROGUE_WOUND_ATTACK");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:cast("KNIGHT_HOLY_STRIKE");
		yrest(500);
		player:loot();
		yrest(1000);
		player:cast("ROGUE_POWER_OF_THE_LION");
		yrest(1000);
		player:cast("ROGUE_LIONS_PROTECTION");
	end
	</waypoint>
	<!-- # 19 --><waypoint x="3850" z="4278" y="743">	
		fly();
	</waypoint>
	<!-- # 20 --><waypoint x="3542" z="4316" y="1066">	</waypoint>
	<!-- # 21 --><waypoint x="3840" z="4507" y="1435">	</waypoint>
	<!-- # 22 --><waypoint x="3673" z="4305" y="1610">	</waypoint>
	<!-- # 23 --><waypoint x="3630" z="4175" y="1633">	</waypoint>
	<!-- # 24 --><waypoint x="3764" z="4286" y="1600">	</waypoint>
	<!-- # 25 --><waypoint x="3292" z="4004" y="1566">	</waypoint>
	<!-- # 26 --><waypoint x="3182" z="3883" y="1528">	</waypoint>
	<!-- # 27 --><waypoint x="3230" z="3623" y="1519">
		flyoff();
	</waypoint>
	<!-- #  10 --><waypoint x="3434" z="3448" y="1505">	
		waitForLoadingScreen();
		yrest(6000);
		sendMacro("LeaveParty();")
		cprintf(cli.yellow, "Leaving party, and starting again.\n");
		yrest(3000);
		__WPL:setWaypointIndex(__WPL:findWaypointTag("start"));
	</waypoint>

</waypoints>
