Commit Graph

28 Commits

Author SHA1 Message Date
SkyratBot
6c9be73f51 [MIRROR] Adds TTS to the game. Players can select their own voices in preferences. [MDB IGNORE] (#21232)
* Adds TTS to the game. Players can select their own voices in preferences.

* [SEMI-MODULAR] [MIRROR FIX] Fixes the TTS PR. (#21267)

Fixes the TTS PR.

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Iamgoofball <iamgoofball@gmail.com>
2023-05-19 01:47:19 +01:00
GoldenAlpharex
702c3e2ce6 Total refactor of the way we handle and draw mutant_bodyparts (+ missed mirrors that motivated me to do this) (#19635)
* Splits mutant_bodyparts.dmi into several subfiles. (#71408)

Splits the `mutant_bodyparts.dmi` file up, as was suggested, but not
implemented, in #69302.

The following new files were created in the `icons\mob\species` folder,
containing the listed sprites:

- `lizard\lizard_misc.dmi`: Snouts, horns, frills, and body markings.
Anything I didn't feel needed an entire file to itself.
- `lizard\lizard_spines.dmi`: Lizard spines, both animated and not.
- `lizard\lizard_tails.dmi`: Lizard tails, both animated and not.
- `human\cat_features.dmi`: Felinid ears and tails.
- `monkey\monkey_tail.dmi`: The monkey tail.
- `mush_cap.dmi`: The lone mushperson cap, so easily forgotten.

Additionally, I moved `wings.dmi` from `mob\clothing` to `mob\species`.
I'm not sure what it was doing there.

`mutant_bodyparts.dmi` was something of a mess, with parts from four
different species thrown together haphazardly. It probably made sense in
earlier days when "mutant humans" were few and far between, but
splitting it up makes it more intuitive to find these sprites, and
brings it in line with other species - namely, moths. It also means that
any future sprites of these types added will not bloat an oversized file
even more.

Moving the wings file to the species folder just makes sense, because
wings are not a type of clothing.
🆑
refactor: Removed mutant_bodyparts.dmi and distributed its sprites in a
more sensible and granular manner.
/🆑

* External Organ Rework: new bodypart_overlay system (#72734)

Bodypart overlays are now drawn by the new /datum/bodypart_overlay
datum.

External organs no longer draw anything and instead add a special
/datum/bodypart_overlay/mutant to the bodypart, which draws everything

Makes it way easier to add custom overlays to limbs, since the whole
system is now modularized and external organs are just one
implementation of it

I haven't moved anything but external organs to this new system, I'll
move eyes, bodymarkings, hair, lipstick etc to this later

New pipeline is as follows:
- External organ added to limb
- External organ adds /datum/bodypart_overlay/mutant to limb to
bodypart_overlays
- Limb updates its icon, looks for all /datum/bodypart_overlay in
bodypart_overlays
- Very cool new overlay on your limb!

closes #71820

🆑
refactor: External organs have been near-completely refactored.
admin: Admin-spawned external organs will load with a random icon and
color
fix: fixes angel wings not working for non-humans (it was so fucking
broken)
fix: fixes external organs being invisible if they werent initialized
with a human
/🆑

External organs are cool but are pretty limited in some ways. Making
stuff like synthetic organs is kinda fucked. I tried and it was dogshit.
Now you can just give an icon state and icon and you're good (using
/datum/bodypart_accessory/simple)

Stuff like eyes, cat ears and hair seem like good choices for extorgans,
but don't quite work for it because their icons work a lot differently.
This solves for it completely since any organ (or object or whatever)
can add it's own icon to a bodypart.

Want to add an iron plate to someones head? Go ahead. Want a heart to
stick out of someones chest? No problem.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>

* Makes the whole thing compile, although it most likely doesn't work

* Whoopsie daisy

* Now it's starting to work

* ok monkey

* Fixes tails some more

* Moth wings should be wings not moth wings

* Podpeople hair, yeah.

* Okay no more handle_mutant_bodyparts()

* Removed an useless variable from is_hidden()

* Fixes some more can_draw_on_bodypart (I'm gonna have to fix it upstream too)

* Removes the second useless argument of is_hidden()

* No, cat tails are no longer allowed to be snowflake

* Removes some useless variables from humans

* Whoops I forgot to commit this one

* How did I miss this one?

* Okay, yeah, tails and some other stuff show up now. Pod people hair too. Just many of them don't. Good enough for today.

* Okay so after a lot of pain and suffering, many mutant_bodyparts are now functional

* Everything works, except for ears, some of the taur layering, and moth markings (which never worked it seems)

* Alright skintones seem to work rather well now(?)

* Okay, my bad, now they do

* Moth markings can't be selected and won't be added anymore (since they're broken and integrated into the regular markings system anyway)

* Spines are no longer just matching the color of the limb they're attached to

* Moves taur organ and bodypart_overlay out of the sprite_accessory file for taurs, and fixes the taur rendering

* Linters moment

* Alright, spines are working and overlaying properly now

They just need to have a FRONT overlay for the /tg/ ones if we want them to display above the lizard tails, we already have that for vox spines thankfully.

* Disables moth_markings for good

* Fixes some rendering bugs

* Makes ears work (almost, rest of the code has MODsuit stuff in it too :( )

* Made the MODsuit overlays work :)

* Fixed horns and spines

* Fixes all of the screenshot tests

* Removes the Body Markings option from Appearances, use Augments+ instead (because that one works and is just better)

* Bye bye handle_mutant_bodyparts(), I won't miss you :)

* Forgot to take this out, whoops

* Fixes the moth antennae being unticked

* Removes some commented code in a modular file

* Fixes part of the create_and_destroy unit test

* Fixes a pretty big issue that caused some sprite_accessories to be removed from the global list because of the alter_form action (deep copies ftw)

* Fixes the runtimes related to pod_hair

* Gives the vox a better look in the prefs menu

* Fixes the appearance of functional wings

* Makes synths able to access their robotic wings

* Podpeople don't cause runtimes during CI anymore

* Fixes the random appearance of locked functional wings

* Fixed cat and lizard tails using the /tg/ sprites (we have slightly modified ones)

* Fixes the coloring on multi-colored sprites

* Fixes the code for the screenshot of the mammal screenshots and preview, so it has a tail

* Fixes the screenshot tests for a few species

* Fixes tails going invisible when wagging

* Fixes a runtime with horns

* Fixes showing/hiding mutant bodyparts not working at all

* (Hopefully) fully fixes all the issues related to extra and extra2-related icon_states.

* Fixes synth stuff and starts working on pod hair again

* I DID IT PODPEOPLE HAVE HAIR AGAIN

* Fixes the podpeople hair showing up on more than just podpeople

* Fixes the IPC screens showing up on species outside of synthetics

* Fixes a runtime in the pod_hair and the synth_screen's apply_to_human

* Updates the screenshots for podpeople and synths

* Fixes an issue with a certain type of organs

* Fixes another runtime, whoops

* Fixes the markings from /tg/'s Body Markings not being available in our markings system

* Re-adds support for taur-variants of certain mutant bodyparts

* Hopefully fixes a few more runtimes

* Adds some debug variable in the code for now, likely to be removed later if really necessary. This will make my life easier.

* Whoops, that needed to be backwards. :clown:

* Fixes the top snouts not rendering at all

* Fixes the issues where bodytypes weren't handled properly, and thus snouts were getting squished

* Fixes the weird placement of the Xeno Head Emissives in the prefs menu

* Removes a no-longer-necessary override of post_set_preference() in the limbs_and_markings middleware

* Reverts an unnecessary SKYRAT EDIT inside of commented out code

* No longer creates a new body every time we change prefs in the prefs menu, we reusing now lads

I know there's commented out code but I'm going to remove that in another commit

* Removed some more dead code.

* Fixes jellyfish ears being all white

* Fixes plasmaman limbs not displaying because I accidentally hardcoded the limb_id for all augments to "robotic"

---------

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2023-03-16 13:07:24 +00:00
Dani Glore
eb229b7df1 Fix: Quirk Points & Augments+ (#19063)
* Fix filter_invalid_quirks to check augments, and fixed augments to check quirks

* Cleaning up log calls and docs

* Remove stray comment

* Adding missed Skyrat edit comment
2023-02-14 02:18:49 +00:00
Tastyfish
0611a0e895 [SEMI-MODULAR] Fixes some previews (#18618)
* Fixes some previews

* Screenshots
2023-01-22 16:00:41 +00:00
Zonespace
f7c26bbf25 515 Compat (#17465)
* ONLY SKYRAT CHANGES

* ACTUALLY SKYRAT CHANGES

* yolo, revert later

* Update alternate_byond_versions.txt

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
2022-11-15 06:59:06 +00:00
SkyratBot
fd699e46ce [MIRROR] Refactors sound toggle prefs away from legacy toggles, introduces a new sound pref for jukeboxes [MDB IGNORE] (#17413)
* Refactors sound toggle prefs away from legacy toggles, introduces a new sound pref for jukeboxes

* Update living_defense.dm

* fix

* Update deprivation_helmet.dm

Co-authored-by: Thunder12345 <Thunder12345@users.noreply.github.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
2022-11-10 14:27:14 -08:00
RimiNosha
6e9caab6df [MODULARIZING] Removes Foreigner and Adds Quirk Sanitization (#16836)
* Go away, I'm done with your code.

* Haha copypaste go brrrr

* Remove this dead code

* This annoys me too much after looking over my diff

* Tired of waiting, let's get this bread.

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-10-26 18:11:43 -04:00
SkyratBot
e142e098b4 [MIRROR] Removes overlay queuing, saves 6/7 seconds of initialize. Lightly modifies stat tracking macros [MDB IGNORE] (#16449)
* Removes overlay queuing, saves 6/7 seconds of initialize. Lightly modifies stat tracking macros

* merge conflict

* other changes

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
2022-09-27 17:52:53 -04:00
RimiNosha
79b4a74a6e [MODULAR] Fixes That Stupid Language Reset Bug That's Been Here Since Newprefs (#15802)
* I hate coders
This includes myself.

* Web edit~

* I give up, this is the best I got

* Make species take their alternate language instead of uncommon! Make language selection reflect foreigner, if selected!

* Remove code that assumed old foreigner add proc was called

* whyaremidroundspawnshandleddifferentlythanroundstartswhatthefuck

* Apply suggestion!

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Address last review at long last

* Apply suggestions!

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-09-25 22:00:09 -04:00
SkyratBot
173da94792 [MIRROR] Sentience preference selection and antag datum [MDB IGNORE] (#16124)
* Sentience preference selection and antag datum

* Update antags.dm

* Update xenobiology.dm

* update modular

* Fixes a warning in the unit tests (whoops)

Co-authored-by: Profakos <profakos@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-09-25 19:59:55 -04:00
GoldenAlpharex
fdb3651095 Screenshot tests (#67679) (#14269)
Adds screenshot visual testing workflow and scripts.

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-06-17 00:33:25 +01:00
SkyratBot
1bc09326d0 [MIRROR] Splits eye color into two vars | Heterochromia Quirk [MDB IGNORE] (#13390)
* Splits eye color into two vars | Heterochromia Quirk

* yesyes

* eeee

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2022-05-09 01:00:12 +01:00
Zonespace
b995fbe31b Contractor Expansion 2 (#12311)
* weh!

* fuck you linter

* very important

* Update modular_skyrat/modules/contractor/code/datums/midround/event.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/contractor/code/datums/midround/outfit.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* requested changes

* also this

* requested + cleanup

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2022-04-03 22:25:42 -04:00
SkyratBot
eb65da1b45 [MIRROR] Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds [MDB IGNORE] (#10379)
* Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds (#63503)

Preference asset creation, which while consistently created in early assets, can be requested at any time before then and often is, currently takes about 15 to 25 seconds to produce. Because of extremely hard to reproduce BYOND icon bugs, most of this is done on the same tick.

Lowering the cost of initialization itself is very tricky. Some of it we can theoretically optimize, such as creating humans for antagonists, others we can't, such as the raw cost of icon blending.

Furthermore, adding new icons later down the line would just increase this initialization time even more.

Instead of optimizing the asset creation, which is an uphill battle, this instead chooses to amortize the cost by caching preference assets created per git revision. This means that preference assets will be created, with their long delay, only once whenever the code changes.

This is done on a config, defaulting to on so that production needs no changes, as the whole point of these being made at runtime at all is that it keeps assets/art styles consistent, and PRs making subtle bugs that break preference generation in some way is not uncommon. On development, your git revision will stay the same until you commit, no matter what code changes you make.

* Amortize the cost of creating preference assets by caching them per git revision on production, reducing best case init times by ~20 seconds

* Fixing another conflict :)

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2022-01-03 21:42:11 +00:00
SkyratBot
69b4651d81 [MIRROR] fugitives now poll for a fugitive role, instead of being based on traitors [MDB IGNORE] (#10051)
* fugitives now poll for a fugitive role, instead of being based on traitors (#63339)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>

* fugitives now poll for a fugitive role, instead of being based on traitors

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
2021-12-13 10:40:07 +00:00
Seris02
81955f8e65 fixes an exploit (#10029) 2021-12-12 06:20:05 +00:00
SkyratBot
4ace652b7b [MIRROR] Remove job .tsx files from preferences menu, use compiled data instead [MDB IGNORE] (#9894)
* Remove job .tsx files from preferences menu, use compiled data instead

* Fixes all this shit

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
2021-12-08 23:24:04 -05:00
GoldenAlpharex
7c175b2da5 Fixing the Veteran-only quirks (#9129)
* Adding a newline so it doesn't mess up with Manage Player Ranks for downstreams

* Makes Veteran-only Quirks work, makes them display something in the Quirks menu too.

* Fixing linters

* There it goes, still kinda crazy that it still worked, I was lucky.
2021-10-29 21:07:53 +01:00
SkyratBot
bf30153a12 [MIRROR] Few minor runtime fixes [MDB IGNORE] (#9116)
* Few minor runtime fixes

* Fixing merge conflicts

Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-10-29 11:35:52 -04:00
Gandalf
90d350b867 Update quirks.dm 2021-10-20 16:49:21 +01:00
Gandalf
73a95a4161 Update quirks.dm 2021-10-20 00:10:10 +01:00
Gandalf
d962be98a9 Makes oversized VC only (#8920)
* Yes.

* oops

* Update _quirk.dm

* Update quirks.dm

* Update code/modules/client/preferences/middleware/quirks.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update veteran_players.dm

* Avoiding possible runtimes

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2021-10-18 21:42:28 -04:00
SkyratBot
fa519bdde3 [MIRROR] cleanup _HELPERS/_lists.dm and all the necessary files [MDB IGNORE] (#8783)
* cleanup _HELPERS/_lists.dm and all the necessary files

* Epbic

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-10-13 21:07:35 +01:00
Lyroy
99893bd8a8 [SEMI-MODULAR] Brings back custom Ash Walkers and Primal Podpeople, also fixes job banned species checks (#8665)
* initial commit

* whoops hahah you don't need that comment

* species check on the prefs menu

* species check actually works now, podpeople quirks

* goof was right
2021-10-13 20:32:37 +01:00
SkyratBot
a210a8b479 [MIRROR] Add reset keybindings button, fix scaling on tabbed list buttons [MDB IGNORE] (#8740)
* Add reset keybindings button (#61942)

* Add reset keybindings button, fix scaling on tabbed list buttons

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2021-10-10 15:38:25 +01:00
Iamgoofball
68e84c432e Skyrat Prefs Menu: Fixing everything to work correctly (#8350)
* Skyrat Prefs Menu: Fixing everything to work correctly

* whoops haha

* Examine menu!

* haha whoops

* Mutant Parts in tgui prefs

* fug

* LIMBS, MARKINGS, LANGUAGES

* EEEE FUCK

* Update tgui_prefs_migration.dm

* Update tgui_prefs_migration.dm

* FUCK

* Proper migration

* Update preferences.dm

* Final fixes for this shit

* Update LoadoutManager.js

* adds cursed shit

* e

* Update preferences.dm

* fixes examine panel

* adds // SKYRAT EDIT to bullshit

* sabshesgawgzxghsv

* wargesthgeargfea

* stegresgdytfrw

* EEE

* Update species_features.tsx

* EEE

* Update cursed_shit.tsx

* fixed taurs

* body size is now a 0.01 step

* Fixes some bugs

* Some required changes.

* Update examine.dm

* actually nekked

* Update code/modules/client/preferences/middleware/jobs.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/client/preferences/middleware/limbs_and_markings.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/client/preferences/middleware/limbs_and_markings.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update code/modules/client/preferences/middleware/limbs_and_markings.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/master_files/code/modules/client/preferences/erp_preferences.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update modular_skyrat/modules/loadouts/loadout_ui/loadout_manager.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update tgui/packages/tgui/interfaces/PreferencesMenu/preferences/features/character_preferences/skyrat/species_features.tsx

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* More fixes

* Donator items no show

* EEE

* fixes rapier sheaths

* gender =/= body type

* Loadout fixes

* Skintone

* Update skin_tone.dm

* Slick it up

* Update loadout_manager.dm

* Fixes typing indicator

* SSD indicator fixes

* fixes

* oops

* Fix this.

* Fixing the Occupations Menu

* Fixing NT Rep's alt-titles

* Update tgui/packages/tgui/interfaces/PreferencesMenu/jobs/jobs/janitor.ts

Co-authored-by: death and coding <58394696+thestubborn@users.noreply.github.com>

* Update code/controllers/subsystem/language.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* Update tgui/packages/tgui/interfaces/PreferencesMenu/jobs/jobs/research_director.ts

Co-authored-by: death and coding <58394696+thestubborn@users.noreply.github.com>

Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: death and coding <58394696+thestubborn@users.noreply.github.com>
2021-09-29 15:24:30 +01:00
SkyratBot
98bf39bf52 Fix quirks list in preferences menu being empty before SSquirks (#8327)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-23 02:39:47 +01:00
SkyratBot
124ddd7cca [MIRROR] tgui Preferences Menu + total rewrite of the preferences backend (#8153)
* tgui Preferences Menu + total rewrite of the preferences backend

* nah, we dont need to ping those people

* trying to remove the funny stuff

* unmodularizing this

* prefs reset

* this may need to be reverted, who knows

* okay, this part

* perhaps

* EEEEEEEEE

* unsanitary

* E

* Stage 1 + loadout system

* more fixes

* E

* I mean, it launches?

* More fixes and reorganisation

* E

* customisation code is spaget.

* disable ERP prefs

* Update erp_preferences.dm

* Update erp_preferences.dm

* E

* Slowly getting there

* It may be time for help :)

* tri...colors... help

* preferences now pass preferences

* Update dna.dm

* Fuck this man

* missing savefile return, set_species works, removed dumb stuff from updateappearance

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8199

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8224

* https://github.com/tgstation/tgstation/pull/61519

* https://github.com/Skyrat-SS13/Skyrat-tg/pull/8278

* e

* le butonAZARAK HELLO

* hhh

* Proper recognition where it's due, MrMelbert!

* EEEE

* examine block

* Better gen hit sounds from whitedream

* final loadout touches, more bug fixes im sure to come

* i said there would be bugfixes

* Update LoadoutManager.js

* Missing preferences in the html menu

* LIVE TESTING PHASE BABY

* Update LoadoutManager.js

* EEE

* LAUNCH TEST FIRE

* Update job.dm

* Update new_player.dm

* 50gb DAY ONE PATCH

* EEE

* Update preferences.dm

* buggle fixes

* Update examine.dm

* >LOOC starts on

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: jjpark-kb <55967837+jjpark-kb@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2021-09-23 00:40:37 +01:00