Commit Graph

792 Commits

Author SHA1 Message Date
Ed
677e5194d6 Merge remote-tracking branch 'upstream/master' into ed-20-11-2024-upstream-sync
# Conflicts:
#	Content.Server/Chemistry/EntitySystems/InjectorSystem.cs
#	Content.Server/Traits/TraitSystem.cs
#	Content.Shared/CCVar/CCVars.cs
#	Content.Shared/Inventory/InventorySystem.Relay.cs
#	Resources/Maps/box.yml
#	Resources/Maps/core.yml
2024-11-23 01:48:24 +03:00
DrSmugleaf
f5d0e955e3 Fix imports 2024-11-19 21:16:49 -08:00
DrSmugleaf
b8b33b97af Move PlayerBeforeSpawnEvent and PlayerSpawnCompleteEvent to Shared 2024-11-19 21:15:15 -08:00
Ed
ed638c94a8 Merge remote-tracking branch 'upstream/stable' into ed-20-11-2024-upstream-sync
# Conflicts:
#	Resources/Maps/cog.yml
2024-11-20 00:34:51 +03:00
faint
79ff990ddf Replace direct uses of GameTicker dictionary with TryGetValue (#33222)
Fix station events schedulers, antag selection and possibly other systems acting weird in a rare scenario
2024-11-18 21:57:50 +03:00
Ed
d67f7619c4 Edgefication (#590)
* bloat

* bloat 2

* bloat 3

* final bloat

* Update icon.ico

* Create integration_test_run.bat

* Arggh

* Disable some tests

* revert roomfill clearexisting changes
2024-11-18 14:40:52 +03:00
Jezithyr
84338686a3 Stable Merge (#33218) 2024-11-08 03:46:22 -08:00
Ed
955145a9a5 Merge remote-tracking branch 'upstream/master' into ed-06-11-2024-upstream
# Conflicts:
#	Resources/Changelog/Changelog.yml
#	Resources/Credits/GitHub.txt
#	Resources/Prototypes/Entities/Mobs/Player/silicon.yml
2024-11-06 16:53:24 +03:00
Errant
da19abdc76 Don't show Reinforcement codewords on round end (#33181)
Don't show unused codeword sets
2024-11-05 19:18:28 +01:00
Ed
ae3cbd6092 Merge remote-tracking branch 'upstream/stable' into ed-29-10-2024-upstream
# Conflicts:
#	Content.Server/Chat/Managers/ChatSanitizationManager.cs
#	Content.Server/Temperature/Systems/TemperatureSystem.cs
#	Content.Shared/Localizations/ContentLocalizationManager.cs
2024-10-29 11:16:56 +03:00
Errant
23e4f81b30 Traitor activation fix for missing PDA (#30359)
* Implant the uplink if no PDA is found

* comments

* tidy up loose ends

* Whoops usually I start with the namespace, how did I forget it, shame shame

* Consistent data type for starting TC balance, misc changes

* Implant briefing, guidebook

* Update AutoTraitor, add uplink, codeword and briefing parameters to TraitorRuleComponent,  no pda for reinforcements

* engine 5c0ce43

* pass pda to AddUplink

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

* nicer string handling

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

* case typo 1

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

* case typo 2

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

* case typo 3

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

* minor layout changes

* removed redundant implant check

* minor cleanup

---------

Co-authored-by: slarticodefast <161409025+slarticodefast@users.noreply.github.com>
2024-10-18 14:55:43 +02:00
Ed
dc47bb2283 Merge remote-tracking branch 'upstream/stable' into ed-15-10-2024-upstream
# Conflicts:
#	Content.Server/Station/Systems/StationSpawningSystem.cs
2024-10-15 15:25:44 +03:00
Pieter-Jan Briers
4a5178a538 Fix role ban loading bugs (#32725)
This code was a mess. Now it's less of a mess and user UserDbDataManager now.

Fixes the following bugs:

* If you connect to a server, restart your client, connect again in the same round, you role bans would not be visible in the client.
* If you role ban somebody who is not connected to the server, then they connect within the round, they will only have the recently-applied ban.

Likely fixes #24781, #27282
2024-10-14 14:30:31 +11:00
Leon Friedrich
4e0018697f Add role prototype validation tests (#32801)
* Add role prototype validation test

* Rejig GetPrototypesWithComponent

* More tests n stuff
2024-10-14 14:05:25 +11:00
Pieter-Jan Briers
796764d755 Fix some rounds failing to end due to mind roles (#32792) (#32793)
* Fix some rounds failing to end due to mind roles

Fixes #32791

This is caused by ShowRoundEndScoreboard running into a bug trying to display antags: some player is showing up as antag with MindIsAntagonist(), but has no antag roles listed in MindGetAllRoleInfo().

This was caused by one of the roles of the player having the Antag boolean set, but having no AntagPrototype set.

The responsible mind role appeared to be MindRoleSubvertedSilicon which is missing a set for the SubvertedSilicon antag prototype.

I also added resilience to the round-end code to make it so that an exception showing the scoreboard (and sending the Discord message) would not cause the round end logic to completely abort from an exception.

I am planning to add an integration test to cover this bug (no prototype in mind roles), but I'll leave that for not-the-immediate-hotfix.

* At least one maintainer approved this tiny PR without reading it, not naming names.
2024-10-13 23:00:40 +02:00
Pieter-Jan Briers
c7b0d5a27c Fix some rounds failing to end due to mind roles (#32792)
* Fix some rounds failing to end due to mind roles

Fixes #32791

This is caused by ShowRoundEndScoreboard running into a bug trying to display antags: some player is showing up as antag with MindIsAntagonist(), but has no antag roles listed in MindGetAllRoleInfo().

This was caused by one of the roles of the player having the Antag boolean set, but having no AntagPrototype set.

The responsible mind role appeared to be MindRoleSubvertedSilicon which is missing a set for the SubvertedSilicon antag prototype.

I also added resilience to the round-end code to make it so that an exception showing the scoreboard (and sending the Discord message) would not cause the round end logic to completely abort from an exception.

I am planning to add an integration test to cover this bug (no prototype in mind roles), but I'll leave that for not-the-immediate-hotfix.

* At least one maintainer approved this tiny PR without reading it, not naming names.
2024-10-13 22:55:15 +02:00
Errant
93c7bdc134 Mind Role Entities (#31318)
* Mind Role Entities wip

* headrev count fix

* silicon stuff, cleanup

* exclusive antag config, cleanup

* jobroleadd overwerite

* logging stuff

* MindHasRole cleanup, admin log stuff

* last second cleanup

* ocd

* minor cleanup

* remove createdTime datafield

* now actually using the event replacement I made for role time tracking

* weh
2024-10-10 10:48:56 +02:00
SlamBamActionman
ddaa0e83c6 Add admin log for codewords (#32531)
* initial commit

* Delta review
2024-10-09 13:55:48 +02:00
Ed
ab1e071fdf Merge remote-tracking branch 'upstream/master' into ed-03-10-2024-upstream
# Conflicts:
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
2024-10-03 17:34:08 +03:00
nikthechampiongr
a5840b925b Fix RA0032 (#32514) 2024-09-29 02:25:21 +02:00
Ed
cc02a133e0 Merge remote-tracking branch 'upstream/master' into ed-17-09-2024-upstream2
# Conflicts:
#	Content.Server/GameTicking/GameTicker.Spawning.cs
2024-09-17 11:54:36 +03:00
lzk
f2b67fc76b Special latejoin message for captain (#31991)
* Special latejoin message for captain

* fix gender in locale

* remove this for now

* shame

* not really shame

* change

* do that
2024-09-09 13:57:37 -06:00
qwerltaz
7c99b5c10b fix dragon spawn location and round end summary (#31890)
* spawn dragon rule at station edge

* 2

* stuff

* fix round end summary not showing

* no invalid euid
2024-09-09 13:22:41 -06:00
Ed
5b2020d708 Merge remote-tracking branch 'upstream/master' into ed-08-09-2024-upstream
# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
#	Content.Server/Station/Systems/StationSpawningSystem.cs
#	Resources/Prototypes/Entities/Mobs/Customization/Markings/human_hair.yml
#	Resources/Prototypes/Maps/box.yml
#	Resources/Prototypes/Maps/marathon.yml
#	Resources/Prototypes/Maps/meta.yml
2024-09-08 21:20:54 +03:00
Fildrance
a58252f45e feat: #26107 uplink discounts for traitors (no nukies for now) (#26297)
* feat: #26107 uplink discounts for traitors and nukies

* refactor: #26107 extracted discount label from price of StoreListingControl

* refactor: minor renaming

* refactor: parametrized adding discounts to uplink store

* fix: #26107 prevent exception on empty discountOptions

* feat: uplink now have 'Discounted' category which contains all discounted items on this session.

* after merge fixups

* rename discount categories according to common sense

* refactor: DiscountOptions is now optional (nullable) on ListingData

* add nullability check ignore for already checked listingData.DiscountOptions

* fix after merge store menu ui

* remove unused using

* final fix after merge conflicts

* [refactor]: #26107 fix variables naming in UplinkSystem

* fix: #26107 fix after merge

* refactor: #26107 now supports discountDownUntil on ListingItem, instead of % of discount

* feat: #26107 support multiple currency discount in store on side of discount message label

* refactor: #26107 extracted discounts initialization to separate system. StoreDiscountData are spread as array and not list now

* refactor: #26107 move more code from storesystem to StoreDiscountComponent

* refactor: #26107 separated StoreSystem and StoreDiscountSystem using events

* fix: #26107 placed not-nullable variable initialization in ListingData for tests

* refactor: #26107 minor renaming, xml-docs

* fix: #26107 changed most of discounts to be down to half price for balance purposes

* ids used in with discounts are now ProtoIds, dicountCategories are now prototypes, code with weights simplified

* decoupled storesystem and store discount system

* xml-docs

* refactor:  #26107 xml-doc for StoreDiscountSystem

* is now a thing (tmp)

* fix: compilation errors + StoreDiscountData.DiscountCategoryId

* refactor: rename ListingDataWithCostModifiers, fix all cost related code, enpittyfy performance, uglify uplink_catalog

* refactor: removed unused code, more StoreDiscountSystem docs, simplify code

* refactor: moved discount category logic to respective system, now creating ListingData c-tor clones all mutable fields as expected

* refactor: rename back (its not prototype)

* refactor: move ListingItemsInitializingEvent to file with handling logic

* refactor: comments for StoreBuyFinishedEvent handling, more logging

* refactor: moved StoreInitializedEvent, xml-doc

* refactor: simplify StoreDiscountSystem code  (reduce nesting) + xml-doc

* refactor: restore old listing data cost field name

* refactor: fix linter in uplink_catalog.yml

* refactor: xml-doc for ListingDataWithCostModifiers

* refactor: limit usage of ListingData in favour of ListingDataWithCostModifiers

* refactor: purged linq, removed custom datafield names, minor cleanup

* refactor: removed double-allocation on getting available listings

* refactor: StoreSystem.OnBuyRequest now uses component.FullListingsCatalog as reference point (as it was in original code)

* fix: minor discount categories on uplink items changes following design overview

* refactor: StoreBuyListingMessage now uses protoId and not whole object

* refactor: store refund and discount integration test, RefreshAllListings now translates previous cost modifiers to refreshed list, if state previous to refresh had any listing items

---------

Co-authored-by: pa.pecherskij <pa.pecherskij@interfax.ru>
2024-09-05 22:12:39 +10:00
Mervill
3414abb970 Remove unused IoC dependency references. (#31704)
Remove unused IoC dependencies
2024-09-01 23:22:50 +02:00
nikthechampiongr
9a63144636 Allow for respawn and erase verb to be used on offline players. Also minor rewrite on respawn command and new erase command (#30433)
* Localize respawn command, allow for it to use userids, and make it use [Dependency] attributes

* Make respawn verb available for offline players

* Make erase available for offline players

A thousand admins rejoice

* Reorder verbs in code

* Add erase command

* Fix localisation for erase command

* Address reviews and add completion to respawn command

* Complete reviews which I forgor
2024-08-31 21:38:03 +10:00
Ed
ca656b3c10 Merge remote-tracking branch 'upstream/master' into ed-29-08-2024
# Conflicts:
#	Content.Server/Station/Systems/StationSpawningSystem.cs
#	Resources/Prototypes/Maps/reach.yml
2024-08-29 14:32:09 +03:00
themias
bea72106b7 Fix nuke disk erroneously being marked 'left behind' (#31602)
Fix erroneous 'disk left behind' objective
2024-08-28 14:05:04 -06:00
Thomas
d304123ef7 Disable Arrivals message for Cryosleep (#30888)
* Disable arrivals message for cryosleep late arrivals

* Provide silent to PlayerSpawnCompleteEvent

* Fix typo

* Move message to event and into arrivals system
2024-08-27 17:02:21 +02:00
Winkarst
2d85b4e7e9 Move OnGhostAttempt to GhostSystem (#31445)
* Move OnGhostAttempt to GhostSystem

* Remove unused dependencies and sort them
2024-08-26 14:15:33 +02:00
SlamBamActionman
61a1e89339 Add codeword highlighting (#30092)
* Added codeword highlighting

* Updated to support more codeword roles, color is set serverside

* Review feedback

* Change to a Component-based system using SessionSpecific

* Tidied up CanGetState, set Access restrictions on component

* Clean-up

* Makes the injection ignore brackets, restore some codewords, remove "Taste/Touch" from adjectives
2024-08-23 11:14:38 +02:00
Ed
c82b17a65e Merge remote-tracking branch 'upstream/master' into ed-19-08-2024-upstream
# Conflicts:
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs
#	Content.Shared/Clothing/Components/ClothingComponent.cs
#	Resources/Prototypes/Accents/word_replacements.yml
#	Resources/Prototypes/Maps/Pools/default.yml
#	Resources/Prototypes/Maps/atlas.yml
#	Resources/Prototypes/Maps/bagel.yml
#	Resources/Prototypes/Maps/cluster.yml
#	Resources/Prototypes/Maps/europa.yml
#	Resources/Prototypes/Maps/omega.yml
#	Resources/Prototypes/Maps/origin.yml
#	Resources/Prototypes/Traits/speech.yml
#	Resources/Prototypes/Voice/disease_emotes.yml
#	Resources/Prototypes/Voice/speech_emotes.yml
#	Resources/Prototypes/game_presets.yml
#	Resources/Prototypes/secret_weights.yml
2024-08-19 19:06:38 +03:00
Brandon Hu
0a9535e67c remove(NukeopsRuleComponent): Remove a trap from the component file (#31029)
ah
2024-08-16 00:52:36 -04:00
IProduceWidgets
07ec00ed05 refactor event schedulers to use explicit game rules (#29320)
* works, still has testing values, im sure I did stupid shit.

* shitvent crapfactor

* snap extra word out of existence

* shit I died of old

* remove useless inaccurate design comments

* Oopsie, handle requirement params in RandomRuleSystem too

* I'm a slash slinging hasher

* Address reviews, add admin alerts I forgor

* EntityMan saves the day

* address reviews 1

* eh, I actually don't care about the cargo gifts thing.

* started

* Do reviews

* you actually meant 1.2 lmao

* dependency inheritance is a fickle bitch

* I have no idea.

* Threads are for sheets not computers.

* fix traitor rule test

* fix round type tattling

* break things

* It worky

* Toolshed makes we want to drink depresso.

* Finished?

* remove debug values

* timings

* use defaults

* alphabetize

* bobby drop tables

* Float required fr fr

* continue

* more continence

* uno mas

* obsolution

* cleanup and documentations

* Yell at self

* use the right value defaults

* housekeeping
2024-08-14 15:21:01 +10:00
Ed
d9336781f1 Merge remote-tracking branch 'upstream/master' into ed-05-08-2024-upstream
# Conflicts:
#	Content.Shared/Inventory/InventorySystem.Equip.cs
#	Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
2024-08-12 14:40:15 +03:00
Brandon Hu
31c5d3555e fix(Commands): Improve Localization of commands. Standardize some behaviors. (#30362)
* I should be studying for school but that is sofucking boring, I will pass my class no matter, however getting an A might be a challenge. My gpa is important but is the tourture for 1 point of GPA worth it? The american government says yes but they are responsible for the majority of all genocides that have ever been conducted since the dawn of man

* ugh

* ugh
2024-08-11 19:46:57 +10:00
Mervill
d7b5ae061a Don't show Station Event announcements to players in the lobby. (#30886)
* Don't show Station Event announcements to players in the lobby.

* fix pr

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-11 16:09:33 +10:00
metalgearsloth
0b2fa941a7 Revert "setgamepreset command rework" (#30807)
Revert "setgamepreset command rework (#30756)"

This reverts commit de86fdb373.
2024-08-09 17:39:45 +10:00
Errant
de86fdb373 setgamepreset command rework (#30756)
* gameticker.gamepreset namespace

* setgamepreset now has a finite duration

* comments, cleanup
2024-08-09 17:04:19 +10:00
Ed
97939f6e3e Merge remote-tracking branch 'upstream/master' into ed-05-08-2024-upstream
# Conflicts:
#	Content.Shared/Storage/EntitySystems/SharedStorageSystem.cs
2024-08-08 12:29:20 +03:00
deltanedas
489efeb717 remove GenericAntag completely (#28218)
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-08 18:16:02 +10:00
Ed
dd580c68c9 Merge remote-tracking branch 'upstream/master' into ed-05-08-2024-upstream
# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
#	Resources/Prototypes/Accents/word_replacements.yml
2024-08-05 15:28:42 +03:00
SlamBamActionman
bf06d0e869 Change Thief Syndie & Chameleon kit contents, add Syndie codeword paper (#30446)
* Initial commit

* more like bYE

* Fix exception during test
2024-08-05 11:03:24 +03:00
Errant
6264a557a6 Restore the longer traitor briefing message (#30404)
* Restore the long traitor briefing

* highlights
2024-08-05 00:41:34 -04:00
Ed
2367085160 Merge remote-tracking branch 'upstream/master' into ed-23-07-2024-upstream
# Conflicts:
#	.github/PULL_REQUEST_TEMPLATE.md
#	Content.Client/Clothing/ClientClothingSystem.cs
#	Content.Client/Hands/Systems/HandsSystem.cs
#	Content.IntegrationTests/Tests/PostMapInitTest.cs
#	Content.Shared/Hands/Components/HandsComponent.cs
#	Content.Shared/Inventory/InventoryComponent.cs
#	Content.Shared/Storage/StorageComponent.cs
#	Resources/Prototypes/Accents/word_replacements.yml
#	Resources/Prototypes/Entities/Mobs/Player/human.yml
#	Resources/Prototypes/Maps/Pools/default.yml
#	Resources/Prototypes/Maps/fland.yml
#	Resources/Prototypes/Maps/oasis.yml
#	Resources/Prototypes/Maps/packed.yml
#	Resources/Prototypes/Maps/saltern.yml
2024-07-23 12:24:42 +03:00
IProduceWidgets
c7ff647cb3 Nukie Outpost is no longer a station map (#30090)
* I dunno, break shit I guess.

* Actually fix some shit for once.

* test flakey or me flakey?

* Test were not flakey, they just didnt make any sense anymore.

* more stationy tests

* undo abuncha shit I can set in yml instead

* forgor an assert

* unneeded usings

* 1984

* I made github angy

* yoink

* the end is never the end is never the end is never the end is never the end is never the end is never the

* Im going to commit sudoku
2024-07-21 01:26:30 -06:00
Ed
ca843bd84a Merge remote-tracking branch 'upstream/master' into ed-19-07-2024-upstream-walls
# Conflicts:
#	Content.Server/Damage/Systems/DamageOtherOnHitSystem.cs
2024-07-19 11:23:38 +03:00
Cojoke
b57174007c Remove all Assigned Values that are Never Used (#30110)
Remove all Assigned Values that are never used
2024-07-18 20:22:23 -04:00
Ed
02275a0237 Merge remote-tracking branch 'upstream/master' into ed-17-07-2024-upstream 2024-07-17 23:25:31 +03:00