/// <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(); } }
/// <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); }