gitxsm 10 hónapja
szülő
commit
004fc74887

+ 18 - 7
script/module/combat/CombatBuff.lua

@@ -41,7 +41,7 @@ end
 
 --控制类buff
 function isControlCmd(cmd)
-	if  cmd == "xuanyun" or cmd == "shihua" or cmd == "bingdong" or cmd == "chanrao" then
+	if  cmd == "xuanyun" or cmd == "shihua" or cmd == "bingdong" or cmd == "chanrao" or cmd == "xuanyun2" then
 		return true
 	end
 end
@@ -53,9 +53,9 @@ function isStop(obj)
 	end
 	local bufferCmd = obj.bufferCmd
 	local ret
-	if bufferCmd["xuanyun"] or bufferCmd["shihua"] or bufferCmd["bingdong"] or bufferCmd["chanrao"] then
+	if bufferCmd["xuanyun"] or bufferCmd["shihua"] or bufferCmd["bingdong"] or bufferCmd["chanrao"] or bufferCmd["xuanyun2"] then
 		ret = 1
-	elseif bufferCmd["xuanyun"] then
+	elseif bufferCmd["xuanyun"] or bufferCmd["xuanyun2"] then
 		ret = 2
 	end
 	return ret
@@ -72,7 +72,7 @@ function IsJustHaveChanraoBuff(obj)
 		return false
 	end
 	
-	if bufferCmd["xuanyun"] or bufferCmd["shihua"] or bufferCmd["bingdong"] then
+	if bufferCmd["xuanyun"] or bufferCmd["shihua"] or bufferCmd["bingdong"] or bufferCmd["xuanyun2"] then
 		return false
 	end
 
@@ -202,6 +202,7 @@ CMD2KEY = {
 	["liuxue2"] = RoleDefine.STATUS_MIANYI_RATE6,
 	["zhongdu"] = RoleDefine.STATUS_MIANYI_RATE7,
     ["hunluan"] = RoleDefine.STATUS_MIANYI_RATE9,
+	["xuanyun2"] = RoleDefine.STATUS_MIANYI_RATE1,
 }
 function isMianyi(obj,cmd)
 	local key = CMD2KEY[cmd]
@@ -237,6 +238,13 @@ local function isMiankong(obj, cmd, attacker, skillKongRate)
     local mianKongRate = obj.attr[RoleDefine.MIANKONG_RATE]
     kongRate = kongRate * (1 - mianKongRate/10000)
     kongRate = kongRate < 0 and 0 or kongRate
+
+
+	if cmd == "xuanyun2" then
+		kongRate = skillKongRate
+	end
+
+
     -- 连击模式 控制概率
     if CombatImpl.comboType > 0 then
        kongRate = kongRate * CombatImpl.comboHurtRate / 10000
@@ -408,6 +416,7 @@ local function canAdd(obj, id, random, attacker, skillConfig)
 	if not conf then
 		return
 	end
+
     -- 非控制buff 走随机
     if not isControlCmd(conf.cmd) then
 		-- print("[canAdd]111111111111 id = "..id.." random = "..random)
@@ -1102,6 +1111,10 @@ function onHit(attacker, skillTargets, skillConfig, cmdTargets, otherArgs)
 					r = r + jobRateAdd[3]
 				end
 
+				if bufferID == 15011 then
+					print("================onHit====================", r)
+				end
+
                 if canAdd(target, bufferID, r, attacker, skillConfig) then
                     local arg
                     if bufferConf.cmd == "zuzhou" then
@@ -1244,9 +1257,7 @@ function onUseBeSkill(attacker,skillConfig,objs,cmdTargets, arg)--attacker是被
 				attackPos = objs[1].pos
 			end
 			for _,target in ipairs(targets) do
-				-- print("[onUseBeSkill]进入加buff判断",skillConfig.id, bufferID)
 				if canAdd(target,bufferID,buffers[i][3], attacker, skillConfig) then
-					-- print("[onUseBeSkill] buff判断条件成功,开始加buff",skillConfig.id, bufferID)
 					isAddSkillFrame = true
 					addBuffer(attackPos,target, bufferID,skillConfig.id,bufferArg1 or bufferArg)
 				end
@@ -2067,7 +2078,7 @@ function onExtraCombatRecord(pos,value,param)
 		obj.extraCombatRecord.liuxue = (obj.extraCombatRecord.liuxue or 0) + value
 	elseif param == "ranshao" then
 		obj.extraCombatRecord.ranshao = (obj.extraCombatRecord.ranshao or 0) + value
-	elseif param == "xuanyun" then
+	elseif param == "xuanyun" or param == "xuanyun2" then
 		obj.extraCombatRecord.xuanyun = (obj.extraCombatRecord.xuanyun or 0) + value
 	elseif param == "revive" then
 		obj.extraCombatRecord.revive = (obj.extraCombatRecord.revive or 0) + value

+ 3 - 3
script/module/combat/CombatObj.lua

@@ -528,7 +528,7 @@ function getStatusHurtRate(attacker,defender)
 	
 	--状态相关伤害加成
 	local extraHurtRate = 0
-	if status["xuanyun"] then
+	if status["xuanyun"] or status["xuanyun2"] then
 		extraHurtRate = extraHurtRate + attr[RoleDefine.STATUS_HURT_RATE1]
 	end
 	if status["shihua"] then
@@ -562,7 +562,7 @@ function getStatusBaoji(attacker,defender)
 	local attr = attacker.attr
 	--状态相关暴击率增加
 	local baoji = 0
-	if status["xuanyun"] then
+	if status["xuanyun"] or status["xuanyun2"] then
 		baoji = baoji + attr[RoleDefine.STATUS_BAOJI_RATE1]
 	end
 	if status["shihua"] then
@@ -600,7 +600,7 @@ function getStatusBaojiHurtRate(attacker,defender)
 	local attr = attacker.attr
 	--状态相关暴击率增加
 	local baoji = 0
-	if status["xuanyun"] then
+	if status["xuanyun"] or status["xuanyun2"] then
 		baoji = baoji + attr[RoleDefine.STATUS_BAOJI_HURT_RATE1]
 	elseif status["shihua"] then
 		baoji = baoji + attr[RoleDefine.STATUS_BAOJI_HURT_RATE2]

+ 1 - 1
script/module/combat/Skill.lua

@@ -870,7 +870,7 @@ end
 
 function CMD.fanji(obj,skillConfig,skillTargets)
 	if CombatImpl.isFanji or CombatImpl.comboType > 0 then return end
-	if CombatBuff.isStatus(obj,{"xuanyun","shihua","bingdong"}) then return end
+	if CombatBuff.isStatus(obj,{"xuanyun","shihua","bingdong", "xuanyun2"}) then return end
 	if obj.side == skillTargets[1].side then
 		return
 	end