v1.0.13.1 (first post-1.0 patch)

This commit is contained in:
Regalis11
2023-05-10 15:07:17 +03:00
parent 96fb49ba14
commit ee1db852b1
272 changed files with 5738 additions and 2413 deletions
+373 -16
View File
@@ -75,88 +75,390 @@ namespace Barotrauma
OnStatusEffectIdentifier,
}
/// <summary>
/// StatTypes are used to alter several traits of a character. They are mostly used by talents.
///
/// A lot of StatTypes use a "percentage" value. The way this works is that the value is 0 by default and 1 is added to the value of the stat type to get the final multiplier.
/// For example if the value is set to 0.2 then 1 is added to it making it 1.2 and that is used as a multiplier.
/// This makes it so values between -100% and +100% can be easily represented as -1 and 1 respectively. For example 0.5 would translate to 1.5 for +50% and -0.2 would translate to 0.8 for -20% multiplier.
/// </summary>
public enum StatTypes
{
/// <summary>
/// Used to indicate an invalid stat type. Should not be used.
/// </summary>
None,
// Skills
/// <summary>
/// Boosts electrical skill by a flat amount.
/// </summary>
ElectricalSkillBonus,
/// <summary>
/// Boosts helm skill by a flat amount.
/// </summary>
HelmSkillBonus,
HelmSkillOverride,
MedicalSkillOverride,
WeaponsSkillOverride,
ElectricalSkillOverride,
MechanicalSkillOverride,
/// <summary>
/// Boosts mechanical skill by a flat amount.
/// </summary>
MechanicalSkillBonus,
/// <summary>
/// Boosts medical skill by a flat amount.
/// </summary>
MedicalSkillBonus,
/// <summary>
/// Boosts weapons skill by a flat amount.
/// </summary>
WeaponsSkillBonus,
// Character attributes
/// <summary>
/// Boosts the character's helm skill to the given value if it's lower than the given value.
/// </summary>
HelmSkillOverride,
/// <summary>
/// Boosts the character's medical skill to the given value if it's lower than the given value.
/// </summary>
MedicalSkillOverride,
/// <summary>
/// Boosts the character's weapons skill to the given value if it's lower than the given value.
/// </summary>
WeaponsSkillOverride,
/// <summary>
/// Boosts the character's electrical skill to the given value if it's lower than the given value.
/// </summary>
ElectricalSkillOverride,
/// <summary>
/// Boosts the character's mechanical skill to the given value if it's lower than the given value.
/// </summary>
MechanicalSkillOverride,
/// <summary>
/// Increases character's maximum vitality by a percentage.
/// </summary>
MaximumHealthMultiplier,
/// <summary>
/// Increases both walking and swimming speed of the character by a percentage.
/// </summary>
MovementSpeed,
/// <summary>
/// Increases the character's walking speed by a percentage.
/// </summary>
WalkingSpeed,
/// <summary>
/// Increases the character's swimming speed by a percentage.
/// </summary>
SwimmingSpeed,
/// <summary>
/// Decreases how long it takes for buffs applied to the character decay over time by a percentage.
/// Buffs are afflictions that have isBuff set to true.
/// </summary>
BuffDurationMultiplier,
/// <summary>
/// Decreases how long it takes for debuff applied to the character decay over time by a percentage.
/// Debuffs are afflictions that have isBuff set to false.
/// </summary>
DebuffDurationMultiplier,
/// <summary>
/// Increases the strength of afflictions that are applied to the character by a percentage.
/// Medicines are items that have the "medical" tag.
/// </summary>
MedicalItemEffectivenessMultiplier,
/// <summary>
/// Increases the resistance to pushing force caused by flowing water by a percentage. The resistance cannot be below 0% or higher than 100%.
/// </summary>
FlowResistance,
// Combat
/// <summary>
/// Increases how much damage the character deals via all attacks by a percentage.
/// </summary>
AttackMultiplier,
/// <summary>
/// Increases how much damage the character deals to other characters on the same team by a percentage.
/// </summary>
TeamAttackMultiplier,
/// <summary>
/// Decreases the reload time of ranged weapons held by the character by a percentage.
/// </summary>
RangedAttackSpeed,
/// <summary>
/// Decreases the reload time of submarine turrets operated by the character by a percentage.
/// </summary>
TurretAttackSpeed,
/// <summary>
/// Decreases the power consumption of submarine turrets operated by the character by a percentage.
/// </summary>
TurretPowerCostReduction,
/// <summary>
/// Increases how fast submarine turrets operated by the character charge up by a percentage. Affects turrets like pulse laser.
/// </summary>
TurretChargeSpeed,
/// <summary>
/// Increases how fast the character can swing melee weapons by a percentage.
/// </summary>
MeleeAttackSpeed,
/// <summary>
/// Increases the damage dealt by melee weapons held by the character by a percentage.
/// </summary>
MeleeAttackMultiplier,
RangedAttackMultiplier,
/// <summary>
/// Decreases the spread of ranged weapons held by the character by a percentage.
/// </summary>
RangedSpreadReduction,
// Utility
/// <summary>
/// Increases the repair speed of the character by a percentage.
/// </summary>
RepairSpeed,
/// <summary>
/// Increases the repair speed of the character when repairing mechanical items by a percentage.
/// </summary>
MechanicalRepairSpeed,
/// <summary>
/// Increase deconstruction speed of deconstructor operated by the character by a percentage.
/// </summary>
DeconstructorSpeedMultiplier,
/// <summary>
/// Increases the repair speed of repair tools that fix submarine walls by a percentage.
/// </summary>
RepairToolStructureRepairMultiplier,
/// <summary>
/// Increases the wall damage of tools that destroy submarine walls like plasma cutter by a percentage.
/// </summary>
RepairToolStructureDamageMultiplier,
/// <summary>
/// Increase the detach speed of items like minerals that require a tool to detach from the wall by a percentage.
/// </summary>
RepairToolDeattachTimeMultiplier,
/// <summary>
/// Allows the character to repair mechanical items past the maximum condition by a flat percentage amount. For example setting this to 0.1 allows the character to repair mechanical items to 110% condition.
/// </summary>
MaxRepairConditionMultiplierMechanical,
/// <summary>
/// Allows the character to repair electrical items past the maximum condition by a flat percentage amount. For example setting this to 0.1 allows the character to repair electrical items to 110% condition.
/// </summary>
MaxRepairConditionMultiplierElectrical,
/// <summary>
/// Increase the the quality of items crafted by the character by a flat amount.
/// Can be made to only affect certain item with a given tag types by specifying a tag via CharacterAbilityGivePermanentStat, when no tag is specified the ability affects all items.
/// </summary>
IncreaseFabricationQuality,
/// <summary>
/// Boosts the condition of genes combined by the character by a flat amount.
/// </summary>
GeneticMaterialRefineBonus,
/// <summary>
/// Reduces the chance to taint a gene when combining genes by a percentage. Tainting probability can not go below 0% or above 100%.
/// </summary>
GeneticMaterialTaintedProbabilityReductionOnCombine,
/// <summary>
/// Increases the speed at which the character gains skills by a percentage.
/// </summary>
SkillGainSpeed,
/// <summary>
/// Whenever the character's skill level up add a flat amount of more skill levels to the character.
/// </summary>
ExtraLevelGain,
/// <summary>
/// Increases the speed at which the character gains helm skill by a percentage.
/// </summary>
HelmSkillGainSpeed,
/// <summary>
/// Increases the speed at which the character gains weapons skill by a percentage.
/// </summary>
WeaponsSkillGainSpeed,
/// <summary>
/// Increases the speed at which the character gains medical skill by a percentage.
/// </summary>
MedicalSkillGainSpeed,
/// <summary>
/// Increases the speed at which the character gains electrical skill by a percentage.
/// </summary>
ElectricalSkillGainSpeed,
/// <summary>
/// Increases the speed at which the character gains mechanical skill by a percentage.
/// </summary>
MechanicalSkillGainSpeed,
/// <summary>
/// Increases the strength of afflictions the character applies to other characters via medicine by a percentage.
/// Medicines are items that have the "medical" tag.
/// </summary>
MedicalItemApplyingMultiplier,
MedicalItemDurationMultiplier,
/// <summary>
/// Increases the strength of afflictions the character applies to other characters via medicine by a percentage.
/// Works only for afflictions that have isBuff set to true.
/// </summary>
BuffItemApplyingMultiplier,
/// <summary>
/// Increases the strength of afflictions the character applies to other characters via medicine by a percentage.
/// Works only for afflictions that have "poison" type.
/// </summary>
PoisonMultiplier,
// Tinker
/// <summary>
/// Increases how long the character can tinker with items by a flat amount where 1 = 1 second.
/// </summary>
TinkeringDuration,
/// <summary>
/// Increases the effectiveness of the character's tinkerings by a percentage.
/// Tinkering strength affects the speed and effectiveness of the item that is being tinkered with.
/// </summary>
TinkeringStrength,
/// <summary>
/// Increases how much condition tinkered items lose when the character tinkers with them by a percentage.
/// </summary>
TinkeringDamage,
// Misc
/// <summary>
/// Increases how much reputation the character gains by a percentage.
/// Can be made to only affect certain factions with a given tag types by specifying a tag via CharacterAbilityGivePermanentStat, when no tag is specified the ability affects all factions.
/// </summary>
ReputationGainMultiplier,
/// <summary>
/// Increases how much reputation the character loses by a percentage.
/// Can be made to only affect certain factions with a given tag types by specifying a tag via CharacterAbilityGivePermanentStat, when no tag is specified the ability affects all factions.
/// </summary>
ReputationLossMultiplier,
/// <summary>
/// Increases how much money the character gains from missions by a percentage.
/// </summary>
MissionMoneyGainMultiplier,
/// <summary>
/// Increases how much talent experience the character gains from all sources by a percentage.
/// </summary>
ExperienceGainMultiplier,
/// <summary>
/// Increases how much talent experience the character gains from missions by a percentage.
/// </summary>
MissionExperienceGainMultiplier,
/// <summary>
/// Increases how many missions the characters crew can have at the same time by a flat amount.
/// </summary>
ExtraMissionCount,
/// <summary>
/// Increases how many items are in stock in special sales in the store by a flat amount.
/// </summary>
ExtraSpecialSalesCount,
/// <summary>
/// Increases how much money is gained from selling items to the store by a percentage.
/// </summary>
StoreSellMultiplier,
/// <summary>
/// Decreases the prices of items in affiliated store by a percentage.
/// </summary>
StoreBuyMultiplierAffiliated,
/// <summary>
/// Decreases the prices of items in all stores by a percentage.
/// </summary>
StoreBuyMultiplier,
/// <summary>
/// Decreases the price of upgrades and submarines in affiliated outposts by a percentage.
/// </summary>
ShipyardBuyMultiplierAffiliated,
/// <summary>
/// Decreases the price of upgrades and submarines in all outposts by a percentage.
/// </summary>
ShipyardBuyMultiplier,
/// <summary>
/// Limits how many of a certain item can be attached to the wall in the submarine at the same time.
/// Has to be used with CharacterAbilityGivePermanentStat to specify the tag of the item that is affected. Does nothing if no tag is specified.
/// </summary>
MaxAttachableCount,
/// <summary>
/// Increase the radius of explosions caused by the character by a percentage.
/// </summary>
ExplosionRadiusMultiplier,
/// <summary>
/// Increases the damage of explosions caused by the character by a percentage.
/// </summary>
ExplosionDamageMultiplier,
/// <summary>
/// Decreases the time it takes to fabricate items on fabricators operated by the character by a percentage.
/// </summary>
FabricationSpeed,
/// <summary>
/// Increases how much damage the character deals to ballast flora by a percentage.
/// </summary>
BallastFloraDamageMultiplier,
/// <summary>
/// Increases the time it takes for the character to pass out when out of oxygen.
/// </summary>
HoldBreathMultiplier,
/// <summary>
/// Used to set the character's apprencticeship to a certain job.
/// Used by the "apprenticeship" talent and requires a job to be specified via CharacterAbilityGivePermanentStat.
/// </summary>
Apprenticeship,
Affiliation,
/// <summary>
/// Increases the revival chance of the character when performing CPR by a percentage.
/// </summary>
CPRBoost,
/// <summary>
/// Can be used to prevent certain talents from being unlocked by specifying the talent's identifier via CharacterAbilityGivePermanentStat.
/// </summary>
LockedTalents
}
@@ -175,22 +477,77 @@ namespace Barotrauma
FabricationSpeed
}
/// <summary>
/// AbilityFlags are a set of toggleable flags that can be applied to characters.
/// </summary>
[Flags]
public enum AbilityFlags
{
/// <summary>
/// Used to indicate an erroneous ability flag. Should not be used.
/// </summary>
None = 0,
/// <summary>
/// Character will not be able to run.
/// </summary>
MustWalk = 0x1,
/// <summary>
/// Character is immune to pressure.
/// </summary>
ImmuneToPressure = 0x2,
/// <summary>
/// Character won't be targeted by enemy AI.
/// </summary>
IgnoredByEnemyAI = 0x4,
/// <summary>
/// Character can drag corpses without a movement speed penalty.
/// </summary>
MoveNormallyWhileDragging = 0x8,
/// <summary>
/// Character is able to tinker with items.
/// </summary>
CanTinker = 0x10,
/// <summary>
/// Character is able to tinker with fabricators and deconstructors.
/// </summary>
CanTinkerFabricatorsAndDeconstructors = 0x20,
/// <summary>
/// Allows items tinkered by the character to consume no power.
/// </summary>
TinkeringPowersDevices = 0x40,
/// <summary>
/// Allows the character to gain skills past 100.
/// </summary>
GainSkillPastMaximum = 0x80,
/// <summary>
/// Allows the character to retain experience when respawning as a new character.
/// </summary>
RetainExperienceForNewCharacter = 0x100,
/// <summary>
/// Allows CharacterAbilityApplyStatusEffectsToLastOrderedCharacter to affect the last 2 characters ordered.
/// </summary>
AllowSecondOrderedTarget = 0x200,
/// <summary>
/// Character will stay conscious even if their vitality drops below 0.
/// </summary>
AlwaysStayConscious = 0x400,
CanNotDieToAfflictions = 0x800,
/// <summary>
/// Prevents afflictions on the character from dropping the characters vitality below the kill threshold.
/// The character can still die from sources like getting crushed by pressure or if their head is severed.
/// </summary>
CanNotDieToAfflictions = 0x800
}
[Flags]
@@ -228,4 +585,4 @@ namespace Barotrauma
Local,
Radio
}
}
}