9 private readonly Identifier skillIdentifier;
10 private readonly
float skillIncrease;
17 if (skillIdentifier.IsEmpty)
19 DebugConsole.ThrowError($
"Error in talent \"{characterAbilityGroup.CharacterTalent.DebugIdentifier}\" - skill identifier not defined in CharacterAbilityIncreaseSkill.",
22 if (MathUtils.NearlyEqual(skillIncrease, 0))
24 DebugConsole.AddWarning($
"Possible error in talent \"{characterAbilityGroup.CharacterTalent.DebugIdentifier}\" - skill increase set to 0.",
38 ApplyEffectSpecific(character);
46 private void ApplyEffectSpecific(
Character character)
48 if (skillIdentifier ==
"random")
51 if (skill ==
null) {
return; }
override void ApplyEffect()
override bool AppliesEffectOnIntervalUpdate
CharacterAbilityIncreaseSkill(CharacterAbilityGroup characterAbilityGroup, ContentXElement abilityElement)
override void ApplyEffect(AbilityObject abilityObject)
void IncreaseSkillLevel(Identifier skillIdentifier, float increase, bool gainedFromAbility=false, bool forceNotification=false)
Increase the skill by a specific amount. Talents may affect the actual, final skill increase.
float GetAttributeFloat(string key, float def)
ContentPackage? ContentPackage
Identifier GetAttributeIdentifier(string key, string def)
IEnumerable< Skill > GetSkills()