--[[ Ѩ: [¶][ʢ][][][][ɢϼ][][][][΢ɻ][ü][ת]
ؼ:
  2Ч 2
Ԫ  1Ч 3
ѩƮҡ  3Ч 1
ĸ  2 2Ч
صͰ  2Ϣ 1 1
  3Ϣ 1
Ĺ    3Ϣ 1

߱˲, ѨؼԼ
--]]

--
local v = {}
v["¼Ϣ"] = true

--
local f = {}

--ѭ
function Main()
	--Զݼ1ҷҡ, עǿݼ趨Ŀݼ1ָİǼϵ1
	if keydown(1) then
		fcast("ҡֱ")
	end

	--
	if fight() and life() < 0.6 then
		fcast("صͰ", true)
	end

	--
	if nobuff("") then
		cast("ķ", true)
	end

	--ʼ
	v[""] = charinfo("")	--뾫ȷƣ * ϵ = ʵʼѪ
	v["Ŀ"] = f["ȡĿ"]()
	v["ĿѪ"] = xlife(v["Ŀ"])
	v["ĿT"] = xmount("ϴ辭|||", v["Ŀ"])
	v["Ѫ"] = 0.5			--Ըݵǰ汾Լװʵ
	v["ĸѪ"] = 0.6
	if v["ĿT"] then	--TĻѪ߶һ
		v["Ѫ"] = 0.6
		v["ĸѪ"] = 0.7
	end

	--------------------------------------------- Ѫ

	--ѩ1
	if casting("ѩƮҡ") and castprog() < 0.34 then return end

	--
	if fight() and v["ĿѪ"] < v["Ѫ"] then
		xcast("Ͱ", v["Ŀ"], true)
		xcast("΢ɻ", v["Ŀ"], true)
	end

	--ĸ
	if v["ĿѪ"] < v["ĸѪ"] then
		xcast("ĸ", v["Ŀ"], true)
	end

	--ĿǵǰڶѩĿ
	if casting("ѩƮҡ") and v["Ŀ"] == casttarget() then
		return
	end

	--Ԫ 
	if v["ĿѪ"] < 0.95 then
		if xbufftime("Ԫ", v["Ŀ"], id()) < -1 then
			xcast("Ԫ", v["Ŀ"], true)
		end
		if xbufftime("", v["Ŀ"], id()) < -1 then
			xcast("", v["Ŀ"], true)
		end
		xcast("Ԫ", v["Ŀ"], true)
	end
	
	--ѩ
	if v["ĿѪ"] < 0.8 then
		xcast("ѩƮҡ", v["Ŀ"], true)
	end

	--ս
	if casting("") and castleft() < 0.13 then
		settimer("")
	end
	if nofight() and gettimer("") > 0.5 then
		xcast("", party("״̬:", "<20", "߿ɴ"))
	end

	--Thot
	xcast("Ԫ", party("û״̬:", "<20", "ڹ:ϴ辭|||", "߿ɴ", "ҵbuffʱ:Ԫ<-1"))
	xcast("", party("û״̬:", "<20", "ڹ:ϴ辭|||", "߿ɴ", "ҵbuffʱ:<-1"))

	--û¸ɾ͸hot
	xcast("", party("û״̬:", "<20", "߿ɴ", "ҵbuffʱ:<-1"))
end

-------------------------------------------------------------------------------

f["ȡĿ"] = function()
	local targetID = id()	--ĿΪԼ, ڶŶʱ party  0
	local partyID = party("û״̬:", "Լ", "<20", "߿ɴ", "ûؾ", "Ѫ")	--ȡѪٶ
	if partyID ~= 0 and partyID ~= targetID and xlife(partyID) < life() then	--ѪٶұԼѪ
		targetID = partyID	--ָΪĿ
	end
	return targetID
end
