Trying this again. When *spin-ing as a cyborg, the way mobs are thrown off you depends on your intent. On help intent, they will be thrown a shorter distance from you and will never be damaged or stunned (they will still be knocked down). On harm intent, they will be thrown the current distance and will be damaged and stunned if they hit a wall or another person.
WHAT THIS ACTUALLY CHANGES:
Currently, whether or not *spin-ing will actually hurt/stun someone depends on whether or not the *spin-ing borg is emagged. This PR also reduces the range of the help intent throw, but since the knockdown happens whether or not the thrown mob hits something this is in most circumstances a cosmetic change. So, in summary, if you are a non-emagged borg in help intent the only thing this changes is you will chuck people a slightly shorter distance.
Why It's Good For The Game
This isn't exactly the most important change, but a borg should be able to control their behavior. Having damage/stun from throwing determined solely by emag-ness seems more like a hacky kludge than a legitimate design choice. Also, having the behavior of borg-throwing determined in the code for carbons is messy.
Changelog
🆑
add: The behavior of cyborg's *spin emote now changes with intent; on harm intent, it will throw its passenger farther and damage and stun them if they hit a wall or another person.
/🆑
* Adds a function to grant research points for slime cores
* I meant to change it to 1k points before pushing
* changes slimes so they give different points based on what tier they're on
* A few fixes and more efficient code
* Adds sanity checks, used extracts can't be cashed in
* Refactored code
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.
Makes use of the do while(FALSE) trick to give it its own context and makes it possible for the inserted value to be different from the compared value so #48747 can use it.
About The Pull Request
Discovered via paramedics missing their start landmarks, jobs without landmarks would spawn on the last landmark to be loaded in the map. This appears to not have been intended, and they now spawn on the arrivals shuttle if available. If that fails they spawn in the error room.
I am touching job distribution code so I'd like this to be testmerged for a bit before getting merged.
Why It's Good For The Game
This is a bug in an error condition, so it will only show up if there are map bugs, which is why we haven't uncovered it for so long.
Changelog
🆑 JJRcop
fix: Jobs missing spawns will spawn on the arrivals shuttle.
/🆑
* Log fetch and write costs in SSprofiler.
* Update profiler.dm
* Update profiler.dm
* Add performance enhancements
This should ensure it doesn't lag the server too much.
* Minor text changes
* Unicode support Part 2 -- copytext()
This is the transition of all copytext() calls to be unicode aware and also some nearby calls in the same functions. Most things are just replacing copytext() with copytext_char() as a terrible character limiter but a few others were slightly more involved.
I replaced a ton of
````
var/something = sanitize(input())
something = copytext(something, 1, MAX_MESSAGE_LEN)
````
with a single stripped_input() call. stripped_input() already calls html_encode(), trim(), and some other sanitization so there shouldn't be any major issues there.
This is still VERY rough btw; DNA is a mess, the status displays are complete ass, there's a copytext() in code\datums\shuttles.dm that I'm not sure what to do with, and I didn't touch anything in the tools folder. I haven't tested this much at all yet, I only got it to compile earlier this morning. There's also likely to be weird bugs until I get around to fixing length(), findtext(), and the rest of the string procs.
* Makes the code functional
* Assume color hex strings are always # followed by ascii.
Properly encodes and decodes the stuff in mob_helpers.dm which fixes some issues there.
* Removes ninjaspeak since it's unused
* DB ticket procs
* Schema changes for DB tickets
* Schema version update
* Fixes requested by Jordie
* SQL updates
Adds a recipient column
* Still one dangling issue where this DOESN'T WORK
* Alright, this should work
* Requested SQL fixes
* Rogue changes
* less bad defaults
* utf8 for the utf8 gods
* aaaaaa
* Update tgstation_schema_prefixed.sql
* Update tgstation_schema.sql
* Update database_changelog.txt
Co-authored-by: Jordie <4343468+Jordie0608@users.noreply.github.com>
* Squashes Commits, has BEPIS, Techs, TGUIs, Rewards, and fixes.
* Makes rewardable techs a variable in all_nodes, and removes RnD Points rewards from the minor reward pool.
* Fixes conflict with pubby and beam icon.
* Review comments and basic cleanup A
* Review Comments and basic cleanup B, also cleans up icon states to work fluidly.
* Map Update
* Indentation, flipped Update_decal_path, and rebuilds tgui
* One last clean up of icon_state, adds the last bit of changes from review, and that should be everything.
* Alright last change for real I swear 105%
* Last change, adds simple sanity check for silicons.
* Moved Human and card variables into ui_interact.
* Fixes map conflict
* Alright Review Round 2 Part A, Fixes Grammar, splits polycircuit into it's own file, UI QOL improvements, Withdrawing credits, changes from arbitary values on the mini RLD, etc.
* More review bits, Part 2:B. Easier returns for less processing, Defines, fixes the merge conflict and updates the UI with new buttons. Just need to figure out Button Mapping for the UI and Duplicate prevention.
* Implemented duplicate tech protection. Yeet.
* Get back in there you
* Alright why are you breaking on me god damnit.
* It's optimized, closer to god, nearly perfect, all together it's ready to ship.
* Cleans up all of the decal painter, shorter, cleaner, works around all the turf_decal quirks.
* Tab spacing on github will look fucky
* More review changes.
* Uses use_power == ACTIVE_POWER_USE instead of powered except for the UI
* Modifies the amount of research gained per Strange Object scanned, adds bad things
* Reduces the amount of research produced passively
* Increases spawn rate for strange objects and adds 2 guaranteed spawns to each map
* I'M WEB EDITING AND NOBODY CAN STOP ME
* Refactor
Improves the code for the solar panels a lot. It's still pretty bad but to make it better I'd have to dive into powernets.
Solar panels visually rotate a full 360 degrees instead of being locked to ordinal directions only. In 513 this uses vis_contents, in 512 it uses a regular overlay that needs to be reset constantly.
Adds a signal from the sun SS when the sun moves.
Timed tracking is now measured in degrees per minute instead of degrees per hour.