fish-station/Content.Server/StationEvents/Components/MeteorSwarmComponent.cs
vinogradgarden bdc46a629f
Переработка системы спавна и стыковки шаттлов к станциям, Офицер Внутреннего Надзора, Офицер Специальных Операций, добавление музыки в лобби, добавление наших шаттлов ОБР, РХБЗЗ в билд (#21)
* Перемещение определения работы BlueShieldEnsign и BlueShieldOfficer в закомментированный блок

* Обновление URL для книги корпоративного права

* Update README.md

* Добавление новых плюшевых игрушек CE vulpa и Engie xeno

* fix(maps): update centcomm map path and name template

Update map path to use _Fish variant and modify station name template to include special operations HQ

* add IAA job assets and uniform variants

add new job icons, law department badge, and centcom officer uniform variants
include localization files and prototype configurations for new assets
modify IAA role loadout to use new badge and uniform

* fix(localization): correct jumpskirts uniform file path and content

Move jumpskirts uniform localization file to correct directory and ensure content is properly formatted

* New Ghosts

Add a new ghosts from the old fish station

* Добавление новых ролей и загрузок для CentComm и BlueShield, включая описание и иконки.

* Оперативник «Синий щит» (гост-роль сопровождения ПЦК и тд) и исправления локализации «Синий щит» и ИСН (#2608)

* ERT Uplink Tweaks (#2600)

* Automatic changelog update

* Печать штаба спецопераций (#2599)

* Имплант "Жуткий Смех" в набор вора (#2607)

* Респрайт Мехов (#2617)

* Automatic changelog update

* Очередной фикс маркингов (#2635)

* fix editor (#2641)

* dispacement-drawing-fix (#2642)

* reset pos on client restart (#2643)

* save pos when closing by button (#2644)

* Добавлены новые роли: шеф и врач. Обновлены иконки для новых ролей.

* Updated centcom map

* Добавлены описания и названия для новых ролей Центкома и «Синий Щит» в английском и русском языках.

* add turtle ghost theme and update ghost assets

- Add new turtle ghost theme with animations and localization
- Replace default ghost assets with custom _Fish variants
- Update logo manifest and references to use new ghost sprites
- Remove old _Sunrise ghost assets and consolidate under _Fish

* update splash logo comment in manifest.yml

* remove slippery component from honkbot and update descriptions

The slippery component was causing unintended behavior with honkbot movement. Also updated the bot's description in both English and Russian locales to better reflect its nature.

* Добавлены новые роли для СЦК и печать Секторального судьи и прочие изменение.

* Refactor Centcom Blue Shield identifiers and update job configurations

- Changed SpawnPointCentcomBlueShield to SpawnPointCentcommBlueShield for consistency.
- Updated centcom_blueshield_officer.yml to change icon from JobIconBlueShield to JobIconNanotrasen.
- Adjusted delta.yml to maintain consistent naming conventions for BlueShield roles and added NtrOfficer.
- Cleaned up migration.yml by removing unused references to BlueShield lockers and suits.

* Обновлены роли в дельте. Изменено количество роли на дельте.

* Удалены устаревшие имя роли Центком и добавлены новые имя роли для английского и русского языков

* moved duplicate ghost theme file and consolidate strings

* Изменено название роли "Офицер Синего Щита Центком" на "оперативник «Синий щит»" для улучшения точности перевода.

* Обновлены роли и идентификаторы Центком для улучшения точности и актуальности

* update ghost theme sprite path and localization

* remove extra blank line in ghost_themes.yml

* add von Valantius painting and related assets

Add new painting texture, localization files, and prototype for Centcomm von Valantius painting. Includes English and Russian translations. Also reorganize some existing localization files for sectoral judge items.

* minor update elizabeth von valantius painting texture

* add new audio, textures, and prototypes, major changes in grid spawning and docking system

- Add new lobby music tracks and sound effects with proper licensing
- Implement new job roles: Oversight Officer and SpecOps Officer
- Add new shuttle docking system for special operations teams
- Include localization files for new content
- Update station maps and job configurations
- Add new equipment and weapons for special operations personnel
- Implemented updated automatic grid spawning and docking system

* update centcom oversight equipment to use correct headset

Change headset from Magistrate to FishCentCom variant to match intended equipment specification

* update logo-fish-splash.png texture

---------

Co-authored-by: VladSukr <vladsukr@gmail.com>
Co-authored-by: ReWAFFlution <153686236+ReWAFFlution@users.noreply.github.com>
Co-authored-by: SplikZerys <tronezero700@yandex.ru>
Co-authored-by: pixarF <sadfrogisfrog@gmail.com>
Co-authored-by: KaiserMaus <kaiser.ratte@gmail.com>
Co-authored-by: Sunrise-Bot <sunrise.project.top@gmail.com>
Co-authored-by: Kendrick <133131761+Kendrick15@users.noreply.github.com>
Co-authored-by: haiwwkes <49613070+rhailrake@users.noreply.github.com>
2025-07-28 19:27:13 +03:00

58 lines
1.6 KiB
C#

using Content.Server.StationEvents.Events;
using Content.Shared.Destructible.Thresholds;
using Robust.Shared.Audio;
using Robust.Shared.Prototypes;
namespace Content.Server.StationEvents.Components;
[RegisterComponent, Access(typeof(MeteorSwarmSystem)), AutoGenerateComponentPause]
public sealed partial class MeteorSwarmComponent : Component
{
[DataField, AutoPausedField]
public TimeSpan NextWaveTime;
/// <summary>
/// We'll send a specific amount of waves of meteors towards the station per ending rather than using a timer.
/// </summary>
[DataField]
public int WaveCounter;
[DataField]
public float MeteorVelocity = 10f;
/// <summary>
/// If true, meteors will be thrown from all angles instead of from a singular source
/// </summary>
[DataField]
public bool NonDirectional;
/// <summary>
/// The announcement played when a meteor swarm begins.
/// </summary>
[DataField]
public LocId? Announcement = "station-event-meteor-swarm-start-announcement";
[DataField]
public SoundSpecifier? AnnouncementSound = new SoundPathSpecifier("/Audio/Announcements/announce.ogg") // Fish-edit
{
Params = new()
{
Volume = -4
}
};
/// <summary>
/// Each meteor entity prototype and their corresponding weight in being picked.
/// </summary>
[DataField]
public Dictionary<EntProtoId, float> Meteors = new();
[DataField]
public MinMax Waves = new(3, 3);
[DataField]
public MinMax MeteorsPerWave = new(3, 4);
[DataField]
public MinMax WaveCooldown = new (10, 60);
}