function battle_ai045(npcID) --纸人
	local sg=flag.GetBattleValue(12700)
	if sg==0 then
		local ar=battle.GetRndNumber(1,10)
		if ar==1 then
			flag.SetBattleValue(12700,1)
			ui.Popo_Auto(86800,1,npcID,3,0) --竟然有人闯进幻境了吗？咦，还有个蜀山弟子？--竟然有人闯进幻境了吗？咦，还有个蜀山弟子？
			global.WaitForPopo()
		elseif ar==2 or ar==10 then
			flag.SetBattleValue(12700,1)
			ui.Popo_Auto(86801,1,npcID,3,0) --你们熟悉五灵的相生相克吗？不熟的话最好去温习一下，不然待会得吃苦头了~--你们熟悉五灵的相生相克吗？不熟的话最好去温习一下，不然待会得吃苦头了~
			global.WaitForPopo()
		elseif ar==3 then
			flag.SetBattleValue(12700,1)
			ui.Popo_Auto(86802,1,npcID,3,0) --水克火，火克雷，雷克风……风生火，火生土，土生……生……生啥？--水克火，火克雷，雷克风……风生火，火生土，土生……生……生啥？
			global.WaitForPopo()
		end
	end 

    n=flag.GetBattleValue(12045)
    if n~=3 then
		a=battle.GetRndNumber(1,10)
		if a>=1 and a<=3 then
			n=n+1
			flag.SetBattleValue(12045,n)
			id = battle.GetRndPlayer()
			if id==128 and battle.CheckNpcStat(npcID,734)==1 and battle.CheckPlayerStat(128,735)==1 and battle.GetRndNumber(1,10)<=3 then
                battle.SetDamageScale(9999)
				player.RemoveStat(0,64,731)
			end
			battle.AtkToPlayer(id,1)     --普通攻击
		elseif a>=4 and a<=6 then
			id = battle.GetRndPlayer()
			battle.SetDamageScale(1.5)
			if id==128 and battle.CheckNpcStat(npcID,734)==1 and battle.CheckPlayerStat(128,735)==1 and battle.GetRndNumber(1,10)<=3 then
                battle.SetDamageScale(9999)
				player.RemoveStat(0,64,731)
			end
			battle.AtkToPlayer(id,2)     --2号攻击
			n=n+1
			flag.SetBattleValue(12045,n)
		elseif a>=7 and a<=8 then
		    m=flag.GetBattleValue(12816)
			if m<=1 then
				ui.Popo_Auto(86803,1,npcID,1.5,0)--烧吧！烧吧！--烧吧！烧吧！
				global.Wait(0.5)
				m=m+1
				flag.SetBattleValue(12816,m)
			end
			local i
			id=0
			for i=1,7,1 do
				if battle.CheckNpcPlace(i)==0 then
					if npc.GetTemplateID(battle.GetPlaceNpcID(i))==5547 then
						id = battle.GetPlaceNpcID(i)
						battle.MagicToNpc(id,1041,1)   --法术
						flag.SetBattleValue(12045,0)
						flag.SetBattleValue(12817,id)
						break
					end
				end
			end
		
			if id==0 then
				id = battle.GetRndPlayer()
				if battle.CheckNpcStat(npcID,734)==1 then
			    dead=1
			    else
			    dead=0
			    end
				battle.MagicToPlayer(id,1041,1)
				flag.SetBattleValue(12045,0)
			end
		else
			m=flag.GetBattleValue(12816)
			if m<=1 then
				ui.Popo_Auto(86804,1,npcID,1.5,0)--烧吧！烧吧！--烧吧！烧吧！
				global.Wait(0.5)
				m=m+1
				flag.SetBattleValue(12816,m)
			end
			id = battle.GetRndPlayer()
			if battle.CheckNpcStat(npcID,734)==1 then
			dead=1
			else
			dead=0
			end
			battle.MagicToPlayer(id,1041,1)
			flag.SetBattleValue(12045,0) 
	    end
	 
    else
		a=battle.GetRndNumber(1,2)
		m=flag.GetBattleValue(12816)
		if m<=1 then
			ui.Popo_Auto(86805,1,npcID,1.5,0)--烧吧！烧吧！--烧吧！烧吧！
			global.Wait(0.5)
			m=m+1
			flag.SetBattleValue(12816,m)
		end
		local i
		id = 0
		for i=1,7,1 do
			if battle.CheckNpcPlace(i)==0 then
				if npc.GetTemplateID(battle.GetPlaceNpcID(i))==5547 then
					id = battle.GetPlaceNpcID(i)
					battle.MagicToNpc(id,1041,1)   --法术
					flag.SetBattleValue(12045,0)
					flag.SetBattleValue(12817,id)
					break
				end
			end
		end
		
		if id==0 then
			id = battle.GetRndPlayer()
			if battle.CheckNpcStat(npcID,734)==1 then
			dead=1
			else
			dead=0
			end
			battle.MagicToPlayer(id,1041,1)
			flag.SetBattleValue(12045,0)
		end
	end
end