Exemplo n.º 1
0
        /// <summary>
        /// 初始天赋附加属性
        /// </summary>
        private static void InitSpecialProp(GameClient client)
        {
            TalentData talentData = client.ClientData.MyTalentData;

            if (talentData.CountList == null || talentData.CountList.Count <= 0)
            {
                return;
            }

            foreach (var c in talentData.CountList)
            {
                int type  = c.Key;
                int value = c.Value;

                TalentSpecialInfo specialInfo = _TalentSpecialList[type];
                int count = value / specialInfo.SingleCount;
                foreach (var item in specialInfo.EffectList)
                {
                    int    effectType  = item.Key;
                    double effectValue = item.Value * count;

                    client.ClientData.MyTalentPropData.PropItem.ExtProps[effectType] += effectValue;
                }
            }
        }
Exemplo n.º 2
0
        private static void LoadTalentSpecialData()
        {
            string   fileName = Global.GameResPath("Config/TianFuGroupProperty.xml");
            XElement xml      = CheckHelper.LoadXml(fileName);

            if (null == xml)
            {
                return;
            }

            try
            {
                _TalentSpecialList.Clear();

                IEnumerable <XElement> xmlItems = xml.Elements();
                foreach (var xmlItem in xmlItems)
                {
                    if (xmlItem == null)
                    {
                        continue;
                    }

                    TalentSpecialInfo config = new TalentSpecialInfo();
                    config.SpecialType = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "TianFuType", "0"));
                    config.SingleCount = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "NeedExp", "0"));

                    config.EffectList = new Dictionary <int, double>();
                    double value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "TripleAttack", "0"));
                    config.EffectList.Add((int)ExtPropIndexes.SavagePercent, value);

                    value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "SlowAttack", "0"));
                    config.EffectList.Add((int)ExtPropIndexes.ColdPercent, value);

                    value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "VampiricAttack", "0"));
                    config.EffectList.Add((int)ExtPropIndexes.RuthlessPercent, value);

                    value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "TripleDefense", "0"));
                    config.EffectList.Add((int)ExtPropIndexes.DeSavagePercent, value);

                    value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "SlowDefensee", "0"));
                    config.EffectList.Add((int)ExtPropIndexes.DeColdPercent, value);

                    value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "VampiricDefense", "0"));
                    config.EffectList.Add((int)ExtPropIndexes.DeRuthlessPercent, value);

                    _TalentSpecialList.Add(config.SpecialType, config);
                }
            }
            catch (Exception ex)
            {
                LogManager.WriteLog(LogTypes.Fatal, string.Format("加载[{0}]时出错!!!", fileName));
            }
        }
Exemplo n.º 3
0
        public static void LoadTalentSpecialData()
        {
            string   fileName = Global.GameResPath("Config/TianFuGroupProperty.xml");
            XElement xml      = CheckHelper.LoadXml(fileName, true);

            if (null != xml)
            {
                try
                {
                    Dictionary <int, TalentSpecialInfo> dict = new Dictionary <int, TalentSpecialInfo>();
                    IEnumerable <XElement> xmlItems          = xml.Elements();
                    foreach (XElement xmlItem in xmlItems)
                    {
                        if (xmlItem != null)
                        {
                            TalentSpecialInfo config = new TalentSpecialInfo();
                            config.SpecialType = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "TianFuType", "0"));
                            config.SingleCount = Convert.ToInt32(Global.GetDefAttributeStr(xmlItem, "NeedExp", "0"));
                            config.EffectList  = new Dictionary <int, double>();
                            double value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "TripleAttack", "0"));
                            config.EffectList.Add(61, value);
                            value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "SlowAttack", "0"));
                            config.EffectList.Add(62, value);
                            value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "VampiricAttack", "0"));
                            config.EffectList.Add(63, value);
                            value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "TripleDefense", "0"));
                            config.EffectList.Add(64, value);
                            value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "SlowDefensee", "0"));
                            config.EffectList.Add(65, value);
                            value = Convert.ToDouble(Global.GetDefAttributeStr(xmlItem, "VampiricDefense", "0"));
                            config.EffectList.Add(66, value);
                            dict.Add(config.SpecialType, config);
                        }
                    }
                    TalentManager._TalentSpecialList = dict;
                }
                catch (Exception ex)
                {
                    LogManager.WriteLog(LogTypes.Fatal, string.Format("加载[{0}]时出错!!!", fileName), null, true);
                }
            }
        }
Exemplo n.º 4
0
        private static void InitSpecialProp(GameClient client)
        {
            TalentData talentData = client.ClientData.MyTalentData;

            if (talentData.CountList != null && talentData.CountList.Count > 0)
            {
                foreach (KeyValuePair <int, int> c in talentData.CountList)
                {
                    int type  = c.Key;
                    int value = c.Value;
                    TalentSpecialInfo specialInfo = TalentManager._TalentSpecialList[type];
                    int count = value / specialInfo.SingleCount;
                    foreach (KeyValuePair <int, double> item in specialInfo.EffectList)
                    {
                        int    effectType  = item.Key;
                        double effectValue = item.Value * (double)count;
                        client.ClientData.MyTalentPropData.PropItem.ExtProps[effectType] += effectValue;
                    }
                }
            }
        }