hch
105 分钟以前 b5c4db7359ef92000a5969651e68e71e044625e4
501 【武将】武将时装 - 同步封包
1个文件已删除
1 文件已重命名
1个文件已添加
6个文件已修改
144 ■■■■ 已修改文件
Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroSkinOP.cs 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroSkinOP.cs.meta 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ClientPack/CB2_NewFunction/CB236_tagCSHeroWearSkin.cs 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/Core/NetworkPackage/ServerPack/HB1_Role/HB122_tagSCHeroInfo.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroCollectionCardCell.cs 18 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroCollectionLvUpWin.cs 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/HeroUI/HeroUIManager.Collect.cs 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Main/FightPowerFormula.cs 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Main/System/Main/FightPowerManager.cs 13 ●●●●● 补丁 | 查看 | 原始文档 | 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
@@ -1,6 +1,6 @@
using UnityEngine;
using System.Collections;
using UnityEngine;
using System.Collections;
// B1 22 武将信息 #tagSCHeroInfo
public class HB122_tagSCHeroInfo : GameNetPackBasic {
@@ -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);
            }
            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
@@ -363,6 +363,13 @@
        var awakeTalentPer = hero.GetAwakeAttrPer(attrType) / 10000.0;
        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;
@@ -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位小数