예제 #1
0
        /// <summary>
        /// Gets the character's primary stat
        /// </summary>
        public CharacterAttributeEnum GetAttributeByStat(CharacterStatEnum stat)
        {
            switch (stat)
            {
            case CharacterStatEnum.Strength:
                return(CharacterAttributeEnum.Strength);

            case CharacterStatEnum.Dexterity:
                return(CharacterAttributeEnum.Dexterity);

            case CharacterStatEnum.Reaction:
                return(CharacterAttributeEnum.Reaction);

            case CharacterStatEnum.Intelligence:
                return(CharacterAttributeEnum.Intelligence);

            case CharacterStatEnum.Wisdom:
                return(CharacterAttributeEnum.Wisdom);

            case CharacterStatEnum.Luck:
                return(CharacterAttributeEnum.Luck);

            default:
                throw new NotSupportedException();
            }
        }
예제 #2
0
        /// <summary>
        /// Change a character's stat value.
        /// </summary>
        /// <param name="stat">Stat to change</param>
        /// <param name="value">New stat value</param>
        public void SetStat(CharacterStatEnum stat, ushort value)
        {
            switch (stat)
            {
            case CharacterStatEnum.Strength:
                Strength = value;
                break;

            case CharacterStatEnum.Dexterity:
                Dexterity = value;
                SendMaxSP();
                break;

            case CharacterStatEnum.Reaction:
                Reaction = value;
                SendMaxHP();
                break;

            case CharacterStatEnum.Intelligence:
                Intelligence = value;
                break;

            case CharacterStatEnum.Luck:
                Luck = value;
                break;

            case CharacterStatEnum.Wisdom:
                Wisdom = value;
                SendMaxMP();
                break;

            default:
                return;
            }

            SendAdditionalStats();

            _taskQueue.Enqueue(ActionType.UPDATE_STATS, Id, Strength, Dexterity, Reaction, Intelligence, Wisdom, Luck, StatPoint);
        }