Портировано из space-wizards/space-station-14#41899
Изменения:
- Добавлено подтверждение при изменении уровня угрозы (предотвращает случайные изменения)
- Разделены кнопки вызова/отзыва шаттла в отдельные UI области
- Созданы отдельные вкладки для объявлений и трансляции
- Разбито монолитное меню на 3 виджета: AlertLevelControls, MessagingControls, ShuttleControls
- Добавлен LCD-дисплей с таймером обратного отсчета
- Обновлены текстуры и шрифты
Локализация:
- Полностью переведены новые строки на русский язык в стиле Corvax
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
The component uses Content.Server.GameTicking.Rules.Components namespace,
not Content.Server._Wega.GameTicking.Rules.Components.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add admin verbs for making targets into Vampire and Blood Brothers
- Use _Wega vampire action icons (bite, blood_bond)
- Add localization strings for en-US and ru-RU
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add SyntheticOperatedComponent marker for android/synthetic check
- Add DnaModifiedComponent marker for genetics modification check
- Add BasicSlowdownStatusEffect for vampire abilities
- Update VampireSystem to use SyntheticOperatedComponent and DnaModifiedComponent
- Update VampireSystem.Abilities to use MovementModStatusSystem.Slowdown
This completes the wega vampire port by matching exact wega fork behavior.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Port ClearMetabolizerTypes, TryAddMetabolizerType, and TryRemoveMetabolizerType
methods from wega fork to enable vampire blood metabolism functionality.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Port RemoveStaminaDamage from wega fork to enable proper stamina
reset in vampire abilities. Enables vampires and thralls to have
their stamina damage cleared during healing abilities.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
wega fork has ClearMetabolizerTypes/TryAddMetabolizerType methods that wylab lacks.
Direct field access to MetabolizerTypes violates Robust Analyzer permissions.
Commented out for later implementation when metabolizer API is ported.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- RemoveStaminaDamage -> commented (3 occurrences)
- MobState.PreCritical -> use Critical instead
- SyntheticOperatedComponent -> commented (2 occurrences)
- MovementModStatusSystem.Slowdown -> use FlashSlowdown
- DnaModifiedComponent -> commented
- MetabolizerSystem.ClearMetabolizerTypes/TryAddMetabolizerType -> direct HashSet manipulation
These features can be implemented later when porting the respective systems from wega.
Vampires are solo antagonists who must drink blood to gain power.
Features 4 class archetypes (Hemomancer, Umbrae, Gargantua, Dantalion)
each with 8 unique abilities unlocked through blood consumption.
Includes:
- Core vampire system with blood drinking mechanics
- 4 class archetypes with 32 total abilities
- Thrall system for Dantalion class
- Blood economy & skill progression
- Holy/unholy damage interactions
- Hallucinations system dependency
- Client UI for class selection
- 40+ sprite assets
- Russian localization
Also adds Hallucinations system (used by Mass Hysteria ability).
Requirements: 15h playtime
Min players: 20
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Blood Brothers are paired antagonists who must work together with shared
objectives. Two players are bonded and must:
- Escape together (mandatory)
- Complete shared kill/steal/protect objectives
- Both survive to win
Includes:
- 16 C# files (rule system, objective systems, components)
- Game rule and sub-gamemode prototypes
- 29 objective entity prototypes
- Russian localization
- Guidebook documentation
Requirements: 50h playtime + 25h Security
Min players: 20, Max antags: 8 (4 pairs)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Wylab doesn't have playable golem species - only hostile Flesh Golems.
This code does nothing without the GolemHeatComponent on entities.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Barks depends on SoundInsulationSystem (not in wylab)
- Height System depends on SpeciesPrototype.MaxItemHeight and
HumanoidAppearanceComponent.Height (not in wylab)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
In autogen mode (DestinationFile set), Init() returns early before
_dbManager.Init() is called. But Dispose() was calling _dbManager.Shutdown()
specifically when DestinationFile was set, causing NullReferenceException.
Inverted the condition so shutdown only happens in normal mode when
managers were actually initialized.
* merged chemical into bloodstream
* changed injectable to bloodstream
* separated bleeding and direct blood removal
* removed blood gain from protein
* reduced blood gain from saline
* rejuvenating fills to reference volume
* fixed blood regulation
* red mead requires stirring to make
* reverted accidental line deletion
* cleared the skeletons from the closet
* additional routing
* field rename for xeno
* removed mention of chemstream and field rename for asteroid mobs
* minor optimizations
* Revert "reduced blood gain from saline"
This reverts commit de26fd1c0d99f3019fe7dd1451a50230cc90f058.
* Revert "removed blood gain from protein"
This reverts commit 7a1648caf39fe26406db73c2a5afa389b82c612f.
* removed unused component fetch
* dead check mini refactor
* eventized blood exclusion
* quick fix
* Pain
* Commit of doom
* COMMIT
* renamed bloodMaxFactor to MaxVolumeFactor
* addressed floating point error
* returned vomiting chemicals
* blood reagent always skips the flush
* no need to mention blood reagent
* fixed passing blood flush
* adadsafasfasfassfasf
* whoops
* merge fixed injectors
* Revert "adadsafasfasfassfasf"
This reverts commit 0a5313a68dd6484d36d28d08930c76851b72ae38.
* simplify reagent removal
* enabled foreign blood transfusion
* Revert "COMMIT"
This reverts commit 19abd679cd7761ebd47bb242bd644176a3006a42.
* simplified reagent removal when modifying blood level
* removed misleading coment since the changes
* documented MetabolismExclusionEvent
* fixed negative negative modification of blood level
* fixed hypervolemia not normalizing
* constrainted blood modification
* returned bloodpack stop on fully healed
* forgot to stage this
* band aid for diona blood
* swapping GetReagent with GetPrototype
* optimize blood filtering
* multiplicative multi reagent blood level calculation
* removed unused stuff
* optimized blood calculation a tiny bit
* added per reagent blood regulation
* optimized (referenceVolume + bloodReagents) into referenceSolution
* polished coded to proper function
* forgot to stage rootable system change
* clean up, unnecessary GetBloodLevel call
* rename method name to TryAddToBloodstream instead of Chemicals
* placed overfill safety
* cleanup and final touches
* final touch
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* add door control module
* some commentary
* can't eject stuff anymore
* make xenoborg door remote eletrify doors
* clean yml
* anchors and aliases
* not show stuff about id in xenoborg access config
* engi xenoborg can see eletrified doors
* Ignite atmosphere on explosions
* Fixed to add a temperature property
* Code review corrections
* Removed unused usings
* Correction to use TryComp instead of EntityManager to make it prettier
* Code review corrections
* Code review corrections
* Corrections
* misc fixes
---------
Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
* add two methods
* move stuff to damage system api
* use TryIndex
* simplify
* minor fix
* add helper functions
* fix
* remove random new line
* simplify
* remove unnecessary lines
* rename to GetDamage
* Got it working
* make more clear
* why backwards
* value should be the amount to heal
* fix
* fix all dumb fixedpoint2 edge cases I hope
* One more thing
* fix
* make it more simple
* ops it was backwards
* valueHeal can't be more than remaining
* add all keys beforehand and no need to check and add them inside the loop
* break for loop in case remaining is zero
* comment was wrong
* optimized, works
* remove random spaces
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
* Added random gate
* minor edit
* cleaning up my shit after trying to do something faster
* new lines
* some changes
* joke
* UI
* Long Division
* Dont use ctrl + x in 3 am
* I hope these are the final touches
* One thing, I don't know why
* noname commit
* no way, 1kk of code lines edit
* sudo rm -rf ... and something there...
* update
* sometimes its sad
* Add voice mask implant
* Remove voice mask
* Voice mask implant now overrides your identity
* voice mask implant can now be extracted, when taking out the voice mask implant it now updates your name proplery
* Simplify logic
* Reduce explosion airtight cache memory usage
This means you can happily add explosion prototypes again
New approach has the tolerance value data in a shared storage with reference counting.
* Oops fix index removal
* Remove debug code and fix merge conflicts
* Also address my other review
* Oh it's in two places lmao
---------
Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>