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