Bladeren bron

修改战斗

gitxsm 1 jaar geleden
bovenliggende
commit
37180585db
1 gewijzigde bestanden met toevoegingen van 23 en 2 verwijderingen
  1. 23 2
      script/module/combat/BeSkill.lua

+ 23 - 2
script/module/combat/BeSkill.lua

@@ -1517,6 +1517,8 @@ function getExtraHurtRate(attacker,defender,skillConfig)
     local sexHurt = 0
     local campHurt = 0
     local reJobHurt = 0
+	local buffAndHPSubHurt = 0
+
 	for k,skillList in pairs(attacker.beSkillList)  do
 		for j,v in pairs(skillList)  do
 			--local config = SkillExcel[v[1]]
@@ -1556,8 +1558,27 @@ function getExtraHurtRate(attacker,defender,skillConfig)
 				if canUse(attacker, v) then
 					firstHurt = config.args[1]
 				end
+			elseif config.cmd == "buffAndHPSub" then
+				local nowHp = defender.hp
+				local hpMax = CombatObj.getHpMax(defender)
+				local percent = math.floor((hpMax - nowHp )/hpMax * 100) --已损失血量百分比
+
+				local condCfg = config.args
+				local condRate = condCfg[1]
+
+				if percent >= condRate then
+					local condStatusList = condCfg[2] or {}
+					local objNowSatus = CombatBuff.getStatus(defender)
+
+					for buffCmd in pairs(condStatusList) do
+						if objNowSatus[buffCmd] then
+							buffAndHPSubHurt = condCfg[3] or 0
+							break
+						end
+					end
+				end
 			end
-		end		
+		end
 	end
 
 	for k,skillList in pairs(defender.beSkillList)  do
@@ -1671,7 +1692,7 @@ function getExtraHurtRate(attacker,defender,skillConfig)
        end
     end
 
-	local extraHurtRate = zhanyiRet + zhenduiHurtRate + bodongHurtRet + hpHurtRate + extraSpeedHurt + firstHurt + sexHurt + campHurt + reJobHurt + campHurtRate
+	local extraHurtRate = zhanyiRet + zhenduiHurtRate + bodongHurtRet + hpHurtRate + extraSpeedHurt + firstHurt + sexHurt + campHurt + reJobHurt + campHurtRate + buffAndHPSubHurt
 	if attacker.beSkillList[BESKILL_TYPE40] and attacker.beforeHitCheck then
 		for _,v in ipairs(attacker.beSkillList[BESKILL_TYPE40]) do
 			--local skillConfig = SkillExcel[v[1]]