Commit graph

5228 commits

Author SHA1 Message Date
AsnDen
5bef97b9ff
Faxes are colored (again) (#38387)
* Faxes are colored (again)

* copyright
2026-07-14 05:03:34 +00:00
Centronias
928ecf541b
Replace string with ProtoId<ReagentPrototype> in a few places (#44653)
* string -> ProtoId<ReagentPrototype> in a few places

* dictionary stuff

* update data record name, static function stuff, and clean imports
2026-07-13 21:02:01 -04:00
Vladislav Suchkov
9b359db2d6
Add ghost random warp (#44499)
* wip

* wip

* wip

* wip

* wawa

* woof

* slight cleanup Im gonna go to sleep now

* cleanup

* a

* review
2026-07-13 16:41:44 -04:00
B_Kirill
90295503da
Fix some missing localization warnings (#44620)
* Fix some missing localization warnings

* New field

* Replace

* Localization

* Integration test

* Update Content.IntegrationTests/Tests/Labels/LabelPrototypeTest.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-07-13 16:34:26 -04:00
psykana
880536d1b6
Predict stunbatons and add an integration test for them (#43117)
* predict stunbatons and add a test

* update

* formatting

* move explosion to riggable

* cleanup

* fix mousetrap

* fix test

* IOC readonly

* fix obsolete

* refactor test a bit

* fix riggable, add test

* moar tests

* fix proto

* EnterMultipleScope

* owner cleanup

* early return

* onActivate

* Fix GetVerb detonating rigged baton, add docs

* test updates

* docs

* improve riggable test

* TestOf

* predicted popup

* Update Content.IntegrationTests/Tests/Chemistry/RiggableTest.cs

* review

* review 2

* the end times

* review

* nesting

* nesting 2

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Connor Huffine <chuffine@gmail.com>
2026-07-13 18:24:31 +00:00
InsoPL
6306707cfd
Nav console code cleanup (#44636)
* init

* init2

* commend fix

* staclallock sadly banned

* cleanup

* xaml cleanup

* one missed when fixing  merge

* fixes

* SubscribeLocalEvent tag to top

* xaml cleanuo
2026-07-13 18:19:36 +00:00
TriviaSolari
4474deb959
Multicoloured Hair Proof of Concept + Minor Marking Code Tweaks (#44111)
* Add highlight option to longovereye human hairstyle

* undo edit to development.toml

* Revert "undo edit to development.toml"

This reverts commit 67eee3ff774a75df2a8502e663ce074626b4ec73.

* undo edit to development.toml

* Resprite right-facing state

* Try to salvage marking colours when sprite count changes

* Use last existing colour if exists instead of flat white

* First iteration of new hairstyle

* Editing pass on sprites

* Possible fix for vulps?

* Remove debug log

* Add comment explaining additional index offset

* Clarify attribution in meta.json

* Reformat marking colour validation

* Raise error when less sprites than markings colours

* Evil displacement index change

* Comment out error throw for now since that will always fail tests

* Insert displacement layer at index + 1, with comment explaining

* VC Feedback: there are now three indices, removed commented out exception

* Displacement below original

* Add more detail to comment
2026-07-13 07:51:51 +00:00
Princess Cheeseballs
616e2d16b4
Fix Guns sometimes not shooting Crit Targets. (#44580)
* I'm stupid

* remove unused
2026-07-13 07:40:00 +00:00
w3ryfrate
2ccee7bbb3
Refactorization of admin commands, adding "ToggleChatCommand" class and removing obsolete classes. (#44480)
* Create new SetChatCommand.cs class

* Obsoleted the old "setchat" classes.

* Removed the obsolete classes

* Small fixes

* Small fixes reprise

* Fixed issues in PR

* Fixed issues in PR

* Renamed command and properly localized it.

* Renamed command and properly localized it.

* Updated Admin UI
2026-07-13 05:51:34 +00:00
Whatstone
0190b8a6ae
ConfirmButton: state machine consistency, OnConfirming action (#44605)
* ConfirmButton: intrinsic state machine, confirm ev

* ConfirmButton fixes

* ifs, no ternary statements

* FrameUpdate + field comments

* ConfirmButton: fix Disabled reset condition

* comments, read Disabled, write base.Disabled

* ConfirmButton cleanup
2026-07-13 03:10:34 +00:00
Robert
04a6297d0e
Fix ReagentDispensor not focusing, slow use delay (#44229)
* Chem dispenser UI mouse filter

* Change default UseDelay for dispensers
2026-07-12 20:53:48 +00:00
Whatstone
2108daff2f
Bugfix: status icons and health bar respect sprite offset (#44600)
* StatusIconOverlay: offset is always additive at 1

* offset health overlay
2026-07-12 20:36:58 +00:00
Pok
68ec73bea6
Predict CardboardBoxSystem (#43994)
* CardboardBox-System-Predict

* review

* SubscribeLocalEvent

* Storage

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-07-12 02:40:19 +00:00
Crotalus
b5d8def08a
Add filtering / sorting support to EOR player manifest (#39165)
* Add support for filter/sort in EOR player manifest

Now using GridContainer with filtering and sortable columns

* Fix linting error

* Increase sprite size from 24px -> 32px

* Reviews

* forgor to inject

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-11 20:34:53 +00:00
slarticodefast
0552b28cf5
cleanup all popups on client and server (#44572)
* cleanup popups on client and server

* fix RDC BUI
2026-07-11 14:13:19 +00:00
B_Kirill
74e357cd81
Remove [Dependency] from InstrumentComponent (#44586) 2026-07-09 18:25:21 +00:00
Errant
d94f327c8e
Admin playertab can now filter for roles (#44592)
admin playertab role filter
2026-07-09 18:15:59 +00:00
mq
d7da7e4bed
Modularize all reduced motion options (#44589)
* more modular accesibility options

* renaming

* whopsy!

* yeah im nitpicking this too

* Apply suggestions from code review

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-07-09 16:35:06 +00:00
Centronias
dd4bcc1508
Adds events for Chasm falling attempt-start and falling-start & -stop (#44423)
chasm
2026-07-08 23:53:56 +00:00
Tayrtahn
6e0eafba08
Content fix for IPlacementManager engine change (#38508)
* Content fix for IPlacementManager engine change

* Test after removing Requires from PR description
2026-07-08 12:42:48 +00:00
Doru991
252b5f9b09
Make quick info links in the ahelp window more robust (#44373)
* Store last player whose mind was in container

* Send last player who controlled the entity's session ID along with other quick info

* No more spam

* Display last player info if there is no active player on entity

* Better looking separator

* Better looking separator but I didnt forget to ctrl s this time

* newline

* Address reviews

* cleaning

* Tiny tweaks

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
Co-authored-by: Connor Huffine <chuffine@gmail.com>
2026-07-08 08:32:08 +00:00
Pok
951b2a4e3d
Changeling last resort (#43820)
* Changeling-LastResort-Stasis

* Update changeling_catalog.yml

* fix

* Merge fix

* fix

* Update ChangelingLastResortSystem.cs

* ConfirmableAction

* fix 2

* Merge

* Update ChangelingLastResortSystem.cs

* review

* sprite

* Update icon.png

* fix

* NightVision

* review

* Interaction

* review review

* misc cleaning

- Moved some components around
- Lowered price of biodegrade and voice mimic
- Updated store locale to make the warning more clear
- Unpredicted "Take Over Body"
- Made cloning copy over entity descriptions

* abstract

* fix

* stuff

* move to API

* fix MobLing

* review

* docs

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-07-08 00:53:42 +00:00
slarticodefast
964aebb031
Self-predicting popups (#44524)
* Popup prediction refactor

Co-authored-by: EmoGarbage404 <98561806+EmoGarbage404@users.noreply.github.com>

* fix popupcoordinates prediction

* review

* ProtoMan

---------

Co-authored-by: EmoGarbage404 <98561806+EmoGarbage404@users.noreply.github.com>
2026-07-07 20:42:08 +00:00
Connor Huffine
dc399ac47e
Fix typo (#44553) 2026-07-07 19:44:05 +00:00
pathetic meowmeow
dc10275428
Add table of contents to the guidebook (#35316)
* Add table of contents to the guidebook

* It takes way too much reading space adding another panel, so lets do
this instead

* unused

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-07 02:52:58 +00:00
Samuka
96f721503e
Add support for action to toggle night vision (#44525)
* action to toggle night vision

* remove xenoborg stuff

* code to deal with actions

* fix issues with night vision action not working on entites that got it via clothing

* rename to Viewer

* handle the event

* make it 2 seconds

* no need to remove the action here

* redudant checks

* simple fix

* fix strange bug

* corrections

---------

Co-authored-by: ScarKy0 <scarky0@onet.eu>
2026-07-06 23:40:16 +00:00
Samuka
710a6bf61a
Add accessibility option to remove noise from the night vision overlay (#44526)
* disable noise button

* make noise static instead of disabling it

* Revert "make noise static instead of disabling it"

This reverts commit 3392776ad85fe6fa7c704785e2e685d9d32b0e7f.

* rename to _configManager

* Minor formatting

---------

Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2026-07-06 12:41:21 +00:00
SlamBamActionman
24485c39ee
Change dwarves to use displacement maps instead of sprite scaling (#43816)
* ach, ye initial commit

* Review changes...?

* Change parentage

* Widen the dwarf sprite

* Widen the dwarf sprite

* Solve the murder at the Portermeister Estate

* The rest of the fucking owl

* Fix female displacement, fix the displacement error

* Review changes

* Review fixes

* IPrototypeManager to ProtoMan

* Review changes
2026-07-05 22:17:17 +00:00
Falcon
0cb5a6d64f
fix: MemberwiseEquals on HumanoidProfileEditor now compares Voice (#44468) 2026-07-05 16:52:15 +00:00
ScarKy0
554726c4f0
Nightvision fixes (#44501)
* fuck everything

* i hate overlays  hate client-sided systems i hate

* stuffs

* unused

* screw that event

* woaw

* relay

* Update SharedNightVisionSystem.cs

* SILLY!!!!
2026-07-05 15:17:40 +00:00
pathetic meowmeow
09fb1b923f
Predict CartridgeLoader (#40302)
* Move CartridgeLoader to shared

* get containered bozo

* the dirtening

* mass shared the cartridges

* predict keb cartridges

* no overpopups

* the tidying continues

* review

* aaaaaa

* fix UI flickers

* dependency me

* mimed

* refactor: removed unused usings, dots at the end of old xml-doc,  additional in line-breaks

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
Co-authored-by: Fildrance <fildrance@gmail.com>
2026-07-05 14:13:20 +00:00
eoineoineoin
f563a6a2ce
Allow PaperVisualsComponent to specify default text colour (#43865)
* Allow PaperVisualsComponent to specify default text colour instead of modulation

* Update Content.Client/Tips/TippyUI.xaml.cs

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>

---------

Co-authored-by: Pok <113675512+Pok27@users.noreply.github.com>
2026-07-05 14:05:17 +00:00
c4llv07e
0a0e510429
Communicate exceed of characters slots properly to users. (#39382)
* fix

* Add tooltip

* reviews

* oops

* lambda nation

* The details matter

* final tweaks

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-05 13:57:33 +00:00
Pok
58c6e8224d
Flashed StatusEffects (#43749)
* FlashedStatusEffects

* Cleanup

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-05 02:37:41 +00:00
Schuyler Duryee
ae051d2905
Tweak guidebook to not reset when re-opened (#37235)
* Make guidebook not reset when re-opened to same guide

* Make guidebook only expand tree when guides are changed

* Update to match master

Make guidebook not reset when re-opened to same guide

Make guidebook only expand tree when guides are changed

* Reviews

* oop

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-04 22:13:19 +00:00
SlamBamActionman
45c6be034d
Add sandbox support for rotatable/mirrored tiles (#34860)
* Initial commit

* Add AllowRotationMirror

* Update to follow changes to RT PR

* fixes

* erm

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-04 05:07:54 +00:00
Errant
73d674beca
Make default Job priority available in a cvar (#44120)
* cvar for job priority

* add captain to dev build serverconfig

* new characters created via the UI will now also read the cvar

* removed a testing change
2026-07-03 21:02:15 +00:00
ScarKy0
d9ed53f2c7
Ghost Half-Bright (#44442)
* they call me John Peak at school

* ye

* fuck, EquipmentHudSystem got hands

* not needed anymore

* review + old value

* Update Content.Client/Overlays/NightVisionOverlaySystem.cs

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2026-07-03 13:22:21 +00:00
Aaditya Thukral
fab6357825
Fixed date time for editing notes (#35440)
* edit note fix

* minor tweaks

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-03 03:52:48 +00:00
Ataman
8f95f6aad8
Add MidiFileCollectionManager for storing and managing MIDI files in user data. (#44469)
* added MidiLibraryManager together with tests.

* added error log when failing to add midi + minor formatting.

* additional error logging for midi library.

* fixed TestRemoveMidiFile failing due to new error logging.

* improved error logging.

* switched from string file names to ResPath

* renamed to MidiFileCollection and moved to Content.Client.Audio.Midi

* updated xml docs

* readded the Manager suffix that I totally didn't forget + some formatting.
2026-07-03 02:30:22 +00:00
Vladislav Suchkov
3a0aad1ff5
Add randomizer lock buttons to character editor screen (#44363)
* init

* tweak lightness

* add randomize helpers, refactor to use

* wip

* wip

* wip

* wip

* docs, cleanup

* review partial

* review wip (doesnt build)

* wip (now working, but found a bug)

* touchups

* less ambiguity

* Tweak the UI, make LockButton a BoxContainer

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-07-02 19:56:34 -04:00
Samuka
3672a6ed62
Custom icon ammo counter (#44368)
* CustomBulletRenderer

* CustomIconStatusControl

* custom ammo counter system

* custom sprite ammo counter comp

* client custom ammo counter system

* need to register the component

* have tiles show in the ammo counter for the tile gun

* comment

* more sprites

* dont try to make 2 controls

* update mini tile sprite

* add horizontal mult

* remove horizontal mult and fix the math

* ensure there is no errors

* replace magical number

* simpler to understand

* remove unecessary stuff

* remove HasComp<CustomSpriteAmmoCounterComponent

* forgot those

* add important stuff back

* explanation

* damn, so simple

* make it better

* use item instead of icon

* remove useless comment

* set number of rows

* fix odd number

* component to hide the name

* update ammo capacity

* set the aligment to vertical

* add 2 px of margin

* move the margin up (that fixes things somehow)

* comment good
2026-07-02 20:31:20 +00:00
Whatstone
9b29477f87
Cleanup: remove more redundantly defined EntitySystem members (#44470)
* redundant members

* catch IonLawSystem instances

* return the ion law sawmill, fix LogMan instances

* SalvageSystem LogManager inst

* IonLawSystem: public Sawmill

* what even is initialization order?
2026-07-02 19:12:23 +00:00
TemporalOroboros
84b2f07157
The IMapManager is dead (#44002)
* Axes the easy IMapManager references

* Axes the references to unported (obsolete) IMapManager methods

* Converts salvageruler command to a LocalizedEntityCommand so it can use SharedMapSystem

* Removes IMapManager from GameTicker
This required axing the map nuke during restart, but that should be fine?
Maps are entities so EntityManager.FlushEntities should delete them all and that's the preceding line

* submodule update(?)

---------

Co-authored-by: ArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
2026-07-01 20:44:54 -07:00
Ataman
da205bf31a
Add EntitySystemSubscriptionsGenerator project to Content solution. (#44454)
* Added EntitySystemSubscriptionsGenerator project to content solution.

* Added imports to Content.Client/Server/Shared projects.
2026-07-02 01:21:42 +00:00
B_Kirill
01dda0b5ae
Some camera map fixes and improvements (#44446) 2026-07-01 08:39:34 +00:00
Ewanderer
d7f7a91183
Documentation of e api (#44395)
* documentation pass on content.server -> E!

* APi pass on content.server for the E folder.

* documentation pass on content.shared for e.

* Apply suggestions from code review

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>

* fixing documentation according to review part 1.

* typo

* Very minor fixes

* And a short explanation about EUI

---------

Co-authored-by: SlamBamActionman <83650252+SlamBamActionman@users.noreply.github.com>
Co-authored-by: SlamBamActionman <slambamactionman@gmail.com>
2026-07-01 08:38:04 +00:00
qwerltaz
d725fc51a5
Fix chat highlights not highlighting your name (#43911)
* fix chat highlights double quote

* localize the quotes
2026-07-01 08:22:50 +00:00
Evаn Summers
c1b3a6ab0e
Pointing at inventory items with mouse binding (#43747)
* Pointing at inventory items with mouse binding

* Make it work for items in containers too

* Deduplicate

* documentation and minor change

* more documentation

* caes switch

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: jessicamaybe <jessica@jessicamaybe.com>
2026-07-01 06:40:02 +00:00
Falcon
9805fe3956
Refactor voice to separate it from sex (#40593)
* feat: separate sex from voice

* wip: tried to make it use voice collection directly

* fix: yaml

* fix: migrations

* fix: ensure valid now validates correctly

* fix: unisex mobs wouldn't have voice

* chore: fix RT version

* refactor: clean up code into subfunctions

* refactor: swap name and protoId in voice

also rename sounds to voice

* chore: add comment

* fix: fallback sounds for non-humanoid characters

* fix: tests

* fix: tests

* refactor: change requests

* refactor: convert sheepers

* refactor: move Voice to SpeciesPrototype

* chore: add tests

* fix: test IoC error

* refactor: use null coalesing in ConvertProfiles

* refactor: move vocal sex association to speciesPrototype

* style: remove space from new()

* refactor: use name from emoteSoundsPrototype for UI

* refactor: no more null Voice on profile

* refactor: make DefaultVoice a static readonly property

* fix: add default voice to HumanoidProfileComponent

* chore: remove repeated vocal component from species yaml

It's inherited from BaseSpeciesMob

* style: correct comments for refactor

* fix: add missing locale for FemaleVulpkanin

* refactor: simplify logic based off surounding code

* test: add test to make sure that sexes are properly enumerated for the voices

* fix: add back urist sounds

* style: clarify comments again

* style: last thing im changing before I sleep

* refactor: battling programming semantics

* refactor: Name on EmoteSoundsPrototype.cs to VoiceSelectorName for clarity

* revert: isDirty change

* Fix HumanoidProfileTest.EnsureValidLoading.
    The profile's voice wasnt being updated, thus the voiceChanged event was never raised and that meant that the voice component had old EmoteSounds

* oops

* refactor: do the easy change requests

* refactor: use an array for indexing sex conversion for performance

* fix master

* mistakes were made

* chore: redo migrations

---------

Co-authored-by: AJCM-git <ajcm_mail@disroot.org>
2026-06-30 23:46:27 -04:00