mirror of
https://github.com/DeltaV-Station/Delta-v.git
synced 2026-09-29 23:57:29 +00:00
* feat: effigy-driven colossus * feat: impl final stage, tweaks, randomization, fixes * fix: actually broadcast first effigy audio * style: add some newlines * feat: notify player about updated target location in chat * tweak: effigy always grows * feat: make alwaysGrow show on anom scanner * tweak: raise minimumPlayers to 35 * refactor: move FTL additions to _DV * refactor: break out buffs into comps, add event also added missing docs and made effigies heal colossi fully, as specified in the PR body. I accidentally left it at 50% damage taken. * docs: add effigy comp docs
57 lines
1.7 KiB
C#
57 lines
1.7 KiB
C#
using Content.Shared.Damage.Prototypes;
|
|
using Content.Shared.FixedPoint;
|
|
using Robust.Shared.Prototypes;
|
|
|
|
namespace Content.Server._DV.CosmicCult.Components;
|
|
|
|
/// <summary>
|
|
/// The owning colossus's attack rate will be multiplied by
|
|
/// the given multiplier once its effigy goes supercritical.
|
|
/// Component meant to be applied to Cosmic Colossus.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class MultiplyAttackRateOnSupercriticalComponent : Component
|
|
{
|
|
[DataField]
|
|
public float Multiplier = 1.1f;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The owning colossus's corrupting speed will be multiplied by
|
|
/// the given multiplier once its effigy goes supercritical.
|
|
/// Component meant to be applied to Cosmic Colossus.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class MultiplyCorruptingSpeedOnSupercriticalComponent : Component
|
|
{
|
|
[DataField]
|
|
public float Multiplier = 0.9f;
|
|
}
|
|
|
|
/// <summary>
|
|
/// The owning colossus will receive a flat bonus to
|
|
/// its melee attack damage once its effigy goes supercritical.
|
|
/// Component meant to be applied to Cosmic Colossus.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class FlatAttackBonusOnSupercriticalComponent : Component
|
|
{
|
|
[DataField]
|
|
public FixedPoint2 BonusDamage = 10;
|
|
|
|
[DataField]
|
|
public ProtoId<DamageTypePrototype> BonusDamageType = "Blunt";
|
|
}
|
|
|
|
/// <summary>
|
|
/// The owning colossus will be healed for `-CurrentDamage * Abs(DamageFractionHealed)` damage
|
|
/// once its effigy goes supercritical.
|
|
/// Component meant to be applied to Cosmic Colossus.
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class HealOnSupercriticalComponent : Component
|
|
{
|
|
[DataField]
|
|
public float DamageFractionHealed = 1.0f;
|
|
}
|