dbc492f3f38902bca9213c4391ca204a8cab3d5c
6 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
dbc492f3f3 |
Revert "Upstream (#148)"
This reverts commit
|
||
|
|
9f00d4b9aa |
Upstream (#148)
* Content changes for engine delta-state PR (#28134) * Update GasTileOverlayState * Update DecalGridState * Update NavMapState * poke * poke2 * poke3 * Poke dem tests * Update engine to v223.0.0 (#28239) * Update RobustToolbox * Improve InteractionSystem range & BUI checks (#27999) * Improve InteractionSystem range & BUI checks * Ghost fixes * AAA * Fix test * fix nullable * revert to broadcast event * Fixes for eengine PR * Ah buckle code * ) * Update engine to v223.0.0 * Update engine to v223.1.0 * Update engine to v223.1.1 * Hotfix for crashes from bad item names (#28256) * Fix weapon error logs (#28264) * Update engine to v223.1.2 (#28273) * Update RobustToolbox * Update RobustToolbox * Fix dud modular grenade visuals (#28265) * Fix not networking whitelist and blacklist in storage component (#28238) * fix id card console not updating records (#28237) * fix id card console not updating records * test --------- Co-authored-by: deltanedas <@deltanedas:kde.org> * Remove the network tab (#28231) It is useless and bloat, if a user needs to change these settings they are free to modify their cvars manually via the clientconfig.toml file or via the cvar command. * antag objective issuing refactor (#28216) * add AntagObjectives from GenericAntag * add AntagRandomObjectives that traitor and thief can use * make ObjectivesSystem use initial character name which AntagSelection passes * make thief and traitor use AntagRandomObjectives * remove now unused locale * make sleeper agents rule use baseTraitorRule * restore dragon rule oop * bandaid for genericantag * real * typo --------- Co-authored-by: deltanedas <@deltanedas:kde.org> * move nukie profile loading into its own rule (#28208) * move profile loading out of nukeops rule * make BaseNukeopsRule and use AntagLoadProfileRule * untroll --------- Co-authored-by: deltanedas <@deltanedas:kde.org> * fix antagSelect * Objects ordered through cargo system shouldn't start anchored (#28115) * Order normal space heater instead of anchored variant * Make sure ordered objects don't spawn anchored * Order space heater flatpack instead of a regular space heater * Remove obsolete TODO * Remove unnecessary name --------- Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es> * Move PendingZombieComponent to Shared (#28143) * Move PendingZombieComponent to Shared * network me boy --------- Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> * Make it possible to hide full health bars below a total damage threshold (#28127) * Make it possible to hide full health bars below a total damage threshold * Fix not setting state * Fix storage UI interactions (#28291) * Fix storage UI interactions * Add VV support * Fix stripping not marking interactions as handled (#28292) * Make NetworkConfigurator use BoundUserInterfaceCheckRangeEvent (#28293) * Fix hypodarts not injecting with people that have ANY outerclothing (#28301) Update darts.yml * fix borg ui mispredict opening (#28305) move borg ui junk to shared * Add loadout group check (#28311) Forgot to add it back in one of the rewrites. * fix mirror server crashes (#28318) * Remove bogus C# finalizers (#28315) Begging people to learn how this programming language works before throwing random syntax into a file. None of these finalizers ever worked. I also checked whether they were memory leaks and needed *proper* shutdown logic, but they're all instantiated-once UI controls that last for the entire lifetime of the program so it's probably fine. * Cleans up some entity-related spawnmenu stuff (#28234) * cleans up a lot of stuff in the spawnmenu * skibidi dode * spawners update * Revert "spawners update" This reverts commit bc27d9f556b29f6fb1f89cebbe0ac37e28319fd0. * fix antag selection being evil (#28197) * fix antag selection being evil * fix test * untroll the other tests * remove role timer troll * Allow tests to modify antag preferences * Fix antag selection * Misc test fixes * Add AntagPreferenceTest * Fix lazy mistakes * Test cleanup * Try stop players in lobbies from being assigned mid-round antags * ranting * I am going insane --------- Co-authored-by: deltanedas <@deltanedas:kde.org> Co-authored-by: ElectroJr <leonsfriedrich@gmail.com> * Revert "fix mirror server crashes (#28318)" This reverts commit bcb0e555b058a4049d0cdb32d64eaf86c35a67be. * fix * Update engine to 223.2.0 (#28329) * Update RobustToolbox * Update RobustToolbox --------- Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com> Co-authored-by: Tayrtahn <tayrtahn@gmail.com> Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com> Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com> Co-authored-by: Vasilis <vasilis@pikachu.systems> Co-authored-by: eoineoineoin <github@eoinrul.es> Co-authored-by: Eoin Mcloughlin <helloworld@eoinrul.es> Co-authored-by: Ady4ik <141335742+Ady4ik@users.noreply.github.com> Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com> Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Co-authored-by: Pieter-Jan Briers <pieterjan.briers+git@gmail.com> Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com> Co-authored-by: ElectroJr <leonsfriedrich@gmail.com> Co-authored-by: Kara <lunarautomaton6@gmail.com> |
||
|
|
63b816b83b |
[WIP] Upstream 2 (#489)
* Automatic changelog update
(cherry picked from commit 235091b377d6dc8f95b38d239a8e07560d45fa7c)
* Remove airtight flaps from the construction menu (#27619)
They are meant to be mapping only items.
(cherry picked from commit a4b0a34bc74e3e374d780e7ba142d7670ca5ff59)
* Automatic changelog update
(cherry picked from commit 64a732ad7b1ba93b3aa64c233ecc7e4609683bf1)
* Wine and beer bottles can be inserted into booze dispenser (#27626)
Fixes tags on wine and beer bottles
(cherry picked from commit b728f36f30260a80a7a499429430f0d7c69ff54d)
* Automatic changelog update
(cherry picked from commit 09b6f5c12888ca3a2fa51ab3544e4139988febcd)
* small SpawnItemsOnUse cleanup (#27625)
* small SpawnItemsOnUse cleanup
* that one was not needed
(cherry picked from commit eab276a12da4bd762b33c44c868722c2ef813d68)
* make ducky slippers waddle (#27628)
Co-authored-by: deltanedas <@deltanedas:kde.org>
(cherry picked from commit 8909dc7d401a7351ce0034c9e58af66922f5dbda)
* Fix SpawnItemsOnUse not playing sound (#27621)
Made SpamItemsOnUse play sound at entity coordinates instead of parenting
(cherry picked from commit 9b176933969b00e70d52bbb9b960ed631f09b0ac)
* Automatic changelog update
(cherry picked from commit 8a7f7097944f6d9bb7c587a22118cad8b068926c)
* Fix UI interaction priority (#27631)
(cherry picked from commit 3c3c2daf26eb4c215e3de26120e5be593ebb3620)
* Automatic changelog update
(cherry picked from commit f76a471e5a22480f975ec1448a2fdea3c6476271)
* Automatic changelog update
(cherry picked from commit 291ecf9643a5308fd5f8b9172e1710862da683f8)
* Add EntityWhitelistSystem (#27632)
* Add EntityWhitelistSystem
* Sandbox fix
* update test
(cherry picked from commit f348e6aa306a3542b1ed75b021c45228250aca3c)
* Add syndicate sleeper agents random event (#27501)
* Intercept rule (#10)
* add
* b
* add this back lol
* fix test fails (alert levels dont have prototypes)
* tweaks
(cherry picked from commit c69bf2f2aa23d57179dce1f6af9f7c73903d47e2)
* Automatic changelog update
(cherry picked from commit 192de3d9cb06c9526c5c63783507590c175acff9)
* Space Ninjas auto-toggle internals after spawning (#25083)
* fix engine version
* actually fix engine version
* Automatically activated breathing masks
* weh
* who needed that component anyway
* check if internals are already running
* Update Content.Server/Atmos/Components/BreathToolComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Update Content.Server/Body/Systems/InternalsSystem.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* prediction
* record struct event
* remove delayed activation, instead ensure that masks spawn last
* leftover
* engine version
* re-implement
---------
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
(cherry picked from commit f64dd5f45f8ebc08d791ac34e9482c6c3d85a51b)
* Automatic changelog update
(cherry picked from commit 4ede46003abf4c0593de00f802550df2b3642055)
* Fixes the grammar for the captain's supervisor (#27638)
Fixes the grammar on the captain's supervisor
(cherry picked from commit a28296433b03c041e4374e88bdef7347a85f895f)
* Red bool update (#27597)
* the meat and potatoes
yuh yuh yuh
* what the hell is a copyright?
am I right?
(cherry picked from commit a8bf2689a4696e841ce607c7061ac73faceeeefb)
* Automatic changelog update
(cherry picked from commit 40a4eeaa3953db8213034fd3dd12fedce922deff)
* Allow EMP implants to be used while stunned or cuffed. (#27644)
Update types.yml
(cherry picked from commit 0056befd4bac47f9e86c975342fcc80583affbb9)
* Automatic changelog update
(cherry picked from commit bedec83cd9a778d86795a0c8a5e4d439a3e4d407)
* Geras bug fixes (#27308)
* Geras bug fixes
* oops
* its as shrimple as that
toggled transferName in the polymorph yml instead of using the system to manually change it
* its as shrimple as that (2.0)
fixed reviews for zombies having a dummy action, instead - properly implemented removal of action
* its as shrimple as that (3.0)
fixed tests by removing nameidentifier from slime (its already inherited, anyway)
(cherry picked from commit 76ecdee94604f3cc73aba8b09d7bb36125a069e4)
* Automatic changelog update
(cherry picked from commit c045e2488e6ce85f16c7f4cf5dfced18cb18ce62)
* Ninja's pinpointer tracks the research server (#27552)
Change the tracked component on the ninja's pinpointer from BecomesStation to Research Server
(cherry picked from commit 6fc684812d4deed313970de40e81822157afe461)
* Automatic changelog update
(cherry picked from commit 960f268d1cf5d2b318ccd4b2adf18f1837d1c9bc)
* Fix some gamerules' round summary not working (#27654)
Update GameRuleSystem.cs
(cherry picked from commit 6ecbf0a04ce3ebaa6c74e144a8fb64ddf3223b43)
* Automatic changelog update
(cherry picked from commit 1d5392f86bd9a086283619ad7ce5d3259b1313df)
* Change return to continue in gamerulesystem (#27656)
Update GameRuleSystem.cs
(cherry picked from commit 96a3967c3f4bcf5826b62013bc3e665656b1db81)
* Rename Lizard urist (#27652)
(cherry picked from commit 1b3481f094edffee3d7841e0c3ccbf8ba4cc30cb)
* Automatic changelog update
(cherry picked from commit 07d43af4a6e407d4e752466d965177dfe3e5c876)
* Pathological Liar (#27618)
* content
* upgrade
* n't
* ye ya
* Update speech-liar.ftl
* Mith replacement ideas
* fix
* more!
* Revert "more!"
This reverts commit 6d10bdf694985c525a2b451ed39380f975059b44.
* Update Content.Server/Speech/Components/ReplacementAccentComponent.cs
---------
Co-authored-by: Kara <lunarautomaton6@gmail.com>
(cherry picked from commit 5ab1cc0c846775e438517bbff9d7713eeb5ef85d)
* Automatic changelog update
(cherry picked from commit 540c45cbe9b6dbfce9eeb523f0c374d39ac7221c)
* npc can no longer attack you through a locker (#27677)
(cherry picked from commit 83b486b63fd23e149bb0112aac4800e63b1f33dc)
* translations
* Automatic changelog update
(cherry picked from commit 8ee9ca22276df595ab4dc7767d66d9145dac2743)
* Security belts can now hold more items commonly carried by secoffs/HoS (#27674)
holobarrier
(cherry picked from commit 873799095cc28cb5db753b005b3fa00ee117c370)
* Automatic changelog update
(cherry picked from commit 0a15d0855083eb5a35c5c8d0170720a294d07bf7)
* Floodlights now have medium powercells instead of small (#27672)
mediumcellfloodlight
(cherry picked from commit 1c125cb14e661492e4c2a31f2e9d07c60bdde0c8)
* Automatic changelog update
(cherry picked from commit 4bb078601845228391db7a09f1b8c4a5c8f410d1)
* More descriptions for the beakers in the status panel (#27669)
Bottles
Descriptions for status panel
(cherry picked from commit c3fe975e8b8cf1dd220a49ceecd7450535eabf45)
* Revert "npc can no longer attack you through a locker" (#27680)
Revert "npc can no longer attack you through a locker (#27677)"
This reverts commit 83b486b63fd23e149bb0112aac4800e63b1f33dc.
(cherry picked from commit 37d0cb9c9085befad4f7fe1ee21a15d1d3c2f66c)
* Scattershot antag fixes (#27429)
* scattershot antag fixes
* this too?
* dawg fuck this code
* ok so we kinda need this?
(cherry picked from commit 5183f3ed8ba40527808610596d7e3eef3c925eef)
* Rename ChemCleanBoodstream.cs (#27691)
(cherry picked from commit 45fc6bed2f6e812603e0c181b0b163f15576749e)
* Add default whistle + whistles reorganize (#27676)
* Add default whistle + whistle reorganize
* aaa
* fux?
* fiiiiix???
* Revert "fiiiiix???"
This reverts commit 15353465d58db615185afa8c549e1819099c1a5b.
* Apply suggestions from code review
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
---------
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
(cherry picked from commit ead78b72d2e507fadf4f5424377aff8a5f94d271)
* Automatic changelog update
(cherry picked from commit 92c2ff0b05482ea490fbdc8ac3d27776a30dd936)
* Use dotnet run for the run batch files instead of directly calling the exe (#27698)
* Use dotnet run for the run batch files instead of directly calling the exe
* FUCK
(cherry picked from commit eb2fac40db1dfaf789511eef0cb7e394100fef50)
* Emergency Tank + Plasma Can visible on suit storage slot (#27598)
* Suitstorage Sprites + Plasma tank slots
* Fix some extra brackets
(cherry picked from commit 70d3cf7ba411ef38818f63eec944c4f0c7c33c98)
* Cache regex instances in most cases (#27699)
Using static Regex functions that take in a pattern is bad because the pattern constantly needs to be re-parsed. With https://github.com/space-wizards/RobustToolbox/pull/5107, the engine has an analyzer to warn for this practice now.
This commit brings most of content up to snuff already, though some of the tricker code I left for somebody else.
(cherry picked from commit 4a2a63a86b0ad36a2850e5750bfd5e653cb2ebd6)
* update engine 6
* Remove useless line in runclient (#27701)
I forgor
(cherry picked from commit c61e683354d45bd4ec382de9117ba75cab67db9f)
* welding masks on utility belts (#27694)
(cherry picked from commit 7d35d54a814df74ef385ad8293eadff3e921c1c9)
* Automatic changelog update
(cherry picked from commit b947490d089af4c70ff0979250a4a03064e87069)
* Add solution temperature to chemical analysis goggles (#27693)
yes
(cherry picked from commit 93c5e868579c0bd1baec8c6d023d98f530b63c44)
* Automatic changelog update
(cherry picked from commit 254a9177fc99a359f134516b19d2943baf50ae5f)
* Expeditions audio tweaks (#27524)
- Now uses a SoundCollection.
- Now properly handles going between maps (audio rework mucho wow).
- GetAudioLength used so it can properly countdown ANY song (wow audio rework wow wow).
(cherry picked from commit d1a5d3562355a514c42b1027742549180f6edc37)
* Automatic changelog update
(cherry picked from commit 82fe5ab55de121e153b164b83b363fd4d95e437d)
* Fix AlertControl throwing an error if the sprite view entity is deleted multiple times (#27690)
* Fix AlertControl throwing an error if disposed multiple times
* Replace default check with deleted check
(cherry picked from commit c20df3e39ffd3b28db499bcc4a0e1fb48b563826)
* Fix tests (#27711)
* Fix tests
* Fix test fail
* Apply same fix to other tests
(cherry picked from commit eee8e03c15ea22472d6b442281fccc4cb036e64d)
* New Salvage song: Deadline (#27707)
Deadline
(cherry picked from commit 104c2afe692c0c05172b9ba2a15213d2a54ae99c)
* fix(ui): Fix shuttle control radius marking text vertical spacing (#27695)
(cherry picked from commit 7ffa74abd009650de3868d47c95b45ef4a18ea9c)
* Automatic changelog update
(cherry picked from commit 1ecc36b04945169e42ad42de56d7af69092aa447)
* Dock device link port (#27646)
* Add dock device link port
* SpawnAndDeleteAllEntitiesInTheSameSpot moment
* The fuck is TryStopNukeOpsFromConstantlyFailing??
Do we have a new test that can randomly fail?
(cherry picked from commit c7a5587e0710f6d4b8a959bb54fbcd9e9631a96f)
* Automatic changelog update
(cherry picked from commit 3b3cc0e66cd03d71c27ba65810f876001923fcfa)
* update engine 7
* Update license of deadline.ogg (#27715)
(cherry picked from commit b8d03b814b1ede3a53874efe2d8d46f3ef8dbd6c)
* Round event frequency simulation command (#27718)
(cherry picked from commit c1aae2398b5e4510b9b07ea7af877fc5760dd5c3)
* New lobby art: Just a week away (#27717)
just a week away
(cherry picked from commit 026af631f8a844b000dec4702eb6080e9a7bed9b)
* Automatic changelog update
(cherry picked from commit 3dcb65feb292e3088729b69f36fc3d5ac51eae58)
* Fix missing command desc (#27722)
(cherry picked from commit aa426c9c3aec67ee82f7b6d10cd5770ad008483d)
* Remove duplicate liar word id (#27723)
(cherry picked from commit fbe8374c0f79b32dc49f0a009041798510f2c888)
* Event frequency balance pass (#27721)
balance
(cherry picked from commit 8f4362df036ea1dd5dba7a31c3669640964a45c2)
* Automatic changelog update
(cherry picked from commit 8fa7ea7cf9c03ea3273882708d31092a0c6e2eb9)
* Fix some gamerules' round summary not working (#27654)
Update GameRuleSystem.cs
* fixes
* fix antag selection being evil (#28197)
* fix antag selection being evil
* fix test
* untroll the other tests
* remove role timer troll
* Allow tests to modify antag preferences
* Fix antag selection
* Misc test fixes
* Add AntagPreferenceTest
* Fix lazy mistakes
* Test cleanup
* Try stop players in lobbies from being assigned mid-round antags
* ranting
* I am going insane
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
* fucking tests
* fix round restart loops
* Fix `TryFindRandomTile` grid weighting (#27724)
(cherry picked from commit aaabd5e9141e2e51b81c0dacd32e7e849826204d)
* Automatic changelog update
(cherry picked from commit ddb07d5f6362de11832f6b2085c4f6e8abfa625c)
* Remove duplicate liar word id. Again (#27727)
Missed one translation
(cherry picked from commit b58d8a02b6e0d0a8b546fc0d1e437cb0b4f147bf)
* Half the amount of bleed rate cauterized by burn damage (#27726)
half
(cherry picked from commit 7d23d014458180fe26b3ec847417a99120cf6ef5)
* Reduce the amount of burn damage from touching lights (#27728)
* chilled
* external
(cherry picked from commit 7794ab86094d1c406fbb888ae3ed2a489348af9c)
* Automatic changelog update
(cherry picked from commit 008f6ef94a65a48d8bc2e89c80774d1ac6c624b3)
* Moved Serverside solution container code to shared (yes that includes ensureSolution!) (#27478)
* Added warning to tryGetSolution, moved SolutionContainer code to shared
- Added an optional warning (false by default) to print an error if a solution is missing when using tryGetSolution methods
- Moved ensuring solution containers to shared, left the old method stubs for compatability and marked them as obsolete.
* Update SharedSolutionContainerSystem.cs
* Update SharedSolutionContainerSystem.cs
* Update SolutionContainerSystem.cs
* Update SharedSolutionContainerSystem.cs
* Fixing ensuring chem solutions always returning false on client
- ensuring chem solutions will only return false on the client if it is waiting for a server solutionEntity to be synced
* Added concentration helpers
* fix whitespace
(cherry picked from commit 6685146a1e3e188eac1fb2502920225c56cc08e1)
* Automatic changelog update
(cherry picked from commit 19aeff26ec2cb87ceee918c1c5f4f6639fd35ad5)
* Night on Europa (#27731)
night
(cherry picked from commit cc9e40820fa48a7378c6b96371ef819010e7c085)
* Reduce ratking chance severely (#27760)
(cherry picked from commit 7d7c71e6a66bd0e626bc1b31529db0f708b8066a)
* Automatic changelog update
(cherry picked from commit 61c1aeddf369e46c269c2b03cace3f0b25ebf470)
* Fix preference loading bugs (#27742)
First bug: if an error occured during pref loading code, it would fail. If the person then readied up, it would likely cause the round to fail to start.
Why could they ready up? The code only checks that the prefs finished loading, not that they finished loading *successfully*. Whoops.
Anyways, now people get kicked if their prefs fail to load. And I improved the error handling.
Second bug: if a user disconnected while their prefs were loading, it would cause an exception. This exception would go unobserved on lobby servers or raise through gameticker on non-lobby servers.
This happened even on a live server once and then triggered the first bug, but idk how.
Fixed this by properly plumbing through cancellation into the preferences loading code. The stuff is now cancelled properly.
Third bug: if somebody has a loadout item with a playtime requirement active, load-time sanitization of player prefs could run into a race condition because the sanitization can happen *before* play time was loaded.
Fixed by moving pref sanitizations to a later stage in the load process.
(cherry picked from commit 7a38b22ddbf03814680277d54c285dcc70345e20)
* Automatic changelog update
(cherry picked from commit 0cb50a24c37f83da2f852660cf5e38a8936750d8)
* Little morgue overhaul (#27750)
(cherry picked from commit d099b634242b3f8b84724f90b279f5b20f153333)
* Automatic changelog update
(cherry picked from commit 35dc85fd47a9d3e6af10de2f7aad3076586ee4da)
* Make arguments and parameters wrap to one variable per line (#27766)
(cherry picked from commit b9906eb34cb56f7ef34f5b4f050b0ef2f87b1be9)
* Revert "Fix turned off thrusters consume power" (#27755)
Revert "Fix turned off thrusters consume power (#26690)"
This reverts commit
|
||
|
|
f0097d4963 |
Barber scissors fix (#22895)
* barber! * 5% change to maintenance * some fixes * refactor some * ElectroJR fix merge * aoa * remvoe humanoid * Magic mirror cleanup * Cleanup * Bunch more fixes * Fix nohair + range bugs * Fixes --------- Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com> |
||
|
|
5a1e317e0f |
It's time to build a barbershop! (#22565)
* barber! * 5% change to maintenance |
||
|
|
5a0a04bde7 |
Humanoid appearance refactor (#10882)
* initial commit - species prototype modifications - markings points as its own file - shared humanoid component * adds a tool to convert sprite accessories to markings (in go) * removes a fmt call * converts sprite accessory to markings * adds hair and facial hair to marking categories * multiple changes - humanoid visualizer system - markings modifications for visualizer - modifications to shared humanoid component - lays out a base for humanoid system * hidden layers, ports some properties from appearance component, shrinks DefaultMarkings a little * squishes the initialize event calls into one function adds stuff to set species/skin color externally from a server message - currently laid out as if it a dirty call to a networked component, may be subject to change (server-side has not been implemented yet) * makes the sprite pipeline more obvious * apply all markings, hidden layer set replacement * ensures that markings are cleared when the new set is applied * starts refactoring markingsset (unfinished) * more additions to the markingset api * adds constructor logic to markingset * adds a method to filter out markings in a set based on a given species * fixes enumerators in markingset * adds validator into MarkingSet, fixes ForwardMarkingEnumerator * modifications to the humanoid visual system * ensuredefault in markingset * oop * fixes up data keys, populates OnAppearanceChange in visualizer * changes to humanoid component, markings marking equality is now more strict, humanoidcomponent is now implemented for client as a child of sharedhumanoidcomponent * markings are now applied the visualizer by diffing them * base sprites are now applied to humanoids from humanoidvisualizer * passes along base sprite settings to the marking application so that markings know to follow skin color/alpha or not (see: slimes) * custom base layers on humanoids * merges all data keys into one data class for humanoid visualizers * setappearance in sharedhumanoidsystem, removes custombaselayercolors * humanoidcomponent, system (empty) in server * adds some basic public API functions to HumanoidSystem * add marking, remove marking * changes appearance MarkingsSet to a List<Marking>, adds listener for PlayerSpawnCompleteEvent in HumanoidSystem * ensuredefaultmarkings, oninit for humanoids * markingmanager API changes * removes MarkingsSet * LoadProfile, adjusts randomization in humanoid appearance to account for species * base layer settings in humanoidsystem, eye color from profile * rearranges files to centralize under Humanoid namespace * more reorganization, deletes some stuff gotta break stuff to make other things work, right? goodbye SpriteAccessory... * fixes a good chunk of server-side issues still does not compile, yet * singlemarkingpicker xaml layout * singlemarkingpicker logic * magic mirror window (varying pieces of it, mostly client-oriented) * removes some imports, gives MagicMirror a BUI class (not filled in yet) * populates magic mirror BUI functionality / window callbacks * fixes up some errors in humanoidprofileeditor * changes to SingleMarkingPicker SingleMarkingPicker now accepts a List<Marking>, species, and total possible markings available in that marking category * fixes up hair pickers on humanoid profile editor * fixes the errors in markingpicker * markingsystem is now gone * fixes a bunch of build errors * so that's why i did it like that * namespace issues, adds robustxamlloader to singlemarkingpicker * another robustxamlloader * human, lizard sprites/points * prototype fixes, deletion of old spriteaccessory * component registration, fixes dwarf skin toning no, 'ReptilianToned' does not exist * removes component registration from abstract humanoid component * visualizer data now cloneable * serialize for visualizer key * zero-count edge case * missing semi-colon moment * setspecies in humanoidsystem * ensures that default markings, if empty, will cause ensuredefault to skip over that given category * tryadd instead of add * whoops * diff and apply should properly apply markings now * always ensure default, fixes double load for player spawning * apply skin color now sets the skin color property in humanoidcomponent * removes sprite from a few species prototypes * sprite changes for specific base layers based on humanoid sex * layer ordering fix, and a missing base layer should now disallow markings on that layer * anymarking base layer, adds the right leg/foot for humans * loading a profile will now clear all markings on that humanoid * adds missing layers for humans * separates species.yml into respective species prototype files * ensures that if layer visibility was changed, all markings have to be reapplied * server-side enforcement of hiding hair (and other head-related markings) when equipping things that hide hair * slime fix, clothingsystem now dictates layer visibility server side * sussy * layer settings should now ensure a marking should match the skin tone * whoops * skincolor static class and functions in UI * skin color validation in humanoidcharacterappearance * markingpicker now shows only the markings for the selected category in used * getter for slot in singlemarkingpicker now ensures slot is 0 if markings exists * FilterSpecies no longer attempts to do removal while iterating * expands for SingleMarkingPicker * humanoid base dummy has blank layers now (and snout/tail/headside/headtop) * fixes an issue with visualizer system if the marking count was different but the markings themselves were (somewhat) the same * whoops * adds edge case handlers for count differences in humanoid markings * preview now loads profile instead of directly setting appearance * moves marking set loading to update controls * clones a marking set in markingpicker by using the deep clone constructor * whoops (deep cloning a marking now copies the marking id) * adds replace function for markingset * points should now update after the markings are remove/added * merging base layer sprites into a humanoid should now clear them before merging * sets dirty range start to count only if the dirty range start was never set above 0 * fixes up some issues with singlemarkingpicker * color selector sliders in single marking picker should now expand * hair from hair pickers should now apply in profile loading (client-side) * category in singlemarkingpicker now sets the private category variable * slot selector should now populate * single marking picker buttons now have text, also shows the category name over all user-clickable elements * removes a comment * removing hair slots now sets it to bald, defaults to zero used slots if current hair is bald on hair/facial hair * random skin color, eye color * populate colors now checks if the marking count is greater than zero in singlemarkingpicker * hair/facial hair pickers now just get the first possible hair from the respective species list * different approach to random skin color * oh, that's why it wasn't working * randomize everything now just updates every single control * selecting a new marking in SingleMarkingPicker should attempt to copy over old colors, populate list now uses cache, * markingmanager now uses OnlyWhitelisted to populate by category and species * filterspecies now uses onlyWhitelist to filter markings based on whitelist or not * oops * ui fix for singlemarkingpicker, ensures that cache is not null if it is null when populatelist is called * order of operations for the horizontal expand for add/remove * hair pickers should now update when you add/remove the hair slot * fixes variable naming error in character appearance * loc string fix in singlemarkingpicker * lizards, vox now have onlyWhitelist, vox restriction for hair/facialhairs * having zero possible hairs should no longer cause an exception in randomization * setting species should now update hair pickers * ignore categories for marking picker * and a clear as well for the category button * places that functionality in its own function instead * adds eye base sprite, vox now also have their own custom eye sprites * loading a profile client-side should do FilterSpecies for markings now * client-side load profile does filter species after adding in the hairs now * magic mirror * callbacks now call the callback instead of adding it on construct * whoops * in removemarking too * adds missing synchronize calls * comments out an updateinterface call in magic mirror * magic mirror window title, minimum sizing * fixes minsize, adds warning for players who try to set their hair for species that have no hair * removes spaces in xaml * namespace changes/organization * whoopsie (merge conflicts) * re-enables identity from humanoid component * damagevisuals now uses the enum given to it instead of the layerstate given on that layer tied to the enum * removes commas from json * changes to visuals system so the change is consistent * chest * reptilian * visualizer system now handles body sprite setting/coloration, similar to how characterappearance did it not a big fan of this * adds a check in applybasesprites * adding/removing parts should now make them invisible on a humanoid * body part removal/adding now enumerates over sublayers instead * synchro now runs in bodycomponent startup * parts instead of slots * humanoidcompnent check * switches from rsi to actualrsi * removes all the body stuff (too slow) * cleans up resolves from humanoid visualizer system * merging sprites now checks if the base sprites have been modified or not (through things like species changes, or custom base sprite changes) * not forgetting that one again * merging now returns an actual dirty value * replaces the sequenceequal with a more accurate solution * permanent layers, layer visibility on add/remove part in body * should send all hidden layers over now * isdirty in visualizer system for base layers * isdirty checks count as well * ok, IsDirty should now set the base layers if the merged sprites are different * equals override in HumanoidSpritePrototypes.cs temporary until record prototypes :heck: * makes fields readonly, equates IDs instead * adds forced markings through marking picker * forced in humanoidsystem api, ignorespecies in markingpicker * marking bui * makes that serializable as well * ignore species/forced toggles now work * adds icon to modifier verb, interface and keys to humanoid bases * needs the actual enum value to open, no? * makes the key the actual key * actions now propagate upwards * ignore species when set now repopulates markingpicker * modifiable base layers in the markings window * oops! * layout changes * info box should now appear * adds ignorespecies for marking picker, collapsible for base layer section of appearance modification window * collapsible layout moment * if base layers have changed, all markings are now dirty (and if a base layer is missing, the marking is still 'applied' but it's now just invisible * small change to marking visibility * small changes to modifier UI * markings now match skin on zombification * zombie stuff * makes the line edit in marking modifier window more obvious * disables vox on round start * horizontal expand on the single label in base layer modifiers * humanoid profiles in prototypes * randomhumanoidappearance won't work if the humanoid has a profile already stored * removes unused code * documentation in humanoidsystem server-side * documentation in shared/client * whoops * converts accessory into marking in locale files (also adds marking loc string into single marking picker) * be gone, shared humanoid appearance system from the last upstream merge * species ignore on randomization (defaults to no ignored species) * more upstream merge parts that bypassed any errors before merge * addresses review (also just adds typeserializers in some places) * submodule moment * upstream merge issues |