function battle_sai028(npcID)       --一贫

	hp=battle.GetSelfHP(2)

	nowhp=battle.GetSelfHP(1)
	lasthp=flag.GetBattleValue(52223)
	if lasthp==0 then lasthp=72000 end
	flag.SetBattleValue(52223,nowhp)
	
if flag.GetBattleValue(52225)==1 then--如果已经被计时脚本标记为胜利
	battle.End(50000)--直接胜利
else
	
	--上回合是否有效进攻判定
	if battle.CheckPlayerStat(16,725)==1 then sh=1440 else sh=0 end
	if shs==1 then sh=0 end--2次开阵时消除罡1440血影响
	local pd=lasthp-nowhp-sh
	fangshou=flag.GetBattleValue(52229)
	
	if flag.GetBattleValue(52224)==1 then pd1=620 pd2=1100--0.4秒
	elseif flag.GetBattleValue(52224)==2 then pd1=830 pd2=1400--0.3秒
	elseif flag.GetBattleValue(52224)==3 then pd1=1200 pd2=1800--0.2秒
	elseif flag.GetBattleValue(52224)==0 then pd1=500 pd2=1000--0.5秒
	end
	
    if pd<=pd1 then fangshou=fangshou+1 --ui.Message(170820)--上回合攻击太少，防守了
	elseif pd<=pd2 then fangshou=fangshou+0.3 --ui.Message(170819)--可能miss了
	else
	fangshou=fangshou-0.8--上回合伤害量足够
	--ui.Message(170818)--测试用
	end
	if fangshou<0 then fangshou=0 end
	flag.SetBattleValue(52229,fangshou)
	global.Print(fangshou)--测试用
	

	if battle.CheckPlayerStat(16,725)==1 then
	    for se=1,7,1 do
        if battle.CheckNpcPlace(se)==0 then
	    local tid=battle.GetPlaceNpcID(se)
		    if npc.GetHP(tid,1)>2 then
			   npc.CreateSE(tid,3844)--剑斩的特效
			   global.PlaySound(531,200)--音效插入
			   npc.ChangeHP(1,0,tid,-2)
			end
	    end
		end	
	wt(1.5)
	end
	
	
	if hp>70 and flag.GetBattleValue(12001)==0	then

		n=flag.GetBattleValue(15186)
	  
		if n~=4 then

		a=battle.GetRndNumber(1,10) 
		shs=0
			if a>=1 and a<=3 then
				n=n+1
				flag.SetBattleValue(15186,n)
				id=battle.GetRndPlayer()        --普通攻击
				battle.MagicToPlayer(id,1506,1)
			elseif a>=4 and a<=5 then			--单体技能-天剑
				n=n+1
				flag.SetBattleValue(15186,n)
				id=battle.GetRndPlayer()
				battle.MagicToPlayer(id,1509,2)
			elseif a>=6 and a<=8 then    		--单体技能-御剑术
				n=n+1
				flag.SetBattleValue(15186,n)
				id=battle.GetRndPlayer()
				battle.MagicToPlayer(id,1503,2)
			elseif a>=9 and a<=10 then          --全体技能-万剑诀
				flag.SetBattleValue(15186,0)
				battle.MagicToPlayer(0,1504,2)
			end

		else

			flag.SetBattleValue(15186,0)
			battle.MagicToPlayer(0,1504,2)

		end
		
	elseif hp<=70 and flag.GetBattleValue(12001)==0	then
	
	        global.PlayMusic(121,400,1000)
	
			player.RemoveStat(1,0,36)  --移除烤鸭状态
			player.RemoveStat(1,0,28)  --移除隐身状态
			player.RemoveStat(1,0,47)  --移除精减半状态
			for i=19,24,1 do
			player.RemoveStat(1,0,i)--持续类回血回蓝效果
			end
			
			hp1=battle.GetSelfHP(1)
			
			flag.SetBattleValue(12001,1)
			local x,y,z=npc.GetPos(npcID)
			npc.CreateFloat(13402,80001,x,y+300,z)
			npc.CreateFloat(13403,80002,x,y+300,z)
			npc.CreateFloat(13404,80003,x,y+300,z)
			npc.CreateFloat(13405,80004,x,y+300,z)
			npc.SetSpeed(80001,3)
			npc.SetSpeed(80002,3)
			npc.SetSpeed(80003,3)
			npc.SetSpeed(80004,3)
			player.SetAnim(16,220)
			npc.SetAnim(npcID,226,1)
			
			
			npc.CreateFloat(13401,79997,x,y,z)
			npc.CreateFloat(13406,79998,x,y,z)
			npc.CreateFloat(13407,79999,x,y,z)
			npc.CreateFloat(13408,80000,x,y,z)
			
			for i=79997,80004,1 do
				npc.Disable(i)
			end
			
			player.CreateSE(16,4461)
			npc.FloatTo(80001,x,y,z,0)
			npc.FloatTo(80002,x,y,z,0)
			npc.FloatTo(80003,x,y,z,0)
			npc.FloatTo(80004,x,y,z,1)
			
			player.AddStat(1,0,100,88,1000)  --守一状态禁止道具和仙术
			player.ChangeDP(1,0,-100)    --禁止绝技
			player.ChangeHP(1,1,0,100)   --满血
			
			if hp1<50400 then
				local a=50400-hp1
				npc.ChangeHP(0,1,0,a)
			end
			player.SetAnim(16,2)
			
			ti=1
			flag.SetBattleValue(52229,0)--清空防守值
			lasthp=50400
			flag.SetBattleValue(52223,lasthp)
			shs=1
			
			flag.SetBattleValue(12002,4)
			flag.SetBattleValue(12003,1)
			npc.AddStat(0,npcID,100,44,1000)
			flag.SetBattleValue(12004,0)
			ui.Dialog(96104,110,0,0,16,0)
			ui.Dialog(170816,110,0,0,16,0)

			global.AddTimer(0.5,21900)
			battle.MakeNpcQueueEnd(npcID)--不让一贫开阵后连动
			battle.Skip()
			battle.MakeNpcQueueEnd(npcID)
		
	elseif flag.GetBattleValue(12001)==1	then 
	
	    if hp>50 then
			global.PlaySound(520101,400)
			flag.SetBattleValue(52222,1)--一贫行动时屏蔽扣血用	
	
			flag.SetBattleValue(12004,0)
		    player.SetAnim(16,220)
			ti=ti+1
			
			shs=0
			
			if fangshou>=2.5 then--防守值达到2.5一贫强制开大招
			    flag.SetBattleValue(52222,10)--一贫行动时屏蔽扣血用
			    flag.SetBattleValue(52229,0)--清空防守值
			    ui.Popo_Auto(170817,1,npcID,1,1)				
				battle.MagicToPlayer(0,3511,2)--万剑诀
			
			else
			
			if ti>=4 then
			    flag.SetBattleValue(52222,10)--一贫行动时屏蔽扣血用	
			    id=battle.GetRndPlayer()
				battle.MagicToPlayer(id,3509,2)--天剑
				ti=1
			else
				id=battle.GetRndPlayer()        --普通攻击
				battle.MagicToPlayer(id,3506,1)
			end	
			end
			
		else
			global.PlaySound(520101,400)
			flag.SetBattleValue(52222,2)--P3刚触发的情况
			--player.RemoveStat(1,0,88)--移除守一
			player.SetAnim(16,220)
			npc.SetAnim(npcID,226,1)
			player.ChangeDP(1,0,10)
			flag.SetBattleValue(12004,0)
			--player.SetAnim(16,2)
			wt(1)
			ui.Dialog(170813,110,0,0,16,0)--终于露出破绽了
			flag.SetBattleValue(12001,2)
			flag.SetBattleValue(52222,3)
			battle.Skip()
		
		end
		
	
	elseif flag.GetBattleValue(12001)==2 then
	
	    if hp>30 then
  		    battle.MagicToNpc(npcID,3510,1)
	
	    else
			flag.SetBattleValue(52222,10)--一贫行动时屏蔽扣血用	
	
			player.RemoveStat(1,0,36)  --移除烤鸭状态
			player.RemoveStat(1,0,28)  --移除隐身状态
			player.RemoveStat(1,0,47)  --移除精减半状态
			for i=19,24,1 do
			player.RemoveStat(1,0,i)--持续类回血回蓝效果
			end
			
			hp1=battle.GetSelfHP(1)
			
			
			player.SetAnim(16,220)
			npc.SetAnim(npcID,226,1)
			
			player.AddStat(1,0,100,88,1000)  --守一状态禁止道具和仙术
			player.ChangeDP(1,0,-100)    --禁止绝技
			--player.ChangeHP(1,1,0,100)   --满血
			
			if hp1<21600 then
				local a=21600-hp1
				npc.ChangeHP(0,1,0,a)
			end
			--player.SetAnim(16,2)
		    flag.SetBattleValue(52229,0)--清空防守值
			lasthp=21600
			flag.SetBattleValue(52223,lasthp)
			shs=1
			
		    flag.SetBattleValue(52224,1)--设置0.4秒
			
			flag.SetBattleValue(12004,0)
			--wt(3)
			ui.Dialog(170814,110,0,0,16,0)--剑阵速度极快
			flag.SetBattleValue(12001,3)
			flag.SetBattleValue(52222,0)
			ti=1
			battle.MakeNpcQueueEnd(npcID)--不让一贫开阵后连动
			battle.Skip()
			battle.MakeNpcQueueEnd(npcID)
		end
	
	elseif flag.GetBattleValue(12001)==3 then
			npc.ChangeHP(0,1,0,960)
			global.PlaySound(520101,400)
			flag.SetBattleValue(52222,10)--一贫行动时屏蔽扣血用	
			now=flag.GetBattleValue(52224)
	        if now<=2 then
			    flag.SetBattleValue(52224,now+1)--依次设置0.3、0.2秒
			else
			    flag.SetBattleValue(52224,1)--重新设置0.4秒
			end
			flag.SetBattleValue(12004,0)
		    player.SetAnim(16,220)
			ti=ti+1
			shs=0
			
			if battle.GetSelfHP(1)<13500 and flag.GetBattleValue(52226)==0 then
			flag.SetBattleValue(52226,1)
			global.EnableSkipDialog(0)
			ui.Dialog_t(170815,110,0,0,16,0,2)--只差一点了。
			global.EnableSkipDialog(1)
			end

		if fangshou>=2.5 then--防守值达到2.5一贫强制开大招
			flag.SetBattleValue(52222,10)--一贫行动时屏蔽扣血用
			flag.SetBattleValue(52229,0)--清空防守值
			ui.Popo_Auto(170817,1,npcID,1,1)				
			battle.MagicToPlayer(0,3511,2)--万剑诀
			
		else
			
		if ti>=3 then
			flag.SetBattleValue(52222,10)--一贫行动时屏蔽扣血用	
			id=battle.GetRndPlayer()
			battle.MagicToPlayer(id,3503,2)--御剑术
			ti=1
		else
		    flag.SetBattleValue(52222,1)--一贫行动时屏蔽扣血用
			--player.ChangeHP(1,1,0,32,1)
			id=battle.GetRndPlayer()--普通攻击
			battle.MagicToPlayer(id,3506,1)
		end
		end	
		
	end


end	
	
end