Commit Graph

13568 Commits

Author SHA1 Message Date
kingofkosmos
3263decaad Personalized combat messages part 2 (#52890)
Adds more "personalized" combat messages for all participants in a fight: the attacker, the victim and the spectators
2020-08-13 11:34:57 -03:00
LemonInTheDark
f66dc66ae5 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.
2020-08-13 11:32:27 -03:00
Rohesie
b0726e032b 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.
2020-08-13 14:03:49 +12:00
ArcaneMusic
71660f8f10 Adds the Account Registration Machine. (#52745)
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.
2020-08-12 18:43:08 -03:00
Fhaxaris
50655bfb1b Fixes sticky tape spam (#52869)
* Fixes sticky tape spam

* ok
2020-08-12 14:21:18 -03:00
Time-Green
b96829252e 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>
2020-08-12 11:37:55 -04: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
tralezab
7286a53a4f 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.
2020-08-11 22:30:14 -03:00
Paxilmaniac
0b99c5edb5 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
2020-08-11 22:27:27 -03:00
Jared-Fogle
00c593026b You can now craft cable restraints directly from the radial menu (#52614) 2020-08-11 21:54:22 -03:00
Jared-Fogle
55f38384f9 Remove reinforcement chromosomes (#52613)
Removes reinforcement chromosomes completely.
2020-08-11 21:35:12 -03:00
Jared-Fogle
e8c4b99ada Adds a sprite for advanced medkit medibots (#52775) 2020-08-11 20:02:41 +02:00
Timberpoes
8d2ebb14e8 Fixed runtime involving crew pinpointers by removing indestructibility from non-nuke pinpointers (#52845)
Remove invulnerability from crew pinpointer
2020-08-11 12:18:08 -03:00
Timberpoes
b8fcec9db0 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.
2020-08-11 12:16:35 -03:00
Jared-Fogle
3cf450d564 Give mood buff for defibbing someone (#52798) 2020-08-11 11:55:46 -03:00
LemonInTheDark
7b2ee45841 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
2020-08-11 10:47:18 -03:00
Tony
6c9175283f Lets aloe cream autorepeat when healing (#52730)
* 15

* no suture buff

Co-authored-by: bumtickley00 <pebis@lol.com>
2020-08-11 01:18:41 -03:00
Paxilmaniac
95f5490cab 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
2020-08-11 14:44:46 +12:00
Rohesie
8f917ff1d9 immobilized (#52578)
Adds an immobilized trait.
    Adds procs for several variable changes so we can respond to their events.
    Adds some signals for said variables changing.

Need to turn the variation in number of usable legs and arms (get_num_legs() and get_num_arms()) into events we can respond to, but they are pretty annoying to do so. Probably for a different PR.
2020-08-11 14:44:01 +12:00
KathyRyals
20989d255b Added the ability to upload honk viruses to doors, machines and computers. Added new sound_player component. (#52593)
* Added the ability to upload honk viruses to airlocks.

* Removed shoes requirements. Added charge gain sound.

* Revert "Removed shoes requirements. Added charge gain sound."

This reverts commit 641fe91a1c936c2de0cdd8104304d7f25bc831a8.

* Added ping on charge gain.

* Refactored to use components and signals.

* Now works on all machines / computers.

* implements suggested changes

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

* Moved signals around.

* WIP

* Finally added sound_playing component.

* Rohesie provides good code

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

* More Rohesie goodies

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

* Everything is fucked oh god

* Clean sweep

* Update code/game/objects/items/devices/PDA/PDA.dm

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

* Update code/game/objects/items/devices/PDA/PDA.dm

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

Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-10 19:41:34 -03:00
uomo
52a090af65 Consistency for station pets. (#52717)
* Station pets!

* Makes Lia and Sgt Araneus actual subtypes.

* Fixes some vars.

* Turns on AI for Cayenne and Lia, makes Lia neutral faction.

* Gives Lamarr a description.

* Pettable status and emotes for HoS and syndicate pet..

* Tom the mouse consistency.

* Comment correction.
2020-08-10 17:46:03 -03:00
ShizCalev
24eee0440d Fixes nations and banners not using global job lists (#52763) 2020-08-10 16:59:56 -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
uomo
85b700b2ea Lawyer and Courtroom department signs. (#52753)
* Lawyer sign.

* Courtroom sign.
2020-08-10 16:30:01 -03:00
ArcaneDefence
1d8af989ad Fixes some pacifism oversights (#52820) 2020-08-10 13:24:25 -04:00
Arkatos1
ff8af271d7 Object reskins now use a radial menu (#52800)
* Reskin radial menu

* Comment cleanup
2020-08-10 11:21:27 -04:00
Fikou
560364672f Dropping Now, Stand By For Titanfall: Mecha Orbital Pad (#52224)
* mecha orbital pad

* mecha orbital pad 2

* mecha orbital pad 3

* mecha orbital pad 4

* mecha orbital pad 5

* mecha orbital pad 6

* mecha orbital pad 7

* fixing conflicts

* Apply suggestions from code review

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

* conflicts and map and tgui and icons bro

* fix

* wa

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

* tguy

* Removed eslint ignore

Shouldn't be impacting the build.

* Update code/game/machinery/computer/mechlaunchpad.dm

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

* some fun stuff

* cool desc

* final changes hopefully

* late initalizing

* bitflags

* one last thing

* rohesie stuff

* Update tgui.bundle.js

* mm

* Update tgui.bundle.js

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-08 23:05:53 +03:00
uomo
358e549229 Petting more animals now causes floating hearts and a moodlet, borgs can now pet animals. (#52594)
* Petting.

* Oops.

* Update code/modules/mob/living/simple_animal/friendly/penguin.dm

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

* Working on underlying redo.

* More.

* Fixing to work with new emote system.

* Move proc and defines to living instead of mob.

* ...Moves it to simple_animal instead.

* Revert cat crate fix (other PR handling), fixes emote thing.

* Appveyor did not care for that.

* Comment typo.

* Very descriptive var name.

* Borgs can now commit pet.

* sweeps up missing manual_emotes, adds a hop to link for ghosts, and moves the name preface to ghost only

* More descriptive vars and proc name.

* Better descriptive vars.

* Making the borg code slightly nicer.

Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-07 20:46:49 -04: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
TiviPlus
8d72c64910 Lazylists some /mob and /living stuff (#52750)
* lazy

* Apply suggestions from code review

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

Co-authored-by: TiviPlus <TiviPlus>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-07 12:09:16 -03:00
TiviPlus
4817759fd0 Cleans up some refs (#52713)
* clin

* Might as well

* Unreferenced datums autodel + lame proc

Co-authored-by: TiviPlus <TiviPlus>
2020-08-07 11:46:44 -03:00
skoglol
779e3c52af Merge pull request #52726 from ShizCalev/latejoin-ai-circuit-fix
Fixes latejoin AIs not having a circuit board
2020-08-07 08:40:01 +02:00
skoglol
4b7eeef8e3 Merge pull request #52725 from ShizCalev/pai-fixes
Pai cable fix, adds icon for when new personalities show up
2020-08-07 08:39:10 +02:00
skoglol
9ce3040f81 Merge pull request #52727 from MrMelbert/touchyfeely
Allows blind people to touch things to examine them
2020-08-07 08:35:23 +02:00
tralezab
c26a134945 Ghost Pool Protection Admin Button (#52683)
* Ghost Pool Protection

* okay

* Update tgui.bundle.js

* just a bit of feedback

* temporarily

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

* Update GhostPoolProtection.js

* Update tgui.bundle.js

* my devserver broke

* okay done for real

* conflict resolution bundle

* Rohesies dope review

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

Co-authored-by: Emmanuel S. <emmanuelssr@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
2020-08-06 18:00:55 -03:00
Whoneedspacee
7c99c1f9b7 RCD Additions + Cyborg RCD Upgrades (#52018)
* adds directional window setting for normal grille window mode

adds furnishing upgrading to the rcd for chairs, stools, tables, and glass tables

both of these new introductions have their direction based on where you are facing when the timer for the build finishes

* adds the luxary rcd cargo pack with a loaded rcd, all 4 upgrade disks, and 3 extra compressed matter cartridges

* adds the furnishing upgrade to the techwebs

allows cyborgs to install rcd upgrades except silos

allows loading of metal and matter into the rcd by simply clicking on the thing you want to insert

lowers price of the cargo pack and removes the silo upgrade

adds banned upgrades var to the rcd

* you can now create windoors and deconstruct them as well

you can now deconstruct tables

doubles the price of the cargo pack for rcds

* removed cargo pack

* changes define to bitshift flags

moves matter addition to rcds to a proc on sheets

* matter amount is now a stack variable
2020-08-06 17:59:07 -03:00
silicons
51dc283773 supermatter anomaly generation can no longer be used to get anomaly cores (#52732)
* fix

* webedit moment yes i'm testing this pr shhhh you didn't see that failed compile

* haha what if i tested my code?
2020-08-06 15:25:45 -03:00
ShizCalev
b4121e4746 Sharpness fixes (#52720)
* Sharpness fixes

* fix
2020-08-06 15:05:27 -03:00
ArcaneMusic
e4ee108f4e Contributes more missing belt, back, and otherwise ERRORing sprites. (#52670)
* I'm crying over all these beeeeeeelts

* Removes ?

* Provides some close enough substitutes for inhands
2020-08-06 19:23:51 +02:00
Jared-Fogle
7df16c595e Confusion will no longer continue to confuse after being cured (#52286)
* Confusion will no longer continue to confuse after being cured

* Grammar comment fix

* Move to status effect

* Remove test per request

* Make confusion a status effect, confusion curing now completely neuters the confusion

* set_confusion changes, get_confusion

* Fix confusion going down twice per tick

* Change strength = to proc

* Move procs to status_procs
2020-08-05 16:36:00 -03:00
Timberpoes
8fc671f942 Implements job skillchip framework as per hackmd.io design document (#52630)
* Shift wire revealing logic to dedicated proc

* Bit of code modification. Framework for roundstart job skillchips.

* Implement roboticist skillchip trait functionality.

* Feex moth feet messup

* Add skill chips to robodrobe inventory

* Code refactor. Add missing skill_stations to Pubby and Delta.

* Implement special flags, changelings inherit skillchip skills

* Additional code refactor. Traitor chameleon skillchip framework.

* Implement traitor skillchip, fix up more code, move job chips to outfit datums

* Modify autosurgeon, create skillchip variant, add to uplink

* Implement chip cooldowns. Add new skillchip for station engineers. Cleanup some code. Add job chips to lockers.

* Feex

* Feex

* Code review implementation

* More feexes, improved chameleon chip code and more.

* Code review and minor refactor

* Additional review fixes, rebuild tgui

* Minor logic fixes

* Final Rohesie review

* Robust code changes, improved slot/complexity system.

* Rebuild tgui

* Code review

* Brain regeneration failsafe

* Lazylist cut fix
2020-08-05 21:21:29 +02:00
ATH1909
0604b8d3ad these are snowballs, not rocks (#52631) 2020-08-05 01:23:42 -04:00
ArcaneMusic
5c7ce2f407 Food trays drop their contents when deleted or destroyed. (#52667)
* Food trays drop their contents when deleted or destroyed.

* Moves the traycheck up to the storage level.
2020-08-05 01:13:38 -04:00
ShizCalev
ab34233272 cooldown n sound 2020-08-04 18:41:19 -04:00
ShizCalev
ddf78e7847 Fixes latejoin AIs not having a circuit board 2020-08-04 16:05:36 -04:00
MrMelbert
3f6e6ef5b4 Braille 2020-08-04 15:01:09 -05:00
ShizCalev
d3c312505b Adds PAI alert icon 2020-08-04 15:42:49 -04:00
Rohesie
6ff08e1c69 Color standardization, vars moved, and signals (#52574)
Defined all the existing light_color values.
    Moved their definitions to colors.dm
    Made white the default color. It was so already, but that was very obscured.
    Moved the atom light-related variables to the atom definition.
    Wrapped changes to variables such as light_color into procs that report the event through signals.
    Moved the light_on variable to the atom level, also adding a signal for its changing, to represent toggling lights.
    Cleaned up a little bit of code in where new variables were defined before redefinitions.

This is all atomization to reduce changes in #52413
None of this affect gameplay at all, it's all code cleaning and refactoring.

There's more colors to standardize, a search for color = will find lots of targets, and I see little need to have both the LIGHT_COLOR and COLOR patterns, but I don't want to make this PR bigger than it already is.
2020-08-04 13:59:48 +12:00
Krysonism
35602ec6d0 [READY]syriniver nerfix / syringe projectile fix + various fixes requested by maintainer (#52019)
* syringe projectile fix

* greenman review

* oversight fix
2020-08-03 13:57:56 -04:00
LemonInTheDark
092af76b5d Adds an atmos debugging tool and excited group visualizer (#52395)
* Adds an atmos debugging tool and excited group visualizer

* rebuild moment

* yarn install -> yarn run build

* Sigh

* Fixed UI, did not test, needs a rebuild.

* Proper flexing

* Adds varied colors, improved ui courtusy of stylemistake:

* Fixes a runtime, updates tgui

* added superconductors, cleaned up some shitcode, removed a clashing color

* Woop

* Speed

* rebuild

* Adds a tick count

* begone auto-update

* color defines

* rebuild moment

* color improvements, fixes updating

* adds another preprocesser define to handle showing max shares in the ui

* test of application system?

* patches up some display issues, allows for smooth flowing from one group to another

* overlay-ified

* client testing

* dmi moment

* plane master

* it fucking works

* size change

* passthrough

* rebuild moment

* adresses review concerns, toggles active turf vis on when testing

Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-08-03 09:15:08 +02:00