| Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroSkinOP.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroSkinOP.cs.meta | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroWearSkin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/HeroUI/HeroCollectionCardCell.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/HeroUI/HeroCollectionLvUpWin.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/HeroUI/HeroUIManager.Collect.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Main/FightPowerFormula.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| Main/System/Main/FightPowerManager.cs | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroSkinOP.cs
New file @@ -0,0 +1,24 @@ using UnityEngine; using System.Collections; // B2 36 武将皮肤操作 #tagCSHeroSkinOP public class CB236_tagCSHeroSkinOP : GameNetPackBasic { public uint HeroID; //武将ID public uint SkinID; //时装ID public byte OPType; //操作 1-激活;2-佩戴;3-升星 public ushort ItemIndex; //武将物品所在武将背包位置索引,仅佩戴时有效 public CB236_tagCSHeroSkinOP () { combineCmd = (ushort)0x03FE; _cmd = (ushort)0xB236; } public override void WriteToBytes () { WriteBytes (HeroID, NetDataType.DWORD); WriteBytes (SkinID, NetDataType.DWORD); WriteBytes (OPType, NetDataType.BYTE); WriteBytes (ItemIndex, NetDataType.WORD); } } Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroSkinOP.cs.meta
File was renamed from Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroWearSkin.cs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 guid: d05540ed30efe1e45bcf656bf5fb9518 guid: 2dd991d5ee1914b4ca233ca3b7809e04 MonoImporter: externalObjects: {} serializedVersion: 2 Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroWearSkin.cs
File was deleted Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs
@@ -17,23 +17,29 @@ for (int i = 0; i < HeroCnt; i ++) { HeroInfoList[i] = new tagSCHero(); TransBytes (out HeroInfoList[i].HeroID, vBytes, NetDataType.DWORD); TransBytes (out HeroInfoList[i].SkinState, vBytes, NetDataType.DWORD); TransBytes (out HeroInfoList[i].BookInitState, vBytes, NetDataType.BYTE); TransBytes (out HeroInfoList[i].BookStarLV, vBytes, NetDataType.WORD); TransBytes (out HeroInfoList[i].BookBreakLV, vBytes, NetDataType.WORD); TransBytes (out HeroInfoList[i].BookStarLVH, vBytes, NetDataType.WORD); TransBytes (out HeroInfoList[i].BookBreakLVH, vBytes, NetDataType.WORD); TransBytes (out HeroInfoList[i].SkinCnt, vBytes, NetDataType.BYTE); HeroInfoList[i].SkinList = new tagSCHeroSkin[HeroInfoList[i].SkinCnt]; for (int j = 0; j < HeroInfoList[i].SkinCnt; j ++) { HeroInfoList[i].SkinList[j] = new tagSCHeroSkin(); TransBytes (out HeroInfoList[i].SkinList[j].SkinID, vBytes, NetDataType.DWORD); TransBytes (out HeroInfoList[i].SkinList[j].State, vBytes, NetDataType.BYTE); TransBytes (out HeroInfoList[i].SkinList[j].Star, vBytes, NetDataType.BYTE); } } } public class tagSCHero { public uint HeroID; // 武将ID public uint SkinState; // 武将皮肤已解锁状态信息,按皮肤所在索引二进制位运算判断是否解锁,0索引位默认皮肤,不用验证 public byte BookInitState; // 图鉴激活状态:0-未激活;1-可激活;2-已激活 public ushort BookStarLV; // 图鉴星级等级 public ushort BookBreakLV; // 图鉴突破等级 public ushort BookStarLVH; // 图鉴星级历史最高等级 public ushort BookBreakLVH; // 图鉴突破历史最高等级 public byte SkinCnt; public tagSCHeroSkin[] SkinList; // 非默认皮肤信息列表 } public class tagSCHeroSkin { public uint SkinID; //皮肤ID,只通知非默认皮肤 public byte State; //是否已激活 public byte Star; //星级 } } Main/System/HeroUI/HeroCollectionCardCell.cs
@@ -50,25 +50,11 @@ { trainStateImg.SetActive(false); } nameText.text = colData.BookBreakLV == 0 ? heroConfig.Name : Language.Get("herocardbreaklv", heroConfig.Name, colData.BookBreakLV); nameText.text = heroConfig.Name; for (int i = 0; i < starImgList.Count; i++) { if (colData.BookStarLV == 0 && i == 0) { // 无星级 特殊处理 starImgList[i].SetActive(true); starImgList[i].SetSprite("herostar" + colData.BookStarLV); } else if ((colData.BookStarLV - 1) % starImgList.Count >= i) { starImgList[i].SetActive(true); starImgList[i].SetSprite("herostar" + (((colData.BookStarLV - 1) / starImgList.Count) + 1) * starImgList.Count); } else { starImgList[i].SetActive(false); } } heroCardBtn.AddListener(() => Main/System/HeroUI/HeroCollectionLvUpWin.cs
@@ -95,8 +95,8 @@ { // fullPanel.SetActive(true); lvupPanel.SetActive(state == 1); fullHeadCell.Init(HeroUIManager.Instance.selectCollectHeroID, config.SkinIDList[0], colData.BookStarLV); name3.text = colData.BookBreakLV == 0 ? config.Name : Language.Get("herocardbreaklv", config.Name, colData.BookBreakLV); fullHeadCell.Init(HeroUIManager.Instance.selectCollectHeroID, config.SkinIDList[0]); name3.text = config.Name; btn.SetActive(true); @@ -109,8 +109,6 @@ awardInfo.text = string.Empty; unActiveGo.SetActive(false); // titleText.text = Language.Get("HeroAwake12"); int afterBreakLV = colData.BookBreakLV; int afterStarLV = colData.BookStarLV; if (state == 1) { lvupPanel.SetActive(true); Main/System/HeroUI/HeroUIManager.Collect.cs
@@ -139,20 +139,6 @@ } } //图鉴总上限等级 = 图鉴星级上限 + 图鉴突破上限 public int GetHeroBookMaxLevel(int heroID, int quality) { return GetMaxStarCount(heroID, quality) + HeroBreakConfig.GetMaxBreakLv(heroID); } public int GetHeroBookLevel(int heroID) { if (heroCollectInfoDic.ContainsKey(heroID)) { return heroCollectInfoDic[heroID].BookStarLV + heroCollectInfoDic[heroID].BookBreakLV; } return 0; } //分为0未获得、1可激活、2常规、3突破升级、4、星升级、5已满级 public int GetHeroBookState(int heroID, int quality) Main/System/Main/FightPowerFormula.cs
@@ -13,6 +13,7 @@ private const string HORSEVALUE_VALUE = "horseValue"; private const string BEAUTYVALUE_VALUE = "beautyValue"; private const string FATESVALUE_VALUE = "fatesValue"; private const string SKINVALUE_VALUE = "skinValue"; private const string DINGJUNGEVALUE_VALUE = "dingjungeValue"; private const string MINGGEVALUE_VALUE = "minggeValue"; private const string LINEUPHALOPER_VALUE = "lineupHaloPer"; @@ -22,6 +23,7 @@ private const string HORSEPER_VALUE = "horsePer"; private const string BEAUTYPER_VALUE = "beautyPer"; private const string FATESPER_VALUE = "fatesPer"; private const string SKINPER_VALUE = "skinPer"; private const string CARDPER_VALUE = "cardPer"; private const string MINGGEPER_VALUE = "minggePer"; private const string INHERITPER_VALUE = "inheritPer"; @@ -32,6 +34,7 @@ private const string DINGJUNGEPER_VALUE = "dingjungePer"; private const string HEROSELFVALUE_VALUE = "heroSelfValue"; private const string HEROLVVALUE_VALUE = "heroLVValue"; private const string HEROSKINVALUE_VALUE = "heroSkinValue"; private const string LINEUPHALOVALUE_VALUE = "lineupHaloValue"; private const string STARTALENTVALUE_VALUE = "starTalentValue"; private const string BREAKLVVALUE_VALUE = "breakLVValue"; @@ -137,9 +140,9 @@ private const string OFFICIALLV_VALUE = "OfficialLV"; // 基础属性公式 // (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer+minggePer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue // (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+skinValue+dingjungeValue+minggeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+skinPer+cardPer+minggePer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue+heroSkinValue // 战斗属性公式 // (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue // (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)+(heroSelfValue+heroSkinValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue // 战斗力公式 // long(Atk*AtkRatio+MaxHP*MaxHPRatio+Def*DefRatio+AtkSpeed*AtkSpeedRatio+(StunRate*StunRateRatio+SuperHitRate*SuperHitRateRatio+ComboRate*ComboRateRatio+MissRate*MissRateRatio+ParryRate*ParryRateRatio+SuckHPPer*SuckHPPerRatio+StunRateDef*StunRateDefRatio+SuperHitRateDef*SuperHitRateDefRatio+ComboRateDef*ComboRateDefRatio+MissRateDef*MissRateDefRatio+ParryRateDef*ParryRateDefRatio+SuckHPPerDef*SuckHPPerDefRatio+FinalDamPer*FinalDamPerRatio+FinalDamPerDef*FinalDamPerDefRatio+PhyDamPer*PhyDamPerRatio+PhyDamPerDef*PhyDamPerDefRatio+MagDamPer*MagDamPerRatio+MagDamPerDef*MagDamPerDefRatio+NormalSkillPer*NormalSkillPerRatio+NormalSkillPerDef*NormalSkillPerDefRatio+AngerSkillPer*AngerSkillPerRatio+AngerSkillPerDef*AngerSkillPerDefRatio+SuperDamPer*SuperDamPerRatio+SuperDamPerDef*SuperDamPerDefRatio+CurePer*CurePerRatio+CurePerDef*CurePerDefRatio+ShieldPer*ShieldPerRatio+ShieldPerDef*ShieldPerDefRatio+DOTPer*DOTPerRatio+DOTPerDef*DOTPerDefRatio+WeiFinalDamPer*WeiFinalDamPerRatio+WeiFinalDamPerDef*WeiFinalDamPerDefRatio+ShuFinalDamPer*ShuFinalDamPerRatio+ShuFinalDamPerDef*ShuFinalDamPerDefRatio+WuFinalDamPer*WuFinalDamPerRatio+WuFinalDamPerDef*WuFinalDamPerDefRatio+QunFinalDamPer*QunFinalDamPerRatio+QunFinalDamPerDef*QunFinalDamPerDefRatio+PVPDamPer*PVPDamPerRatio+PVPDamPerDef*PVPDamPerDefRatio+Guanchuan*GuanchuanRatio+GuanchuanDef*GuanchuanDefRatio+Zhaojia*ZhaojiaRatio+ZhaojiaDef*ZhaojiaDefRatio)/100.0-55000) // 技能战斗力公式 @@ -155,6 +158,7 @@ double horseValue = variables[HORSEVALUE_VALUE]; double beautyValue = variables[BEAUTYVALUE_VALUE]; double fatesValue = variables[FATESVALUE_VALUE]; double skinValue = variables[SKINVALUE_VALUE]; double dingjungeValue = variables[DINGJUNGEVALUE_VALUE]; double minggeValue = variables[MINGGEVALUE_VALUE]; double lineupHaloPer = variables[LINEUPHALOPER_VALUE]; @@ -164,6 +168,7 @@ double horsePer = variables[HORSEPER_VALUE]; double beautyPer = variables[BEAUTYPER_VALUE]; double fatesPer = variables[FATESPER_VALUE]; double skinPer = variables[SKINPER_VALUE]; double cardPer = variables[CARDPER_VALUE]; double minggePer = variables[MINGGEPER_VALUE]; double inheritPer = variables[INHERITPER_VALUE]; @@ -174,8 +179,9 @@ double dingjungePer = variables[DINGJUNGEPER_VALUE]; double heroSelfValue = variables[HEROSELFVALUE_VALUE]; double heroLVValue = variables[HEROLVVALUE_VALUE]; double heroSkinValue = variables[HEROSKINVALUE_VALUE]; return (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer+minggePer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue; return (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+skinValue+dingjungeValue+minggeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+skinPer+cardPer+minggePer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue+heroSkinValue; } public static double GetFightAttr(Dictionary<string, double> variables) @@ -191,13 +197,14 @@ double dingjungeValue = variables[DINGJUNGEVALUE_VALUE]; double minggeValue = variables[MINGGEVALUE_VALUE]; double heroSelfValue = variables[HEROSELFVALUE_VALUE]; double heroSkinValue = variables[HEROSKINVALUE_VALUE]; double lineupHaloValue = variables[LINEUPHALOVALUE_VALUE]; double starTalentValue = variables[STARTALENTVALUE_VALUE]; double breakLVValue = variables[BREAKLVVALUE_VALUE]; double awakeTalentValue = variables[AWAKETALENTVALUE_VALUE]; double fetterValue = variables[FETTERVALUE_VALUE]; return (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)+(heroSelfValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue; return (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)+(heroSelfValue+heroSkinValue+lineupHaloValue+starTalentValue+breakLVValue+awakeTalentValue)+fetterValue; } public static double GetFightPower(Dictionary<string, double> variables) Main/System/Main/FightPowerManager.cs
@@ -364,6 +364,13 @@ var fetterPer = hero.GetFetterAttrPer(attrType) / 10000.0; var heroLVValue = hero.GetHeroLVValue(attrType); //武将皮肤 var skinValue = 0; var skinPer = 0; var heroSkinValue = 0; var heroSkinPer = 0; double value = (lvValue+equipValue+realmValue+gubaoValue+hjgValue+horseValue+beautyValue+fatesValue+dingjungeValue+minggeValue)*(1+lineupHaloPer+realmPer+gubaoPer+hjgPer+horsePer+beautyPer+fatesPer+cardPer+minggePer)*(inheritPer+fetterPer+starTalentPer+breakLVPer+awakeTalentPer)*(1+dingjungePer)+heroSelfValue+heroLVValue; //保留2位小数 @@ -404,6 +411,12 @@ var awakeTalentValue = hero.GetAwakeAttrValue(attrType); var fetterValue = hero.GetFetterAttrValue(attrType); //武将皮肤 var skinValue = 0; var skinPer = 0; var heroSkinValue = 0; var heroSkinPer = 0; double value = (lvValue + equipValue + realmValue + gubaoValue + hjgValue + horseValue + beautyValue + fatesValue + dingjungeValue + minggeValue) + (heroSelfValue + lineupHaloValue + starTalentValue + breakLVValue + awakeTalentValue) + fetterValue; //保留2位小数