Commit Graph

81 Commits

Author SHA1 Message Date
Ed
50470c3aaa Ed 09 06 2024 upstream (#230)
* Revert "Buff the AME until somebody fixes engineering" (#28419)

* Automatic changelog update

* hand teleport portals now may start in the same grid. (#28556)

* Microwave recipes now uses stacktype id instead of entity prototype id for stacked entities (#28225)

* Automatic changelog update

* Add "fill level" sprites to mops and damp rag (#28590)

* Automatic changelog update

* Reword some criminal records text (#28597)

* Update criminal-records.ftl

* Update criminal-records.ftl

* Update criminal-records.ftl

* Remove obsolete VisibilitySystem functions (#28610)

Remove obsolete visibility functions

Co-authored-by: plykiya <plykiya@protonmail.com>

* Prayable datafield typo (#28622)

* notifiactionPrefix -> notificationPrefix

* notifiactionPrefix -> notificationPrefix

* Update engine to v224.1.0 (#28624)

* Use dummy sessions in NukeOpsTest (#28549)

* Add dummy sessions

* Update NukeOpsTest

* Fix PvsBenchmark

* Update engine to v224.1.1 (#28632)

* Add Job preference tests (#28625)

* Misc Job related changes

* Add JobTest

* A

* Aa

* Lets not confuse the yaml linter

* fixes

* a

* Add logs that provide session to player admin logs (#28628)

* Cluster Update (#28627)

done here

* Automatic changelog update

* minor banner changes (#28636)

* minor banner changes

* Uhrmm actchually it's you're, not your

* Update banners.yml

props Hyenh

* Revenant spell catalog locale (#28638)

locale

* Make cuff default range again (#28576)

* Make cuff default range again

* uncuff distance

* how about ONE

---------

Co-authored-by: plykiya <plykiya@protonmail.com>

* Automatic changelog update

* Machine-code cleanup (#28489)

* Make Projectiles Only Hit a Variety of Station Objects Unless Clicked on (#28571)

* Automatic changelog update

* Fix Smoke-grenade.ogg not being mono (#28593)

* Fix Cigars Sprites + YAML fix for Inhand unlit cigars/cigs (#28641)

* Automatic changelog update

* Clean up Eva and Hardsuit helm yml + Lets atmos firesuit helm work as a BreathMask (#28602)

* Shifts borgs hats to the right a bit (#28600)

* Fix mouse inhands (#28623)

* Adjust some touch reaction damage levels (#28591)

* Automatic changelog update

* Add closing storage UIs to StorageInteractionTest (#28633)

* Update rules (#28452)

* Add support for LocalizedDatasets to RandomMetadata (#28601)

* Fix Admin Object tab sorting and search (#28609)

* Automatic changelog update

* Internals are kept on as long as any breathing tool is on (#28595)

* Automatic changelog update

* Convert rules to use guidebook parsing (#28647)

* Gives Insulation and NoSlip to all bots (#28621)

* Gives Insulation and NoSlip to all bots

* remove NoSlip from children

* Automatic changelog update

* Nerfs welderbombing (#28650)

nerf welderbombing

* Automatic changelog update

* Give jobs & antags prototypes a guide field (#28614)

* Give jobs & antags prototypes a guide field

* A

* space

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Add todo

* Fix merge errors

---------

Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>

* Automatic changelog update

* Fix typo in Space Law's restricted gear (#28668)

This typo was included in the wiki as well.

Reported-by: Bobberson in the Discord

* Automatic changelog update

* fixed "silicones" typo in new rules (#28671)

fixed all appearances of silicone where it should have been silicon

* fix janitor not spawning with a survival box (#28669)

hi

* Automatic changelog update

* Fix typo in slime naming conventions (#28682)

* Flatpacker fixes (#28417)

* Return medicine recipe solid material costs to 1 (#28679)

Set material costs of medicine recipes to 1

* Automatic changelog update

* Update Core (#28689)

add

* Fixed the guidebook listing every single rule (#28680)

* Well i tried this way

* New approach (start)

* Did it

* makes spacelaw available, put it under sec

* Automatic changelog update

* rule fixes first pass (#28701)

update

* Add JobRequirementOverride prototypes (#28607)

* Add JobRequirementOverride prototypes

* a

* invert if

* Add override that takes in prototypes directly

* Tweak chapel salvage wreck (#28703)

add

* Fixes client having authority over rules popup cvars (#28655)

* Fixes client having authority over rules popup cvars

* Delete duplicate migration

* Pre-update

* Post-update

* Add locale support for booze and soda jugs labels (#28708)

* Swap some InRangeUnobstructed for InRangeUnoccluded (#28706)

Swap InRangeUnobstructed to InRangeUnoccluded

Co-authored-by: plykiya <plykiya@protonmail.com>

* Automatic changelog update

* Ports the singularity's values from vgstation (#28720)

* ports the singularity values from vgstation

* guidebook fix

* 5000 energy level 6 singulo

* Fix action icons when dragging an active action to another slot (#28692)

* Add DoPopup data field to OnUseTimerTrigger (#28691)

* Dropping Corpses Devoured by Space Dragons on Gib/Butcher. (#28709)

* Update DevourSystem.cs

* Update DevourSystem.cs

* Update Content.Server/Devour/DevourSystem.cs

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Automatic changelog update

* Improve grammar of various petting messages (#28715)

Improve grammar of various petting message

* Fix DamageOtherOnHit.OnDoHit when the target is terminating or deleted (#28690)

* Update Core (#28735)

add

* Fix flatpacker (#28736)

* Fix flatpacker

* a

* rn, atp (#28674)

* Update speech-chatsan.ftl

* Update word_replacements.yml

* Atm-at the moment

* Atm

* Update Resources/Locale/en-US/speech/speech-chatsan.ftl

* Update Resources/Prototypes/Accents/word_replacements.yml

---------

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Add loadout group check for role proto (#28731)

MFW same bug twice at 2 layers because I'm stupid.

* Automatic changelog update

* Try fix RGBee (#28741)

* Automatic changelog update

* Ensure packager creates a release folder (#28426)

I was screaming at the github actions runner before i noticed something i had done before caused me to never have a release folder and thus fail.

* allow ' in character names (#28652)

* Automatic changelog update

* Make freeze, freeze & mute, and unmute verbs work on disconnected players. (#28664)

* Automatic changelog update

* fix singulo decay (#28743)

* Automatic changelog update

* Don't use invalid defaults for loadouts (#28729)

At the time it made more sense but now with species specific stuff it's better to have nothing.

* Maybe fix invalid loadout prototypes (#28734)

* Maybe fix invalid loadout prototypes

So if we have existing data SetDefault is not normally called iirc. So what I think is happening is that if we have old loadout groups that get saved to DB and loaded these get dropped entirely and nothing is used to replace the group unless the person specifically looks at their loadout.

Need someone affected to send me their loadout to confirm it's fixed.

* Better fix

* Automatic changelog update

* Fix null ref exception in PrayerSystem (#28712)

* Fix null ref exception in PrayerSystem

* Also check that prayable ent/comp still exist

* Guidebook Updates for the Amateur Spessman (#28603)

* Created NewPlayer.xml

* Created NewPlayer.yml and added it to guides.ftl

* shifted some controls from Space Station 14 to New? Start here!, as well as made a character creation xml to be written later

* switched some stuff between the New? entry and the Space Station 14 entry

* Made everything so nice!!!!!!!!!!!!!!

* fixed formatting inconsistencies

* added a How to use this guidebook section

* build correction and guidebook clarification for other servers

* wrote character creation ig probs fo shizzle

* added new terms to the glossary and alphabetized it

* meh this seems important enough to add

* okay no more shitsec bad idea

* I HATED Roleplaying.xml ANYWAY!!!

* I REALLY REALLY HATED IT ACTUALLYLLL

* Moved Controls and Radio into newplayer.yml, making meta.yml and radio.yml obsolete

* Separated the character creation bits that are just cosmetic from the ones that matter

* also put all the related new player xml files in their own folder

* expanded Radio.xml, kinda fixed survival.xml

* removed the line that mighta maybe sorta possibly could encourage self antag

* thought about this randomly but ICK OCK

* talking is no longer a key part of this game

* moves stuff around, a lot of stuff. basically moves everything but the jobs themselves around

* ah probably should make sure this works first also me when i lie on the internet

* don't be such a grammar nukie

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* okay nevermind that's justified

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>

* prepare. it is coming. the great reorganization...

* yesyes that's all well and goo- THE REORG IS COMING. THE REORG IS COMING. WAKE UP.

* rename that real quick

* step one begins. first, consolidate existing service entries into their own yaml. this makes botany.yml obsolete.

* update shiftandcrew.yml to only have departments as children also fuck it alphabetization

* consolidated salvage into cargo

* made a new entry for command

* gave salvage a home and service an existence

* made some XML files to be filled out later

* quick rename...

* took some stuff from Intro.txt and i think Gameplay.txt and put it in NewPlayer.xml

* The Great Writing about Departments (25XX, black and white)

* added a bunch of links everywhere

* biochemical is no longer a thing

* service formatinaaaaaaa

* shiny...,,,,,,,,, colo(u)rz..,,,,,,,,,,,,,

* let's get that fixed

* second time i made a typo there as well

* we hate fun around here

* grammar?!???/

* various fixes and more linkings

* oops

* wewlad lol!!

---------

Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>

* Automatic changelog update

* Add suffixes to excap survival boxes (#28755)

Update emergency.yml

* Add Jani lobby background (#28724)

* Add jani lobby background

* Actually make new lobby screen functional

* Fix license

* Automatic changelog update

* Strip markdown from silicon laws before saying them (#28596)

* saltern update (#28773)

Co-authored-by: deltanedas <@deltanedas:kde.org>

* revert Tornado regex

* Update HumanoidCharacterProfile.cs

* Update arenas.yml

* test

* fix locale

* Update options-menu.ftl

* Update species-names.ftl

* Update debug.yml

* aaaaaa

---------

Co-authored-by: Moony <moony@hellomouse.net>
Co-authored-by: PJBot <pieterjan.briers+bot@gmail.com>
Co-authored-by: icekot8 <93311212+icekot8@users.noreply.github.com>
Co-authored-by: blueDev2 <89804215+blueDev2@users.noreply.github.com>
Co-authored-by: Tayrtahn <tayrtahn@gmail.com>
Co-authored-by: TsjipTsjip <19798667+TsjipTsjip@users.noreply.github.com>
Co-authored-by: Plykiya <58439124+Plykiya@users.noreply.github.com>
Co-authored-by: plykiya <plykiya@protonmail.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: ShadowCommander <10494922+ShadowCommander@users.noreply.github.com>
Co-authored-by: Boaz1111 <149967078+Boaz1111@users.noreply.github.com>
Co-authored-by: Hmeister-real <118129069+Hmeister-real@users.noreply.github.com>
Co-authored-by: lapatison <100279397+lapatison@users.noreply.github.com>
Co-authored-by: Nemanja <98561806+EmoGarbage404@users.noreply.github.com>
Co-authored-by: Cojoke <83733158+Cojoke-dot@users.noreply.github.com>
Co-authored-by: DrSmugleaf <10968691+DrSmugleaf@users.noreply.github.com>
Co-authored-by: Ps3Moira <113228053+ps3moira@users.noreply.github.com>
Co-authored-by: Verm <32827189+Vermidia@users.noreply.github.com>
Co-authored-by: Chief-Engineer <119664036+Chief-Engineer@users.noreply.github.com>
Co-authored-by: Repo <47093363+Titian3@users.noreply.github.com>
Co-authored-by: Flareguy <78941145+Flareguy@users.noreply.github.com>
Co-authored-by: Thomas <87614336+Aeshus@users.noreply.github.com>
Co-authored-by: Moomoobeef <62638182+Moomoobeef@users.noreply.github.com>
Co-authored-by: Mr. 27 <45323883+Dutch-VanDerLinde@users.noreply.github.com>
Co-authored-by: Ubaser <134914314+UbaserB@users.noreply.github.com>
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
Co-authored-by: lzk <124214523+lzk228@users.noreply.github.com>
Co-authored-by: Lyndomen <49795619+Lyndomen@users.noreply.github.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
Co-authored-by: MerrytheManokit <167581110+MerrytheManokit@users.noreply.github.com>
Co-authored-by: Vasilis <vasilis@pikachu.systems>
Co-authored-by: Whisper <121047731+QuietlyWhisper@users.noreply.github.com>
Co-authored-by: nikthechampiongr <32041239+nikthechampiongr@users.noreply.github.com>
Co-authored-by: UBlueberry <161545003+UBlueberry@users.noreply.github.com>
Co-authored-by: AJCM <AJCM@tutanota.com>
Co-authored-by: Psychpsyo <60073468+Psychpsyo@users.noreply.github.com>
Co-authored-by: deltanedas <39013340+deltanedas@users.noreply.github.com>
2024-06-09 23:53:10 +03:00
lzk
a2f4540cb5 Remake gasp popup to emote (#27736) 2024-05-28 19:56:41 -04:00
Nemanja
8a95cb186c Remove AlertType and AlertCategory (#27933) 2024-05-23 22:43:04 -04:00
Plykiya
f192d7901f Hyposprays Draw from Jugs (#25544)
* Hyposprays Draw from Jugs

* Fix last onlyMobs usage in yml

* Some Suggested Changes

* Remove unnecessary datafield name declarations

* Remove unnecessary dirtying of component

* Same line parentheses

* Added client-side HypospraySystem

* Cache UI values and only updates if values change

* empty line

* Update label

* Label change

* Reimplement ReactionMixerSystem

* Remove DataField from Hypospray Toggle Mode

* Change ToggleMode from enum to Bool OnlyAffectsMobs

* Add DataField required back since it's required for replays...?

* update EligibleEntity and uses of it

* Add user argument back

* Adds newline

Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>

* Guard for dirty entity

* Adds summary tag

---------

Co-authored-by: Plykiya <plykiya@protonmail.com>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2024-03-30 14:59:16 +11:00
0x6273
37b8d78dac Body code cleanup (#24946)
* Fix test

* Kill float accumulators

* Use entity proxy methods

* DataField auto name generation where possible

* Kill comp properties

* Clean up server comps

* Make events record structs

* Clean up shared body code

* Clean up server body code

* Rename organ events to be same names as in med refactor
2024-03-27 17:48:37 -07:00
Whisper
ff65cb7b0c Whisper bleed update v3 (#25434)
* Whisper bleed update v3

* missed a few

* Add bleeding message to health analyzer.

* Fix bleed notification not updating.

* Apparently this either doesnt exist
2024-02-26 16:26:46 -07:00
Errant
2737c80169 Suffocation alerts for nitrogen breathers (#24373)
* Respiratorsystem namespace

* WIP gas alert update, does not work

* Finally
2024-01-23 15:17:40 -05:00
TemporalOroboros
d23c8d5c19 Revert 'Revert 'Solution Entities'' (#23168) 2023-12-29 08:47:43 -04:00
Emisse
938d6d9945 Revert "Solution Entities" (#23160)
Revert "Solution Entities (#21916)"

This reverts commit d75e743dd7.
2023-12-28 20:45:42 -07:00
TemporalOroboros
d75e743dd7 Solution Entities (#21916)
* Creates Content.Shared.Chemistry.Solutions
Copies Solution class to new namespace
Obsoletes old Solution class

* Switches over to the Solutions.Solution Solution

* Creates Content.Shared.Chemistry.Containers
Copies relevant components/systems to the new namespace
Obsoletes old versions

* Switches over to the Containers.XYZ namespace

* Creates SolutionSystem and obsoletes old SolutionContainerSystem methods

* Start using SolutionSystem for Solution manipulation

* EnumerateSolutions

* Move TryGetMixableSolution

* Move EnsureSolution to Server

* Create Solution Entities

* Stop using obsolete solution system methods

* Fix prototype component tests

* Add using ..Audio.Systems; back

* Wrap solution container slots in ContainerSlots

* Actually add the slot to the solution container map

* Dirty SolutionContainerComponent when ensuring solutions

* Revert namespace changes

* Remerge SolutionSystem and SolutionContainerSystem

* SolutionContainerManagerComponent refactor

* Avoid wrapping necessary code in DebugTools.Assert as it is removed when compiling for release

* Readd examine reagent sorting

* Fix errors

* Poke tests

* Fix solution names not being applied

* Fix WoolyComponent including statement

* Fix merge skew

* Fix compile errors

* Make reactions use solntities

* Reindent solution class namespace

* Field attribute changes

* AutoGenerateComponentState for SolutionContainerComponent

* SolutionContainerComponent -> ContainedSolutionComponent

* ref ReactionAttemptEvent

* Denetwork preinit solutions

* Misc 1

* Nullable TryGetSolution out vars

* Cache associated solutions

* Fix merge skew

* Use explicit regions in SharedSolutionContainerSystem.Capabilities

* Add debug assert

* Use explicit regions in SharedSolutionContainerSystem.Relay + ref SolutionContainerChangedEvent

* ContainedSolutionComponent.Name -> ContainedSolutionComponent.ContainerName

* SolutionComponent doc comments

* Implicit DataField names and property purge

* ReagentEffect DataField names

* Local variables for readability

* Sort using statements + Entity<T> event handlers

* Fix compile erros

* Fix compile errors

---------

Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
2023-12-28 17:58:14 -08:00
Leon Friedrich
e4ca6f4fb9 Allow solutions to store extra reagent data (#19323) 2023-09-05 07:55:10 +10:00
DrSmugleaf
a88e747a0b Refactor serialization copying to use source generators (#19412) 2023-08-22 18:14:33 -07:00
Whisper
276f181021 Bleed Tweaks (#17528) 2023-06-22 00:30:19 +10:00
Ilushkins33
e808a02856 Stuttering during blood loss. (#15153)
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
2023-05-05 23:46:52 +10:00
Kara
133cbcbe88 Special digestion & kudzu-eating (#16061) 2023-05-04 12:49:25 +10:00
Whisper
1b31da956a Bloodloss drunk status no longer persists after being healthy AND dead bodies will still bleed (#15189)
* removing drunk scaling with missing blood, drunk will apply until blood restored

* added new drunk function to go with new bloodloss drunk code

* initial tryremovetime code for drunk system. Still need to code it into bloodloss and test.

* initial tryremovetime code for drunk system. Still need to code it into bloodloss and test.

* Drunk status added by low blood level should be removed when healthy

* Everything is working in the dev enviroment. Cleaning up code.

* Dead bodies bleed, do not recover blood, and do not take further bloodloss damage to missing blood

* Last commit
2023-04-18 23:09:22 -04:00
Whisper
6cc9a56cc4 [Tweak] Increased passive blood recovery from 0.3u to 1u (#15312) 2023-04-12 14:14:42 -06:00
Kara
3bb2b27169 Delete more body code (#15259) 2023-04-10 23:28:10 -07:00
Whisper
0e43f90bb8 The bleed update (#14814)
* Removed arbitrary modifier scaling. The bleed amount is now 1-1 in units.

* Added some comments to explain the blood and bleed code

* added some comments

* added some comments

* profusely bleeding message scales with max bleed rate

* Added some comments

* Added some comments (tm)

* Halved the speed bleed rate heals.

* Changed the wording of a comment to make the function of the values more clear

* Changed bleed rate values, made heat heal more bleed rate

* doubled crit chance, since damage types were reduced

* Made iron restore more blood, 2->4u per 1u

* Starting to add the blood pack

* add bloodlevel to healingcomponent

* Created code support in the healing system for restoring blood

* first test of blood pack prototype

* More pack testing, and defining the yml stack

* yml syntax fix

* adds bloodpack tag

* Successfully added the item, but the effect and deletion after using the item is not working yet.

* the blood regen worksgit add -A!

* blood pack is entirely functioning

* Removed bleed rate healing from brute pack

* Comment correction

* I tried

* Removed bleed stats from corrupted corgi, they inherit same stats from basemob

* Removed bleed stats from xeno, they inherit same stats from a base mob

* Removed bleed stats from diona, they inherit same stats from a base mob

* Removed bleed stats from slimes, they inherit same stats from a base mob

* All mobs now heal bloodloss damage at a rate of 1 instead of 0.25 when healthy

* The cautery now closes bleed wounds

* Nerf blood pack bleed rate heal

* Added 2 blood packs to medicine locker

* Added 2 blood packs to wall medicine locker

* Minor YML fix to chemistry locker, no changes in game

* Added tag to medical belt for blood pack, added 2 blood packs to medical belt

* Added 1 gauze to medical belt

* 5 blood packs addded to nanomed plus

* nanomed inventory change

* 2 blood packs added to medical supplies crate from cargo

* Moved 1 gauze from med kit to advanced med kit

* Moved 1 tricord pill from advanced med kit to basic med kit

* added 2 ointment to burn kit

* Moved ina syringe from burn treatment to oxygen kit

* Removed one gauze from brute kit

* Added one bloodpack to brute med kit

* Moved tranex acid syringe from advanced first aid to brute kit

* Poison medipen moved from advanced first aid kit to toxin kit

* Removed health analyzer from advanced first aid kit

* removed one brute pack from advanced aid kit

* added one ointment to advanced aid kit

* Added one blood pack to advanced aid kit

* Added 2 blood packs to combat med kit

* Starting with adding the license for the tg sprite

* Adds the blood pack sprite and meta.json code

* I forgor to actually code the sprite in

* Advanced med kit missing one blood pack

* Replaced tricord pill with emergency medipen in cobat kit

* Removed emergency pen from combat kit, there's no space for it

* Revert "I tried"

This reverts commit 94c2e28df3200993d3f09b72ecabc838ea5ae5c0.

* Trying to fix yml test fail

* Try again

* attempt number 3

* Restock crate price was too low

* fixing merge conflict without making a HUGE mess this time

* ???

* again

* again

* Can I add the newline now maybe???

* Revert "Can I add the newline now maybe???"

This reverts commit 22d26706a65a24633f7da1dea6315012e2d3ac6f.

* Adds the doafter fix code from Keron to the blood level healing

* minor typo fix

* Feedback from Emisse and sloth; Removed chance based feedback on cauterizing

* comment fix
2023-04-02 23:59:51 -06:00
Kara
b4502757a5 Partial revert #14648 (#14759) 2023-03-21 16:47:26 -07:00
Kara
c9dfe6ee0c Blood tweaks & fixes (#14648) 2023-03-16 15:27:28 -07:00
keronshb
9ebb452a3c DoAfter Refactor (#13225)
Co-authored-by: DrSmugleaf <drsmugleaf@gmail.com>
2023-02-25 01:01:25 +01:00
Leon Friedrich
466384b081 Solution rejig (#12428) 2023-01-12 14:41:40 +11:00
metalgearsloth
2287f9df11 Fix bloodstream nullref exception (#13243)
Fixes https://github.com/space-wizards/space-station-14/issues/13018
2022-12-31 21:58:00 -08:00
DrSmugleaf
7fbc2608e8 Remove redundant read-only VV from datafields (#12626) 2022-11-16 20:22:11 +01:00
Justin Trotter
8c0b113fcf Pet internals (#12376)
* toggle other crew and pet internals

* oops
2022-11-08 15:04:06 -06:00
DrSmugleaf
f323fb7644 ECS and cleanup body system, merge body templates and presets into body prototypes (#11991)
Co-authored-by: Jezithyr <Jezithyr@gmail.com>
2022-10-22 15:46:28 -07:00
Flipp Syder
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
2022-09-22 17:19:00 -05:00
Leon Friedrich
93584f21db Add entity prototype save test (#10274) 2022-08-17 10:47:58 +10:00
Rane
2f4849eae1 Cloning Rework (#8972)
Co-authored-by: fishfish458 <fishfish458>
2022-08-03 21:05:17 -07:00
Leon Friedrich
c7ad6b709e Audio System Rejig (#9635) 2022-07-29 12:13:12 +10:00
metalgearsloth
40a7584c2f Gas tank internals alerts (#9567) 2022-07-25 14:42:25 +10:00
Kara
f092f478f7 Satiety tweaks (#9519)
* Satiety tweaks

* actually lets do this
2022-07-07 11:21:26 -07:00
Rane
6f9e3cc461 Bloodstreams now have their own drawing behavior (#8920) 2022-07-04 17:37:21 -07:00
Kara
de6db8cb21 Stomach YAML tweaks (short-term satiety) (#9326) 2022-07-01 13:42:29 -07:00
metalgearsloth
8905996cfc Make raiselocalevent not broadcast by default (#8998) 2022-06-22 09:53:41 +10:00
keronshb
f7b1bda3e5 Reorders Sound Systems signatures to match Popup Systems. (#8728) 2022-06-13 09:45:47 +10:00
Pieter-Jan Briers
a323ba8223 Revert "Revert "Fix some friend access violations by allowing others access. (#8594) (#8703)" (working this time) (#8704) 2022-06-07 15:26:28 +02:00
Pieter-Jan Briers
cecf87997b Revert "Fix some friend access violations by allowing others access. (#8594) (#8703) 2022-06-07 13:44:31 +02:00
Vera Aguilera Puerto
c5f7c61041 Fix some friend access violations by allowing others access. (#8594)
Rename Friend attribute to Access attribute.
Updates submodule to v0.21.0.0 as well.
2022-06-07 11:30:27 +02:00
wrexbe
bc68ac96dd Cleanup the namespaces (#8132) 2022-05-13 17:59:03 +10:00
wrexbe
61d147aea9 Fixing warnings (#8131) 2022-05-13 15:35:13 +10:00
EmoGarbage404
075eb0d982 The Newest Furry Race [Skeletons] (#7825)
Co-authored-by: Moony <moonheart08@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
2022-05-13 09:35:55 +10:00
Rane
926e36d81d Convert almost all IActivate instances that open UIs to ActivatableUI (#7028)
* Chem master

* Drone support for handhelds

* Vending machines, scanners

* Cloners, R&D computers

* make research a little less sussy

* Unfuck wires

* PA control computer

* Unfuck merge

* Clean up git gore for good

* Disposals

* Microwaves

* paper

* Magic mirror

* More vendors for drones

* Solar computer whitelist

* EFR review updates
2022-03-12 11:26:06 -07:00
mirrorcult
e85bdc2d87 More blood tweaks (#6811) 2022-02-20 17:18:24 -07:00
mirrorcult
676ca21b5f Add knife butchering and blood gibbing (#6770) 2022-02-18 15:57:42 -07:00
mirrorcult
3010de33fc Spill some of the chemstream when bleeding (#6772) 2022-02-17 23:00:50 -07:00
mirrorcult
a57d78a3f2 Basic bleeding mechanics (#6710) 2022-02-17 15:00:41 -07:00
mirrorcult
ec4d4688c7 Seal/abstract/virtual everything (#6739) 2022-02-16 18:23:23 +11:00
mirrorcult
2738b46362 Lung tweaks (#6634) 2022-02-10 14:58:41 -07:00