Commit Graph

1079 Commits

Author SHA1 Message Date
SkyratBot
df3c9f87cb [MIRROR] Restyles Stat Panel, Adds Subpanel Sub-Categories (#1044)
* Restyles Stat Panel, Adds Subpanel Sub-Categories (#53947)

I re-styled the CSS for the stat panel in hopes to make it look nice, and I also added the ability to use sub-categories (currently a single level) of verbs using a . (period), an example being Admin.Fun instead of the previous Admin - Fun. This now results in a sub-category being automagically generated in the stat panel.

* Restyles Stat Panel, Adds Subpanel Sub-Categories

Co-authored-by: Bobbahbrown <bobbahbrown@gmail.com>
2020-09-29 12:31:56 +02:00
SkyratBot
d394f912a0 [MIRROR] Fixes cases of held keys getting stuck (#1034)
* Fixes cases of held keys getting stuck (#53988)

* Fixes cases of held keys getting stuck

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-09-29 12:23:22 +02:00
Azarak
b5f9500d5b Fixes CC updates, bumps save slots (#1020) 2020-09-29 00:33:43 +01:00
SkyratBot
b96cd9da8c [MIRROR] Remove tab before names in Who for deadmins (#1008)
* Remove tab before names in Who for deadmins (#53930)

Previously, names were prefixed with tabs for deadmins. This makes the output look significantly worse.

* Remove tab before names in Who for deadmins

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-27 11:32:06 +02:00
SkyratBot
621a822227 [MIRROR] Separates mothpeople antennae into a mutant bodypart (#976)
* Separates mothpeople antennae into a mutant bodypart

* we

* Update moth_wings.dmi

Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-25 14:38:52 +02:00
SkyratBot
ec28f27bf8 [MIRROR] Fix broken dmdoc crosslinks (#933)
* Fix broken dmdoc crosslinks

* Update species.dm

Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-23 15:14:45 +02:00
SkyratBot
1a50895b22 [MIRROR] Change the "Who" verb to display a table rather than a list (#938)
* Change the "Who" verb to display a table rather than a list (#53839)

Doesn't apply for active admins since those have longer lines that wouldn't fit well.

* Change the "Who" verb to display a table rather than a list

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-23 14:56:00 +02:00
SkyratBot
d21d28c3af [MIRROR] Block movement now locks turning, migrate old save files to Ctrl (#932)
* Block movement now locks turning, migrate old save files to Ctrl (#53871)

The block movement key now correctly locks turning like it used to.

Old save files are now migrated to Ctrl if they didn't bind it to anything before. This correctly replicates the old behavior.

* Block movement now locks turning, migrate old save files to Ctrl

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-09-23 14:45:44 +02:00
SkyratBot
c15be851f9 [MIRROR] Refactors the keys_held rolling buffer (#903)
* Refactors the keys_held rolling buffer (#53773)

* rolling key rip

* category

* comment

* oops

* Refactors the keys_held rolling buffer

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-09-21 02:23:38 +01:00
SkyratBot
c492889d80 [MIRROR] Makes locking movement a hotkey (#882)
* Makes locking movement a hotkey (#53771)

* kinda done

* Update code/datums/keybinding/mob.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/datums/keybinding/mob.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/datums/keybinding/mob.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Update code/datums/keybinding/mob.dm

Co-authored-by: Rohesie <rohesie@ gmail.com>

Co-authored-by: Rohesie <rohesie@ gmail.com>

* Makes locking movement a hotkey

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Rohesie <rohesie@ gmail.com>
2020-09-20 00:36:26 +01:00
Azarak
fb6720c7f9 [SEMI-MODULAR] Customization (#675)
* 1

* a

* aaa

* aa

* aint got no pancake mix

* hhh

* aa

* hhh

* taurssss

* aaa

* organ partss

* genitals wip

* aaaaa

* h

* a

* mutation dna

* fixed limbs rendering

* mammols

* and thats wings and snouts

* a

* markings except they dont render yet oooooh

* woo lots of markingas

* Body marking sets!

* loadout part 1

* marking re-write. part 1 of loadout

* Loadouts, fully functional, but no customization

* Loadouts readyy

* Default features + savefiles

* Examines

* Fixes genital visibility

* Fixes husking colors

* Fixes very custom loadouts

* Fixed organ colors and bepis icon states

* Fixes genitals save/load

* Species part 1

* Just markings

* Voxes!

* Vox fixes, more validation, better randomisation

* markings refactor, languages

* Some fixes

* Missing accessories, some fixes

* Fixes, underwear toggles, examine for kinky bits

* updates code to master

* travis travis travis

* does this help???

* traaaavis

* Update species.dm

* Inches

* missing whitelines

* small fix

* more small fixes

* Preview preference bug fix

* commentomodularization

* Update tails.dm

* hoo boy

* Update preferences_savefile.dm

* Update species.dm

* Lizard fix!

* Update sprite_accessories.dm

* Update code/modules/mob/living/carbon/human/emote.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/human_update_icons.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/emote.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

* Update code/modules/mob/living/carbon/human/species.dm

Co-authored-by: Gandalf <jzo123@hotmail.com>

Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-09-16 03:40:00 +02:00
SkyratBot
12b3ba3200 [MIRROR] Add additional info to a runtime situation to be able to handle it better in the future. (#814)
* Add additional info to a runtime situation to be able to handle it better in the future. (#53727)

Added two CRASHes for two areas where this could go wrong to better understand what and why this is happening.

* Add additional info to a runtime situation to be able to handle it better in the future.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-16 01:28:43 +01:00
SkyratBot
496811ef6c [MIRROR] Optimize stat panel and fix guardian verbs (#804)
* Optimize stat panel and fix guardian verbs (#53463)

Optimizes stat panel code for better performance, including icon caching and removing some unnecessary processing
Also fixes #53432
fix #53381
fix #53724
Changelog

add: icons are back on alt clicks
fix: horrible performance from alt clicking turfs with multiple objects
tweak:browser should notify the SS when it's ready to receive data

* Update statbrowser.html

* Apply suggestions from code review

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

* hidden = TRUE

* almost ready

* Browser should notify when ready to receive data

* Apply MSO's suggestions

* reset cache if something in it gets deleted

* Fix runtime

* fix my stupid code

* send href_token when adding admin tabs

* fix an issue with cyborg suit topic

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

* Optimize stat panel and fix guardian verbs

Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@ users.noreply.github.com>
2020-09-15 09:17:31 +02:00
SkyratBot
1aaae3956b [MIRROR] Minor client del cleanup (#797)
* cleanup (#53677)

* Minor client del cleanup

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-09-14 11:21:22 +02:00
SkyratBot
1486c8d120 [MIRROR] Change "Hear Admin Triggered Sounds (Midis)" to "Hear Admin Triggered Music/Sounds" (#678)
* Change "Hear Admin Triggered Sounds (Midis)" to "Hear Admin Triggered Music/Sounds" (#53457)

* Change "Hear Admin Triggered Sounds (Midis)" to "Hear Admin Triggered Music/Sounds"

Co-authored-by: uomo <51800976+uomo91@users.noreply.github.com>
2020-09-07 04:13:42 +02:00
SkyratBot
7c8de9b945 [MIRROR] Avoid resizing chat to nothing in the Fit Viewport verb (#646)
* Avoid resizing chat to nothing in the Fit Viewport verb (#53393)

* Avoid resizing chat to nothing in the Fit Viewport verb

Co-authored-by: Tad Hardesty <tad@platymuus.com>
2020-09-06 05:13:04 +02:00
SkyratBot
df7b65aca2 [MIRROR] Fix Alt Clicking opening up a window and Add back some object verbs to the browser stat panel (#630)
* Fix Alt Clicking opening up a window and add back some object verbs to the browser stat panel (#53369)

Fixes some more issues with browser stat panel

- Alt clicking items in the listed turf tab doesn't open up a popup
- Toggle suit sensors button missing

* Fix Alt Clicking opening up a window and Add back some object verbs to the browser stat panel

Co-authored-by: Couls <coul422@gmail.com>
2020-09-04 00:11:50 +01:00
SkyratBot
2695a4f54f [MIRROR] fucks with upload limit (#628)
* Tweak file upload limits (#53371)

halfed it for players, more than doubled it for admins. (mainly for map 
templates, admins playing 2mb sound files using this will be punted 
into the cafeteria)

Could use with being more refined, per-extention, maybe have sound have 
a seperate check since thats a function of size*players, and the rest 
of this is not.

* fucks with upload limit

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-09-04 00:11:19 +01:00
SkyratBot
ec09510459 Bools and returns super-pr (#53221) (#565)
Replaces like 70-80% of 0 and such, as a side effect cleaned up a bunch of returns
Edit: Most left out ones are in mecha which should be done in mecha refactor already
Oh my look how clean it is

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Couls <coul422@gmail.com>

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
2020-08-30 05:12:59 +02:00
SkyratBot
0a2d016002 [MIRROR] Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#550)
* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut (#52515)

Automatic glide size adjustment based on move delay.
Essentially a port of https://github.com/yogstation13/Yogstation/pull/8132 but that was mostly my code with some fixes.

Why again? well it turns out the recent byond fixes to glide size actually worked and solved the issues that were unsolvable.
https://file.house/0B3u.mp4
Glide size no longer incorrectly scales at fps, so it works as intended at any framerate with the only stuttering being normal byond suck stuttering.

* Smooth Movement: Resurrection: Resurgence: Revengeance 4: The Return of Smooth Movement: Smooth Edition Director's Cut

Co-authored-by: Rob Bailey <actioninja@gmail.com>
2020-08-29 20:27:18 +01:00
SkyratBot
1c1ce7b055 [MIRROR] Browser Status Panel (#548)
* Browser Status Panel (#53112)

* Browser Status Panel

Co-authored-by: Couls <coul422@gmail.com>
2020-08-29 20:26:27 +01:00
SkyratBot
2c68537762 [MIRROR] tgui: Improve logging, Fix external links (#537)
* tgui: Improve logging, Fix external links (#53226)

* tgui: Improve logging, Fix external links

* Print suspending on the same line

* Streamline fix chat verb

* Muh https

* tgui: Improve logging, Fix external links

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-27 03:10:03 +02:00
SkyratBot
12cd35c594 Crit status refactor (#53117) (#500)
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-25 00:11:20 +02:00
SkyratBot
d9b246cca9 [MIRROR] tgchat (#342)
* tgchat (#52426)

Replaces goonchat with a tgui based chat panel

    Fixes #52898
    Fixes #52663

It is as fast as goonchat was (if not faster in certain circumstances), and is very extensible. It has all the necessary code for sorting messages into categories, which means that one of the next features will be multiple tab support.

Additional features that you will get with tgchat right now:
    Massively faster server-side performance compared to goonchat, especially if batching multiple messages to one client.
    Message persistence across rounds and reconnects. (All messages are stored client-side in IndexedDB)
    More robust scroll tracking. If you scroll up, it will not change the scroll position on new messages like goonchat did.
    Multiple message combining. (Currently set to combine up to 5 messages over last 5 seconds).
    If using the highlighting feature, it highlights the whole message as well as the matching word.
    "Now playing" widget, with preview of the song title, a knob for adjusting the volume and a stop button.

Architecture is as following:
```
to_chat() -+
           |
        SSchat
   (queue, batching)
           |
  window.send_message()
           |
           v
+-------------+
| tgui-panel  |
|+-----------+|
|| tgchat    ||
|+-----------+|
+-------------+
```

Subsystem is basically goonchat, but without all the garbage that slows the servers down (string concatenation, double urlencoding, sanitizing, etc). Now, instead of all that, it's being slowed down by json_encode in /datum/tgui_window/proc/send_message, which IMO is completely worth it, and allows sending various templates and widgets to tgchat.

/datum/tgui_window abstracts the whole window away from you, establishes a nice message-passing interface between DM and JS, with two message queues on each side, automatically loads js/css assets for you, basically does everything. You as a developer only have to worry about sending/receiving messages and write javascript.

tgui-panel is a slimmed down version of tgui, and functions as a container for various widgets, and tgchat is one of them. It of course can be expanded with more stuff.

It's also a separate entry point and a JS bundle, so it's not bloating the main tgui bundle, and is currently sitting at about 230kB.

* tgchat

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-14 23:30:16 +02:00
SkyratBot
f6a8a3fc56 Fix cdn rsc (#317)
Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
2020-08-12 11:59:50 +01:00
SkyratBot
e8bfe6eb68 [MIRROR] [Ready] CDN browser assets! (#312)
* [Ready] CDN browser assets! (#52681)

Rewrites the asset_cache system to handle sending assets to a CDN via a webroot.

see https://github.com/MrStonedOne/tgstation/blob/asset-cdn/code/modules/asset_cache/readme.md

Fixed a lot of bugs with assets, removed some dead code.

Changes:
    Moved asset cache code to transport datums, the currently loaded one is located at SSassets.transport, asset cache calls made before the config is loaded use the simple browse_rsc transport.
    Added subsystem call for when the config loads or reloads.
    Added a webroot CDN asset transport. assets are saved to a file in a format based on the file's hash (currently md5).
    Assets that don't use get_asset_url or get_url_mappings (such as browser assets referred to by static html files like changelog.html or static css files) can be saved to browse_rsc even when in cdn asset mode by setting legacy to TRUE on the datum returned by register_assets
    Added a system for saving assets on a cdn in a hash based namespace (folder), assets within the same namespace will always be able to refer to each other by relative names. (used to allow cdn'ing font awesome without having to make something that regenerates it's css files.).
    The simple/namespaced asset cache datum helper will handle generating a namespace composed of the combined md5 of everything in the same datum, as well as registering them properly.
    Moved external resource from a snowflake loaded file to a config entry, added it to resources.txt
    To ensure the system breaks in local testing in any situation that wouldn't work in cdn mode, the simple transport will mutate the filenames of non-legacy and non-namespaced assets and return this with get_asset_url.
    Simple transport's passive send of all roundstart assets to all clients is now a config that defaults to off. this is to break race conditions during local testings from devs accidentally relying on this instead of using send() properly.

cl
refactor: Interface assets (js/css/images) can now be managed using an external webserver instead of byond's one at a time file transfer queue.
admin: Adds admin verb toggle-cdn that allows admins to disable the external webserver asset transport and revert to the old system. Useful if the webserver backing this goes down (thanks cloudflare).
config: New config file, resources.txt, (must be loaded by an $include statement from the main config)
server: The external_rsc_urls.txt config has been moved to the main config system.
/cl
Porting notes:

Interface webpages must refer to their assets (css/js/image/etc) by a generated url, or the asset must register itself as a legacy asset. The system is designed to break in localtest (on simple/legacy mode) in most situations that would break in cdn mode.

Requires latest tgui.

The webserver must set the proper CORS headers for font files or font awesome (and other fonts) won't load.

/tg/'s webserver config: https://gist.github.com/MrStonedOne/523388b2f161af832292d98a8aad0eae

* [Ready] CDN browser assets!

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-08-12 11:32:37 +01:00
SkyratBot
6438128953 [MIRROR] Adds a recommended fps option. (#309)
* Adds a recommended fps option. (#52850)

Adds a recommended fps option. Setting fps to -1 now sets client.fps to RECOMMENDED_FPS.
Sets recommended fps as the default option for new players.
Current value for recommended fps is 40.

* Adds a recommended fps option.

Co-authored-by: nemvar <47324920+nemvar@users.noreply.github.com>
2020-08-12 11:31:48 +01:00
SkyratBot
9eadc70c44 [MIRROR] Fixes lizard tails and spines. (#272)
* Species code can go fellate itself (#52774)

Fixes #51787
Fixes #44981

Species code is the fucking worst.

Lizard tails and spikes are broken outside of admin intervention and neither work nor apply when spawning into the game from the main menu.

Functionality was broken in #49062
Functionality was further broken in #49771

This code makes my soul hurt. I don't have the time or patience to refactor it. This should work around all the functionality broken in the above two PRs until such a time as someone fixes this mess.

If anyone does that, may God have mercy on their soul, for this code has none.

* Fixes lizard tails and spines.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-10 23:21:57 +01:00
SkyratBot
8ca4a452f8 [MIRROR] Refactors area stuff (#265)
* Refactors area stuff (#52751)

-bitfielded a bunch of bools on /area, I left some untouched cus they get called a lot
-Unused vars
-Fixed a var pretending to be a fake bool
-Probably more

* Refactors area stuff

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-08-10 23:20:00 +01:00
SkyratBot
cb3c031e54 [MIRROR] Refactors Temporal Scarring, changes how it works, removes longtimer quirk (#264)
* Refactors Temporal Scarring, changes how it works, removes longtimer quirk (#52688)

* changes temporal scarring

* hhh why is there no ckey

* note

* oops

* fixed

* Refactors Temporal Scarring, changes how it works, removes longtimer quirk

Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
2020-08-10 23:16:22 +01:00
SkyratBot
ee324ab3c2 [MIRROR] Cleanup up all instances of using var/ definitions in proc parameters. (#240)
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)

* var/list cleanup

* The rest of the owl

* plushvar bad

* Can't follow my own advice.

* Cleanup up all instances of using var/ definitions in proc parameters.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-07 18:26:21 +01:00
SkyratBot
f858df6523 [MIRROR] [Ready] Robust savefile versioning (#201)
* Robust savefile versioning (#52549)

tl;dr: savefiles now update all character slots when the version is bumped, and saves the updated savefile to disk. It also backups the pre-update version.  Later on we can look at just using this backed up version if the server's savefile version goes down, indicating a revert.

* [Ready] Robust savefile versioning

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
2020-08-05 10:12:51 +02:00
Ryll Ryll
a97c51b30b [READY] Wounds part 2: Piercing wounds, dismemberment changes, housekeeping (#51786)
* pierce the heavens

* starts doing projs

* continue pierce

* before armor

* before sharpness redefine

* rename sharp defines, before further implementation

* finishing undoing atk_type back to sharpness

* neatens up sharpness defines, FALSE -> SHARP_NONE

* more piercing, removes brute damage bleed, bubblegum no longer wound

* starts letting embeds get in on the fun

* half with embed

* work on dismembering

* continued embed work

* more moving bandaging to limbs

* more dismemberment work

* removing embed pierce stuff

* tweaking bullets

* more docs and work on dismemberment

* spans, piercing, guns

* dismemberment and scar fixes

* bee changes

* bullets embedding

* more bullet and dismember work

* dismemberment, surgery, piercing, formaldehyde,

* pleases travis

* pierce smite

* nicer on blood

* Auto stash before rebase of "tgstation/master"

* more neatening

* wounds only consider up to 35 damage, wounds on l6 and 762

* updates hulk

* balance

* defines

* lower slug to 50 brute to accommodate wounds

* adds differentiation for having flesh/bones/both in mobs

* moves scar descs to json, renames organic_state

* excises removed healing skill

* fixes logs, inconsistencies, some balance changes

* untab

* slight compress

* a

* kills pointed global list

* dmdoc

* halfway through roh

* finishes roh review

* okay NOW i finished roh's reviews

* roh roh roh your boat

* gently down the stream

* global lists

* list ops, fix scanner for bone gel improvised fix

* travis moment

* sounds added and moved

* pellet clouds can join the fun fully, slight gun balancing for wounds

* doc moment

* unconflicts myself

* update hulk

* Update code/_onclick/item_attack.dm

Co-authored-by: Rohesie <rohesie@gmail.com>

* crying ascii face

* final rohview

* oops

* final final

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-07-23 22:20:09 -04:00
skoglol
d9b88f5f66 Fixes keybind fuckup (#52406)
* Fixes keybind fuckup

* Right fix
2020-07-21 22:05:56 +02:00
skoglol
c2c6227fc8 Bumps minimum savefile version, fixes some forgotten hotkeys (#52312)
* Bumps minimum savefile version, fixes some forgotten hotkeys

* Removes job flags
2020-07-21 19:45:24 +02:00
L
9ee2907a68 runechat emotes 2020-07-19 22:11:44 -03:00
Aleksej Komarov
0cf00a2645 tgui 4.0 (#52085)
* tgui 4.0 hyper squash

* Upgrade dependencies
2020-07-16 20:13:04 +02:00
jdawg1290
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
ShizCalev
254536072e [s] sanity checks vv_edit_var() values (#52255)
cl ShizCalev
fix: Added some sanity checking for varedit values.
/cl
* sanity checks vv_edit_var() values

* this should be an or

* one more fix
2020-07-16 10:20:41 +12:00
tralezab
7af27992b5 [READY] Mafia Documentation and Improvements (#52065)
* controller doc'd

* k traitors work, can't target themselves and sounds for gamestart is louder

* ARGUMENTS!

* missed one tee hee

* better sound playing, ghosts can hear the game sometimes

* removal of "= null"

Co-authored-by: ラッピ from PSO2 <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* clearer explanation

Co-authored-by: ラッピ from PSO2 <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-07-08 16:44:42 -04:00
ShizCalev
2d475a877a Removes duplicate backpack preference setting (#51783) 2020-06-24 09:38:18 +02:00
nemvar
b87f65d95e Converts ALL typepaths to lowercase (#51642)
* Case of lower

* More changes

* Ruins the nice 420 diff, brainfart when doing the second batch of conversions

* More changes

* Next batch. I think

* Converts even more paths

* Restarts bots

* Capital Free Zone

* Come on travis, do something

* Renames areas

* Bots, please stop dying

* Updates CONTRIBUTING.md and updates a few paths I missed.

* APC recgarftzfvas
/obj/item/computer_hardware/recharger/apc to /obj/item/computer_hardware/recharger/apc_recharger
2020-06-17 20:47:57 -03:00
Tümer Türkmen
e314669651 ooc no longer checks if message is ic if round hasn't started (#51660)
* pog

* fixed

* oops
2020-06-16 12:18:04 -04:00
AnturK
24abb2ebf9 Adds keybindings sanity. (#51627)
* Adds keybindings sanity.

* Whoops

* clears the key if it's unsed
2020-06-15 20:54:18 +08:00
Jordan Brown
63f6fa1f16 Merge pull request #51592 from deathride58/skidbgone
[s] Fixes a pair of DoS vectors.
2020-06-13 14:15:09 -04:00
deathride58
af9e728589 autodoc compatibility 2020-06-12 13:56:57 -04:00
Ryll Ryll
0f6496a55c [READY] Adds Medical Wounds: Bamboo Bones and the Skin of Your Teeth (#50558)
About The Pull Request

This PR adds medical wounds, new forms of injuries that people can suffer that cause debilitation and complications, and often require more than what can be found in a medkit to treat. But let's be honest, big complicated walls of text about medical changes make people's eyes glaze over easily- so I created a handy infograph to explain the basics!

Also there's a full guide here!

dreamseeker_2020-04-18_20-42-19.png

The infograph may not be fully up to date with the specifics of the PR's status, but it'll be updated along with major changes so people have something to use as a crash course for familiarizing themselves with how wounds function. I also have another infograph with all 9 of the possible initial wounds coming, and will be up soon. You can also find the longform design doc here with more info on the broad details, including descriptions of treatments: hackmd whee
What this does

There's a lot to cover, but here's the bullet points of the main features and changes:

    Getting lots of damage on a limb can result in wounds, with more damage causing worse wounds. These can range from dislocated joints and minor cuts to compound fractures and fourth degree burns, and can affect you in different ways depending on what bodypart they're applied to (namely with broken bones).
    You can damage individual bodyparts on clothing (only jumpsuits for now) through the use of lasers and sharp weapons. Bodyparts that reach max damage are considered "shredded" and will not apply any protection for that zone until it is repaired with cloth. If all zones are disabled, the entire piece of clothing is shredded and unwearable until repaired with 3 cloth. Jumpsuits give a small amount of wound protection, and since sharp weapons and lasers generally get extra wound bonuses against bare flesh, even a plain jumpsuit provides decent protection from a few laser shots or scalpel stabs.
    Lasers gain a powerful niche versus unarmored/lightly armored carbons! As noted above, lasers can shred clothing and burn away zones of jumpsuits in 2 shots each, after which the target's bare flesh is exposed (barring other clothing), and lasers excel at dealing burn wounds against uncovered skin. Think big, nasty charring!
    Bleeding is now totally limb based, and gauze is as well. Bleeding is also 95% cut wound based, meaning sharp weapons make you bleed rather than just having 40+ brute on a limb.
    The more wounds and damage you get on a bodypart, the easier it'll be to gain more severe wounds. Wounds are arranged from Moderate, to Severe, to Critical in increasing severity, and you'll generally have to suffer the lesser ones before getting the worse ones.

dreamseeker_2020-05-15_03-15-59.png
Above: Someone having an incredibly bad day from bloodloss

dreamseeker_2020-05-04_22-29-29.png
Above: Scars from healed wounds

ShareX_2020-05-15_06-55-20.png
Above: Actual combat involving someone's head getting cracked

Here's a quick, if non-exhaustive, list of things I have left to do before I consider it feature complete

Finish adding treatments for each wound type/severity (mostly surgeries/triage for critical wounds)
Add second winds for bad injuries to give the victim a chance to get away
Flesh out severe & critical injuries in general
Find sprites for the bonesetter, bone gel, and anything else that might be needed
Add the medical items for treating the less severe wounds to the station
Polish code and remove any redundancies I left behind

    Quick balance pass to make sure nothing is horribly abuseable

Why It's Good For The Game

Adds a flexible new system for representing damage on carbons with injuries that can be treated in different ways. Moderate wounds from getting toolboxed or sliced with a scalpel can usually be treated by a buddy or even by yourself with the right tools, but getting flayed with a fireaxe or a laser gun emptied into your bare skin may require extra attention or even surgery in bad cases! Also makes laser guns cooler and more like 40k lasguns that can flash fry people (cool!)

This should also make spessmen more resilient and harder to kill outright, while still adding consequences and complications to getting hurt. Wounds aren't immediately fatal, but they can do things like slow down interactions, deal damage over time through infections, and generally make you more fragile until fixed. They can also give you a "second wind" on being applied that gives you a small adrenaline boost (or whatever) to help disengage and escape immediate danger.
Changelog

🆑 Ryll/Shaps
add: Introduces medical wounds, new injuries that can happen to fleshy carbons when they sustain lots of damage on a bodypart. There's quite a lot of change here, but you can read the guide at: https://tgstation13.org/wiki/Guide_to_wounds and an extended changelog is available here: https://hackmd.io/l_FI9b3tSqa_woDadewJXA
add: Introduces scars and temporal scarring! Healing a wound leaves a scar behind that can be seen by examining someone twice rapidly, and if Temporal Scarring is enabled in character prefs, surviving a round with scars will save them to be granted at roundstart another round! Let your body tell stories!
tweak: Bleeding is now fully bodypart-focused, and 95% of bleeding comes from cut wounds from sharp weapons. Gauze is applied on a limb-by-limb basis, and helps staunch bloodflow rather than totally stop it. Notably, you no longer bleed just from having 40+ brute damage on a limb.
del: Organic bodyparts are no longer disabled at maximum damage, but are easier to cause wounds to
add: O2 medkits in emergency lockers have been replaced with new emergency medkits with basic tools for diagnosing and treating wounds and basic damage
tweak: Herapin now rapidly increases bleeding on all open cuts, rather than causing bleeding by itself. The more cuts on the target, the more it will affect them.
tweak: Neckgrab table slams now hit the targeted limb rather than just the head, with a large chance to dislocate or break a bone
tweak: Sharp weapons and burning weapons can now shred zones on jumpsuits, disabling protection on that limb. Damaged clothes can be repaired with cloth.
tweak: Slaughter demons now deal less raw damage, but gain the ability to cause cut wounds, which becomes more powerful with each attack on a humanoid but resets when bloodcrawling.
/🆑
2020-06-12 23:47:33 +12:00
deathride58
282852d261 Fixes a pair of DoS vectors. This isn't very urgent since skids haven't picked up on these specific ones yet, but now that I'm making this set of PRs, it's only a matter of when now. 2020-06-11 23:43:14 -04:00
Jordan Brown
495ab46854 Merge pull request #51419 from Rohesie/vars
More variable declarations moved to their object definition 4
2020-06-09 20:59:05 -04:00
Tad Hardesty
829e95896e Replace BSQL with rust-g, paramaterize all queries (#51255)
cl
refactor: BSQL has been replaced with rust-g, improving SQL reliability and safety.
/cl

Queries were parameterized as much as possible. Careful code read by someone else also versed in SQL would be a good idea. Things seemed fine spot-testing roundstart, library, bans, and polls, but more stress-testing may be useful.

Also updates rust-g to v0.4.5:

    Improved Linux .so detection
    Perlin noise functions

Also updates Travis script to bionic.
2020-06-08 16:00:07 +12:00