* Adds the component, system and .ftl file for the Early English accent. Updates word_replacements.yml with the new accent stuff.
* -Renamed to Archaic accent
-Added more word replacements
-Fixed "ed" -> " 'd" only happening when prefix chance happened
* - Adds "Archaic Accent" as a character trait.
* - Added over 60 new word replacements and 3 new prefixes.
- Increased prefix chance to 15%.
* - MINOR SPELLING MISTAKE IN DESCRIPTION FIXED THIS IS A TRAVESTY
* it's now impossible to unbuckle when cuffed, cuffs must be removed first
* can't unbuckle if any hand is handcuffed
* fixed hand count check
* added popup message
* Procgen asteroids for salvage magnet
* big roids, remove min offset radius
* i fuck with configs a bit more
* some shit i guess
* actually this makes more sense
* Make stack count affect item size
* and the test, too
* readd this check
* vwoom
* huh
* if you ever read this commit message ping me on discord in #contributors
* changerinos
* Hotplate overhaul
- Beakers are now placed on top of the hotplate instead of itemslot.
- Hotplate LED now only lights up if it's heating something.
- More comments/xmldoc.
- Some other minor tweaks.
* Actually remove the beaker slot
* Changed Energy Sword system to allow Wieldable eswords
Needed to add conditions to allow the wielding system to handle the esword if the component existed in the entity. The normal eswords work just fine still.
* Adds sprites for double bladed esword
* added double bladed esword to yml
* Add double bladed esword to uplink catalog
* fixed sprites on right handed wielding
* decresed speed a little and added a wielding time
* Reduced damage
* Damage change
* Balence change
* edited attack speed and heavy windup
* fixed readability issue and removed unwanted brackets
* reflectProp to .75
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* wieldTime to 0
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* litDisarmMalus to .7
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* changed heat and slash damage to 9 and structural damage to 20
* changed uplink desc
---------
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* logic gate momentary is now pulse
* switch status, minor refactor
* filescope namespace
* switch
* fix ci probably
* add auto linking for edge detector and logic gate
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* Refactoring of antagonist roles and notifications about antagonist role assignment.
Refactoring of traitor assignment methods and bug fixing.
* Announcement files moved, code is adjusted to new revision
* Play to entity changed to play to global cause of mono audio restrictions.
* Path to audio files changed to sound specifiers, unique alerts for each role.
* Uncommited changes
* New alert sounds for each antag role.
* PR review fixes
* Antagonist role assignment sound notifications moved to Systems, sounds moved to Components.
* License update
* Fixed naming and redundant parameters
---------
Co-authored-by: Титов Вячеслав Витальевич <rincew1nd@yandex.ru>
* im good at atomizing. welcome to half-finished chem guides.
* wagh
* e
* save work
* aa
* woweee UI
* finishing the last of it
* don't actually update the engine :(
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Docking config changes
- Should be more flexible with tight bounds.
- Arrivals should always go for the 4-way dock.
- Don't think it fixes Omega.
* weh
* Basic test
- Guaranteed spawns in salvage
- Triple vein count
- Made it so rocks only drop 1 as it's kinda whacky (I believe they still convert differently to bars).
* Implement device network device shutdown subscribtion
Implement removing devices from device lists when they get deleted
* Improve name and doc comment for DeviceShutDownEvent
* Change ShutdownSubscriber data field tag
* Change UpdateRemovalSubscription name to UpdateShutdownSubscription
* Added Gloves of North Star, no sprite or talking yet...
* Added sprites for the gloves of the north star...
* Replaced more placeholder sprites for northstar gloves...
* Added gloves of the north star to uplink...
* Added speech on hit, not yet configureable
* Not functional yet, but a step in the right direction I hope...
* IT WORKS!!
* Licensing and cleanup
* Reduced attack speed, changed from chat to popup, added some admin logging. It was causing too much adminlog spam otherwise
* Reorganized some files, final build??
* Changed the adminlog type from Verb to new type ItemConfigure
* More cleanup, fix sprite reference maybe
* Keronshb's suggestions, fixed some stuff, made hit sound use the meaty punch sfx
* Adds support for hiding speak/whisper/emote from adminlogs, makes northstar speak again!
* Some file shuffling, some of Keronshb's requests. Might appear a bit funky in github because vscode kept duplicating files for some reason and I had to delete them
* Made it work with the latest changes on Master
* Final? cleanup, upped dmg to 8, made ui not activate on activateinhand, instead you need to right click
* Set value to 0 credits, that's all
* Well that was much easier than I made it out to be. Now you can only activate the gloves with right click, no more mispredicts.
* Update MeleeWeaponSystem.cs
Iunno why this got changed in the first place, but I'm changin it back
* emptycommit
* emptycommit
* The tiny fixening
The alert for snares will appear again. Previously it was being updated
on the snare itself and not the player.
It is no longer possible to infinitely ensnare someone; the maximum
number is dependent on the target's legs.
Only one snare at a time will be removed now.
Clarified the wording and logic around CanMoveBreakout. It was
inconsistent.
Made multiple snares impose cumulative speed penalties.
It is no longer possible to remove bolas while moving.
* Space sections fractionally slower (1 sec, exponential)
- ExplosivelyDepressurize reduces air pressure by about 20% each pass, sets to vacuum below 20 kPa
- Causes some issues with AdjacentBits on airlock close
* Introduced constants for Spacing in atmospherics
* Limit space wind allowed during spacing to 1000 kPa per tile/sec
- Less tile ripping per tick
- Tiles rip based on wind
- Robustness checks
* Slowed down the spacing a bit
* Slowed down the spacing a bit more
* Better dynamics about high pressure air escaping,
- Reduce air temperature (due to decompression) during spacing
- Make some water vapor for flavor
* Limit temperature loss to >8 Deg.C. No Water vapor
* Update StationSpawningSystem.cs
Web-edit to allow feeding in an existing entity.
* Update StationSpawningSystem.cs
value type moment
* Update StationSpawningSystem.cs
* Oh goddamnit this is a refactor now.
* awawawa
* aaaaaaaaaaa
* ee
* forgot records.
* no records? no records.
* What's in a name?
* Sloth forcing me to do the refactor properly smh.
* e
* optional evac in test.
* tests pls work
* awa
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* Cannot stack binary and trinary Atmos pumps and devices
- Filters now have a 5x max volume to compensate for no more stacking
- Add flipped versions of mixers and filters to the list of constructables
* Oi! No anchoring unstackables together!
* Use EntityLookupSystem in Unstackable and Window lookup
- Use static method for AnyUnstackableTiles
* PDA update and fix
* fix alert level
* Fix color level
* Maybe this will look better
* PDA update and fix
* fix alert level
* Fix color level
* Maybe this will look better
* Now threat color is taken in the same way as for emergency lamps
* Minor improvements
* Fix alert level string
* AlertLevelChangedEvent for all PDAs
* StationAlert is also stored in PDAComponent
* Removed IdAccessLevels
* Removed Access from PDAMenu.xaml.cs and Draw time real-time
* AlertLevel updated from AlertLevelChangedEvent
* Removed garbage
* Removed garbage from PDAUpdateState.cs
* Change comp-pda-ui-station-time
* revert rename PDAOwnerInfo to PdaOwnerInfo
* remove not use short names jobs
* "ftl var should be lowercase"
* "ftl var should be lowercase" again
* transfer StationAlert to PDAIdInfoText
* transfer StationAlert to PDAIdInfoText
* Line breaks of parameter/argument lists conventions
* not randomly inline property attributes
* no broadcast AlertLevelChangedEvent
* fix cctualOwnerName
* GridModifiedEvent never called
* add alert-level-unknown-instructions
* UpdateAlertLevel for latejoin
* Add alert-level-unknown
* Revert "GridModifiedEvent never called"
This reverts commit fa7d1620
* remove garbage and fix quite long
* Fix next never sending logs for rounds outside the cache
* Show round's total log count on the ui
* Disable next button when waiting for a next response
* Cleanup AdminLogsEui.CurrentRoundId
* Fix popout window width
* Nerf Space zombies, get DoT in space (barotrauma) and spawn stunned.
- Also discard any helmet or mask you might be wearing.
* Zombies have heal over time, infection far more fatal
- Stun time reduced to 2 seconds
* Zombification occurs after you die, rather than after you crit.
- Zombies cannot inflict Zombification DoT on other zombies.
* Heal shock damage, space zombies are back.
* Lower the chance of infection per hit
* Removed the stun, reduced zombification virus slightly
* use file namespace
* shorter systems name
* replace SoundSystem with AudioSystem
* refactor update function
* refactor
* refactor 2
* remove setters
* uh oh
* remove getters
* active checks
* refactor 3
* better way
* update state
* have to remove this for now
* move electrified component to shared
* forgot this
* fix airlocks
* add effect
* Revert "move electrified component to shared"
This reverts commit 6457e8fc9c3b674a705a61034831ce6f084e2b01.
* Revert "forgot this"
This reverts commit ed361cee2d5b8b958830ba0af07fcc2627eb7845.
* functioning effects
* use animation by Aleksh
* make effect part of grille
* optimisation?
* remove timing
* file name
* only activate when touched
* refactor electrocution comp too
* make it 1 sec
* formatting
* replace all entity query with enumerator
* queue del
* repeatable healing items
* comments and break
* simplified and improved
* added messages
* improved messages
* stops when bleeding stops and won't give popup when clicking on an unhealable object
* should actually stop when bleeding stops now
* rerun tests please github
* changes made
* rerun tests please github
* remove braces
* fix
* uplink ringtone code + minor cleanup
* show uplink code in character menu
* no log
* rgbee
* no red
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* brigtimer
* ok
* TextScreen w timer implementation
* second commit
* working brig timer
* signal timers near completion
* soon done
* removed licenses, fixes noRotation on screens, minor edits
* no message
* no message
* removed my last todos
* removed csproj.rej??
* missed a thing with .yml and tests
* fix tests
* Update base_structureairlocks.yml
* timespan type serialize
* activation turned into comp
* sloth review
* Update timer.yml
* small changes
---------
Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
Co-authored-by: rolfero <45628623+rolfero@users.noreply.github.com>
* limitedcharges stuff from emag
* changes except broken
* fix
* the
* move recharging to server, emag namespace -> charges
* the
* use resolve
* pro
webedit gaming
* the
* the
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* 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
* solution regeneration system
* experimental welding tool regenerates 1u of fuel every second
* pro
* use a solution
* added -> generated
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* start of space ninja midround antag
* suit has powercell, can be upgraded only (not replaced with equal or worse battery)
* add doorjacking to ninja gloves, power cell, doorjack objective (broken), tweaks
* 💀
* add basic suit power display that uses stamina rsi
* add draining apc/sub/smes - no wires yet
* add research downloading
* ninja starts implanted, move some stuff to yaml
* add Automated field to OnUseTimerTrigger
* implement spider charge and objective
* fix client crash when taking suit off, some refactor
* add survive condition and tweak locale
* add comms console icon for objective
* add calling in a threat - currently revenant and dragon
* combine all glove abilities
* locale
* spark sounds when draining, refactoring
* toggle is actually toggle now
* prevent crash if disabling stealth with outline
* add antag ctrl for ninja, hopefully show greentext
* fix greentext and some other things
* disabling gloves if taken off or suit taken off
* basic energy katana, change ninja loadout
* recallable katana, refactoring
* start of dash - not done yet
* katana dashing ability
* merge upstream + compiling, make AutomatedTimer its own component
* docs and stuff
* partial refactor of glove abilities, still need to move handling
* make dooremaggedevent by ref
* move bunch of stuff to shared - broken
* clean ninja antag verb
* doc
* mark rule config fields as required
* fix client crash
* wip systems refactor
* big refactor of systems
* fuck
* make TryDoElectrocution callable from shared
* finish refactoring?
* no guns
* start with internals on
* clean up glove abilities, add range check
* create soap, in place of ninja throwing stars
* add emp suit ability
* able to eat chefs stolen food in space
* stuff, tell client when un/cloaked but there is bug with gloves
* fix prediction breaking gloves on client
* ninja soap despawns after a minute
* ninja spawns outside the station now, with gps + station coords to navigate
* add cooldown to stun ability
* cant use glove abilities in combat mode
* require empty hand to use glove abilities
* use ghost role spawner
* Update Content.Server/Ninja/Systems/NinjaSuitSystem.cs
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* some review changes
* show powercell charge on examine
* new is needed
* address some reviews
* ninja starts with jetpack, i hope
* partial feedback
* uhh
* pro
* remove pirate from threats list
* use doafter refactor
* pro i gave skeleton jetpack
* some stuff
* use auto gen state
* mr handy
* use EntityQueryEnumerator
* cleanup
* spider charge target anti-troll
* mmmmmm
---------
Co-authored-by: deltanedas <deltanedas@laptop>
Co-authored-by: deltanedas <user@zenith>
Co-authored-by: deltanedas <@deltanedas:kde.org>
Co-authored-by: keronshb <54602815+keronshb@users.noreply.github.com>
* petting fish to make him nice to you
* fix fishe, refactor a bit
* fishe
* pro
* feedback, for now
* refactor
* pro
---------
Co-authored-by: deltanedas <@deltanedas:kde.org>
* add new labels and buttons for records stantion console
* add fingerprint fields for server
* set buttons and updates for fingerPrints filters
* set fingerprints filters
* final set for finger prints filters
* add new trhaslates for station records computer
* some fix for the PR
* refactor server side station record console system
* add message for filters
* add tranlates
* add new ui with several filters
* updetes prints with server side logic
* resolve conflicts with DNA
* resolve conflicts with DNA
* deleted unused variable and rename some fields
* added description for new state
* added select for filter
* set multiplay filters for the console
* added new translates
* add class filters & fixed issue with reset line edit
* fix dublicate with set the selectId for option button
* fixed review notes
* fixed review notes forget changet fix name
* add event TextEntered for better usability
* fixed review notes 3
* fixed formating in xaml
* fixed array with _filterTypes
* fixed ui and made it in minimalistic style
* fixed generalstationRecordFilter class, move method
* delete margin after line edit
* fix placeholder for lineEdit
* fix placeholder for lineEdit, the review note
* Revert "fixed generalstationRecordFilter class, move method"
This reverts commit 1b35c6ac44e7dafe9a1f0560eb177152b822f20b.
* impliment short swith in method IsSkippedRecord
* fixed review notes, remaked method IsSkipped and fix casing
* fixed the review note about check null record name
* pirate content
* pirate content
* merge
* merge
* update launchers
* trying to fix launcher error
* merge
* merge
* merge
* fix for launchers
* update to held cannon sprite
* attempt to fix issue
* first updates in long time
* changes mostly to sprites
* more sprite fixes
* more sprite changes
* json fixes
* small update
* new pirate crate
* update
* updae json
* fix eva
* update accent
* fix accentcomp
* improved pirate chest
* accent localized
* station to docks
* modified the pirate ship
* changed pda spawns for firstmate nad piratecaptain to passenger pdas
* fixes
* pirate accent
* removed spacing in shotgun.yml
* redo accent
* fix
* removed no spawn from helmet hardsuit
* suffix capitalization
* tweaks
* a
* jusdt fixing up the hi and yes which are both replacement and not replacement and replaced.
* pirate accent fixes
* desc fix
---------
Co-authored-by: ElectroJr <leonsfriedrich@gmail.com>
Co-authored-by: AJCM <AJCM@tutanota.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* Material Reclaimer
* Fix this test
* autostack output, tweak volume, add upgrade examine
* whitelist AND blacklist support
why not
* trying so hard to get this fucking test to work
* EmoGarbage delves into MaterialArbitrageTest, never to return
* VV and restore cloth to glory
* make the system more robust
* even more stuff has composition; add blacklist for important items
* fix test fails
* convert recycling
* forgor :sadge:
* lol
* simply a modiCUM of doc commentary
* 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
* save work
* Adds Z levels
* a
* ladders + parallax scroll
* zoom out not in
* oops, sandbox
* oops i broke the law
* run ci
* fuck
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* DNA component
* Commit numba 2
* Added DNA into Station Records Computer
* commit numba 3
* commit numba 4
* Vomit also contain DNA component now
* fixed DNA field not clearing after scanning another item
* commit numba 10
Drinking leaves DNA on an object. Breaking glasses, bottles and beakers leave DNA and leave fingerprints/fibers with 40% chance on glass shards. + lotta fixes
* 11
* 12
* 14
* Added DNA guide entry
* FIX
Removed BaseItem price as it was always a placeholder and easier to just change without it.
Ensure staticprice is never used if stackprice is present.
Added StackComponent to the test so the behavior matches expectation.
Server config now provide appeals forum link, game admins won't need to type it out manually anymore.
Add warning about trying to ban evade.
Cleaned up code a bit.
* if a player's profile has an invalid species, station spawning will always try to fallback to the default humanoid species
* validation always ensures that if a species can't be indexed, the species falls back to the default species
* station records fingerprints
* Add UI + Fixes
* now itll display N/A if a mob doesnt have a fingerprint
* ? - 0
* f8
* N/A is a fluent string now
* remove locale string duplicating
* no whitespace
* Marking coloring WIP
* EnsureDefault now supports coloring!
* Now markings have coloring when they get added
* Many things
* yml files
* cleanup
* Some requested changes
* Nullable type and WIP caching
* Time to resolve that thing with deprecated hair fields
* Latest reviews + im still trying to use these hair markings
* FirstOrDefault thing and Tattoo docs
* IDK
* It's now works a bit more properly in preferences GUI
* THEY SYNCING! However preferences GUI still broken and doesn't work properly
* Markings now updating when changing in GUI. However they still don't work properly with bald humanoids
* Forgor...
* Default hair-colored markings will not color to hair if there is no hair
* Fixed default colors for customizable markings
* Fixed bug in prefs GUI that set current hair to null
* Now markings that must match skin color because of limb (e.x. Slimes) - will match skin color
* final tweaks: if hair uses skin color then markings will use skin color as hair color (slimes)
* fix
* fixed dirty. no more funni invis bug
* Mirrors and client profile loading
* default colors soon TM
* review + better coloring
* Hardcode is gone
* diona markings
* oh my god
* fixed CategoryColoring
* cool fallback, clean up and some other tweaks
* code style
* more style
* a
Also put the flip verb in the rotation category.
No credit to give here, i've made the icon from scratch.
<!-- Please read these guidelines before opening your PR: https://docs.spacestation14.io/en/getting-started/pr-guideline -->
<!-- The text between the arrows are comments - they will not be visible on your PR. -->
## About the PR
<!-- What does it change? What other things could this impact? -->
**Media**
<!--
PRs which make ingame changes (adding clothing, items, new features, etc) are required to have media attached that showcase the changes.
Small fixes/refactors are exempt.
Any media may be used in SS14 progress reports, with clear credit given.
If you're unsure whether your PR will require media, ask a maintainer.
Check the box below to confirm that you have in fact seen this (put an X in the brackets, like [X]):
-->
- [x] I have added screenshots/videos to this PR showcasing its changes ingame

**Changelog**
<!--
Here you can fill out a changelog that will automatically be added to the game when your PR is merged.
Only put changes that are visible and important to the player on the changelog.
Don't consider the entry type suffix (e.g. add) to be "part" of the sentence:
bad: - add: a new tool for engineers
good: - add: added a new tool for engineers
Putting a name after the 🆑 symbol will change the name that shows in the changelog (otherwise it takes your GitHub username)
Like so: 🆑 PJB
-->
🆑
- add: The flip verb now has a icon and can be found under the rotation category.
* Add AutoEmote comp/system
* Reduce groan chance so it's the same as before
Old code did 0.2 and then 0.5, now it's just one Prob(0.1)
* Fix typo, curTime var, don't log Resolve
* Maybe fix pausing?
* Fix mistake
* Update NextEmoteTime if an auto emote is removed
* Fix stuff
Get CurTime outside update loop
Use MapInit instead of ComponentInit
Fix a typo in a comment
Debug assert prototype ID in RemoveEmote
Do += PausedTime in OnUnpaused
Add prototype as arg to ResetTimer to avoid an indexing
* MOTD
* Message of the Day
* Pretty sure the tests aren't me. Let's check.
* Update Content.Shared/CCVar/CCVars.cs
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
* command dependencies and moving MOTD to its own system
* Some doc comments
* Let's try those tests again
* More doc comments, most of the github reviews, and aliases for get-motd and set-motd
* Clear test MOTD
* Localized motd commands and completion hints
* Makes set-motd only show up in the alias command if the player has access to it.
---------
Co-authored-by: AJCM-git <60196617+AJCM-git@users.noreply.github.com>
* add include non-players button to log viewer
* breakout player filter check
* fix sending player logs with no players selected
* fix default not returning player logs, causing test issue
* added cooldown to hypospray
* moved one of the 'using's over a space
* changed all cooldowns to 0.5 seconds
* resolved suggestions
* minor comment change
* The all-in-one hacking solution
The thinking man's lockpick
The iconic EMAG
* emagged medbay's stasis bed
* left med, emagged sec' apc
* went back to chem, emagged the dispenser
* emagged the fax while i was there
* had a donut while waiting for emag to charge
* i broke into the bridge then announced 'mandatory johnson inspection in medical'
* get system instead of dependency
* feedback
* net suggestion
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* use EnsureComp and import NetworkedComponent
---------
Co-authored-by: deltanedas <user@zenith>
Co-authored-by: deltanedas <deltanedas@laptop>
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* Improves bartending with some tweaks.
- Glasses got resprited and now support fill levels.
-
* New glass type and improve shotglass visuals.
* oobsy
* fixes
* get flasked
* flask
* flask
---------
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
- Fix the direct-path so NPCs. This is most noticeable when moving diagonally on planetmaps (given the current pathfinder is cardinal)
- Reduce static collision avoidance weight and distance. This seems to reduce instances of getting stuck on railings.
* Ore veins
I dislike rocks just providing generic drops and this factors into mining more.
* fixes
* descriptions
* comment
* every flipping time
* Make mining destroy rocks with 1 hit
Having to click 3 times was pretty annoying.
* a
* Fire MeleeHitEvent when there are no targets.
* Prevent certain weapons from activating if they had no hit entities on hit.
* Prevent miss events from firing when target is yourself or was deleted.
* Use .Value as Target is already known not to be null.
* uid changes
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* belt multithreading
* moves away from multithreading and changes setting awake directly to physics system method
* prediction for conveyors
* Fixes missing reference in FaxSystem
* Fixes oddities
* Adds networked to conveyor components
* Some more cleanup.
* reverts power change event
* Removes the event, fixes a file
* Should fix the rest of the weird additions
* More cleanup to fix extra files
* Fixes again
* fix
* fixes fax system
* Adds component state, cleans up the dependencies
* Checks for prediction
* Merge conflicts
* powa
---------
Co-authored-by: metalgearsloth <comedian_vs_clown@hotmail.com>
* Planetmap tiles
Biomes etc etc
* a
* oop
* Chunk-based rendering
* funny
* Less allocations
* Fix overdraw
* Content tile edge support
Also updated grass to use it as a POC.
* Kindly revert
* Update for variant edges
* fixes
* Use fastnoise
* Remove redundant group
* a
* refactor a fair bit
* Prototype data instead
* tweaks
* a
* fix maths
* working
* a
* Slightly better empty support
* a
* flowers
* sounds
* lewd
* Networking
* more fixes
* better
* colours
* Some chunk loading
* Proper loading and unloading
* Better loading
* Fix parallax and movement sounds
* Anchoring support + decal setup
* Most of the way to load and unload
* Decal loading kinda werkin
* large trees
* started diffing
* a
* Variant support and deserts
* a
* snow
* agony, even
* working again
* todo
* a
* laba tiles
* aeiou
* a
# Conflicts:
# Resources/Prototypes/Entities/Tiles/planet.yml
# Resources/Prototypes/Tiles/planet.yml
# Resources/Textures/Tiles/Planet/Lava/lava.rsi/meta.json
* laba
* Add lava
* Initial ignition
* triggers
* a
* a
* y
* Add basalt tiles
Did some unconventional things for the animation + rocks.
* fixies
* mergies
* promotion
* lava biome
* Lava planet start
* cleanup and more lava
* laba
* maccas
* biome stuf
* weh
* bongflicts
* aeaeae
* More fixes
* a
* these too
* add solar flare event (only affects headsets)
* add popup
* cleaner impl using RadioReceiveAttemptEvent
* unused import
* handheld radio and intercom work again
* Revert "handheld radio and intercom work again"
This reverts commit 0032e3c0725a19a465daf1ff1d6b4942a5c14fbb.
* add radio source to Radio events
* intercoms and handheld radios work now
* use Elapsed instead of new field
* add configuration
* better not touch Elapsed
* the
* make popup bigger
* xml comments for configuration
* very minor refactoring
* default config is now in yaml
* lights can break
* use RobustRandom
* use file namespace
* use RuleStarted
* store config in field
* a
---------
Co-authored-by: AJCM <AJCM@tutanota.com>
* add types to explosion logs
* make explosions logged by default
* add cause parameter to IThresholdBehavior
* add cause to ExplodeBehaviors
* add cause to power cell explosions
* remove useless log
* add triggerer to triggers
* add logs for damage from explosions
* sneaky power cell update
* Fix some bugs in stations and do a little cleanup.
* Begin backporting the guidebook.
* wow that's a lot of work.
* More work, gives the monkey some more interactions.
* disco monkye.
* monky
* jobs entry.
* more writing.
* disco
* im being harassed
* fix spacing.
* i hate writing.
* Update Resources/Prototypes/Entities/Mobs/NPCs/animals.yml
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* builds again
* a
* pilfer changes from AL
* fix and remove unused code
* pilfer actual guide changes from AL
* localization
* more error logs & safety checks
* replace controls button with command
* add test
* todos
* pidgin parsing
* remove old parser
* Move files and change tree sorting
* add localization and public methods.
* Add help component/verb
* rename ITag to IDocumentTag
* Fix yml and tweak tooltips
* autoclose tooltip
* Split container
* Fancier-tree
* Hover color
* txt to xml
* oops
* Curse you hidden merge conflicts
* Rename parsing manager
* Stricter arg parsing
tag args must now be of the form key="value"
* Change default args
* Moar tests
* nullable enable
* Even fancier tree
* extremely fancy trees
* better indent icons
* stricter xml and subheadings
* tweak embed margin
* Fix parsing bugs
* quick fixes.
* spain.
* ogh
* hn bmvdsyc
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* basic system with portals & linked ents
* hand tele sprites, no impl
* hand tele and teleportation works
* fancy it up
* oog
* special case projectiles
* predict portal-to-portal teleportation
* this stuff
* check nullspace
* sloth
* give to rd instead
* i guess this can probably happen
* docs
- Bump the collision avoidance range, seemed okay compared to last time I tried. Means they shouldn't get caught by thindows
- Removed the steer frequency because I'm pretty sure that lead to dancing in some instances.
* clean up a bunch of R&D code
* don't store components
* brug
* speedrun some sloth review
* technology disks
* expand functionality, begin work on printer
* disk printer ui
* file
* fix the rebase
* disk console is finito
* Update DiskConsoleSystem.cs
* Christmas trees now grant gifts.
* docs
* add holiday requirements, fix sound.
* doc
* remove redundant stuff
* rename GiftPackin to RandomGift.
* a word
* Update Content.Server/Holiday/Christmas/LimitedItemGiverSystem.cs
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
Co-authored-by: Leon Friedrich <60421075+ElectroJr@users.noreply.github.com>
* add osay command
* replace obsolete method
* inherit LocalizedCommands instead of IConsoleCommand
* streamline
* make OSay class public to match other commands
* re-scope namespace to file
* everything for mixing aside from yaml changes
* add recipe and canmix to bottles and the holy mixer tag to the bible
* fixes as a result of testing
* remove unused usings
* remove emptylines that are not required
Co-authored-by: 0x6273 <0x40@keemail.me>
* more empty line removal!
Co-authored-by: 0x6273 <0x40@keemail.me>
* add single space between if statement and condition
Co-authored-by: 0x6273 <0x40@keemail.me>
* fixes indentation on TryGetMixableSolution
* raise new AfterMixingEvent after attempting to mix a solution
* before mixing event and attempt get mixable solution event
* update reaction tests to be a beaker that can be mixed, and then pass a mixer component in to simulate mixing
* make two more beaker types mixable, add attribute for mixing feedback
* bible mix message
* mixing feedback on success
* updates test to use SpawnEntity over new as per feedback
Co-authored-by: 0x6273 <0x40@keemail.me>
* add ability to prevent ghosting to MindComponent.cs
* make minds preserve properties in certain transfer scenarios
* Revert "make minds preserve properties in certain transfer scenarios"
This reverts commit 333cae0db0faf4ef81767b93332271d944c90a0e.
* move PreventGhosting to the actual mind
* show modifications in access change logs
* skip logging and updates to name and job when no change was made
* add method to SharedAccessSystem.cs to get access tags
* add ID microwave logs
* split admin chat into new channel
* add ability to play audio when a chat message is received and add audio to admin chat
* give client control of AdminChat sound and volume + suppress sound for senders
* new version
* testy2
* working version
* new GroupExamineSystem
* restructure
* restructure again
* update icon
* adding group examine to prototypes
* change examine group title to a localized string
Co-authored-by: CommieFlowers <rasmus.cedergren@hotmail.com>
* InitialCommit (Broken)
* Fixes compile errors
* PR comments. More doc comments. Fixes
* Makes a singularity/event horizon without radiation/physics a valid state to be in
* VV 'fake' setters, fixes the visualizer, fixes the singularity trying to eat itself instead of nearby things.
* Removes unused dependency from Content.Client.GravityWellSystem
* Testing containment and fake VV setters for SingularityGeneratorComponent
* Fixes gravity wells (broken due to LookupFlags.None). Adds recursive Event Horizon consumption
* Fix merge skew
* Fixes for the master merge
* Fix engine commit
* Dirty is obsolete
* Switch over dirty
* Fix requested changes
* ambiant -> ambient
* Moves EventHorionComponent to Shared
* Proper container handling
* Fixes master merge. Fixes post insertion assertions for singularities. Extends proper container handling to gravity wells and the distortion shader.
* Better support for admemes throwing singularities.
* Moves update timing from accumulators to target times
* Update doc comments
* Don't stop me now, cuz I'm havin' such a good time (I'm havin' a ball!)
* YEET
* No changes to intended behaviour at this point. Pretty much just a refactor + bugfixes.
* tweaks to RandomizeState, removing an error caused by setting the state after setting the RSI
* Comments cleanup and removed IsSlippery. To re-add soon for this PR.
* test
* We don't actually use this PuddleGeneric anywhere
* cheeky
* Uncheeky, and tweaks based on #8203
* Recheeky
* A small price to pay for `checks passed`
* Beauty, like ice, our footing does betray; Who can tread sure on the smooth, slippery way
* Undo Slippery Checks
* Begin smoothing. Need to fix the animation-not-playing bug again
* Cleanup
* animation bugfix
* IgnoredComponents tests fix
* Spawns a new disk if one was deleted
* Adds tiledef to space checks, also adds a way to randomly check for a respawn point on station
* Removes unused method
* Cuts down on tile checks needed by checking surrounding tiles first
* Fixes up an issue where the coords wouldn't spawn
* Removes disk system, adds special respawning system and comp
* Fixes spelling error
* Fixes linter issue
* Maybe fixes the linter with a ref event?
* Empty commit to rerun tests
* Maybe fix?
* check for deleted grid
* Moves shutdown code to terminating code
* Customtypeseralizer
* changes name of datafield
* Removes owning station references
* Trying the queue event again
* Fix dead mobs sneezing and coughing
* SneezeCough update
* Streamlined Event code, moved dead-check
* cleanup
* I can has merge?
* Shared event for SharedMobStateSystem
* mechs
* interaction relay
* atmos handling
* fuck around with interaction events
SPAGHETTI CODE OH MY GOD
* more sprites and whatever the hell
* more mech shit
* more shit for equipment
* starting equipment (for nukie mechs and such)
* equipment cycling
* starting with some of the ui
* a fat chunk of ui prototyping
* done tinkering with ui
* a bunch of ui stuff and what have yous
* cleaning up grabber and state handling
* make the ui actually functional + watch me port a million icons
I swear i'll prune the sprites later blease
* start on construction
* construction yo mamma
* remove some unused files
* fix a silly
* make the graph sane
* make it actually constructible.
* print the boards as well, bozo
* rebalance part prices
* eject action
also i appease the russians by remembering to localize
* Punch Shit
* make mech integrity and repairs work
* Make the UI more based
STOMP STOMP STOMP STOMP
* make equipment even more based
* batteries and other such delights
* make the ui look pimpin af
* make the construction mega based
* UI but so epic
* equipment
* some sweat tweaks
* damage rebalancing
* restructure tech
* fix some shit
* mechs inherit access
* make icons actually use sprite specifiers
* TRAILING COMMAA!!!!!
* fix a mild indentation sin
* undo this change because it isn't needed
* actually fix this
* secret webeditting shhhh
* place this tech here
* comments
* foo
* Implement NetProbeCartridge
* Add audio and a popup when scanning a device
Add some doc comments
* Set program icon
* Add NetProbe cartridge as rare loot to maintenance loot tool spawner
* Make the maximum amount of saved entries configurable
Add a scrollbar that shows when there are more entries than fit on the screen
* Make device net id names translatable
* Add automatic emergency shuttle call
This adds a cvar shuttle.auto_call_time which is an integer N, that
calls the emergency shuttle automatically without intervention after N
minutes. This can be disabled by setting N to 0.
After a vote to extend, the shuttle will be called automatically every
shuttle.auto_call_extension_time minutes.
* Update Resources/Locale/en-US/round-end/round-end-system.ftl
Co-authored-by: theashtronaut <112137107+theashtronaut@users.noreply.github.com>
Co-authored-by: Moony <moony@hellomouse.net>
Co-authored-by: theashtronaut <112137107+theashtronaut@users.noreply.github.com>
* Add missing Dispose method to ForensicScannerBoundUserInterface.
* Remove old code from ForensicScanner.
* Prevent forensic scanner from being used on the floor and allow its window to stay open when active hand is swapped.
* Use more standardized UI code for ForensicScanner.
* Add a delay to ForensicScanner printing.
* Show name of what was scanned on ForensicScanner UI.
* Add a print sound for ForensicScanner.
* Add more error reporting for ForensicScanner.
* Centralize common logic in ForensicScannerSystem.
* Allow ForensicScanner blank printouts.
* Tweak ForensicScanner audio parameters.
Entities with MaterialStorageComponent should not accept materials if
they are supposed to be powered, and are not actually powered.
This fixes being able to insert ores into unpowered or unanchored ore
processors, among other issues.
* add lobby ready count to game ticker info
* Update Resources/Locale/en-US/game-ticking/game-ticker.ftl
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* simplify get info loc
Co-authored-by: Jacob Tong <10494922+ShadowCommander@users.noreply.github.com>
* Work on cartridges
* Work on PDA UI
* Work on PDA UIs program list
* Work on PDA UI borders
* Add DeviceNetworkingComponent to the pda base prototype
* Fix submodule version
* Fix cartridge loader ui key
* Fix pda menu xaml
* Implement relaying ui messages
* Finish implementing the notekeeper cartridge
* Fix submodule version
* Fix errors from merging master
* Fix test failing
* Implement setting preinstalled programs
* Add some documentation to CartridgeLoaderSystem
* Add more doc comments
* Add localization to program names
* Implement review suggestions
* Fix background programs receiving events twice when active
* Xenoarch feedback
print out reports, weight node traversal, dialog for destroy menu, slight effect tweaks
* make the popup not bad
* the popup, jimbo...
* multi-node xeno artifacts
* refactor existing artifact effects
* more tweaks to generation
* more shit plus fix tests
* more generation stuff plus threat levels
* doink
* now make it build
* defer the artifact activation to not cause errors
also pricing
* some changes
* all of the yaml + ui stuff for artifact analyzer
* machine linking and starting to make the ui functional
* artifact analyzer display
* a shit ton of artifact analyzer stuff
* more changes; making destroy work properly; progress bar tweaks
* getting shit going!
ALL RIGHT
* small tweaks that didn't help much
* Komm susser todd: the end of analysis
* recipes and hints and ui, oh my!
* add some in-game sources
gotta prepare for day 1 launch
* node data + ditch random seed in place of id
* bunch of triggers
* finish off the last few triggers
* implement machine examine verb
* knock, flicker, blink, throw
* shatter, foam, shuffle, heat
* fix all the shit i broke
* *some* of these have to be good, no?
25 effects
* callin' it there for effects
* comments + reword some trigger hints
* don't mind this little commit here
* byref event
* fix brokey node entry
* fix low pressure trigger
* mirror review plus fixing 0x40's bug
also the throw artifact threw incorrectly
* randomize the event message a teeny bit
* Refactor ReagentGrinder
- It can now process partial stacks. (Before it would do nothing if the entire stack's solution didn't fit in the output container)
- Get rid of `SharedReagentGrinderComponent`, move shared stuff to `SharedReagentGrinder.cs`.
- Subscribe to events instead of massive switch/case.
- Get rid of update queue thing.
- Change `DoWork` so it's less duplicate code for grinding/juicing.
- Get rid of `ExtractableScalingEvent` and just scale directly based on item stack count.
- Add message for when you try to put something into the reagent grinder that doesn't fit.
- Fix obsolescence warnings.
* Use a timer on component instead of SpawnTimer
* s/StorageCap/StorageMaxEntities
* Don't predict body init
Client doesn't handle predicted entity spawning so the organs hang around.
* Just use init
Co-authored-by: metalgearsloth <metalgearsloth@gmail.com>
* refactor: Removes FlashLightVisualizer (based on obsolete code) in favor or merging its functionality with HandheldLightComponent
fix: Low power lighting radius animations for lanterns, floodlights and flashlights now properly restore the original light radius when going back to full power
* refactor: Use the LightBehaviour component to animate HandheldLights
refactor: Remove unneeded HandheldLight definitions in some yaml files (already inherited by parents)
fix: Properly change the server side PointLightComponent Enabled property when turning HandheldLights on/off
feat: ReverseWhenFinished property on Fade light behaviours
* Empty commit to rerun CI with the new engine PR
* fix: Restore the correct HandheldLight addPrefix property, whoops
* refactor: blinkingBehaviourID -> blinkingBehaviourId, radiatingBehaviourID -> radiatingBehaviourId
* git mv
* Disable shader while box is open
* Hide entity menu / prevent examine
* fix recursion fix recursion fix recursion fix recursion
* Better visibility checks
* min and max visibility fields
* fix reference point
* adds an API to add station records from StationRecordsSystem
* removes a lingering comment
* adds a comment to AddRecord
* Update Content.Server/StationRecords/Systems/StationRecordsSystem.cs
Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
Co-authored-by: wrexbe <81056464+wrexbe@users.noreply.github.com>
* deregister sensors upon device list update and re-register after clearing devices
* fire alarms, too
* adds the last set of known devices to the device list update event
* update UI upon clearing everything out
* addresses reviews
* start work
* blindness actually works now
* doc
* doc you too.
* i desire to sneeze my lungs out
* no punchie
* s
Co-authored-by: moonheart08 <moonheart08@users.noreply.github.com>
* humanoid sexmorph sprite restoration
can't believe i broke sex/gender AGAIN
* fixes default species appearances with no profile, tweaks randomization to no longer randomize species
* A
* fixes an oops
#11494
* user feedback for when you miss throwing something in disposals
* Update missed message
Co-authored-by: theashtronaut <112137107+theashtronaut@users.noreply.github.com>
* Update Content.Server/Disposal/Unit/EntitySystems/DisposalUnitSystem.cs
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* missing nullable check
Co-authored-by: theashtronaut <112137107+theashtronaut@users.noreply.github.com>
Co-authored-by: Kara <lunarautomaton6@gmail.com>
* restores species/age on examine
* makes the default human skin tone a little less green
* ensures human skin tone verification is rounded to the nearest integer value, adds tests for ensuring all human skin tones are valid and that the default skin tone is valid
* 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
* firelocks when alarmed will now use tryclose instead of emergencypressurestop
* just adds a power check to OnAtmosAlarm, instead
* restores emergencypressurestop usage, adds a newline to an if
* lathe and material storage refactor
* materialStorage ECS
it kinda sus tho
* beginning the lathe shitcode dive
* couple lathe visuals and lathe system
* lathe changes and such
* dynamic lathe databases
* rewrote internal logic
on to ui
* da newI
* material display clientside
* misc ui changes
* component state handling and various other things
* moar
* Update Content.Shared/Lathe/LatheComponent.cs
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
* first volley of sloth review
* more fixes
* losin' my mind
* all da changes
* test fix and other review
Co-authored-by: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com>
The issue is that both bodies go to sleep on the server-side so it mispredicts like crazy on the client then when you unbuckle it snaps.
This is just a bandaid until buckling + vehicles get some more love in future.
* Fix doc comment on FitsInDispenserComponent
It's clearly intended to be a doc comment, but wasn't.
* Allow the ChemMaster to accept canisters and bottles
* Give the ChemMaster an output container slot
* Tweak ChemMaster UI layout
* Make more ChemMaster UI tweaks
* Update ChemMaster SpinBox max handling
* Rework the ChemMaster
* Apply suggestions from code review
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>
* Implement PR feedback
* Switch ChemMaster to a tabbed UI layout
* Rename Amount to Dosage for clarity
* Replace Amount with Dosage in messages
* Clarify dose in UI
Co-authored-by: Flipp Syder <76629141+vulppine@users.noreply.github.com>