コード例 #1
0
ファイル: Player.cs プロジェクト: sklivvz/QHackSharp
        /// <summary>
        /// Increase a specified training skill by +1.
        /// </summary>
        /// <param name="i"></param>
        private void IncreaseTrainingSkill(TrainingSkills i)
        {
            switch (i)
            {
                case TrainingSkills.T_STRENGTH:
                case TrainingSkills.T_INTELLIGENCE:
                case TrainingSkills.T_DEXTERITY:
                case TrainingSkills.T_TOUGHNESS:
                case TrainingSkills.T_MANA:
                    _attributes[(int) i]++;
                    break;

                case TrainingSkills.T_HITS:
                    _maxHits++;
                    _hits++;
                    break;

                case TrainingSkills.T_POWER:
                    _maxPower++;
                    _power++;
                    break;

                case TrainingSkills.T_2HIT:
                    toHit++;
                    break;

                case TrainingSkills.T_2DAMAGE:
                    _toDamage++;
                    break;

                case TrainingSkills.T_SEARCHING:
                    _searching++;
                    break;
            }
            UpdateNecessary = true;
        }
コード例 #2
0
ファイル: Player.cs プロジェクト: sklivvz/QHackSharp
        /// <summary>
        /// Determine the required amount of experience for a specific skill.
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        private int RequiredExp(TrainingSkills i)
        {
            switch (i)
            {
                case TrainingSkills.T_STRENGTH:
                    return (_attributes[(int) Attributes.Strength] + 1)*65*Config.Tunits;

                case TrainingSkills.T_INTELLIGENCE:
                    return (_attributes[(int) Attributes.Intelligence] + 1)*60*Config.Tunits;

                case TrainingSkills.T_DEXTERITY:
                    return (_attributes[(int) Attributes.Dexterity] + 1)*60*Config.Tunits;

                case TrainingSkills.T_TOUGHNESS:
                    return (_attributes[(int) Attributes.Toughness] + 1)*60*Config.Tunits;

                case TrainingSkills.T_MANA:
                    return (_attributes[(int) Attributes.Mana] + 1)*55*Config.Tunits;

                case TrainingSkills.T_HITS:
                    return (_maxHits + 1)*Config.Tunits;

                case TrainingSkills.T_POWER:
                    return (_maxPower + 1)*Config.Tunits;

                case TrainingSkills.T_2HIT:
                    return (((toHit + 1)*(toHit + 2)) >> 1)*5*Config.Tunits;

                case TrainingSkills.T_2DAMAGE:
                    return (((_toDamage + 1)*(_toDamage + 2)) >> 1)
                           *25*Config.Tunits;

                case TrainingSkills.T_SEARCHING:
                    return (_searching + 1)*Config.Tunits;
            }

            return 0;
        }
コード例 #3
0
ファイル: Player.cs プロジェクト: sklivvz/QHackSharp
        /// <summary>
        /// Determine the current value of a training skill.
        /// </summary>
        /// <param name="i"></param>
        /// <returns></returns>
        private int CurrentLevel(TrainingSkills i)
        {
            switch (i)
            {
                case TrainingSkills.T_STRENGTH:
                case TrainingSkills.T_INTELLIGENCE:
                case TrainingSkills.T_DEXTERITY:
                case TrainingSkills.T_TOUGHNESS:
                case TrainingSkills.T_MANA:
                    return _attributes[(int) i];

                case TrainingSkills.T_HITS:
                    return _maxHits;

                case TrainingSkills.T_POWER:
                    return _maxPower;

                case TrainingSkills.T_2HIT:
                    return toHit;

                case TrainingSkills.T_2DAMAGE:
                    return _toDamage;

                case TrainingSkills.T_SEARCHING:
                    return _searching;
            }

            return 0;
        }