Client LuaCsForBarotrauma
CharacterAbilityModifyStatToSkill.cs
1
using
System.Linq;
2
3
namespace
Barotrauma.Abilities
4
{
5
class
CharacterAbilityModifyStatToSkill
:
CharacterAbility
6
{
7
private
readonly
StatTypes
statType;
8
private
readonly
float
maxValue;
9
private
readonly
string
skillIdentifier;
10
private
readonly
bool
useAll;
11
private
float
lastValue = 0f;
12
public
override
bool
AllowClientSimulation
=>
true
;
13
14
public
CharacterAbilityModifyStatToSkill
(
CharacterAbilityGroup
characterAbilityGroup,
ContentXElement
abilityElement) : base(characterAbilityGroup, abilityElement)
15
{
16
statType =
CharacterAbilityGroup
.
ParseStatType
(abilityElement.
GetAttributeString
(
"stattype"
,
""
),
CharacterTalent
.
DebugIdentifier
);
17
maxValue = abilityElement.
GetAttributeFloat
(
"maxvalue"
, 0f);
18
skillIdentifier = abilityElement.
GetAttributeString
(
"skillidentifier"
,
string
.Empty);
19
useAll = skillIdentifier ==
"all"
;
20
}
21
22
protected
override
void
VerifyState
(
bool
conditionsMatched,
float
timeSinceLastUpdate)
23
{
24
Character
.
ChangeStat
(statType, -lastValue);
25
26
if
(conditionsMatched)
27
{
28
float
skillTotal = 0f;
29
30
if
(useAll &&
Character
.
Info
?.
Job
!=
null
)
31
{
32
var skills =
Character
.
Info
.
Job
.
GetSkills
();
33
foreach
(
Skill
skill
in
skills)
34
{
35
skillTotal +=
Character
.
GetSkillLevel
(skill.
Identifier
);
36
}
37
skillTotal /= skills.Count();
38
}
39
else
40
{
41
skillTotal =
Character
.
GetSkillLevel
(skillIdentifier);
42
}
43
44
lastValue = skillTotal / 100f * maxValue;
45
Character
.
ChangeStat
(statType, lastValue);
46
}
47
else
48
{
49
lastValue = 0f;
50
}
51
}
52
}
53
}
Barotrauma.Abilities.CharacterAbilityGroup
Definition:
CharacterAbilityGroup.cs:9
Barotrauma.Abilities.CharacterAbilityGroup.ParseStatType
static StatTypes ParseStatType(string statTypeString, string debugIdentifier)
Definition:
CharacterAbilityGroup.cs:238
Barotrauma.Abilities.CharacterAbility
Definition:
CharacterAbility.cs:7
Barotrauma.Abilities.CharacterAbilityModifyStatToSkill
Definition:
CharacterAbilityModifyStatToSkill.cs:6
Barotrauma.Abilities.CharacterAbilityModifyStatToSkill.AllowClientSimulation
override bool AllowClientSimulation
Definition:
CharacterAbilityModifyStatToSkill.cs:12
Barotrauma.Abilities.CharacterAbilityModifyStatToSkill.VerifyState
override void VerifyState(bool conditionsMatched, float timeSinceLastUpdate)
Definition:
CharacterAbilityModifyStatToSkill.cs:22
Barotrauma.Abilities.CharacterAbilityModifyStatToSkill.CharacterAbilityModifyStatToSkill
CharacterAbilityModifyStatToSkill(CharacterAbilityGroup characterAbilityGroup, ContentXElement abilityElement)
Definition:
CharacterAbilityModifyStatToSkill.cs:14
Barotrauma.Character
Definition:
BarotraumaShared/SharedSource/Characters/Character.cs:32
Barotrauma.Character.GetSkillLevel
float GetSkillLevel(string skillIdentifier)
Barotrauma.Character.ChangeStat
void ChangeStat(StatTypes statType, float value)
Definition:
BarotraumaShared/SharedSource/Characters/Character.cs:5691
Barotrauma.Character.Info
CharacterInfo Info
Definition:
BarotraumaShared/SharedSource/Characters/Character.cs:523
Barotrauma.CharacterInfo.Job
Job Job
Definition:
BarotraumaShared/SharedSource/Characters/CharacterInfo.cs:348
Barotrauma.CharacterTalent
Definition:
CharacterTalent.cs:8
Barotrauma.CharacterTalent.DebugIdentifier
string DebugIdentifier
Definition:
CharacterTalent.cs:10
Barotrauma.ContentXElement
Definition:
ContentXElement.cs:13
Barotrauma.ContentXElement.GetAttributeString
string? GetAttributeString(string key, string? def)
Barotrauma.ContentXElement.GetAttributeFloat
float GetAttributeFloat(string key, float def)
Barotrauma.Job.GetSkills
IEnumerable< Skill > GetSkills()
Definition:
Job.cs:84
Barotrauma.Skill
Definition:
Skill.cs:6
Barotrauma.Skill.Identifier
readonly Identifier Identifier
Definition:
Skill.cs:7
Barotrauma.Abilities
Definition:
AbilityCondition.cs:5
Barotrauma.StatTypes
StatTypes
StatTypes are used to alter several traits of a character. They are mostly used by talents.
Definition:
Enums.cs:180
Barotrauma
BarotraumaShared
SharedSource
Characters
Talents
Abilities
CharacterAbilityModifyStatToSkill.cs
Generated by
1.9.1