Commit Graph

910 Commits

Author SHA1 Message Date
Pieter-Jan Briers
af75c1a92b Fix compilation errors in tests from update (#34272)
Required for https://github.com/space-wizards/RobustToolbox/pull/5590 to not cause compile fails, but can be merged on its own
2025-01-07 19:27:54 +01:00
Deerstop
03b34f06cc Elkridge Depot (The station formerly known as Cell) (#34085)
* named apcs, doors, air alarms, cameras, fire alarms, substations, SMESs

* updated PostMapInitTest.cs to include Cell

* added psychologist spawn

* fixed scanner console link, fixed disposals conveyors, and more

* added janitor service lights, maints firelocks, and more

* added more fun maint rooms

* improved head offices, kitchen, psych. added maints between science and arrivals

* fixed spawners placed over solid objects

* added unique evac shuttle, the Cilium

* evac shuttle is now orientated correctly

* added unique cargo shuttle

* updated kitchen area

* renamed Cell Station to Elkridge Depot, removed most main hall airlocks for smoother travel

* general last-minute touch-ups around the bridge and sec

* changed station name in PostMapInitTest.cs
2025-01-03 12:32:46 -07:00
Leon Friedrich
97dd5513f5 Ignore audio entities in SpawnAndDeleteEntityCountTest (#34021) 2024-12-28 11:54:32 +11:00
Leon Friedrich
06e2bba8ab Toolshed refactor (#33598)
* Content changes for engine toolshed PR

* add contains command

* more permissive commands
2024-12-21 17:45:48 +11:00
ScarKy0
03a54e90f5 Increase syndicate uplink discount amount to 6. (#33950)
* Increase uplink discounts from 3 to 7

* nevermind, 6
2024-12-20 20:14:08 -06:00
TytosB
043510fb51 New mid pop station: Loop (#33697)
* many changes

* contentingregrationtests

* serialized invalid removed

* blank

* "Changes and fixes as suggested"

* blank

* blank

* added desk bells

* engi rework rework rework

* added gate to content integration

* tweaks

* aaa

* bbb

* added holopads

* ccc

* Update default.yml

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-12-19 02:38:22 -07:00
Ed
a77fcdec76 Gate map (#32032)
* import

* remove perma asteroid

* remove cyrillic

* ok

* Remove Chromite island, Move AI, add cameras

* remove mapped garbage

* add station anchors

* admeme teleporter

* remove wapr points, add nav beacons

* telecomm, camera servers, some atmos fix

* crew server

* remove white plating, fix MANY pipestacking

* playtest bugs fixing

* big update

* bunch minor fixes

* Update gate.yml

* out of rotation
2024-12-17 13:06:33 +03:00
Tayrtahn
cf738857fe Add a test to check that lathe recipes are possible (#33868)
* Add a test to check that all lathes accept the materials for all their recipesy

* Add check for storage limit

* Track total recipe material volume

* Check dynamic and emag recipes too

* Move AllLatheRecipesValidTest from ResearchTest to LatheTest

* Extremely minor modernization
2024-12-16 13:34:02 +01:00
Southbridge
e4e84aea74 New Low-Mid Pop Station - Amber Station (#33441)
* Initial Commit with two departments done

* Checkpointing work

* Added most of service and science

* Started work on medbay

* Modified TEG setup and set up atmos pipes for engineering

* Re-added medbay, added chapel and janitorial, started routing disposals and generally the final layout of the map is coming together

* Plenty of additions, too many to list in a commit message

* Major update

* Nearly done with the map, just have to do decals and emergency lights

* Added all decals, only thing missing is department signs

* Toned back the dirt decals a bunch, added hallway signs and other decorations

* Finishing touches on the map before testing.

* Fixed invalids

* Renamed the station to Amber, and made a couple adjustments

* Completely redid cargo, added maints around sec

* Added Amber to the map post init integration test

* Many small updates addressing issues.

* Ran a script to update all the camera names, also ran fixgridatmos, fixrotations, tilewalls, and variantize

* Started addressing some of the issues brough up by Emisse and others

* Addressed all issues mentioned by reviewers. Added mail system.

* Wrapped up meeting all the issues raised by reviewers, also did a bunch of testing and resolved issues found during those tests

* Addressed additional requested changes, and nabbed some ship designs from Frontier. Redesigned south east maints and surrounding meteor nets based off of those designs

* Making a couple more requested changes

* Reduced the amount of Nitrogen Closets, made several small adjustments. Ready for review again!

* Removed invalids!

* web edit lmao

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-12-02 19:24:37 -07:00
Pieter-Jan Briers
4f3db43696 Integrate Modern HWID into content
This should be the primary changes for the future-proof "Modern HWID" system implemented into Robust and the auth server.

HWIDs in the database have been given an additional column representing their version, legacy or modern. This is implemented via an EF Core owned entity. By manually setting the column name of the main value column, we can keep DB compatibility and the migration is just adding some type columns.

This new HWID type has to be plumbed through everywhere, resulting in some breaking changes for the DB layer and such.

New bans and player records are placed with the new modern HWID. Old bans are still checked against legacy HWIDs.

Modern HWIDs are presented with a "V2-" prefix to admins, to allow distinguishing them. This is also integrated into the parsing logic for placing new bans.

There's also some code cleanup to reduce copy pasting around the place from my changes.

Requires latest engine to support ImmutableArray<byte> in NetSerializer.
2024-11-12 01:51:54 +01:00
FluffMe
08d0077719 Fix TestSuicideByHeldItem and TestSuicideByHeldItemSpreadDamage (#33030) 2024-10-28 11:52:49 +01:00
Jajsha
8cf5f93b9f Fix starting gear multiple storage fills and tests (#32718)
* fix things

* maybe fix everything
2024-10-20 14:43:17 +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
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
Errant
a7e29f2878 Computer wirepanel (#32273)
* Computer wirehacking

* Power wire now shocks

* deconstruction fix

* updated tests

* Better parenting

* maintenance panel sprite

* new sprite for maintenance panel open
2024-09-23 12:51:48 +02:00
ShadowCommander
d4a5bc8d6b Fix unbuckling others when clicking on the strap entity (#29998)
* Add failing unbuckle InteractHand test

* Skip trybuckle if strap doesn't have space

* Unbuckle others not just user

* Fix test failing due to delay

* Change to raise event instead of calling OnInteractHand

* Add test for buckle and unbuckle on InteractHand

* Add tick delay

* Remove unneeded tick delay and clean up

* Comment code

* Cleanup

* Swap to fastest checks first

* Fix reading empty sequence when there are no buckled entities
2024-09-19 09:55:26 +10:00
deltanedas
fbc1cf2d8f add test for lathe recipes having results (#32100)
* add test for lathe recipes having results

* id

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-09-15 02:27:05 +10: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
Julian Giebel
417d3a87a2 Station Anchor (#26098)
* Work on abstracting out chargeup functionality/ui from grav gen

* Work on station anchor

* Finish implementing station anchors

* uhh yeah

* ok.

* fix tests

* whoops

* Get the last extraneous yaml fail

* PJB review

* beast mode... ACTIVATE!

---------

Co-authored-by: Ed <96445749+TheShuEd@users.noreply.github.com>
Co-authored-by: EmoGarbage404 <retron404@gmail.com>
2024-08-31 10:40:28 -04:00
Pieter-Jan Briers
2d43bb6b38 Fix broken tests directly mutating entities from wrong thread. (#31647)
* Fix broken tests directly mutating entities from wrong thread.

* fix build

* gundam

* stuff

---------

Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2024-08-31 15:49:20 +10:00
metalgearsloth
849d3d9f5c Fix test threading (#31669) 2024-08-31 12:35:30 +10:00
deltanedas
3bdd2e3a87 reduce lathe recipe copy pasta (#31515)
* add inheritance to lathe recipes and make result an override

* add GetResult method to lathe system

* make other parts of the code use GetResult

* clean up the stock parts yml

* remove unused apu boards from dynamic recipes

* make inverse dictionary public so test doesnt have to copy paste

* revert result override stuff

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-08-29 15:36:29 -04:00
metalgearsloth
f0615ec3c8 Fixup playerspawn stuff (#31546)
* Fixup playerspawn stuff

- Also removed arrivals forcing, this should just turn containerspawnpoint off.

* fix this one

* test fix

* really fix
2024-08-29 15:27:47 +10:00
metalgearsloth
99a41a12ab Fix PostMapInit tests not considering job containerspawns (#31538)
* Fix PostMapInit tests nto considering job containerspawns

* fix
2024-08-28 12:42:06 +10:00
metalgearsloth
2e1b486e8b Add BUI ctor tests (#31463)
5 lines of eaten iocmanager.injectdependencies led to this.
2024-08-26 17:39:48 +10:00
Emisse
af2ee4a9e6 remove origin (#31059)
derotate origin
2024-08-15 16:22:01 -06:00
Emisse
9c1b8c18de remove atlas, cluster, europa, saltern (#31058)
* goodbye sweet maps

* Update EvacShuttleTest.cs

* Update EvacShuttleTest.cs

* fix tests

* fix tests

* nightmare nightmare nightmare

* rider is fucking me

* jesus christ
2024-08-15 15:10:06 -06: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
Spessmann
208b1d23b8 Added Cog(map) and its own evac shuttle (#30840)
* Added new map Cog and its own evac shuttle

* removed cog from default.yml so all checks will pass

I added cog here because i thought it might need to be here for map choosing??????????? ill add it back if needed

* updated cog and fixed a bunch of stuff that was not visable in the image, also nerfed the singo so it no longer solos

* added renault spawner that was missing and changed some minor stuff

* moved a escape pod from med/sci hallway to northern maints

* added shutters to the brig and added vents and scrubbers where they were missing in the halls

* extended salv's docking port so they can dock

* Fixed according to cog review thread

* fix pools

* fix PostMapInitTest

* Update MapLoadBenchmark.cs

* added cap and hop spawn that i just forgot to add???????????????????

* fixed again

---------

Co-authored-by: Emisse <99158783+Emisse@users.noreply.github.com>
2024-08-13 13:27:24 -06:00
Scribbles0
220aff21eb Melee Executions (#30104)
* melee executions

* fix damage bug

* cleanup

* address reviews hopefully

* resistance bypass mechanic

* component changes

* self executions (not finished yet)

* self execs part two

* ok i fixed things (still not finished)

* finish everything

* review stuff

* nuke if (kind = special)

* more review stuffs

* Make suicide system much less hardcoded and make much more use of events

* Fix a dumb bug I introduced

* self execution popups

* Integration tests

* Why did they even take 0.5 blunt damage?

* More consistent integration tests

* Destructive equals true

* Allow it to dirty-dispose

* IS THIS WHAT YOU WANT?

* FRESH AND CLEAN

* modifier to multiplier

* don't jinx the integration tests

* no file-scoped namespace

* Move the rest of execution to shared, create SuicideGhostEvent

* handled

* Get rid of unused code and add a comment

* ghost before suicide

* stop cat suicides

* popup fix + small suicide change

* make it a bit better

---------

Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
2024-08-11 13:05:54 +10:00
metalgearsloth
ecf278a89b Make clickable 1% nicer (#29706)
* Make vox roundstart

I believe all the issues are fixed.

* Click detection bandaid

* Make clickable 1% nicer

Still bad. Still doesn't handle multi-viewports well.
2024-08-09 17:05:12 +10:00
slarticodefast
da0b8d4731 remove UntrackedMapBoundUserInterface (#30752) 2024-08-09 15:24:49 +10:00
ShadowCommander
9645f5528b Strip drag drop test (#30754)
* Add test for drag drop to open strip menu

* Make screencoords change based on deadzone
2024-08-08 12:12:01 +10:00
metalgearsloth
9a8620d9d8 De-duplicate loadout gear (#30341)
* De-duplicate loadout gear

Needs supporting code, probably with an interface with StartingGearPrototype which would also use it, but I regexed the yaml.

* Code updates

* Remaining yaml

* Fix automatic naming

* raiseEvent

* Don't code when tired kids
2024-08-05 00:42:25 -04:00
DrSmugleaf
54d5bd266c Add mapping editor (#23427)
* Add mapping editor (#757)

* Remove mapping actions, never again

* Cleanup actions system

* Jarvis, remove all references to CM14

* Fix InventoryUIController crashing when an InventoryGui is not found

* Rename mapping1 to mapping

* Clean up context calls

* Add doc comments

* Add delegate for hiding decals in the mapping screen

* Jarvis mission failed

* a

* Add test

* Fix not flushing save stream in mapping manager

* change

* Fix verbs

* fixes

* localise

---------

Co-authored-by: DrSmugleaf <DrSmugleaf@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com>
2024-08-04 13:31:45 +10:00
Nemanja
2c26be606f Add support for printing reagents in lathes (#30476)
* Add support for reagents in lathes

* missing locale
2024-08-01 14:15:05 +10:00
metalgearsloth
778bfe3355 Add test for anchored prototypes (#30526)
Nothing fails at least but at some point will let us remove some hacky engine code.
2024-07-31 21:31:41 +10:00
osjarw
669cc55ba4 Allow the creation of recursive HTNs (#30138)
Allow recursive HTNs
2024-07-30 12:18:53 +10:00
Plykiya
7388b91ef5 Replace noSpawn: true with categories: [ HideSpawnMenu ] (#30100)
* NOW THAT'S A LOT OF FILES

* categorization

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-25 05:24:00 -07:00
Errant
bf1450fdc8 Fix replayghost spawning location (#30252)
Fix replayghost spawn
2024-07-22 20:32:30 +01: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
metalgearsloth
f969fd2bfb Update submodule to 228.0.0 (#29947)
* Update submodule to 228.0.0

* Fix every single test

* Also this one
2024-07-13 16:05:32 +10:00
Tayrtahn
3388c0dcaa Fix antag objectives always overshooting MaxDifficulty (and kill tries20) (#29830)
* The death of try20

* Add integration test for traitor gamerule

* Fix max difficulty being overshot

* Check at least one objective is assigned

* EntProtoId
2024-07-13 14:14:30 +10:00
Plykiya
a8cae6f3e6 Fixes dropping item in container (#29900)
* Items droped in containers will end up in containers

* Adds integration test for dropping entity while inside container

* comment

* comment

* trim the diff

---------

Co-authored-by: plykiya <plykiya@protonmail.com>
2024-07-12 19:24:08 +10:00
Tayrtahn
e6f55fafb4 Fix AtmosDeviceSystem debug assert Heisenbug (#29752)
Fix AtmosDeviceSystem debug assertion Heisenbug
2024-07-11 16:14:34 +10:00
deltanedas
02636386b5 item toggling giga rework + full ninja refactor (#28039)
* item toggle refactoring and some new systems

* add ToggleClothing component/system

* unhardcode magboots gravity logic

* make magboots and speedboots use ItemToggle and stuff

* remove now useless clothing components

* update client/server magboots systems

* add note to use ItemToggledEvent in ToggleActionEvent doc

* refactor PowerCellDraw to use ItemToggle for ui open/close control

* add TryUseCharges, refactor charges system

* update magboot trigger code

* make borg use ItemToggle, network SelectedModule instead of now removed Activated

* add AccessToggle for borg

* the giga ninja refactor

* update ninja yml

* update ItemToggle usage for some stuff

* fix activatableui requires power

* random fixing

* yaml fixing

* nuke ItemToggleDisarmMalus

* make defib use ItemToggle

* make things that use power not turn on if missing use charge

* pro

* fix sound prediction

* bruh

* proximity detector use ItemToggle

* oop

* big idiot syndrome

* fix ninja spawn rule and make it generic

* fix ninja spawn rule yml

* move loading profiles into AntagLoadProfileRule

* more ninja refactor

* ninja yml fixes

* the dreaded copy paste ops

* remove useless NinjaRuleComponent and ue AntagSelection for greeting

* fix invisibility

* move IsCompleted to SharedObjectivesSystem

* ability fixes

* oop fix powercell instantly draining itself

* sentient speedboots gaming

* make reflect use ItemToggle

* fix other test

* loadprofilerule moved into its own pr

* remove conflict with dragon refactor

* remove all GenericAntag code from ninja

* )

* probably

* remove old enabled

* great language bravo vince

* GREAT LANGUAGE

* who made this language

* because it stinks

* reparent blood-red magboots to magboots probbbly works

* most of the review stuff

* hasGrav doesnt mean what i thought it did

* make health analyzer use itemtoggle, not fail test

* fix mag/speed boots being wacky

* UNTROLL

* add ItemToggle to the random health analyzers

* a

* remove unused obsolete borg func

* untrolling

* :trollface:

* fix test

* fix

* g

* untroll

---------

Co-authored-by: deltanedas <@deltanedas:kde.org>
2024-07-11 15:55:56 +10:00
Tayrtahn
cfc0247e5c Code Cleanup: Integration Tests (#29584)
* Cleanup PuddleTest

* Cleanup GravityGridTest

* Cleanup PowerTest

* Cleanup SaveLoadMapTest

* Cleanup Body tests

* Cleanup ContainerOcclusionTest

* Cleanup AirlockTest

* Cleanup DamageableTest

* Cleanup EntityTest

* Cleanup FluidSpillTest

* Cleanup FollowerSystemTest

* Cleanup HandCuffTest

* Cleanup InteractionSystemTests

* Cleanup InRangeUnobstructed

* Cleanup SimplePredictReconcileTest

* Cleanup PostMapInitTest

* Cleanup SalvageTest

* Cleanup SaveLoadSaveTest

* Cleanup ShuttleTest

* Cleanup MaterialArbitrageTest

* Cleanup PrototypeSaveTest

* Fix ShuttleTest

* Bunch of small ones

* Move JobTests to Station directory

* More small fixes

* Cleanup InteractionTest.Helpers
Had to change a method signature, so some callers were modified too.

* Missed one
2024-07-03 10:01:37 +10:00
Tayrtahn
340332cf5b Fix nukeops ending early if an operative dies at base (#29642)
Fix nukeops ending early if an operative died at base
2024-07-01 18:23:36 -04:00
Tayrtahn
1a67ab8c95 Forcemap can be cleared with empty string again (#29472) 2024-06-26 16:41:31 +10:00
Tayrtahn
3009687326 Fix internals not auto-activating for entities spawned in space (#29213)
* Add organs before trying to breathe

* Add tests for auto-internals

* EntMan to the rescue
2024-06-25 16:28:48 +10:00