Commit Graph

641 Commits

Author SHA1 Message Date
Emmanuel S
a9e1c2e387 Orbit menu checks ghosts recursively, ghosts have orbit counters (#53826)
* Recursive Orbit Checker


UI change


len -> length()


Rebuild tgui

another len -> length()

* tgui
2020-09-27 01:37:42 +03:00
Timberpoes
1f23cc281d Enforce preserving parent proc return values across ui_act call stacks (#53964)
All ui_act procs should call parent by default. All procs should preserve the value of the parent proc when it's TRUTHY and pass it down the call stack. No UI should be interactible when its flags or state indicate it should not be, except when explicity overriden by child procs intentionally disregarding parent return values to achieve a specific goal.
2020-09-26 11:52:39 -03:00
ArcaneDefence
2eb6b1362e Separates mothpeople antennae into a mutant bodypart (#53928)
Removes the antennae part of the original moth wing sprites and adds them back as a mutant bodypart.
Seeing as they were then separated I made it a preference so that players can choose which antennae sprite they would like to have, instead of being restricted solely to the ones built into the wing sprite.
2020-09-25 08:47:00 -03:00
TiviPlus
72fc7213ed Mecha medical and other_equipment refactor (#53637) 2020-09-23 02:40:16 -03:00
TiviPlus
c35008b1b0 Optimizes Conveyors (#53220)
Less proc overhead
Made the actual moving speedier
removed a unused var
2020-09-19 10:37:15 -03:00
Couls
75cdfc88f6 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>
2020-09-14 23:36:46 -07:00
Wayland-Smithy
666d1e75c5 Rename orbiters.orbiters list to something sane (#53416) 2020-09-05 11:58:42 -03:00
TiviPlus
ce3d7e2f0d Mecha refactor 2020 (#52902)
-Mechs are a vehicle subtype
-Mech equipment half-rewritten
-Mech actions completely redone
-Cooldown macros
-New movement macros & replacing all var in GLOB.diagonals with ISDIAGONALDIR(var)
-New lazylist macro
-Support for lavaland only mechs
-Removed the tank because fuck off with that hacky shit
-Documentation
-Fuckton of fixes
2020-08-29 23:33:47 -03:00
TiviPlus
ca366c3ea1 Bools and returns super-pr (#53221)
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>
2020-08-28 14:26:37 -07:00
Rob Bailey
533201a9f1 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.
2020-08-27 18:34:11 -07:00
Couls
e7f99e3b8b Browser Status Panel (#53112) 2020-08-27 15:28:03 -07:00
Rohesie
eda7c6ca55 Overlay lighting component (#52413)
Sparks no longer lag, projectile beams move super smoothly, same with mobs and whatnot. This also allows for easy expansion into directional lights, field-of-view, wee-woo rotating lights or whatever.

It does have a downside: things right-clicked or checked through the alt+click tab will show the light overlay:


This is a BYOND limitation, very well worth it IMO.

🆑
add: Smooth movable lighting system implemented. Projectiles, sparks, thrown flashlights or moving mobs with lights should be much smoother and less laggy.
balance: Light sources no longer stack in range, though they still do in intensity.
/🆑
2020-08-22 14:56:38 +12:00
tralezab
6a25b30b12 Removes "availible" mispellings in codebase (#53046)
* AVAILABLE

* Rebuild tgui

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-19 23:57:37 +03:00
Tad Hardesty
291d7ac376 Fix the poll menu from breaking the join menu when the DB is misconfigured (#52949)
The returns if the DB is connected but the query errors mean the new player panel is never shown. This is a problem.
2020-08-18 22:08:27 -03:00
Jared-Fogle
fa11c9c7be Messages sent by yourself no longer highlight (#52991) 2020-08-18 05:54:29 +03:00
Kyle Spier-Swenson
8df93ba39e [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
2020-08-12 13:51:43 +12:00
uomo
c3bae86da9 Fixing icon state. (#52829) 2020-08-10 21:32:03 -03:00
TiviPlus
b4fe4f717b 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
2020-08-10 16:31:59 -03:00
Ryll Ryll
b7ae6fc64d Refactors Temporal Scarring, changes how it works, removes longtimer quirk (#52688)
* changes temporal scarring

* hhh why is there no ckey

* note

* oops

* fixed
2020-08-10 16:29:27 -03:00
tralezab
63382211d8 Mafia Lobby Reworks, Panel Redesign, Abstaining, and More
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-08 23:36:37 +03:00
Timberpoes
19c3bbde31 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.
2020-08-07 12:23:42 -03:00
tralezab
864924a804 [READY] Mafia Additional Roles and Generic Randomized Setup (#52083)
* new roles

* Madness rename

* hop judgement override

* hop vote fixed, travis happy

* hop fixed

* Update code/modules/mafia/_defines.dm

Co-authored-by: Fikou <piotrbryla@onet.pl>

* highly experimental random setup system

* hop cannot reveal before any voting is possible, lmao

* this shit actually works lmfao

* removes forced_setup, nightmare detection immune

* whoop

* removes setups!

* OK, finally kind of done with all this minus the incoming reviews

* adds hop's ability to their text, removes old var

* bundle?

* Update tgui.bundle.js

* role fixes (roleblock not working on a few)

* eep

* fuck

* potato's review

* Update tgui.bundle.js

* ffff

* bundle

* rohesie's review

* eureka

* updates doc, removes debug stuff

Co-authored-by: Fikou <piotrbryla@onet.pl>
2020-07-22 00:29:05 -03:00
LemonInTheDark
d3f9b70c0f Adds a message modification packet to saycode to allow for unordered parsing of operator chars, like ;, #, :, or % (#51790) 2020-07-18 18:18:23 +02:00
Ryll-Ryll
40c1b51b97 dunno what to rename this 2020-07-16 21:53:56 -04:00
Ryll-Ryll
1f31064c3e Merge remote-tracking branch 'tgstation/master' into who-named-this-damned-proc 2020-07-16 21:43:14 -04: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
ShizCalev
b3fa367ac7 Fixes cameramob ghostize runtime (#52197) 2020-07-14 20:14:08 -04:00
skoglol
7ec3849d63 Merge pull request #52158 from LemonInTheDark/help-me
Fixes acid/fire/blobs/a few other things touching objects below a tile
2020-07-12 11:56:26 +02:00
Ryll-Ryll
6506b72d1e capital 2020-07-11 23:42:26 -04:00
Ryll-Ryll
0115ce25d6 update this too 2020-07-11 23:34:43 -04:00
Ryll-Ryll
7f15be7f68 Merge branch 'master' into who-named-this-damned-proc 2020-07-11 23:30:49 -04:00
Ryll-Ryll
fc0b247738 rename 2020-07-11 23:23:23 -04:00
Ryll Ryll
e4397e0fca adds full monty for observer examine_more (#52088) 2020-07-12 04:34:24 +10:00
LemonInTheDark
fce4274752 Fixes all bits of code that check if something is under a tile that weren't being done 2020-07-10 22:14:37 -07:00
Timberpoes
3d2aa32810 Limit scope of locate 2020-07-08 16:40:00 +01:00
Timberpoes
761c1a9e03 Orbit feex 2020-07-08 11:24:00 +01:00
tralezab
fd9b5efae7 Mafia: a minigame for ghosts to sign up for while dead (#51788)
* pre-removal of mafia_game_signups

* redoes the whole joining system, start of the role popup datum

* MAPMERGE 💪

* bundle fix + working on a fix

* even more testing

* lobby working, fail text, comments out 2>3 player test setup

* mapmerge

* uhhh maybe?

* updates mafia controls panel

* megafix + megafeature pack

* lint, small fix bundle. should compile after this

* bye test setup

* big changes, no revs yet though

* godmode, why not

* bundle frick off man

* SORRY

* doesn't send rev messages and mafia messages if they don't exist

* removes revs, improves tgui by a shit ton

* mostly mafia panel stuff

* maps + improvements

* disables this map because bugs

* bundle, take that

* Apply suggestions from stylemistake code review

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>

* 1/2 review

* bad maps gone

* goodbye game ID

* e

* finally done

* voila

* don't forget bundle!

* e

* last commit before i irrevocably BOUNDS myself to death

* Rebuild tgui

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-06 19:02:45 +03:00
Bobbahbrown
8e64198593 Removes Exploitable World/Topic Command server_hop (#51793)
It's currently possible to exploit server_hop to display splashes over player's displays on /tg/ and /tg/-derived servers.

I don't think hiding this behind the comm key will be a good idea, or actually be useful. Not entirely certain why we're showing a splash twice, as showing a splash is literally all this server_hop is doing as far as I can tell.
2020-06-23 09:01:58 +12: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
Jared-Fogle
1d045501f2 New tgui based orbit menu (#51585)
* New tgui based orbit menu

* Update tgui.bundle.js

* Safely check len if orbiters is null

* Add a search bar

* Rename Antagonists to Ghost-Visible Antagonists

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>

* Move ghosts below alive

* Rebuild tgui.bundle

* Update as per stylemistake's feedback

* Cosmetic stuff

* Rebuild tgui

* Replace localeString with faster alternative

* Update tgui.bundle.js to latest upstream

* Hitting enter in the search bar will now snap you to orbit the most relevant result

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-06-14 00:14:31 -04:00
Jared-Fogle
79a81ca137 Fix medical HUD showing skulls when a player leaves their body for a ghost (#51594)
* Don't reset medical hud on /mob/living/Logout

* Use ShizCalev's suggestion
2020-06-14 00:13:16 -04: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
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
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
Ryll Ryll
6bf874839a Adds new body type pref (#51058)
* tgdb

* tgdb

* Auto stash before cherry pick of "balance changes, enables burn surgery, various body improvements"

* moves unnecessary list out of client

* describes a var

* corrects
2020-05-29 14:25:01 -03:00
Qustinnus
cab62745bb fuck (#51250) 2020-05-26 22:19:31 +08:00
LemonInTheDark
a08f2113a4 Unfucks smallscreen, removes my stupidity (#51266)
* slightly less SHIT FUCK SHIT FUCK

* Turns out we do need this

* YaYeet

* That should do it
2020-05-25 23:38:10 -03:00