Commit Graph

473 Commits

Author SHA1 Message Date
SkyratBot
119dd2ea3d [MIRROR] Basepixels (#1512)
* Basepixels (#54652)

* Basepixels

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-10-30 17:30:11 +00:00
SkyratBot
b8d9874c27 [MIRROR] Converts all A && A.B into A?.B (#1292)
* Converts A && A.B into A?.B (#54342)

Implements the ?. operator, replacing code like A && A.B with A?.B

BYOND Ref:
When reading A?.B, it's equivalent to A && A.B except that A is only evaluated once, even if it's a complex expression like a proc call.

* Converts all A && A.B into A?.B

Co-authored-by: ZeWaka <zewakagamer@gmail.com>
2020-10-13 23:19:25 +02:00
SkyratBot
d40b8e5f0c [MIRROR] Orbit Menu: Add Auto-Observe mode! Refresh button! Alive/Ghost Counters! No more [ghost] tag! (#1186)
* Orbit Menu: Auto-Observe mode, Refresh button, Alive/Ghost counters (#54031)

Observe, Refresh, alive/ghost count, and no more [ghost]

Apply suggestions from mr jaredfogle

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

yes? he built? tgui it

* Orbit Menu: Add Auto-Observe mode! Refresh button! Alive/Ghost Counters! No more [ghost] tag!

Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
2020-10-07 20:39:29 +02:00
SkyratBot
e1a009ce06 [MIRROR] Orbit menu checks ghosts recursively, ghosts have orbit counters (#1004)
* Orbit menu checks ghosts recursively, ghosts have orbit counters (#53826)

* Recursive Orbit Checker

UI change

len -> length()

Rebuild tgui

another len -> length()

* tgui

* Orbit menu checks ghosts recursively, ghosts have orbit counters

Co-authored-by: Emmanuel S <mrdoomboyo@gmail.com>
2020-09-27 00:41:14 +01:00
SkyratBot
98568e191a [MIRROR] Enforce preserving parent proc return values across ui_act call stacks (#999)
* 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.

* Enforce preserving parent proc return values across ui_act call stacks

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-09-26 17:17:59 +02:00
SkyratBot
b52dcb5801 [MIRROR] Mecha medical and other_equipment refactor (#926)
* Mecha medical and other_equipment refactor (#53637)

* Mecha medical and other_equipment refactor

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-09-23 14:42:20 +02: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
0698a8bd61 [MIRROR] Rename orbiters list of orbiting orbiters var to something sane (#660)
* Rename orbiters.orbiters list to something sane (#53416)

* Rename orbiters list of orbiting orbiters var to something sane

Co-authored-by: Wayland-Smithy <64715958+Wayland-Smithy@users.noreply.github.com>
2020-09-06 05:56:05 +02:00
SkyratBot
cd0d700a85 [MIRROR] Mecha refactor 2020 (#579)
* Mecha refactor 2020

* Update effects.dm

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
2020-09-02 02:16:51 +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
0b65cc596b [MIRROR] Overlay lighting component (#469)
* 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.
/🆑

* Overlay lighting component

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-23 20:17:12 +02:00
SkyratBot
5246c4cd65 [MIRROR] Messages sent by yourself no longer highlight (#377)
* Messages sent by yourself no longer highlight (#52991)

* Messages sent by yourself no longer highlight

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-18 15:47:11 +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
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
af4cab5382 [READY] Mafia Lobby Reworks, Panel Redesign, Abstaining, and More. (#246)
Co-authored-by: skoglol <33292112+kriskog@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2020-08-10 06:12:51 +01:00
tralezab
832f8b8bb5 [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-21 23:29:53 -04: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
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
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
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
LemonInTheDark
1614501d23 Datum view and some other things (#51208)
* Datumizes all uses of change_view

* Cleanup and helper procs

* tweaks values to match the format, hint hint, (value - 0.5) works just fine

* And there's the rest

* woop, braindamage

* and one more

* fuck you menu file

* woops

* we should apply that

* fixes tooltip drift, thank you goon coders

* you can shake but you can't zoom
2020-05-25 01:53:51 +08:00
nemvar
1f4155e887 Renames most say.dm files. (#50971) 2020-05-08 19:09:23 -07:00
Bobbahbrown
6578479184 [READY] Runechat: 'Runescape-like' Chat Message Overlays (It's back!) (#50608)
* first-version

* let's do those recommendations first

* color moment

* reorganization, prefs

* certified layer moment

* virtual speakers BEGONNE

* remove naughty bits, better sizing

* gimme the message mode

* rename that pesky pref and hide chat bubbles

* exponential decay moment

* async moment

* fixes

* fixes

* the players have decided they don't want to hear themselves on radio

* Fix bug with holograms incorrectly rendering messages

* rohesie's suggestion

* Color tweaks

* hallucinating now shows message properly

* pref moment

* updates

* rohesie's suggestions

* fix moment number 5

* less smelly more epic

* unfix the fixes and refix them

* a conscious change

* return of the prefs
2020-04-25 15:48:10 -03:00
actioninja
b5dfd8880d id to component name 2020-04-19 19:36:35 +03:00
Timberpoes
58bdb85285 Ghost chem scans (#50475) 2020-04-19 16:06:10 +08:00
Rohesie
0738549b5b Client loss on Login() handling (#50073)
The client variable can be nulled at any point between proc calls during Login(), at the very least between parent calls for sure. That can produce dirty additions to mob lists among other less problematic runtimes.
This attempts to handle it.
2020-04-07 08:13:38 +12:00
Rohesie
0cf8f7cd9d Dynamic current_players lists rework (#50013)
* current player lists

* Docs
2020-03-21 17:05:13 +01:00
Time-Green
c04abab2bf [READY] Makes plumbing mappable and reworks hiding (#49644)
🆑
tweak: Ducts can now be hidden under tiles
code: tile hiding is now an element and way cooler and sexier
/🆑

Ducts can now be hidden under tiles
Plumbing machinery connects can now be hidden aswell
Plumbing can now also be properly mapped in without breaking anything
Plumbing component now uses the normal overlay systeem instead of being a weird exception

You can now add the /datum/element/undertile element to instantly make something hidable under tiles when appropriate.
2020-03-16 20:37:59 +13:00
ShizCalev
7209ac3c93 Removes unnessacary math defines 2020-02-17 23:09:09 -05:00
AnturK
e3fca45a78 Fix a few small runtimes (#49352)
Nothing special here, mostly sanity.
Defib hud is awful, needs rewrite.
2020-02-16 00:40:11 -08:00
thebleh
93c96e89d7 Shows defib icon on corpses with soul (#49138)
* show defib icon on revivable corpses

* update medhud in observer Destroy()
2020-02-04 07:26:10 +01:00
Rob Bailey
62d1a3941c tgui-next ntos card console (#48938)
About The Pull Request

A PR now several weeks in the making that spiraled ridiculously out of control for something not many even use.
What else is new in NTOS hell?
I spent several days doing nothing but playing escape from tarkov so this took longer than expected I valiantly spent all night and day working on this, and barely finished it before The Deadline
the card ntos program was split into three programs, manifest, job management, and id card modification. It didn't make much sense for them all to be the same program imo, and made the project a bit more managable.

Airlock electronics saw some improvements as well since it uses this new access control section as well.

Yet again some new functionality and improvements to core components. Buttons now have an "altSelected" feature where instead of changing the color it adds a small white marker, among some other things.

There were a couple of small changes in inconsequential ways in other places, and datacore was refactored a tiny bit. Probably some other stuff I don't remember.

I would replace the old card console with a modular computer right now, but I know a few people actually use this program and want a bit of time to iron out bugs and inconsistencies before replacing the main job console with it.
Changelog

🆑
add: tgui-next NTOS card console, job manager, and crew manifest
tweak: airlock electronics interface is a little fancier

/🆑
2020-02-01 20:47:36 +13:00