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.
Refactors mobility, so we respond to more things as events.
One has_legs and has_arms are turned into events we'll be close to be able to eschew update_mobility()
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.
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.
* Fix spacevine friendly fire and replace explosions
* Newline at end of file
* Moved var into for, replaced silly range 0, added autodoc, changed comment
* Removed accidental parentheses
* Travis rebuild, and minor fix
* Travis rebuild
* New Travis rebuild attempt
* Changed to playsound(M
* Update organs.dm
tails :)
* durathread, plastic and cloth exports
* slime extracts for cargo
deffo wont get snatched up by an antag on the way
* paperwork bounties
* cat ears and nerf cat tail value
* buff hypercharged core & nerf rainbow core
* added humanlike meats
* soap bounty
* fun artisanal stuff to export
* already soap bounty i'm dumb
* lower bounty rewards
* `lower plastic value
* moving raw meat exports
* adding humanoid food values
* added export values to human meats
* added sheetza and meat blocks to exports
* nerfed the values big time
* no more plastique
I was converting this to use length so it didn't have to care if the list existed or not, and forgot to remove the .len. this broke cdn .rsc files because length(num) returns 0.
they now land in a random place on the same z level.
the docking ports for pods check for the lavaland area for random tiles place themselves on, but ice moon doesnt have a lavaland, so they land in the default space, which is 3 tiles away
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
Adds a recommended fps option. Setting fps to -1 now sets client.fps to RECOMMENDED_FPS.
Sets recommended fps as the default option for new players.
Current value for recommended fps is 40.
Makes suicide bombing with voice analyzers harder, while keeping the more fun behavior by adding some tells and delays.
Things attached to a grenade's pulse wire use the grenades timer, rather then just insta booming.
* Ugh too tired fix latter
* Ok think its fixed, still need to make the stamp working
* Major fixes done, but still the ui dosn't pop up once you examine the door
* Ok you can read doors now, that was annoying.
Ok we done
* Update paper.dm
oh fix
* I have DONE it! Alright
* Miner fixes on order
* Update tgui.bundle.js
* Update code/modules/paperwork/paper.dm
Sure
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/paperwork/paper.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Alright some fixes
* Update tgstation.dme
* Revert "Update tgstation.dme"
This reverts commit 3eaa48d9fcfa2645663420165c39643c3ae5d939.
* Update tgui.bundle.js
* Update code/datums/components/honkspam.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/datums/components/honkspam.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/paperwork/paper.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Update code/modules/paperwork/paper.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* Bahhh...me..so..tired
* pointless uistate gooone
* Update tgui.bundle.js
Co-authored-by: Rohesie <rohesie@gmail.com>
Rolls TK checks into baseline mob can_interact_with code.
TK check code unashamedly stolen from /mob/living/carbon/human/shared_living_ui_distance
This change touches every single can_interact interaction involving a mob and an atom, except /obj/machine which overrides can_interact without calling the parent and thus is unaffected by this change.
It enables any functionality that would require a can_interact() check to return TRUE. It effectively works alongside the adjacency check and comes into play if the adjacency check would fail.
* 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
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.
* 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.
Fixes#51787Fixes#44981
Species code is the fucking worst.
Lizard tails and spikes are broken outside of admin intervention and neither work nor apply when spawning into the game from the main menu.
Functionality was broken in #49062
Functionality was further broken in #49771
This code makes my soul hurt. I don't have the time or patience to refactor it. This should work around all the functionality broken in the above two PRs until such a time as someone fixes this mess.
If anyone does that, may God have mercy on their soul, for this code has none.
This PR fixes a bug where service cyborgs were unable to set a color of the pipe cleaner cable they possess due to not setting an actual color code for a cable colorization and a duplicit name variable.
Also adds an option for cancelling color choosing input as per maintainer suggestion.
* CPR will now automatically repeat
* Fix being able to do multiple CPRs at once, styling
* Make changes as per review
* Refactor into loop
* Change while TRUE to do while
* Change conditional
* Explicitly set 3 SECONDS
-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
* my heart skips a beat, my heart skips a beat
* Update code/__HELPERS/hearted.dm
Co-authored-by: Rohesie <rohesie@gmail.com>
* case insensitive
Co-authored-by: Rohesie <rohesie@gmail.com>
* Adds the large fuel tank
These are actually just tactical nukes on wheels but whatever
* Gives engineering these new tanks
Because who else would need them hm?
Admins will now be able to look up a player's bans from several other servers via the player panel.
My hope is that porting this to as many servers as possible will encourage more servers to make their bans publicly viewable so they can be included in this system. Direct access to a server's database is not required (or even supported).
Supported servers:
BeeStation
/vg/station
OracleStation
FTL13
Fulpstation
TGMC
Planned support (WIP):
World Server
Yogstation
Halo: SSE
Any other server willing to make their bans publicly visible.
API: https://centcom.melonmesa.com
Source: https://github.com/bobbahbrown/CentCom
Changelog
cl ike709 and bobbahbrown
add: Admins can now see your bans on (some) other servers.
/cl
* 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>
* Better camera logic
* AI eye cameras can see through borgo cams
* Switch that to being able to see through any silicon's camera
* Switch that to being able to see through any silicon's camera
* Disable borgo camera at high damage
* Rohesie-proof some code
* 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>