Пример #1
0
        public static Treasure createTreasure(PersonGenerateParam param, bool isAI)
        {
            Treasure r = HandleID();

            r.Name = "z" + r.ID;
            r.Name = r.Name.Remove(0, r.Name.Length - 3);
            HandleGroup(r, param);

            r.AppearYear        = 0;
            r.Description       = Session.Current.Scenario.Date + "委托" + param.PreferredType + "打造于" + param.FoundLocation.Name;
            r.HidePlaceIDString = -1;
            r.worth             = 39;
            r.Available         = true;
            HandleInfluencesString(r, isAI);
            Session.Current.Scenario.Treasures.AddTreasure(r);
            return(r);
        }
Пример #2
0
        private static void HandleGroup(Treasure r, PersonGenerateParam param)
        {
            string p = param.PreferredType.Name;

            switch (p)
            {
            case "全能":
                r.TreasureGroup = 3214; r.Pic = 1376; r.Name += "玉玺";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    int b = Random(1, 500);
                    if (s.Kind.ID >= 320 && b == 10)
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 1)
                        {
                            break;
                        }
                    }
                }
                break;

            case "将军":
                r.TreasureGroup = 1100; r.Pic = 1; r.Name += "武器";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if (s.Kind.ID == 6010 && GameObject.Chance(10))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;

            case "君主":
                r.TreasureGroup = 300; r.Pic = 1001; r.Name += "名马";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if (s.Kind.ID == 281)
                    {
                        r.Influences.AddInfluence(s);
                    }
                    if ((s.Kind.ID >= 250 && s.Kind.ID <= 263 || s.Kind.ID == 6270 || s.Kind.ID == 6280) && s.ID > 281 && GameObject.Chance(10))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;

            case "智将":
                r.TreasureGroup = 1300; r.Pic = 1211; r.Name += "政书";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if (s.Kind.ID <= 160 && GameObject.Chance(1))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;

            case "女官":
                r.TreasureGroup = 2900; r.Pic = 1352; r.Name += "乐器";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if (s.Kind.ID <= 660 && s.Kind.ID >= 609 && GameObject.Chance(5))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;

            case "识者":
                r.TreasureGroup = 2001; r.Pic = 1312; r.Name += "药";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if (s.Kind.ID == 6820 && GameObject.Chance(30))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;

            case "文官":
                r.TreasureGroup = 3200; r.Pic = 1332; r.Name += "器具";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if (s.Kind.ID <= 6040 && s.Kind.ID >= 6020 && GameObject.Chance(5))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;

            case "武官":
                r.TreasureGroup = 4100; r.Pic = 43; r.Name += "头盔";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if ((s.Kind.ID <= 5090 && s.Kind.ID >= 5060 || s.Kind.ID == 6000) && GameObject.Chance(5))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;

            case "猛将":
                r.TreasureGroup = 4000; r.Pic = 3048; r.Name += "铠甲";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if ((s.Kind.ID == 400 || s.Kind.ID == 405 || s.Kind.ID == 420) && GameObject.Chance(10))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;

            case "军师":
                r.TreasureGroup = 1200; r.Pic = 1205; r.Name += "兵书";
                foreach (Influence s in Session.Current.Scenario.GameCommonData.AllInfluences.Influences.Values)
                {
                    if ((s.Kind.ID <= 6595 && s.Kind.ID >= 6570 || s.Kind.ID >= 6900) && GameObject.Chance(4))
                    {
                        r.Influences.AddInfluence(s);
                        if (r.Influences.Count > 0)
                        {
                            break;
                        }
                    }
                }
                break;
            }
        }