Kaynağa Gözat

修改宝石加成公式

gitxsm 8 ay önce
ebeveyn
işleme
7bd0635d50
1 değiştirilmiş dosya ile 20 ekleme ve 4 silme
  1. 20 4
      script/module/hero/HeroEquip.lua

+ 20 - 4
script/module/hero/HeroEquip.lua

@@ -341,7 +341,11 @@ function doCalcHero(obj,attrs)
 
 
 				--装备基础属性
 				--装备基础属性
 				for _,v in ipairs(baseAttrs) do
 				for _,v in ipairs(baseAttrs) do
-					RoleAttr.updateValue(v[1],mathFloor(v[2] * baseRate * (1 + (suitBonusTbl and suitBonusTbl.base or 0))),attrs)
+					if equipConfig.subType == ItemDefine.EQUIP_SUBTYPE_RING or equipConfig.subType == ItemDefine.EQUIP_SUBTYPE_AMULET then
+						RoleAttr.updateValue(v[1],mathFloor(v[2] * baseRate * (1 + (suitBonusTbl and suitBonusTbl.sp_base or 0))),attrs)
+					else
+						RoleAttr.updateValue(v[1],mathFloor(v[2] * baseRate * (1 + (suitBonusTbl and suitBonusTbl.base or 0))),attrs)
+					end
 				end
 				end
 
 
                 -- 洗练属性
                 -- 洗练属性
@@ -374,6 +378,12 @@ function doCalcHero(obj,attrs)
 					equipSuitCntTable[equipConfig.suit] = equipSuitCntTable[equipConfig.suit] or {cnt = 0}
 					equipSuitCntTable[equipConfig.suit] = equipSuitCntTable[equipConfig.suit] or {cnt = 0}
 					equipSuitCntTable[equipConfig.suit].equipID = equipID
 					equipSuitCntTable[equipConfig.suit].equipID = equipID
 					equipSuitCntTable[equipConfig.suit].cnt = equipSuitCntTable[equipConfig.suit].cnt + 1
 					equipSuitCntTable[equipConfig.suit].cnt = equipSuitCntTable[equipConfig.suit].cnt + 1
+
+					-- 是否是戒指, 护符
+					equipSuitCntTable[equipConfig.suit].isSpEquip = 0
+					if equipConfig.subType == ItemDefine.EQUIP_SUBTYPE_RING or equipConfig.subType == ItemDefine.EQUIP_SUBTYPE_AMULET then
+						equipSuitCntTable[equipConfig.suit].isSpEquip = 1
+					end
 				end
 				end
 			end
 			end
 		end
 		end
@@ -389,11 +399,17 @@ function doCalcHero(obj,attrs)
 					local keyTemp = equipConfigTemp.suitIm[i][1]
 					local keyTemp = equipConfigTemp.suitIm[i][1]
 					local valTemp = equipConfigTemp.suitIm[i][2]
 					local valTemp = equipConfigTemp.suitIm[i][2]
 					if v.cnt > i then
 					if v.cnt > i then
-						if suitBonusTbl and suitBonusTbl[i+1] then
-							--suitIm={{203,2500},{201,2500},{219,1500}}
+						-- 普通套装
+						if v.isSpEquip ~= 1 and (suitBonusTbl and suitBonusTbl[i+1]) then
 							--这里i+1的原因是,装备套装属性配置suitIm中, idx为1的value是2件套加成, idx为2的是3件套加成,以此类推
 							--这里i+1的原因是,装备套装属性配置suitIm中, idx为1的value是2件套加成, idx为2的是3件套加成,以此类推
-							valTemp = valTemp * (1 + suitBonusTbl[i+1]) --宝石对套装的加成
+							valTemp = valTemp + (suitBonusTbl[i+1] * 10000) --宝石对套装的加成
 						end
 						end
+
+						-- 戒指,护符套装
+						if v.isSpEquip == 1 and (suitBonusTbl and suitBonusTbl.sp_suit) then
+							valTemp = valTemp + (suitBonusTbl.sp_suit * 10000)
+						end
+
 						RoleAttr.updateValue(keyTemp,valTemp,attrs)
 						RoleAttr.updateValue(keyTemp,valTemp,attrs)
 					end
 					end
 				end
 				end