Traitor Chemicals Rebalance (#42484)

very small list of changes overall

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
This commit is contained in:
Princess Cheeseballs
2026-01-19 14:17:10 -08:00
committed by GitHub
parent d75fc29a84
commit fa9173c0ec
8 changed files with 45 additions and 20 deletions

View File

@@ -4,7 +4,6 @@ using Robust.Shared.Prototypes;
namespace Content.Shared.EntityEffects.Effects.StatusEffects;
// TODO: When Electrocution is moved to new Status, make this use StatusEffectsContainerComponent.
/// <summary>
/// Electrocutes this entity for a given amount of damage and time.
/// The shock damage applied by this effect is modified by scale.
@@ -19,7 +18,13 @@ public sealed partial class ElectrocuteEntityEffectSystem : EntityEffectSystem<S
{
var effect = args.Effect;
_electrocution.TryDoElectrocution(entity, null, (int)(args.Scale * effect.ShockDamage), effect.ElectrocuteTime, effect.Refresh, ignoreInsulation: effect.BypassInsulation);
_electrocution.TryDoElectrocution(entity,
null,
(int)(args.Scale * effect.ShockDamage),
effect.ElectrocuteTime,
effect.Refresh,
siemensCoefficient: effect.SiemensCoefficient,
ignoreInsulation: effect.BypassInsulation);
}
}
@@ -29,23 +34,33 @@ public sealed partial class Electrocute : EntityEffectBase<Electrocute>
/// <summary>
/// Time we electrocute this entity
/// </summary>
[DataField] public TimeSpan ElectrocuteTime = TimeSpan.FromSeconds(2);
[DataField]
public TimeSpan ElectrocuteTime = TimeSpan.FromSeconds(2);
/// <summary>
/// Shock damage we apply to the entity.
/// </summary>
[DataField] public int ShockDamage = 5;
[DataField]
public int ShockDamage = 5;
/// <summary>
/// Do we refresh the duration? Or add more duration if it already exists.
/// </summary>
[DataField] public bool Refresh = true;
[DataField]
public bool Refresh = true;
/// <summary>
/// Should we by bypassing insulation?
/// </summary>
[DataField] public bool BypassInsulation = true;
[DataField]
public bool BypassInsulation = true;
/// <summary>
/// How much electricity is being passed through the body basically. Lower means less oomph.
/// </summary>
[DataField]
public float SiemensCoefficient = 1f;
public override string EntityEffectGuidebookText(IPrototypeManager prototype, IEntitySystemManager entSys)
=> Loc.GetString("entity-effect-guidebook-electrocute", ("chance", Probability), ("time", ElectrocuteTime.TotalSeconds));
=> Loc.GetString("entity-effect-guidebook-electrocute", ("chance", Probability), ("time", ElectrocuteTime.TotalSeconds), ("stuns", SiemensCoefficient > 0.5f));
}

View File

@@ -335,8 +335,14 @@ entity-effect-guidebook-drunk =
entity-effect-guidebook-electrocute =
{ $chance ->
[1] Electrocutes
*[other] electrocute
[1] { $stuns ->
[true] Electrocutes
*[false] Shocks
}
*[other] { $stuns ->
[true] electrocute
*[false] shock
}
} the metabolizer for {NATURALFIXED($time, 3)} {MANY("second", $time)}
entity-effect-guidebook-emote =

View File

@@ -30,7 +30,7 @@
- id: Dropper
# It would be cool to have special "syndicate" chemical analysis goggles
- id: ClothingEyesGlassesChemical
- id: SyringeStimulants
- id: Syringe
- id: VestineChemistryVial
amount: 2
- id: ChemistryEmptyVial

View File

@@ -697,7 +697,7 @@
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 5
Telecrystal: 3
categories:
- UplinkChemicals
@@ -710,7 +710,7 @@
discountDownTo:
Telecrystal: 2
cost:
Telecrystal: 4
Telecrystal: 3
categories:
- UplinkChemicals

View File

@@ -121,13 +121,13 @@
- type: SolutionContainerManager
solutions:
melee:
maxVol: 7
maxVol: 10
- type: SolutionInjectOnEmbed
transferAmount: 7
transferAmount: 10
blockSlots: NONE
solution: melee
- type: SolutionTransfer
maxTransferAmount: 7
maxTransferAmount: 10
- type: entity
name: dartboard

View File

@@ -164,9 +164,11 @@
color: "#FDD023"
metabolisms:
Poison:
metabolismRate : 2.0
effects:
- !type:Electrocute
probability: 0.35
siemensCoefficient: 0.5
probability: 0.5
- type: reagent
id: Razorium

View File

@@ -169,10 +169,10 @@
conditions:
- !type:ReagentCondition
reagent: Stimulants
min: 50
min: 45
damage:
types:
Poison: 1
Poison: 3
# Interactions
- !type:ModifyStatusEffect
conditions:
@@ -333,7 +333,7 @@
reagent: Nocturine
min: 8
effectProto: StatusEffectForcedSleeping
time: 6
time: 9
delay: 5
- type: reagent

View File

@@ -674,9 +674,11 @@
color: "#FDD023"
metabolisms:
Poison:
metabolismRate : 2.0
effects:
- !type:Electrocute
probability: 0.8
electrocuteTime: 1
probability: 0.5
- type: reagent
id: Lipolicide