* Megafauna teleportion exploit fix (#53093)
Prevents megafauna from being added to a chilling bluespace extract's linked list, removing a way of teleporting all the megafauna from lavaland onto the station at once.
Also prevents regenerative bluespace extracts from instantly teleporting megas to where the extract was made.
* Megafauna teleportion exploit fix
Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
* [s] sanitizes nanite extra settings (#53065)
/datum/nanite_extra_setting/text/get_value()
return html_encode(value)
HTML injection bad. Brainwashing and potentially happiness programs are all subject to this, unless code has changed for how objective text is rendered. I don't think there's any case where nanites even need to be able to accept raw html.
* [s] sanitizes nanite extra settings
Co-authored-by: silicons <2003111+silicons@users.noreply.github.com>
* General nanite nerfs. (#52937)
Nanites have recieved a general nerf, mostly in the healing department. This is probably not enough nerfs, actually.
* General nanite nerfs.
Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
* 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>
* 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>
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>
* [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>
* Support for expansion-class modPC hardware (#52644)
* Support for expansion-class modPC hardware
* end of the line
* As requested
Did anyone know that the tablet vendor was attaching the wrong ModPC printer? I bet no one knew that.
* update
* Support for expansion-class modPC hardware, a modPC hardware item required for the atmos scanning app, and reworking ID card slots in a related fashion
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* 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>
* Fixes a couple things not sending icon update signals (#52778)
* Fixes a couple things not sending icon update signals
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
* Cleanup up all instances of using var/ definitions in proc parameters. (#52728)
* var/list cleanup
* The rest of the owl
* plushvar bad
* Can't follow my own advice.
* Cleanup up all instances of using var/ definitions in proc parameters.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* 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
* RCD Additions + Cyborg RCD Upgrades
Co-authored-by: Whoneedspacee <yougotreallyowned@gmail.com>
* 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
* Confusion will no longer continue to confuse after being cured
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
* 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.
* Color standardization, vars moved, and signals
Co-authored-by: Rohesie <rohesie@gmail.com>
* Cleans up some unused procs and makes is_blocked_turf a turf proc. (#52482)
* Cleans up some unused procs and makes is_blocked_turf a turf proc.
* Update code/game/turfs/turf.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* Cleans up some unused procs and makes is_blocked_turf a turf proc.
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
Co-authored-by: Rohesie <rohesie@gmail.com>
* Simple skills framework.
* Map changes.
* Adds skillchips to vendor
* Adds skill stations to the map.
* Circuitboards
* Fix typo
* Some minimal instability
* Fixes,tweaks etc
* Suggest better names or we'll end up with these.
* sharpness thing
* tgui build
* Makes wine from booze synthetizer show to wine tasters.
* Makes wine from dispenser have taste for wine tasters.
* Apply suggestions from code review
Co-authored-by: Rohesie <rohesie@gmail.com>
* Swaps to carbon var.
* wordy helper proc
* While i'm at it, other relaymoves
Co-authored-by: Rohesie <rohesie@gmail.com>
* Part 1: Arcane is challeneged to rewrite all of economy at 4am on a wednesday, accepts
* Miasma? DUNKED
Bounties? CHUNKED
Hotel? TRIVAGO
* End of day... 2? 3? lockdown has ruined me
* Day 3. I cannot unto bogdanoff. Send help.
* So far so good.
* Day 4, in the ghost house. I've resprited a beloved machine with soul in it. There is a chance, I am losing my mind. Sometimes I hear the words, "When is economy done, arcane", and I look over my shoulder, and oranges isn't there, because he lives in New Zeland. Probably.
* We'll throw the technodes and mapchanges in too.
* Okay lets keep this a friendly debug item then
* yeah on second thought lets not make a precision testing instrument on a 50% success ratio.
* Newscaster updates.
* TGUI Rebuild 1 start counting fokes
* Runtime BEGONE FROM ME, fckn typepaths
* Cleans up autodocs, and other areas
* Updates tgui because I feel nothing anymore
* Recompiling tgui for that green check
* dunks the whole mint out of the code, get that hothead outta here.
* Green checkmark daily update.
* Should be decent from here.
* Resolves machine_design conflict
* Rebuilds TGUI again for the epic pogs
* Sweeping changes 2: See additional changelog
* Haunting insurance plus changes the define comment.
* Rounded vending prices, made bounties appear on examine, polish
* Atmos tanks now specify their mole requirements.
* TGUI 4.0 Updated.
* ACTUALLY updates to TGUI 4.0 standards.
* ThE bUiLd DiFfErS fRoM oUrS
* Ah, I didn't see the testmerge get re-upped.
* TGUI Rebuild.
* Shuffles some security-assistant bounties around
* First draft
* tgui interface bluescreen guards
* Preparing for cyborg module sub-categories
* The rest of the owl
* Stop duplicate say messgaes
* Implement interface handling for obstructed exits
* Pocket lint
* Documentation and misc. code cleanup
* Implement searching in interface
* tgui pocket lint and build
* Coding style consistency and changes. Rebuild tgui.
* Update default bitflags
* Address potential edge case bluescreen.
* orange man good
* Remove emag_act with obsolete functionality
* Standardise variable naming conventions
* tgui 4.0 update
* tgui 4.0 update
* Port a couple of usability improvements from concept branch.
* Fix new ui_act input.
* Actually fix new ui_act input
* Port some small improvements from concept branch.
* Rebuild tgui
* Made department of redundancy department redundant.
* Rebuild tgui.
* Startwork
* stopwork again
* AGAIN.
* Good place to call it for now
* Startwork but I actually put some work in
* The left list doesn't work, stop for now.
* God remind me to squash these commits later.
* Well, I think I can safely say I have actual work done now
* The post-Brisk iced tea patch.
* God damnit nothing works I hate this worl
* Good place to stop, stuck in a chronic error state
* I take it back now I need to sleep jesus god
* I am grown POWERFUL in my dispair
* FINALLY READY TO PR.
* Request order swap
* Update and tgui recompile
* Adds a kiosknet, so adding a new bounty alerts all the bountyboards
* Renames file, attempts to port to modular app too because fuck my life
* Fuckin feature creep I tells ya
* Removes an unused proc
* Rebuildin
* Hopefully updates tgui and fixes an easy runtime
* Finishes updating/conflicts
* Mapmerges my shit.
* Rebuilds tguiiiiiiiiiiii
* Updates tgui
* Updated once more
* merge conflict fixaroni
* God I wish that I had a game I was dedicated enough to finish in a single setting
* Rebuild of PR: You will (Not) compile
* Cobby's changes and Anturk's Suggestions.
* Should probably prevent a runtime.
* Rebuilds TGUI.
* Lets not delete my own files please god
* Style's changes
* ALL the warriors
* What if I didn't delete ZX's app sprites again
* Start workin on a text component later
* Makes some code suggestions, doing it all in UI will kill me
* tgui update
* DNM until I get this gosh darn text working.
* The changes that I need afaik
* And a tgui rebuild to boot
* When that program datum spoke to me, I felt that.
* Makes changes to text input sanity, Pray
* By god I think I've cracked the code.
* Had no idea you could atomize UIs like that, this is revolutionary
* Spaces
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
* New device: Portable Chemical Mixer
* Added entries to the tech web and the medical techfab
* removed unused icons for chemical cartridges
* small bugfix in build_path of portablechemicalmixer
* changed description and added info message
* Added newline
* Added a functioning newline
* Added a vortex anomaly core requirement
* Replaced old sorting method with sortBy
* Updated tgui.bundle to work with the latest code changes
* Added documentation to all variables and procs
* Small fix in wording
* Removed all non-class level documentation
* Updated tgui.bundle for the newest offical code version
* Updated tgui.bundle to work with the newest code version
* Updated the tgui.bundle to work with the newest version