* [Feature] Holo Update (#948) * Это база, основа, фундамент. * update icons * based2 * zamena headcoder * протоНовые функции Обновлены окна персонажа для отображения статистики и навыков игрока. Добавлена система боевой музыки, которая активируется во время боя. Реализована функция широковещательной передачи сообщений в чате для нескольких получателей. Внедрены изменения на основе навыков и статистики для медицинских систем, включая дефибриллятор и лечение. Улучшена система ближнего боя с новыми действиями и сообщениями. Введена система предсказуемого рандома для продвинутой генерации случайных значений. Навыки и статистика теперь зависят от назначений на работу. * abilities * zvuk * tweaks & fixes * sprite fix * govno * govno2 * fix govna * GOVNOOOOOOOOOOOO * finally * цена (cherry picked from commit cf4a7d0a7ccb780905e0df7db80d60d2338c02d0) * Automatic changelog update (cherry picked from commit 32a1f13849b4593fa03eafff99179814278f5f11) --------- Co-authored-by: RavmorganButOnCocaine <valtos@nextmail.ru>
83 lines
2.7 KiB
C#
83 lines
2.7 KiB
C#
using Content.Shared._White.Guardian;
|
|
using Robust.Shared.Audio;
|
|
using Robust.Shared.Prototypes;
|
|
using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype;
|
|
|
|
namespace Content.Server.Guardian
|
|
{
|
|
/// <summary>
|
|
/// Given to guardians to monitor their link with the host
|
|
/// </summary>
|
|
[RegisterComponent]
|
|
public sealed partial class GuardianComponent : Component
|
|
{
|
|
/// <summary>
|
|
/// The guardian host entity
|
|
/// </summary>
|
|
[DataField]
|
|
public EntityUid? Host;
|
|
|
|
/// <summary>
|
|
/// Percentage of damage reflected from the guardian to the host
|
|
/// </summary>
|
|
[DataField("damageShare")]
|
|
public float DamageShare { get; set; } = 0.65f;
|
|
|
|
/// <summary>
|
|
/// Maximum distance the guardian can travel before it's forced to recall, use YAML to set
|
|
/// </summary>
|
|
[DataField("distance")]
|
|
public float DistanceAllowed { get; set; } = 5f;
|
|
|
|
/// <summary>
|
|
/// Maximum default distance the guardian can travel before it's forced to recall, use YAML to set
|
|
/// </summary>
|
|
[DataField("distanceDefault")]
|
|
public float DistanceAllowedDefault { get; set; } = 10f;
|
|
|
|
[DataField]
|
|
public float DistancePowerAssasin { get; set; } = 25f;
|
|
|
|
/// <summary>
|
|
/// If the guardian is currently manifested
|
|
/// </summary>
|
|
[DataField]
|
|
public bool GuardianLoose;
|
|
|
|
[DataField]
|
|
public GuardianSelector GuardianType = GuardianSelector.Standart;
|
|
|
|
[DataField("powerToggleAction", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
|
|
public string PowerToggleAction = "ActionGuardianPowerToggle";
|
|
|
|
[DataField]
|
|
public EntityUid? PowerToggleActionEntity;
|
|
|
|
[ViewVariables(VVAccess.ReadWrite), DataField]
|
|
public bool IsInPowerMode;
|
|
|
|
[DataField("chargerPowerAction", customTypeSerializer: typeof(PrototypeIdSerializer<EntityPrototype>))]
|
|
public string ChargerPowerAction = "ActionChargerPower";
|
|
|
|
[DataField]
|
|
public EntityUid? ChargerPowerActionEntity;
|
|
|
|
[ViewVariables(VVAccess.ReadWrite), DataField]
|
|
public bool IsCharged;
|
|
|
|
[ViewVariables(VVAccess.ReadWrite), DataField("assasinDamageModifier")]
|
|
public float AssasinDamageModifier = 3F;
|
|
|
|
[ViewVariables(VVAccess.ReadWrite), DataField]
|
|
public int LightingCount = 1;
|
|
|
|
[ViewVariables(VVAccess.ReadWrite), DataField]
|
|
public SoundSpecifier? ChargerSound = new SoundPathSpecifier("/Audio/White/Guardian/charger.ogg");
|
|
|
|
[DataField]
|
|
public EntProtoId Action = "ActionToggleGuardian";
|
|
|
|
[DataField] public EntityUid? ActionEntity;
|
|
}
|
|
}
|