Commit Graph

13603 Commits

Author SHA1 Message Date
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
ac8bf51024 [MIRROR] Moves base_icon_state to the base of atom (#464)
* to the base (#52917)

* Moves base_icon_state to the base of atom

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 22:36:33 +01:00
SkyratBot
d3f6e8d49f [MIRROR] Explosions SS runtime fix + code cleanup (#461)
* Explosions SS runtime fix + code cleanup (#52894)

* runtime fix

* turf references are immortal

* Explosions SS runtime fix + code cleanup

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-21 21:30:43 +01:00
SkyratBot
6da6b33009 [MIRROR] Food refactor part 1: Bread destruction and processable element (#447)
* Food refactor part 1: Bread destruction and processable element (#53047)

* Food refactor part 1: Bread destruction and processable element

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-08-21 14:15:57 +01:00
SkyratBot
4561501cd5 [MIRROR] Fix broken span class tag in mutations and other locations. (#444)
* Fix broken span class tag in mutations and other locations. (#53064)

* Fix broken span class tag in mutations and other locations.

Co-authored-by: msgerbs <msgerbs@users.noreply.github.com>
2020-08-20 19:04:53 -04:00
SkyratBot
6ed7a17f0b [MIRROR] Arconomy Balance Pass 2: Market Tendency (#438)
* Arconomy Balance Pass 2: Market Tendency (#52974)

Price inflation is now based upon averages, and is now uncapped from 5.
Civilian budget is no longer the worst budget to pay out from.
Medical Civilian bounties are no longer chees-able in seconds.


* I'll pick this up later because it's going to need a UI with keyed lists

* Updated market crash and average inflation values.

* Alright, I'm confident now.

* Make the market crash end at the beginning of the event end

* And on the 2nd day, the lord spoke, "Compile"

* Division by zero protection.

* That should have been a max, smhing my smhead

* Arconomy Balance Pass 2: Market Tendency

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-08-20 17:08:15 +01:00
SkyratBot
55647da512 [MIRROR] [READY] for Z debug. Industrial lift (not shuttle edition) (#436)
* [READY] for Z debug. Industrial lift (not shuttle edition) (#52397)

* [READY] for Z debug. Industrial lift (not shuttle edition)

Co-authored-by: Dennok <Deneles@yandex.ru>
2020-08-20 17:07:08 +01:00
SkyratBot
d03c1f28be [MIRROR] fixes to shuttle smoothing (#434)
* fixes to shuttle smoothing (#53060)


    plastitanium walls now smooth with windows
    fixes airlocks not having a smoothing group, now plastitanium/titanium walls will smooth with the
    fixes plastitanium walls not smoothing with syndie walls

* fixes to shuttle smoothing

Co-authored-by: Fikou <piotrbryla@onet.pl>
2020-08-20 17:06:43 +01:00
SkyratBot
36fb0d4e7c [MIRROR] adds bonesetter to omnitool settings (#433)
* adds bonesetter to omnitool settings (#53040)

* adds bonesetter to omnitool settings

* oops

* reminder

* adds bonesetter to omnitool settings

Co-authored-by: Fikou <piotrbryla@onet.pl>
2020-08-19 23:53:25 -04:00
SkyratBot
e65a48e91f [MIRROR] Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#430)
* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking (#52761)

Adds SIGNAL_HANDLER, a macro that sets SHOULD_NOT_SLEEP(TRUE). This should ideally be required on all new signal callbacks.

Adds BLOCKING_SIGNAL_HANDLER, a macro that does nothing except symbolize "this is an older signal that didn't necessitate a code rewrite". It should not be allowed for new work.

This comes from discussion around #52735, which yields by calling input, and (though it sets the return type beforehand) will not properly return the flag to prevent attack from slapping.

To fix 60% of the yielding cases, WrapAdminProcCall no longer waits for another admin's proc call to finish. I'm not an admin, so I don't know how many behinds this has saved, but if this is problematic for admins I can just make it so that it lets you do it anyway. I'm not sure what the point of this babysitting was anyway.

Requested by @optimumtact.
Changelog

cl
admin: Calling a proc while another admin is calling one will no longer wait for the first to finish. You will simply just have to call it again.
/cl

* Adds SIGNAL_HANDLER and SIGNAL_HANDLER_DOES_SLEEP to prevent signal callbacks from blocking

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-19 20:17:28 -04:00
SkyratBot
021551e666 [MIRROR] Baseball bats have a 1% chance to be deformed on creation (#425)
* Baseball bats have a 1% chance to be deformed on creation (#53051)

* Baseball bats have a 1% chance to be deformed on creation

Co-authored-by: Wallemations <66052067+Wallemations@users.noreply.github.com>
2020-08-19 20:12:25 -04:00
SkyratBot
949676c540 [MIRROR] Allows xenos to use ladders properly (#424)
* Allows xenos to use ladders properly (#53044)

* Allows xenos to use ladders properly

Co-authored-by: Ziiro <0@ziiro.net>
2020-08-19 20:11:58 -04:00
SkyratBot
d9344f6f89 [MIRROR] A bunch of tweaks to holsters. (#419)
* A bunch of tweaks to holsters. (#53031)

Regular holsters:

Can no longer hold pulse carbines.
Can now hold toy pistols.
Detective's holster:

Can no longer carry ALL ammo box types, it's crazy this was possible.
Can now carry all handguns instead of only revolvers, their ammo, the mini e-gun, and the toy pistol and its magazines.
Chameleon holster:

Can no longer hold pulse carbines.
Can now hold all the ammo of guns it can hold (handguns and revolvers), the toy pistol and its magazine, and the small energy crossbow.
Operative holster:

Can now hold... basically everything gun related. All guns, all ammo (except ammo boxes), all grenades.

Descriptions of all holsters changed to reflect this.

* A bunch of tweaks to holsters.

Co-authored-by: uomo <51800976+uomo91@users.noreply.github.com>
2020-08-19 20:07:14 -04:00
SkyratBot
c023ec87e9 [MIRROR] New breathtaking medical stack: the mourning poultice! (#415)
* New breathtaking medical stack: the mourning poultice! (#52968)

New type of medical stack, obtainable from botany: the mourning poultice.

These poultices convert 10 brute and 10 burn into oxy per application, and can be used on corpses as well as the living.

It takes 20u bungotoxin, 20u aloe juice and 20u cellulose to create one stack.

I have split all the existing medical stacks into their own dmi, stacks_medical.dmi.

* New breathtaking medical stack: the mourning poultice!

Co-authored-by: Krysonism <49783092+Krysonism@users.noreply.github.com>
2020-08-19 19:57:28 -04:00
SkyratBot
b60e7cc7d0 [MIRROR] Utility belts can now hold airlock and decal painters. (#412)
* Utility belts can now hold airlock and decal painters. (#53027)

* Utility belts can now hold airlock and decal painters.

Co-authored-by: uomo <51800976+uomo91@users.noreply.github.com>
2020-08-19 19:55:31 -04:00
SkyratBot
ca11f80b7f [MIRROR] medical first aid kits come with epipens now, not emergency first aid medipens (#411)
* bruh moment (#52661)

* medical first aid kits come with epipens now, not emergency first aid medipens

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-08-19 18:19:07 +02:00
SkyratBot
d49c662df2 [MIRROR] Shatter glass by slapping the floor (#408)
* Shatter glass by slapping the floor (#52916)

* Shatter glass by slapping the floor

Co-authored-by: NightRed <nightred@gmail.com>
2020-08-19 04:54:02 +02:00
SkyratBot
035aebc2a2 [MIRROR] Diagonal macro thingu (#407)
* Diagonal macro thingu (#52927)

* Diagonal macro thingu

Co-authored-by: TiviPlus <57223640+TiviPlus@users.noreply.github.com>
2020-08-19 04:53:44 +02:00
SkyratBot
72c69368b6 [MIRROR] Opacity refactor (#405)
* Opacity refactor (#52881)

    Moves all opacity var manipulation to a proc which sends a signal.
    light_blocker element for movable opaque atoms made, which tracks its movement and updates the affected turfs for proper lighting updates.
    has_opaque_atom boolean replaced by the opacity_sources lazylist to keep track of the sources, and a directional_opacity which serves a similar function but also allows for future expansion with on-border opaque objects (not yet implemented).
    Some opacity-related sight procs optimized as a result of this.
    Some variables moved to the object's definition.
    A define or two added into the mix for clarity.
    Some code cleaning, like turning booleans into their defines.
    One file renamed for clarity.

Changelog

cl
balance: Mechs no longer block sight. It's a non-trivial cost for the lighting system with little to no gain.
/cl

* Opacity refactor

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-19 04:48:14 +02:00
SkyratBot
a2fdb31307 [MIRROR] Adds reminders as to which cult structures make which cult items (#404)
* Adds reminders as to which cult structures make which cult items (#52637)

Said reminders are present in both the descriptions of those cult structures and in the stack recipe menu for runed metal.

* Adds reminders as to which cult structures make which cult items

Co-authored-by: ATH1909 <42606352+ATH1909@users.noreply.github.com>
2020-08-19 04:47:42 +02:00
SkyratBot
f424b7853e [MIRROR] cleanup the corpse file, cleanup stationstuck component, adds stationstuck to the reanimated skeleton (and zombie, why not) (#403)
* cleanup the corpse file, cleanup stationstuck component, adds stationstuck to the reanimated skeleton (and zombie, why not) (#52940)

all living spawners in corpse.dm are now in ghost_role_spawners. I hate having to search two different files to HOPEFULLY find which ghost role I need to edit.

Added a disclaimer about giving guidance or at least stationstuck component to stuff so this doesn't happen again

Cleaned up stationstuck. Man, I know I made this, but damn I did kind of a shit job

* cleanup the corpse file, cleanup stationstuck component, adds stationstuck to the reanimated skeleton (and zombie, why not)

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2020-08-19 04:46:47 +02:00
SkyratBot
99136d5364 [MIRROR] Adds floral somatoray to botany belt (#387)
* Adds floral somatoray to botany belt (#53010)

Makes it so you can store the floral somatoray in the botany belt

* Adds floral somatoray to botany belt

Co-authored-by: Bampotio <69210247+Bampotio@users.noreply.github.com>
2020-08-19 02:23:22 +02:00
SkyratBot
2f7e5b762a [MIRROR] refactors resist act to be on atom level (#384)
* refactors resist act to be on atom level (#53016)

* refactors resist act to be on atom level

Co-authored-by: Qustinnus <Floydje123@hotmail.com>
2020-08-19 02:09:09 +02:00
SkyratBot
f088ef3ce4 [MIRROR] Fixes an embed runtime (#373)
* embed runtime (#52912)

* Fixes an embed runtime

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-17 23:32:27 +02:00
SkyratBot
6cbaecfaf7 [MIRROR] Minor Away Mission Fixes (#367)
* Minor Away Mission Fixes (#52672)

Fixes a few minor issues in the pre-existing away missions as well as removing some bloat from one of them. I also asked for permission to do this.

* Minor Away Mission Fixes

Co-authored-by: ishitbyabullet <deathzombine@outlook.com>
2020-08-17 14:49:42 +02:00
SkyratBot
b8c378268f [MIRROR] Bible now uses a radial menu for choosing its skins (#355)
* Bible Radial (#52919)

* Bible now uses a radial menu for choosing its skins

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2020-08-15 23:05:09 +02:00
SkyratBot
cbbbc0d5d3 [MIRROR] Small TGUI tweaks and fixes (#353)
* Small TGUI tweaks and fixes (#52955)

* LaborClaimConsole cleanup

* UI tweaks

* Small TGUI tweaks and fixes

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
2020-08-15 23:04:33 +02:00
SkyratBot
fd122ddb5a [MIRROR] adds ascension achievement (#352)
* adds ascension achievement (#52757)

adds ascension achievement

* adds ascension achievement

Co-authored-by: Fikou <piotrbryla@onet.pl>
2020-08-15 23:04:23 +02:00
SkyratBot
8c41a7cce6 [MIRROR] Baystruments - I had two tgstation forks for some reason and had to delete one and that nuked the last PR (#350)
* Baystruments - I had two tgstation forks for some reason and had to delete one and that nuked the last PR (#51459)

Instruments and sound channels refactor.

* Baystruments - I had two tgstation forks for some reason and had to delete one and that nuked the last PR

* Fixes dme dupe

* Fixes dme dupe (#52954)

Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
2020-08-15 23:04:03 +02:00
SkyratBot
4a8bf70af3 [MIRROR] Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#345)
* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam. (#52873)


About The Pull Request

This PR removes the tesla and Mrs. Pacman from the game. The title is actually misleading, the TEG and singularity are still in the game but inaccessible and the singularity no longer has its generator.

Field generators and tesla coils have been kept because shocking your fellow man is the greatest sensation of power in the world.

The overcharging delamination for the supermatter has been replaced by the release of 2500 mols of tritium at 500,000 kelvin. An engineer who's really hateful of the station can use this for fusion, if they desire. Otherwise, its a tritium fire in engineering alongside the explosion. This will probably be changed in the future to be more potent since the explosion will pretty much just space all the tritium away.

Singularities no longer produce radiation. Now, keeping one is less about making power and more about making a statement, especially since you need to delaminate an SM shard for it.
Why It's Good For The Game

Having power optimized for one generator (SM+Turbine) will allow balancing to be feasible, also oranges wanted this. The other generators may later return but with tweaked values and different roles.
Changelog

🆑
del: Nanotrasen has removed their outdated teslas, singularities, TEGs and Mrs. Pacman generators from their servers and warehouse.
/🆑

* Removes singularity, tesla, TEG and Mrs. Pacman. Changes supermatter overcharge delam.

Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
2020-08-15 00:53:05 +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
49f7becb88 [MIRROR] Personalized combat messages part 2 (#334)
* Personalized combat messages part 2 (#52890)

Adds more "personalized" combat messages for all participants in a fight: the attacker, the victim and the spectators

* Personalized combat messages part 2

* Update misc.dm

Co-authored-by: kingofkosmos <riki.sundberg@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2020-08-14 23:29:15 +02:00
SkyratBot
2b820a06d0 [MIRROR] Fixes lattice and operating table smoothing. (#340)
* Merge pull request #52920 from CRITAWAKETS/test-ur-peearrs

Fixes lattice and operating table smoothing.

* Fixes lattice and operating table smoothing.

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2020-08-14 01:21:12 +01:00
SkyratBot
8932e4cdbe [MIRROR] Fixes tesla coil hell contraptions (#333)
* Fixes tesla coil hell contraptions (#52889)

Removes the ability for tesla coils to generate power with more then 85% efficiency.
Cleans up the remainder of my zap_act refactor, making the proc better fit its usecase and removing some unneeded code.
Adds a check in the tesla coil zap() proc that makes sure we're not trying to use power that's not there.
Removes some seemingly complex math from said proc, replaces it with a static 20% draw * the efficiency.

* Fixes tesla coil hell contraptions

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-13 22:38:29 +02:00
SkyratBot
289930f2a1 [MIRROR] Icon smooth refactor (#327)
* Icon smooth refactor (#52864)



    bitflag list construct added: an associative list of bitflags for cheap and quick element comparison between two lists using the same system.

    canSmoothWith list turned into a bitflag list.

    smoothing_groups list added to substitute the type path list.

    smoothing procs turned into atom procs, refactored and optimized a bit.

    smooth directions redefined in order to fit in 8 bits for a future smoothing system

    some variable names changed, foreseeing a second smoothing system

    SMOOTH_OBJ flag added, for things that need to scan turfs for smoothing. The old locate() optimization has the risk of returning false negatives by finding a child and returning null while there might be one of the wanted type as well, as it doesn't match the type exactly.

    SMOOTH_TRUE and SMOOTH_MORE condensed into SMOOTH_CORNERS. The old behavior can be replicated using smoothing groups without loss.

    Does very minor code cleanup.

    Processing-wise didn't find a noticeable difference. The system loses on init a bit by setting the bitflag_lists, and by scanning whole turf contents for object smoothing (increasing accuracy), and gains by making less checks per target to smooth, through the same bitflag_lists.

    Memory-wise there should be a small improvement, given that on the old system we had 63512 canSmoothWith lists (a few typelists, most unique), and on this new system canSmoothWith + smoothing_groups are both bitflag_lists from the same pool, totaling 46 in number.

Could be tested a bit to see if I missed any icons not properly smoothing.

* Icon smooth refactor

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-13 05:23:53 +02:00
SkyratBot
ade641b896 Adds the Account Registration Machine. (#52745) (#326)
This adds the Account Registration Machine to the game, it's obtained at the computerized recordkeeping tech (Rather far in to the tech tree) and only obtained from the security lathe to prevent access from being too widespread, because I don't trust players have access to this until at LEAST half the shift has gone by. What this enables you to do is to create new accounts for blank IDs. The accounts won't have a parent payment account until actually assigned a job by a card console, but for all intents and purposes they'll act and interact like a standard, station bank account.

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2020-08-13 05:23:33 +02:00
SkyratBot
d139b853c6 [MIRROR] Fixes sticky tape spam (#324)
* Fixes sticky tape spam (#52869)

* Fixes sticky tape spam

* ok

* Fixes sticky tape spam

Co-authored-by: Fhaxaris <Chrisamcculler@gmail.com>
2020-08-13 00:21:00 +02:00
SkyratBot
56f65770e2 [MIRROR] Plumbing teleporters (#321)
* Plumbing teleporters (#51881)

* Makes the plumbing RCD accept every object

* Adds simple plumbing teleporter

* Polishes plumbing teleporters

* Fixes runtime

* this to src

* circuitboard doesnt need anchoring

* Fixes overlay flickering being weird

* Makes the Chemical Recipient's positioning less awkward

* Comments and documentation

* uh

* Fixes dme

* Revert "uh"

This reverts commit af6f30089f9f31d527f6ab3e2b1c72cf6ab6d60d.

* Update code/_globalvars/lists/construction.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/game/objects/items/RCD.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Update code/modules/plumbing/plumbers/_plumb_machinery.dm

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* uncasts loop

* update icons

Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>

* Plumbing teleporters

Co-authored-by: Time-Green <timkoster1@hotmail.com>
Co-authored-by: girl <11748095+ExcessiveUseOfCobblestone@users.noreply.github.com>
2020-08-13 00:20:00 +02: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
147358197a [MIRROR] Removes annoying references from admin keycard airlocks, makes the descriptions more helpful for finding the correct door (#311)
* Removes annoying references from admin keycard airlocks, makes the descriptions more helpful for finding the correct door (#52846)

No more cheese and titanic keycards, they are now yellow and blue. The descriptions now point out which keycard they require in their description, because players are very forgetful and when you are clueless in space station thirteen the first thing you do is examine.

* Removes annoying references from admin keycard airlocks, makes the descriptions more helpful for finding the correct door

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
2020-08-12 11:32:27 +01:00
SkyratBot
f2acd58532 [MIRROR] Fixes Fly Swatters Not Obliterating Spiderlings (#310)
* Fixes Fly Swatters Not Obliterating Spiderlings (#52857)

* snap.ogg

adds spiderlings to the list of things the swatter is strong against

* oops

forgot a comma

* epic phonepost webedit

changes one word in the item description

* Fixes Fly Swatters Not Obliterating Spiderlings

Co-authored-by: Paxilmaniac <57122098+Paxilmaniac@users.noreply.github.com>
2020-08-12 11:32:04 +01:00
SkyratBot
9bdc964871 [MIRROR] You can now craft cable restraints directly from the radial menu (#306)
* You can now craft cable restraints directly from the radial menu (#52614)

* You can now craft cable restraints directly from the radial menu

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-12 11:30:34 +01:00
SkyratBot
99b53b6450 [MIRROR] Remove reinforcement chromosomes, AKA mutadone resistance (#305)
* Remove reinforcement chromosomes (#52613)

Removes reinforcement chromosomes completely.

* Remove reinforcement chromosomes, AKA mutadone resistance

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-12 11:30:20 +01:00
SkyratBot
75199f1b2a [MIRROR] Adds a sprite for advanced medkit medibots (#299)
* Adds a sprite for advanced medkit medibots (#52775)

* Adds a sprite for advanced medkit medibots

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-12 11:28:23 +01:00
SkyratBot
a86ac48868 [MIRROR] Fixed runtime involving crew pinpointers by removing indestructibility from non-nuke pinpointers (#298)
* Fixed runtime involving crew pinpointers by removing indestructibility from non-nuke pinpointers (#52845)

Remove invulnerability from crew pinpointer

* Fixed runtime involving crew pinpointers by removing indestructibility from non-nuke pinpointers

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-12 11:28:05 +01:00
SkyratBot
0d2c2009f8 [MIRROR] Intercoms can now be interacted with via the telekinesis mutation (#297)
* Intercoms now have appropriate attack_tk_grab response (#52835)

Due to issues with item interaction code, this PR means the intercom is now viewable with telekinesis but is not interactable unless adjacent.

* Intercoms can now be interacted with via the telekinesis mutation

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2020-08-12 11:27:53 +01:00
SkyratBot
84a80f8e01 [MIRROR] Give mood buff for defibbing someone (#292)
* Give mood buff for defibbing someone (#52798)

* Give mood buff for defibbing someone

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
2020-08-12 11:26:18 +01:00
SkyratBot
0fe96ab3c3 [MIRROR] Adds a signal for storage exit and insert, uses it to make trading cards zoom properly (#285)
* Adds a signal for storage exit and insert, uses it to make trading cards zoom properly (#52737)

* Adds a signal for storage exit and insert, uses it to make trading cards shirk properly

* Adds storage param

* Adds a signal for storage exit and insert, uses it to make trading cards zoom properly

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-11 22:45:55 +02:00
SkyratBot
04f92ff45b [MIRROR] Lets aloe cream autorepeat when healing (#283)
* Lets aloe cream autorepeat when healing (#52730)

* 15

* no suture buff

Co-authored-by: bumtickley00 <pebis@lol.com>

* Lets aloe cream autorepeat when healing

Co-authored-by: Tony <19880843+AdmiralPancakes1@users.noreply.github.com>
Co-authored-by: bumtickley00 <pebis@lol.com>
2020-08-11 06:12:04 +01:00
SkyratBot
093eacda26 [MIRROR] You Can No Longer Place Force Fields On The Same Tile As Yourself (#281)
* You Can No Longer Place Force Fields On The Same Tile As Yourself (#52569)

About The Pull Request

Adds a check to the force field projector that prevents you from placing fields on the same tile as yourself.
Why It's Good For The Game

Some people have been using this recently in fights to become temporarily unclickable, which is kinda bad if you ask me.
Changelog

cl
tweak: you can no longer place force fields on the same tile as yourself to become god for 30 seconds
/cl

* You Can No Longer Place Force Fields On The Same Tile As Yourself

Co-authored-by: Paxilmaniac <57122098+Paxilmaniac@users.noreply.github.com>
2020-08-11 04:08:41 +01:00