少年修仙传客户端代码仓库
hch
2023-07-12 ffa40b7cbeafb95153a5864387ffc199d84f8077
0312 支持地图境界动态难度
7个文件已修改
86 ■■■■■ 已修改文件
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/PlayerDatas.cs 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Fight/GameActor/GActorPlayerBase.cs 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/Equip/EquipModel.cs 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WorldMap/LocalMapEventPointToggle.cs 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
System/WorldMap/LocalMapFindPath.cs 1 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Utility/EnumHelper.cs 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Core/GameEngine/Model/Player/Character/PlayerBaseData.cs
@@ -42,6 +42,7 @@
    public uint spExtend;    //扩展属性8,各项目专用
    public uint bubbleId;    //扩展属性10,各项目专用
    public uint ExAttr11;    //预留的扩展属性字段,用来存放项目特定的属性
    public uint ExAttr16;    //预留的扩展属性字段,用来存放项目特定的属性    全身特效
    public uint ServerGroupId;    //服务器组ID
    public uint hangTime;//现为脱机挂剩余时间 23
    public uint faction; //阵营 107
@@ -85,6 +86,7 @@
    public int skillReducePerF; //嗜天斧技能减伤百分比
    public int skillReducePerG; //射日神弓技能减伤百分比
    public int mapRealmSelect;  //地图境界难度
    public long treasurePotentialSp
    {
        get
@@ -92,10 +94,6 @@
            return spExtend * (long)100000000 + sp;
        }
    }
    public int godWeaponLV_1;
    public int godWeaponLV_2;
    public int godWeaponLV_3;
    public int godWeaponLV_4;
    public int reikiRootEffectId
    {
@@ -155,15 +153,13 @@
            spExtend = _serverInfo.ExAttr8;
            bubbleId = _serverInfo.ExAttr10;
            ExAttr11 = _serverInfo.ExAttr11;
            ExAttr16 = _serverInfo.ExAttr16;
            ServerGroupId = _serverInfo.ExAttr13;
            hangTime = _serverInfo.HappyPoint;
            faction = _serverInfo.Faction;
            coinPointTotal = _serverInfo.ChangeCoinPointTotal;
            equipShowSwitch = _serverInfo.EquipShowSwitch;
            godWeaponLV_1 = (int)_serverInfo.ExAttr15;
            godWeaponLV_2 = (int)_serverInfo.ExAttr16;
            godWeaponLV_3 = (int)_serverInfo.ExAttr17;
            godWeaponLV_4 = (int)_serverInfo.ExAttr18;
            mapRealmSelect = (int)_serverInfo.ExAttr18;
        }
        else
        {
@@ -249,19 +245,17 @@
        spExtend = serverInfo.ExAttr8;
        bubbleId = serverInfo.ExAttr10;
        ExAttr11 = serverInfo.ExAttr11;
        ExAttr16 = serverInfo.ExAttr16;
        ServerGroupId = serverInfo.ExAttr13;
        hangTime = serverInfo.HappyPoint;
        faction = serverInfo.Faction;
        coinPointTotal = serverInfo.ChangeCoinPointTotal;
        godWeaponLV_1 = (int)serverInfo.ExAttr15;
        godWeaponLV_2 = (int)serverInfo.ExAttr16;
        godWeaponLV_3 = (int)serverInfo.ExAttr17;
        godWeaponLV_4 = (int)serverInfo.ExAttr18;
        HP = serverInfo.HP + serverInfo.HPEx * Constants.ExpPointValue;
        if (PlayerDatas.Instance.hero != null)
        {
            PlayerDatas.Instance.hero.ActorInfo.ResetHp((long)HP);
        }
        mapRealmSelect = (int)serverInfo.ExAttr18;
    }
Core/GameEngine/Model/Player/PlayerDatas.cs
@@ -801,16 +801,12 @@
                extersion.talentPoint = (int)value;
                break;
            case PlayerDataType.CDBPlayerRefresh_GodWeaponLV_1:
                baseData.godWeaponLV_1 = (int)value;
                break;
            case PlayerDataType.CDBPlayerRefresh_GodWeaponLV_2:
                baseData.godWeaponLV_2 = (int)value;
                break;
            case PlayerDataType.CDBPlayerRefresh_GodWeaponLV_3:
                baseData.godWeaponLV_3 = (int)value;
                break;
            case PlayerDataType.CDBPlayerRefresh_GodWeaponLV_4:
                baseData.godWeaponLV_4 = (int)value;
                break;
            case PlayerDataType.CDBPlayerRefresh_SoulDust:
                extersion.soulDust = value;
@@ -825,6 +821,7 @@
                extersion.honorValue = (int)value;
                break;
            case PlayerDataType.CDBPlayerRefresh_ZhuxianRate:
                baseData.ExAttr16 = value;
                break;
            case PlayerDataType.CDBPlayerRefresh_Mater:
                baseData.mater = (int)value;
Fight/GameActor/GActorPlayerBase.cs
@@ -62,6 +62,7 @@
    public JobSetupConfig JobSetup { get;  set; }
    DungeonModel dungeonModel { get { return ModelCenter.Instance.GetModel<DungeonModel>(); } }
    EquipModel equipModel { get { return ModelCenter.Instance.GetModel<EquipModel>(); } }
    public override int NextAction
    {
@@ -382,6 +383,7 @@
        SystemSetting.Instance.qualityLevelChangeEvent -= OnGameQualityChange;
        dungeonModel.updateMissionEvent -= CheckAncientHeadUp;
        RlsLingGenEffect();
        ReleaseShediaoEffect();
        base.OnUnit();
    }
@@ -494,6 +496,10 @@
        if (LingGenNode)
        {
            LingGenNode.transform.position = Root.transform.position;
        }
        if (shediaoNode)
        {
            shediaoNode.transform.position = Root.transform.position;
        }
    }
@@ -2724,6 +2730,7 @@
            ReleaseShadow();
            RlsLingGenEffect();
            ReleaseShediaoEffect();
        }
        GA_Player _player = this as GA_Player;
@@ -3047,4 +3054,48 @@
            lingGenEffectList.Add(_sfx);
        }
    }
    //射雕装备特效
    private List<SFXController> shediaoEffectList = new List<SFXController>();
    private GameObject shediaoNode;
    private void ReleaseShediaoEffect()
    {
        if (shediaoEffectList.Count > 0)
        {
            for (int i = 0; i < shediaoEffectList.Count; ++i)
            {
                SFXPlayUtility.Instance.Release(shediaoEffectList[i]);
            }
        }
        shediaoEffectList.Clear();
        UnityEngine.Object.Destroy(shediaoNode);
        shediaoNode = null;
    }
    //功能决定如何显示特效
    public void RefreshShediaoEffect(uint effectMark)
    {
        Debug.LogFormat("装备特效 RefreshShediaoEffect {0}", effectMark);
        //改成强化大师特效 id为强化大师等级
        ReleaseShediaoEffect();
        if (!equipModel.equipAddEffect.ContainsKey((int)effectMark))
        {
            return;
        }
        if (!shediaoNode)
        {
            shediaoNode = new GameObject();
            GameObject.DontDestroyOnLoad(shediaoNode);
        }
        var _sfx = SFXPlayUtility.Instance.PlayBattleEffect(equipModel.equipAddEffect[(int)effectMark], shediaoNode.transform, 1);
        _sfx.duration = 0;
        shediaoEffectList.Add(_sfx);
    }
}
System/Equip/EquipModel.cs
@@ -39,6 +39,7 @@
        Dictionary<int, EquipSet> equipSets = new Dictionary<int, EquipSet>();
        List<int> sortedLevels = new List<int>();
        public uint[] suitActiveState; //套装手动点击激活状态 
        public Dictionary<int, int> equipAddEffect = new Dictionary<int, int>(); //额外的全身特效
        PackModel packModel { get { return ModelCenter.Instance.GetModel<PackModel>(); } }
        EquipStarModel starModel { get { return ModelCenter.Instance.GetModel<EquipStarModel>(); } }
@@ -1118,6 +1119,13 @@
                equipSetNames[level] = name;
            }
            ParseEquipLevelFuncID();
            var equipEff = FuncConfigConfig.Get("shediaoEffect");
            json = JsonMapper.ToObject(equipEff.Numerical1);
            foreach (var key in json.Keys)
            {
                equipAddEffect[int.Parse(key)] = int.Parse(json[key].ToString());
            }
        }
        public static int GetItemServerEquipPlace(int itemId)
System/WorldMap/LocalMapEventPointToggle.cs
@@ -54,7 +54,6 @@
            this.m_FlyBoot.SetListener(FlyToEventPoint);
        }
        [IFix.Patch]
        private void DisplayEventInfo()
        {
            var config = MapEventPointConfig.Get(this.m_EventId);
System/WorldMap/LocalMapFindPath.cs
@@ -437,7 +437,6 @@
            }
        }
        [IFix.Patch]
        private void FoucsEventPoint(int _eventPoint)
        {
            if (ILRuntimeUtility.Instance.ModelInvoke<int>("MapLevelModel", "GetSelectIndex") != 0)
Utility/EnumHelper.cs
@@ -767,7 +767,7 @@
    default6,   // 234灵石负数
    default7,   
    default8,
    default9,
    default9,   // 237 地图境界难度
    default10,
    default11,  // 239 代表魅力等级
    default12,