public static AbilityRec Create(int name)
        {
            AbilityRec result = new AbilityRec();

            result.Name = name;
            return(result);
        }
Exemple #2
0
        protected override void DoShowEvent()
        {
            base.DoShowEvent();

            fDiagnosisCtl.Items.Clear();
            fSkillsCtl.Items.Clear();
            fAbilitiesCtl.Items.Clear();

            for (var ab = AbilityID.Ab_First; ab <= AbilityID.Ab_Last; ab++)
            {
                AbilityRec abid = StaticData.dbAbilities[(int)ab];
                int        val  = GlobalVars.nwrGame.Player.GetAbility(ab);
                if (val > 0)
                {
                    fAbilitiesCtl.Items.Add(BaseLocale.GetStr(abid.Name) + " (" + Convert.ToString(val) + ")", null);
                }
            }

            for (var sk = SkillID.Sk_First; sk <= SkillID.Sk_Last; sk++)
            {
                int val = GlobalVars.nwrGame.Player.GetSkill(sk);
                if (val > 0)
                {
                    fSkillsCtl.Items.Add(BaseLocale.GetStr(StaticData.dbSkills[(int)sk].Name) + " (" + Convert.ToString(val) + ")", null);
                }
            }

            int num = GlobalVars.nwrGame.Player.Effects.Count;

            for (int i = 0; i < num; i++)
            {
                fDiagnosisCtl.Items.Add(GlobalVars.nwrGame.Player.Effects.GetItem(i).Name, null);
            }

            StringList body_diag = new StringList();

            try {
                GlobalVars.nwrGame.Player.DiagnosisBody(body_diag);

                int num2 = body_diag.Count;
                for (int i = 0; i < num2; i++)
                {
                    fDiagnosisCtl.Items.Add(body_diag[i], null);
                }
            } finally {
                body_diag.Dispose();
            }
        }
        private void UpdateView()
        {
            fDisciplinesList.Items.BeginUpdate();
            fDisciplinesList.Items.Clear();
            NWCreature clt = fCollocutor;
            Player     p   = GlobalVars.nwrGame.Player;

            for (int i = 0; i < StaticData.dbTeachable.Length; i++)
            {
                int           id   = StaticData.dbTeachable[i].Id;
                bool          res  = false;
                TeachableKind kind = StaticData.dbTeachable[i].Kind;

                string s          = "";
                int    imageIndex = -1;
                int    curLev     = 0;
                switch (kind)
                {
                case TeachableKind.Ability:
                    AbilityRec abRec = StaticData.dbAbilities[id];
                    AbilityID  ab    = (AbilityID)id;
                    if (clt.GetAbility(ab) > 0)
                    {
                        s          = BaseLocale.GetStr(abRec.Name);
                        imageIndex = -1;
                        curLev     = p.GetAbility(ab);
                        res        = (curLev < clt.GetAbility(ab));
                    }
                    break;

                case TeachableKind.Skill:
                    SkillRec skRec = StaticData.dbSkills[id];
                    SkillID  sk    = (SkillID)id;
                    if (clt.GetSkill(sk) >= 0)
                    {
                        s          = BaseLocale.GetStr(skRec.Name);
                        imageIndex = skRec.ImageIndex;
                        curLev     = p.GetSkill(sk);
                        res        = (curLev < clt.GetSkill(sk));
                    }
                    break;
                }

                int price = (int)GlobalVars.nwrGame.GetTeachablePrice(i, curLev);

                if (res)
                {
                    string st       = " ( " + Convert.ToString(curLev) + " -> " + Convert.ToString(curLev + 1) + " )";
                    LBItem listItem = fDisciplinesList.Items.Add(s + st, new TeachItem(i, curLev, price));
                    if (price > p.Money)
                    {
                        listItem.Color = Colors.Red;
                    }
                    else
                    {
                        listItem.Color = Colors.Gold;
                    }
                    listItem.ImageIndex = imageIndex;
                    listItem.SubItems.Add(Convert.ToString(price), null);
                }
            }

            fDisciplinesList.Items.EndUpdate();
        }