cl ShizCalev
refactor: Optimized a good chunk of MULEbot code, fixing things such as it rebuilding it's overlays/icons 5 times every second while moving to a destination. Less free lag!
fix: Fixed MULEbots closing crates when the crate doesn't actually get loaded onto it.
fix: Fixed the maintenance hatch on MULEbots visually closing for a moment when emagged.
fix: Paranormal MULEbots will no longer briefly turn into a normal MULEbot when emagged.
fix: Fixed interface exploits involving paranormal MULEbots carrying ghosts.
fix: Fixed MULEbot blood tracks sometimes facing the wrong direction.
fix: Player controlled MULEbots will now leave bloody tracks if they've run over a mob.
fix: Fixed players riding MULEbots sometimes appearing underneath it instead of ontop of it.
fix: Fixed AI's making a chiming noise when they receive a remote notification from a MULEbot. Now only the AI will hear the notification's sound.
fix: Fixed MULEbots dropping mobs off at their current location instead of at their dropoff point.
fix: Fixed a minor runtime related to MULEbots dropping off deleted items/mobs.
fix: Fixed mobs having the wrong height offset when riding MULEbots.
fix: Fixed mobs sometimes ending up underneath MULEbots while riding them.
fix: Fixed mobs not falling off MULEbots when stunned / incapacitated.
fix: Fixed inducers not recharging MULEbots.
fix: Fixed MULEbots leaving bloody tracks in space.
fix: Fixed MULEbots leaving multiple blood tracks in the same spot if they failed to move.
fix: Fixed hacked MULEbots spamming messages about knocking down a mob when they didn't actually do it.
fix: Fixed MULEbot commands not resetting when they were turned off.
fix: Fixed MULEbots not turning off properly when their maintenance hatch is opened.
fix: Fixed MULEbots not turning off properly when they ran out of power while moving.
fix: Fixed MULEbots flashing their external warning lights while they're turned off when their avoidance wire is cut.
fix: Fixed mobs being able to walk right over MULEbots when they turn off.
fix: MULEbots will now try to put their powercell in your hands when you remove them with a crowbar.
fix: Fixed the interface for MULEbots briefly looking like you turned it on successfully even though it was out of power.
fix: MULEbots will now provide feedback if they fail to turn on due to their maintenance panel being open.
fix: MULEbots will no longer flash and beep when their wires are pulsed if they don't have power.
fix: MULEbots will now actually flash when their external warning lights are pulsed.
tweak: MULEbots will now flash when they beep / buzz.
add: Added a bit more examine text to MULEbots.
/cl
Fixes#42918Fixes#46030fixes#38594
About The Pull Request
NT is finally cracking down on underage drinking and smoking on its stations, and you must now be at least 20 years old in order to purchase alcohol or tobacco at vendors. Underage ID's will be visible as such when shown or inspected. Bartenders below the age have discreetly had their IDs modified to be the minimum age, though if anyone cross references the station datacore records, they'll be exposed!
dreamseeker_2020-03-31_05-04-22.png
You can adjust the registered age for an ID at the HoP's console, the same way you would adjust the registered name. You can also pulse the age restriction wire on vending machines to disable the age checking system if you want to hack the system. I chose 20 as the legal limit because I don't care to listen to people fighting about 21 vs 18 and America vs the world, and it still will affect a decent amount of people I figure.
2020-03-15_21-40-54.png
Why It's Good For The Game
Makes age a teeny bit relevant, you can now more easily identify and bully 17 year old Heads of Staff.
Changelog
🆑 Ryll/Shaps
add: Due to pressure from various organizations, Nanotrasen is implementing a new ban on the purchase of alcohol and tobacco products for crewmembers under the age of 20 onboard its Spinward space stations. Please remember that providing alcohol or tobacco products to underage crewmembers is against Space Law, and remember to check those cards bartenders!
add: Standard Nanotrasen IDs now display the registered age of the holder, which you can change at the HoP's access console.
/🆑
About The Pull Request
For an item to be two handed just add this handy component.
All existing two handed items have been converted to use this component.
Why It's Good For The Game
It has components and signals, and now you can make items two handed so simply.
/obj/item/shockpaddles/ComponentInitialize()
. = ..()
AddComponent(/datum/component/two_handed)
Living and machine stat vars are pretty different, one uses flags and other number-defines.
This should make some other mass-replacements and searches a bit easier.
* Unicode support Part 1
Makes all calls to ascii2text() and text2ascii() unicode aware as well as all calls in code/__HELPERS/text.dm.
Adds defines for the footext_char() procs to maintain 512 support.
I did some cleanup on the text helpers since a lot of them were really, really bad.
reject_bad_text() and reject_bad_name() have an arg to reject non-ascii chars which defaults to TRUE.
* Give travis a more recent beta
* Ultimate compat
Added the _char procs I was missing
Test the build instead of the version because Lummox is a goddamn moron
* Suggested fixes, removes the last of the dd_ helpers
* Reading the reference is very important!
* Minor code improvements and a comment
* Typo
Several of the greps were missing the `-P` switch which caused them to
fail to match things. The EOL grep also wasn't working right so I
replaced it with the one I added to TGMC.
* Initial tgui-next commit
* Improve dev server, slight changes to layout.
* Add more components, fix dragging, finalize scrubber list
* Complete an air alarm interface.
* Multiple improvements based on feedback
- LabeledList now has a "buttons" prop, where you can put buttons.
- Improved Box and Flex components
- Whole UI is now dimmable if non-interactive
- Basic documentation of components (Box and Flex so far).
- Icon and Box now accept a "color" prop.
- Routing improved in "Layout" component, you can now specify whether an interface is scrollable.
* Less harsh dimming
* Redux, Toasts
- Fixed inconsistent backend updates with Redux.
- Added Toasts which are currently unused, but are functional.
* acclimator + ai airlock ui
* Add a progress bar component, implement resizing
* Fix a zero in title bar
* Add a linter to keep shit tidy, fix danger level mapping, add some more docs
* better ai door interact ui
* final ai airlock interface
* Fix issues with code, enforce hard 120 line length cap, automerge binaries
* Implement hot module reloading
* Fix progress bar, add color support
* Fix ProgressBar baseline alignment issues
* Remove unwanted padding on the bottom of the LabeledList.
* Component improvements
- Fix baseline issues with Button and ProgressBar components
- Box how inherits props from Box
- Atomic colors and Button colors are now auto-generated, all range of colors supported
* Chem Dispenser UI, animated numbers, more style fixes
* Add an IE8 polyfill
* Intermediate state of fixing IE8
* Lots of shimming and general misery
* Fully working old TGUI chainloader for IE8, more pipeline improvements
* Support title-less Sections
* Delete Yarn, use Lerna for workspace management
* Improve maths and animated numbers
* Fix loss of focus for scrollable content, activate buttons with keyboard
* Attempt to bust the cache, grab focus on keyboard presses too
* Fix hot module replacement by manually pulling replaced modules.
* backend logging
un-nuke line endings
changes without insane line endings
* helper procs + href support
* slight optimization
* compiles
* Redux, Hotkeys, Kitchen Sink (for UI testing), Tabs component
* Push logs to backend, small kitchen sink changes, tab fixes
* Update component reference in README
* Small fixes
* Next bunch of IE8 fixes, PureComponent optimization for Inferno
* Delete old tgui html
* Log the event of loading the old tgui
* Enable tgui logging on server by default
* Final solution
* Extract routes into a separate file, fix ChemDispenser bug
- Chem dispenser was needlessly disabling transfer amount buttons
* Disable baseline alignment for vertical tabs
* Fix tabs and box units
- Tab content was not taking full page width
- Box can now accepts strings as units, which will be treated as raw style values.
* Fix tgui on Terry
* Fix sending all logs with an "error" flag
* Some macro UI component changes and improvements
- Refer to README.md diff to see what's new
* Tooltip component
* Add support for themes, nanotrasen logo is back
* Clockwork theme hotfix
* Slight adjustment to logo positioning
* Actually proper solution for logo positioning
* Fix color maps
* tgui-next thermomachine interface
* tgui-next canister interface
* Add icon_class_name proc to asset cache
* Lots of stuff backported from actioninja's repo
* Cleanup oopsies
* Cargo UI adjustments
* Nuke lodash
* Minor fixes and cleanup
- Remove local Inferno package in favor of upstream Inferno
- Fix "initial" prop on AnimatedNumber
- Force fancy=0 for IE8
- Click-through dimmer
* Add a bat file for dummies
* podlauncher interface fix
* Update README, assert code dominance
* Clarify usage of event handlers in Inferno
* Document LabeledList.Divider
* Fukken grammar
* fixes cellular emporium readapt button not working
* fixes incorrect action on button in atmos control interface
* remove unneeded data from airlock electronics ui
* Set +x mode on bin/tgui
* Fix filename cases
- They were untracked by git on windows
* Ignore package lock, make batch more robust
- package-lock.json is very random and unreliable as fuck. Yarn was better.
* Build tgui-next in travis
* bruh
- fixes tgui error reporting
* logging cleanup + always log
About The Pull Request
Converts every single usage of playsound's vary parameter to use the boolean define instead of 1 or 0. I'm tired of people copypasting the incorrect usage.
Also changes a couple of places where a list was picked from instead of using get_sfx internal calls
This was done via regex:
(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\)) to match 1
(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\)) to match 0
full sed commands:
/(playsound\(.+,.+,.+, ?)1( ?\)| ?,.+\))/\1TRUE\2/ 1 to TRUE
/(playsound\(.+,.+,.+, ?)0( ?\)| ?,.+\))/\1FALSE\2/ 0 to FALSE
I'm not very good with regex and these could probably be optimized, but they worked.
Why It's Good For The Game
Code usability
About The Pull Request
Adds 'notice' span class to all visible_messages which had no span class, making all those black messages blue.
Why It's Good For The Game
This should help differentiate action-messages from talking-messages in the chat. More actions will be blue, thus black talking-messages should pop out more.
* assemblies are shit fuck em
* maybe press commit before making a pr
* proxy stuff
* morestuff
* qol stuff
* only 1 wire
* revert that garbage that made me conflict
* changes
* wires
🆑 coiax
add: The cyborg reset module wire has a star symbol marking, allowing
a trained Roboticist to easily provide resets without altering
any other cyborg settings.
/🆑
When I removed cyborg module reset modules, it was pulse-to-reset, which
when applied to all the wires on a cyborg, had no real side effects
if there was only one AI.
Now that it's a cut-to-reset wire, cutting all the wires will invariably
desync the cyborg from its parent AI, given that all cyborg wires are
randomised.
My intention was never for the reset wire to be "found" just like door
wires, just to make it cheaper and possible to reset a borg module
"in the field".
Someone who hasn't read the wiki or knows what a "star symbol" means,
will have to be told what to look for, so I chose this method of signaling
rather than just "the module reset wire is X".
Also, it's a Keep Talking And No One Explodes reference.
cl coiax
add: Microwaves have a single wire accessible when open, the activation wire.
When cut, the microwave will no longer function, when pulsed, the microwave
will turn on.
add: Stabilized dark purple extracts now cook items in your hands, rather than dropping
the cooked item on the floor.
/cl
Previously microwaves just worked on their contents, now they keep a subset of contents called ingredients, because otherwise it would explode whenever you put a signaler inside.
Someone asked me to do it. It seemed like a neat idea. God knows
what horrible things people will do with this.
cl ShizCalev
admin: Fixed AI fingersprints not getting logged
admin: Fixed some door interactions not being logged at all.
admin: Turret control interactions are now in mob combat logs
/cl
Fixes#40203
Semi WIP. Good to merge for the most part, but I would like to add logging in a couple more spots.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
* converts to using key instead of ckey for user facing logs and ui
* more key_name for airlock wires
* futureproofing check for if key changes
* --onlyckeymatch script argument and fail/success counter
* fix
* different guns can be inserted into emitters
* fixes portal gun runtime
* You can now switch type through wires
* makes one line more readable
* Fixes being able to grab nodrop guns from emitters
* adds signal and modifies each call of afterattack to call it's inherited proc
* uses new macro for sendsignal()
* map fuck
* skip precommithooks
* combine and negate 2 ifs
* Standardizes access checks
* Makes SS Networks init before SS Atoms to prevent NTNet interfaces from initializing before them
* Adds passkey support to NTNet packets
* Adds NTNet support to airlocks, makes door remote use NTNet
* Access levels given by jobs are now shuffled
* Access code improvements
* Adds IC card readers
* Fixes a delay issue with opening/closing airlocks with NTNet or signalers
* code review memes
* Renames plaintext_passkey to encrypted_passkey
* death by thousand nitpicks
* Adds tool_behaviour support to construction datums (mech construction)
* Adds tool_behaviour support to wire datums
* Adds tool_behavior support to surgeries
* Adds tool_behavior support to crafting
* New proc, to be used for checking tool qualities in hands
* Improves tool quality support on wires
* It works, but is it worth it?
* bitfield helpers take 1
* Would this work?
* remove dangling debug code
* rebase & fixes
* vv bitfield stuff, reading
* DNM oceans of shitcode DNM
* honk
* honk2
* plonk
* rebase & fix