Exemple #1
0
 public CharacterAbilityModifyStatToSkill(CharacterAbilityGroup characterAbilityGroup, XElement abilityElement) : base(characterAbilityGroup, abilityElement)
 {
     statType        = CharacterAbilityGroup.ParseStatType(abilityElement.GetAttributeString("stattype", ""), CharacterTalent.DebugIdentifier);
     maxValue        = abilityElement.GetAttributeFloat("maxvalue", 0f);
     skillIdentifier = abilityElement.GetAttributeString("skillidentifier", string.Empty);
     useAll          = skillIdentifier == "all";
 }
Exemple #2
0
        public AbilityConditionHasPermanentStat(CharacterTalent characterTalent, XElement conditionElement) : base(characterTalent, conditionElement)
        {
            statIdentifier = conditionElement.GetAttributeString("statidentifier", string.Empty);
            if (string.IsNullOrEmpty(statIdentifier))
            {
                DebugConsole.ThrowError($"No stat identifier defined for {this} in talent {characterTalent.DebugIdentifier}!");
            }
            string statTypeName = conditionElement.GetAttributeString("stattype", string.Empty);

            statType = string.IsNullOrEmpty(statTypeName) ? StatTypes.None : CharacterAbilityGroup.ParseStatType(statTypeName, characterTalent.DebugIdentifier);
            min      = conditionElement.GetAttributeFloat("min", 0f);
        }
 public CharacterAbilityModifyStatToFlooding(CharacterAbilityGroup characterAbilityGroup, XElement abilityElement) : base(characterAbilityGroup, abilityElement)
 {
     statType = CharacterAbilityGroup.ParseStatType(abilityElement.GetAttributeString("stattype", ""), CharacterTalent.DebugIdentifier);
     maxValue = abilityElement.GetAttributeFloat("maxvalue", 0f);
 }
Exemple #4
0
 public CharacterAbilityPsychoClown(CharacterAbilityGroup characterAbilityGroup, XElement abilityElement) : base(characterAbilityGroup, abilityElement)
 {
     statType             = CharacterAbilityGroup.ParseStatType(abilityElement.GetAttributeString("stattype", ""), CharacterTalent.DebugIdentifier);
     maxValue             = abilityElement.GetAttributeFloat("maxvalue", 0f);
     afflictionIdentifier = abilityElement.GetAttributeString("afflictionidentifier", "");
 }
 public CharacterAbilityModifyStatToLevel(CharacterAbilityGroup characterAbilityGroup, XElement abilityElement) : base(characterAbilityGroup, abilityElement)
 {
     statType     = CharacterAbilityGroup.ParseStatType(abilityElement.GetAttributeString("stattype", ""), CharacterTalent.DebugIdentifier);
     statPerLevel = abilityElement.GetAttributeFloat("statperlevel", 0f);
     maxLevel     = abilityElement.GetAttributeInt("maxlevel", int.MaxValue);
 }
Exemple #6
0
        public CharacterAbilityGivePermanentStat(CharacterAbilityGroup characterAbilityGroup, XElement abilityElement) : base(characterAbilityGroup, abilityElement)
        {
            statIdentifier = abilityElement.GetAttributeString("statidentifier", "").ToLowerInvariant();
            string statTypeName = abilityElement.GetAttributeString("stattype", string.Empty);

            statType              = string.IsNullOrEmpty(statTypeName) ? StatTypes.None : CharacterAbilityGroup.ParseStatType(statTypeName, CharacterTalent.DebugIdentifier);
            value                 = abilityElement.GetAttributeFloat("value", 0f);
            maxValue              = abilityElement.GetAttributeFloat("maxvalue", float.MaxValue);
            targetAllies          = abilityElement.GetAttributeBool("targetallies", false);
            removeOnDeath         = abilityElement.GetAttributeBool("removeondeath", true);
            giveOnAddingFirstTime = abilityElement.GetAttributeBool("giveonaddingfirsttime", characterAbilityGroup.AbilityEffectType == AbilityEffectType.None);
            setValue              = abilityElement.GetAttributeBool("setvalue", false);
        }