Example #1
0
File: APC.cs Project: abel/sinan
 public Apc(Variant config)
 {
     ID = config.GetStringOrDefault("_id");
     this.Name = config.GetStringOrDefault("Name");
     Name = config.GetStringOrDefault("Name");
     m_value = config.GetVariantOrDefault("Value");
     m_life = new PlayerProperty();
     if (m_value != null)
     {
         m_life.Add(m_value);
         this.Level = m_value.GetIntOrDefault("Level");
     }
     this.ApcType = FighterType.APC;
     Variant ui = config.GetVariantOrDefault("UI");
     if (ui != null)
     {
         this.Skin = ui.GetStringOrDefault("Skin");
         string apcType = ui.GetStringOrDefault("Type");
         if (apcType == "BB")
         {
             this.ApcType = FighterType.BB;
         }
         else if (apcType == "Boss")
         {
             this.ApcType = FighterType.Boss;
         }
     }
 }
Example #2
0
        public FightApc(int p, Apc apc)
        {
            this.P = p;
            this.ID = ObjectId.GenerateNewId().ToString(); //Guid.NewGuid().ToString("N");
            this.m_apc = apc;
            this.m_ai = apc.Value.GetValueOrDefault<IList>("AI");
            this.Name = apc.Name;
            this.Level = apc.Level;
            this.Skin = apc.Skin;
            PlayerProperty property = new PlayerProperty();
            property.Add(apc.Value);
            this.Life = property;
            m_hp = property.ShengMing;
            m_mp = property.MoFa;

            if (m_apc.Value != null)
            {
                this.Talk = NewTalk(m_apc.Value.GetVariantOrDefault("Start"));
            }
        }
Example #3
0
        /// <summary>
        /// 生成完整的玩家属性
        /// </summary>
        /// <param name="roleID">角色ID</param>
        /// <param name="level">玩家等级</param>
        /// <param name="life">附加加成属性</param>
        /// <returns></returns>
        public static PlayerProperty CreateProperty(string roleID, int level, PlayerProperty life)
        {
            level = Math.Min(level, APCProperty.MaxLevel);
            //0级属性.只受直接加成的影响
            //伤害抗性
            life.KangShangHai += 0;
            //反击率
            life.FanJiLv = Math.Min(1, life.FanJiLv + 0.05);
            //合击率
            life.HeJiLv = Math.Min(1, life.HeJiLv + 0.5);
            //逃跑率f
            life.TaoPaoLv = Math.Min(1, life.TaoPaoLv + 0.8);

            //暴击伤害倍数1.5
            life.BaoJiShangHai = life.BaoJiShangHai + 1.5;
            //合击伤害倍数1.2
            life.HeJiShangHai = life.HeJiShangHai + 1.2;

            InitLevel1(roleID, level, life);
            return life;
        }
Example #4
0
        /// <summary>
        /// 初始化第1层用户属性.
        /// </summary>
        static void InitLevel1(string roleID, int lv, PlayerProperty life)
        {
            if (roleID == "1")
            {
                life.LiLiang = life.LiLiang + (2 + 3 * lv);
                life.TiZhi = life.TiZhi + (2 + 2 * lv);
                life.ZhiLi = life.ZhiLi + 2;
                life.JingShen = life.JingShen + (2 + lv);

                life.SuDu = life.SuDu + (5 + 5 * lv);
                life.BaoJi = life.BaoJi + (45 + 5 * lv);
                life.MingZhong = life.MingZhong + (47 + 3 * lv);
                life.ShanBi = life.ShanBi + (48 + 2 * lv);
            }
            else if (roleID == "2")
            {
                life.LiLiang = life.LiLiang + 2;
                life.TiZhi = life.TiZhi + (2 + lv);
                life.ZhiLi = life.ZhiLi + (2 + 3 * lv);
                life.JingShen = life.JingShen + (2 + 2 * lv);

                life.SuDu = life.SuDu + (7 + 3 * lv);
                life.BaoJi = life.BaoJi + (46 + 4 * lv);
                life.MingZhong = life.MingZhong + (47 + 3 * lv);
                life.ShanBi = life.ShanBi + (45 + 5 * lv);
            }
            else if (roleID == "3")
            {
                life.LiLiang = life.LiLiang + ((2 + lv));
                life.TiZhi = life.TiZhi + (2 + 2 * lv);
                life.ZhiLi = life.ZhiLi + (2 + 2 * lv);
                life.JingShen = life.JingShen + (2 + lv);

                life.SuDu = life.SuDu + (6 + 4 * lv);
                life.BaoJi = life.BaoJi + (47 + 3 * lv);
                life.MingZhong = life.MingZhong + (46 + 4 * lv);
                life.ShanBi = life.ShanBi + (46 + 4 * lv);
            }
            InitLevel2(roleID, lv, life);
        }
Example #5
0
        public static PlayerProperty CreatePlayerProperty(Variant v)
        {
            PlayerProperty life = new PlayerProperty();

            life.LiLiang = v.GetIntOrDefault("LiLiang");
            life.TiZhi = v.GetIntOrDefault("TiZhi");
            life.ZhiLi = v.GetIntOrDefault("ZhiLi");
            life.JingShen = v.GetIntOrDefault("JingShen");
            life.KangShangHai = v.GetIntOrDefault("KangShangHai");

            //-----------------------
            life.WuLiXiShou = v.GetDoubleOrDefault("WuLiXiShou");
            life.MoFaXiShou = v.GetDoubleOrDefault("MoFaXiShou");
            life.FanJiLv = v.GetDoubleOrDefault("FanJiLv");
            life.HeJiLv = v.GetDoubleOrDefault("HeJiLv");
            life.TaoPaoLv = v.GetDoubleOrDefault("TaoPaoLv");
            life.BaoJiShangHai = v.GetDoubleOrDefault("BaoJiShangHai");
            life.HeJiShangHai = v.GetDoubleOrDefault("HeJiShangHai");

            life.SuDu = v.GetIntOrDefault("SuDu");
            life.BaoJi = v.GetIntOrDefault("BaoJi");
            life.MingZhong = v.GetIntOrDefault("MingZhong");
            life.ShanBi = v.GetIntOrDefault("ShanBi");

            life.BaoJiLv = v.GetDoubleOrDefault("BaoJiLv");
            life.MingZhongLv = v.GetDoubleOrDefault("MingZhongLv");
            life.ShanBiLv = v.GetDoubleOrDefault("ShanBiLv");
            //----------------------------------
            life.ShengMing = v.GetVariantOrDefault("ShengMing").GetIntOrDefault("M");
            life.MoFa = v.GetVariantOrDefault("MoFa").GetIntOrDefault("M");
            life.GongJi = v.GetVariantOrDefault("GongJi").GetIntOrDefault("V");
            life.MoFaGongJi = v.GetVariantOrDefault("MoFaGongJi").GetIntOrDefault("V");
            life.FangYu = v.GetVariantOrDefault("FangYu").GetIntOrDefault("V");
            life.MoFaFangYu = v.GetVariantOrDefault("MoFaFangYu").GetIntOrDefault("V");

            return life;
        }
Example #6
0
        /// <summary>
        /// 初始化装备的加成..
        /// </summary>
        /// <returns></returns>
        private void ResetEquipsAdd(PlayerProperty p)
        {
            AddDressing(p);
            if (m_equips != null && m_equips.Value != null)
            {
                Dictionary<string, List<string>> dic = new Dictionary<string, List<string>>();

                for (int i = 0; i <= 9; i++)
                {
                    var v = m_equips.Value.GetVariantOrDefault("P" + i);
                    if (v == null)
                        continue;
                    string equiD = v.GetStringOrDefault("E");
                    if (string.IsNullOrEmpty(equiD))
                        continue;

                    Goods gs = GoodsAccess.Instance.FindOneById(equiD);
                    if (gs == null)
                        continue;

                    Variant info = gs.Value;
                    if (info == null)
                        continue;
                    //持久度
                    var st = info.GetVariantOrDefault("Stamina");
                    if (st != null && st.GetIntOrDefault("V") <= 0)
                        continue;

                    object life;
                    if (info.TryGetValueT("Life", out life))
                    {
                        p.Add(life as Variant);
                        //宝石加成..
                        BaoShiAddition(p, gs);
                    }

                    //装备附加属性
                    object affix;
                    if (info.TryGetValueT("Affix", out affix))
                    {
                        p.Add(affix as Variant);
                    }

                    //判断是否是套装
                    if (!info.ContainsKey("EntireID"))
                        continue;

                    string entrieid = info.GetStringOrDefault("EntireID");
                    if (string.IsNullOrEmpty(entrieid))
                        continue;
                    List<string> goods;
                    string goodsid = v.GetStringOrDefault("G");
                    if (dic.TryGetValue(entrieid, out goods))
                    {
                        //if (!goods.Contains(goodsid))
                        //{
                        //    goods.Add(goodsid);
                        //}

                        //趣游要求相同的ID也要计算套装数量
                        goods.Add(goodsid);
                    }
                    else
                    {
                        goods = new List<string>() { goodsid };
                        dic.Add(entrieid, goods);
                    }
                }
                //套装属性
                Entire(p, dic);
                m_ePro.Value = p.GetChange();
                m_ePro.Save();
            }
        }
Example #7
0
        /// <summary>
        /// 套装属性
        /// </summary>
        /// <param name="p"></param>
        /// <param name="dic"></param>
        private void Entire(PlayerProperty p, Dictionary<string, List<string>> dic)
        {
            foreach (var item in dic)
            {
                GameConfig gc = GameConfigAccess.Instance.FindOneById(item.Key);
                if (gc == null)
                    continue;

                Variant v = gc.Value;
                if (v == null)
                    continue;

                Variant life = v.GetVariantOrDefault("Life");
                if (life == null)
                    continue;

                //套装数量
                List<string> num = item.Value as List<string>;

                foreach (var o in life)
                {
                    int m = 0;
                    if (int.TryParse(o.Key, out m))
                    {
                        if (m > num.Count)
                            continue;
                        p.Add(o.Value as Variant);
                    }
                }

                //object o;
                //if (life.TryGetValueT(strs.Count.ToString(), out o))
                //{
                //    p.Add(o as Variant);
                //}
            }
        }
Example #8
0
        /// <summary>
        /// 星座加成
        /// </summary>
        private void AddStar(PlayerProperty p)
        {
            if (Star == null || Star.Value == null)
                return;

            GameConfig gc = GameConfigAccess.Instance.FindOneById("ST_00001");
            if (gc == null)
                return;

            Variant life = new Variant();
            for (int j = 1; j < 13; j++)
            {
                IList o = Star.Value.GetValue<IList>(j.ToString());
                if (o == null)
                    continue;
                //得到某个星座配置
                Variant v = gc.Value.GetVariantOrDefault(j.ToString());
                if (v == null)
                    continue;

                //得到要加的属性
                string name = v.GetStringOrDefault("Name");
                double num = 0;
                Variant c = v.GetVariantOrDefault("B");
                if (c != null)
                {
                    foreach (int i in o)
                    {
                        //num += PartAccess.Instance.StarForm(c.GetDoubleOrDefault("A"), i + 1, c.GetIntOrDefault("B"), c.GetDoubleOrDefault("C"));
                        //num * Math.Pow(v.GetDoubleOrDefault("A"), n * (n - 1) / 2)
                        //星阵属性加成
                        double b = c.GetDoubleOrDefault("B");
                        double a = c.GetDoubleOrDefault("A");
                        double n = (i + 1) * i / 2;
                        num += Convert.ToInt32(b * Math.Pow(a, n));
                    }
                }

                if (o.Count == 14)
                {
                    //激活所有的守护星额外加成
                    Variant other = v.GetVariantOrDefault("Life");
                    if (other != null)
                    {
                        foreach (var k in other)
                        {
                            life.SetOrInc(k.Key, Convert.ToDouble(k.Value));
                        }
                    }
                }
                if (name == "BaoJiShangHai")
                {
                    num = num / 100;
                }
                life.SetOrInc(name, num);
            }
            p.Add(life);
        }
Example #9
0
        /// <summary>
        /// 时装属性加成
        /// </summary>
        /// <param name="p"></param>
        private void AddDressing(PlayerProperty p)
        {
            Variant v = Wardrobe.Value;
            if (v == null)
                return;

            string sz = v.GetStringOrDefault("ShiZhuang");
            if (string.IsNullOrEmpty(sz))
                return;

            GameConfig gc = GameConfigAccess.Instance.FindOneById(sz);
            if (gc == null)
                return;

            Variant life = gc.Value.GetVariantOrDefault("Life");
            if (life == null)
                return;

            p.Add(life);
        }
Example #10
0
 /// <summary>
 /// 计算宝石加成
 /// </summary>
 /// <param name="p"></param>
 /// <param name="gs"></param>
 private static void BaoShiAddition(PlayerProperty p, Goods gs)
 {
     object baoShiInfo;
     if (gs.Value.TryGetValueT("BaoShiInfo", out baoShiInfo)
         && baoShiInfo is IDictionary<string, object>)
     {
         foreach (var x in baoShiInfo as IDictionary<string, object>)
         {
             if (x.Value != null)
             {
                 string bID = x.Value.ToString();
                 //"-1":无孔,"0"或"":无宝石
                 if (bID == string.Empty || bID == "0" || bID == "-1")
                 {
                     continue;
                 }
                 var bs = GameConfigAccess.Instance.FindOneById(bID);
                 p.Add(bs.Value.GetVariantOrDefault("Life"));
             }
         }
     }
 }
Example #11
0
File: Pet.cs Project: abel/sinan
 public void Init()
 {
     //if (m_life == null)
     Variant v = this.Value;
     if (v != null)
     {
         m_life = PetProperty.CreatePlayerProperty(v);
         this.HP = v.GetVariantOrDefault("ShengMing").GetIntOrDefault("V");
         this.MP = v.GetVariantOrDefault("MoFa").GetIntOrDefault("V");
         m_fixBuffer = SkillHelper.InitFixBuffer(this.Value.GetVariantOrDefault("Skill"));
     }
 }
Example #12
0
        /// <summary>
        /// 设置扩展信息
        /// </summary>
        private void setPlayerEx()
        {
            NewPlayerEx(ref m_skill, "Skill");
            NewPlayerEx(ref m_equips, "Equips");
            NewPlayerEx(ref m_social, "Social");
            NewPlayerEx(ref m_family, "Family");
            NewPlayerEx(ref m_title, "Title");
            NewPlayerEx(ref m_effort, "Effort");
            NewPlayerEx(ref m_home, "Home");
            NewPlayerEx(ref m_petBook, "PetBook");
            NewPlayerEx(ref m_daily, "Daily");
            NewPlayerEx(ref m_buy, "Buy");
            NewPlayerEx(ref m_b0, "B0");
            NewPlayerEx(ref m_b1, "B1");
            NewPlayerEx(ref m_b2, "B2");
            NewPlayerEx(ref m_b3, "B3");

            NewPlayerEx(ref m_star, "Star");
            NewPlayerEx(ref m_lottery, "Lottery");
            NewPlayerEx(ref m_member, "Member");
            NewPlayerEx(ref m_taskday, "TaskDay");
            NewPlayerEx(ref m_wardrobe, "Wardrobe");

            NewPlayerEx(ref m_ePro, "EPro");
            //NewPlayerEx(ref m_sPro, "SPro");
            //重新计算,修复星座缓存问题.
            //if (Level > 25 && m_sPro.Value.Count == 0)
            {
                m_sPro = new PlayerEx(this.ID, "SPro");
                PlayerProperty p = new PlayerProperty();
                ResetSkillsAdd(p);
            }

            if (NewPlayerEx(ref m_hotKeys, "HotKeys"))
            {
                Variant hotkey = m_hotKeys.Value;
                for (int i = 0; i <= 9; i++)
                {
                    hotkey.Add(i.ToString(), string.Empty);
                }
                hotkey.Add("-", string.Empty);
                hotkey.Add("=", string.Empty);
                hotkey.Add("B", "WopenPackageWin");
                hotkey.Add("C", "WopenSKConfigWin");
                hotkey.Add("P", string.Empty);
                hotkey.Add("R", "WopenPlayerWin");
                m_hotKeys.Save();
            }

            if (NewPlayerEx(ref m_ectype, "Ectype"))
            {
                m_ectype.Value["IntoLog"] = new Variant();
                m_ectype.Save();
            }

            if (!NewPlayerEx(ref m_assist, "Assist"))
            {
                //把剩余秒数转化为时间(双倍经验)
                SecondToTime();
                //设置红黄名时间
                SetNameTime();
            }

            List<Mounts> list = MountsAccess.Instance.GetMounts(ID);
            if (list != null && list.Count > 0)
            {
                m_mounts = list[0];
            }

            //得到装备面板信息
            IList c = m_b3.Value.GetValue<IList>("C");
            Variant v = null;
            foreach (Variant pv in c)
            {
                if (pv.GetIntOrDefault("I") == 1)
                {
                    v = pv;
                    break;
                }
            }
            if (v != null)
            {
                this.m_pet = PetAccess.Instance.FindOneById(v.GetStringOrDefault("E"));
                if (m_pet != null)
                {
                    m_pet.Init();
                    PetAccess.PetReset(m_pet, Skill, false, m_mounts);
                }
            }
            this.m_slippets = PlayerExAccess.Instance.SlipPets(m_b3);
            this.IsVIP();
        }
Example #13
0
        /// <summary>
        /// 初始化第2层用户属性.
        /// </summary>
        static void InitLevel2(string roleID, int lv, PlayerProperty life)
        {
            //二级属性.受1级属性和直接加成的影响..
            //暴击率
            life.BaoJiLv = life.BaoJiLv + life.BaoJi * 0.0001;
            //命中率
            life.MingZhongLv = life.MingZhongLv + life.MingZhong * 0.0001;
            //闪避率
            life.ShanBiLv = life.ShanBiLv + life.ShanBi * 0.0001;

            if (roleID == "1")
            {
                life.ShengMing = life.ShengMing + (35 + 150 * lv + 3 * life.LiLiang + 8 * life.TiZhi);
                life.MoFa = life.MoFa + (3 * life.ZhiLi + 4 * life.JingShen);
                life.GongJi = life.GongJi + life.LiLiang + 15;
                life.MoFaGongJi = life.MoFaGongJi + life.ZhiLi;
                life.FangYu = life.FangYu + life.TiZhi;
                life.MoFaFangYu = life.MoFaFangYu + life.JingShen;
            }
            else if (roleID == "2")
            {
                life.ShengMing = life.ShengMing + (35 + 100 * lv + 2 * life.LiLiang + 6 * life.TiZhi);
                life.MoFa = life.MoFa + (3 * life.ZhiLi + 7 * life.JingShen);
                life.GongJi = life.GongJi + life.LiLiang + 15;
                life.MoFaGongJi = life.MoFaGongJi + life.ZhiLi;
                life.FangYu = life.FangYu + life.TiZhi;
                life.MoFaFangYu = life.MoFaFangYu + life.JingShen;
            }
            else if (roleID == "3")
            {
                life.ShengMing = life.ShengMing + (35 + 120 * lv + 2 * life.LiLiang + 8 * life.TiZhi);
                life.MoFa = life.MoFa + (3 * life.ZhiLi + 5 * life.JingShen);
                life.GongJi = life.GongJi + life.LiLiang + 15;
                life.MoFaGongJi = life.MoFaGongJi + life.ZhiLi;
                life.FangYu = life.FangYu + life.TiZhi;
                life.MoFaFangYu = life.MoFaFangYu + life.JingShen;
            }
            InitLevel3(roleID, lv, life);
        }
Example #14
0
 /// <summary>
 /// 获取更新的值.
 /// </summary>
 /// <param name="old"></param>
 /// <returns></returns>
 public Variant GetChange(PlayerProperty old)
 {
     if (old == null) return this.GetChange();
     Variant v = base.GetChange(old);
     if (LiLiang != old.LiLiang) v.Add("LiLiang", LiLiang);
     if (TiZhi != old.TiZhi) v.Add("TiZhi", TiZhi);
     if (ZhiLi != old.ZhiLi) v.Add("ZhiLi", ZhiLi);
     if (JingShen != old.JingShen) v.Add("JingShen", JingShen);
     if (KangShangHai != old.KangShangHai) v.Add("KangShangHai", KangShangHai);
     return v;
 }
Example #15
0
 /// <summary>
 /// 发出反击
 /// </summary>
 /// <param name="pro">被反击者</param>
 /// <returns></returns>
 public int SendFangJi(PlayerProperty pro)
 {
     int v = (int)(this.BaoJi * (1 - pro.WuLiXiShou) - pro.KangShangHai);
     if (v <= 0) v = 1;
     return v;
 }
Example #16
0
 /// <summary>
 /// 初始化第3层用户属性.
 /// </summary>
 static void InitLevel3(string roleID, int lv, PlayerProperty life)
 {
     //三级属性.受2级属性和直接加成的影响
     //物理吸收
     life.WuLiXiShou = life.WuLiXiShou + ((1.0 * life.FangYu) / (3000 + life.FangYu));
     //魔法吸收
     life.MoFaXiShou = life.MoFaXiShou + ((1.0 * life.MoFaFangYu) / (3000 + life.MoFaFangYu));
 }
Example #17
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="upLev"></param>
 private void UpdataActorR(PlayerProperty old)
 {
     Variant v = m_life.GetChange(old);
     v["ShengMing"] = new MVPair(m_life.ShengMing, this.HP);
     v["MoFa"] = new MVPair(m_life.MoFa, this.MP);
     v["JingYan"] = new MVPair(this.m_maxExp, this.m_exp);
     v["Level"] = m_level;
     UpdataActorR(v);
 }
Example #18
0
 /// <summary>
 /// 更新玩家属性
 /// </summary>
 private void RefreshPlayer(string name, string value, Action<PlayerProperty> action)
 {
     PlayerProperty old = m_life;
     PlayerProperty p = new PlayerProperty();
     action(p);
     m_life = CreateProperty();
     if (this.HP > m_life.ShengMing)
     {
         this.HP = m_life.ShengMing;
     }
     if (this.MP > m_life.MoFa)
     {
         this.MP = m_life.MoFa;
     }
     Variant v = m_life.GetChange(old);
     if (!string.IsNullOrEmpty(name))
     {
         SceneBusiness scene = m_scene;
         if (scene != null)
         {
             Variant t = new Variant(2);
             t[name] = value;
             t["ID"] = this.ID;
             this.CallAll(ClientCommand.UpdateActorR, t);
         }
         else
         {
             v[name] = value;
         }
     }
     if (v.Count > 0)
     {
         if (v.ContainsKey("ShengMing"))
         {
             v["ShengMing"] = new MVPair(m_life.ShengMing, this.HP);
         }
         if (v.ContainsKey("MoFa"))
         {
             v["MoFa"] = new MVPair(m_life.MoFa, this.MP);
         }
         UpdataActorR(v);
     }
 }
Example #19
0
 /// <summary>
 /// 创建玩家属性
 /// </summary>
 /// <returns></returns>
 public PlayerProperty CreateProperty()
 {
     PlayerProperty p = new PlayerProperty();
     p.Add(m_ePro.Value);
     p.Add(m_sPro.Value);
     PlayerProperty life = PropertyHelper.CreateProperty(RoleID, Level, p);
     return life;
 }
Example #20
0
 /// <summary>
 /// 初始化(被动技能和称号)加成
 /// 训练/强健/沉稳/睿智/石盾/天人等(前缀称号/后缀称号)
 /// </summary>
 private void ResetSkillsAdd(PlayerProperty p)
 {
     if (m_skill != null && m_skill.Value != null)
     {
         foreach (var s in m_skill.Value)
         {
             GameConfig gs = GameConfigAccess.Instance.FindOneById(s.Key);
             if (gs == null) continue;
             if (gs.SubType == SkillSub.Addition || gs.SubType == SkillSub.AdditionJ)
             {
                 string level = s.Value.ToString();
                 p.Add(gs.Value[level] as Variant);
             }
         }
     }
     TitleAddition(p);
     InitFixBuffer();
     AddStar(p);
     AddDressing(p);
     m_sPro.Value = p.GetChange();
     m_sPro.Save();
 }
Example #21
0
 /// <summary>
 /// 计算称号加成
 /// </summary>
 private void TitleAddition(PlayerProperty p)
 {
     if (m_title != null && m_title.Value != null)
     {
         //称号前缀
         string prefix = m_title.Value.GetStringOrDefault("Prefix");
         if (!string.IsNullOrEmpty(prefix))
         {
             GameConfig gs = GameConfigAccess.Instance.FindOneById(prefix);
             if (gs != null && gs.MainType == MainType.Title)
             {
                 p.Add(gs.Value);
             }
         }
         //称号后缀
         string suffix = m_title.Value.GetStringOrDefault("Suffix"); ;
         if (!string.IsNullOrEmpty(suffix))
         {
             GameConfig gs = GameConfigAccess.Instance.FindOneById(suffix);
             if (gs != null && gs.MainType == MainType.Title)
             {
                 p.Add(gs.Value);
             }
         }
     }
 }
Example #22
0
 /// <summary>
 /// 发动攻击
 /// </summary>
 /// <param name="pro">被攻击者</param>
 /// <param name="lv"></param>
 /// <returns></returns>
 public int SendGongJi(PlayerProperty pro, double lv)
 {
     int v = (int)((this.BaoJi * lv) * (1 - pro.WuLiXiShou) - pro.KangShangHai);
     if (v <= 0) v = 1;
     return v;
 }