About The Pull Request
Allows the crafting component to not be limited to just mobs but also able to be put on just about any atom, in addition it also gives a bit more settings to play around with like increasing the range of the ingredients search or choosing what to do with an item before it's placed anywhere.
Why It's Good For The Game
Enables greater functionality and may be a precursor PR before implementing automatic crafting machinery as this PR would allow machines to be able to do such a thing.
Changelog
🆑 ma44
refactor: Crafting has now been refactored and allows non mobs to have the ability to craft, at least that's what would come out of it if someone further developed the idea.
/🆑
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.
* Initial commit, wood datum mat. Works on my machine.
* Wait this makes baseball bats worthless nevermind
* Review changes, uses the define now, just don't know how bitflags work well enough for that other bit
* Adds the material dependance check
* FINE
* 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
* update_icon() improvements
Fixes some update_icon() calls to properly call parent and use update_overlays() and update_icon_state().
The rest of obj/item fuck it
* Suggested fixes, also passes the linter
* I always forget . = ..() is faster than return ..() FOR SOME FUCKING REASON
* Actually this is better
* Signilzes datum/action to update its icon when its connected item does.
Basically this would let you upgrade fake roman bucklers to fully
fledged riot shields with a flash on them.
Also fixed some inconsistent list indentation.
* Pin removal recipe turned into proper tool_act. Has examine message informing you that you can do the thing. Now plays proper tool sounds.
* fixed message
* Adds safety requirement checking to crafting
/datum/crafting_recipe now has check_requirements() which will be called once item instances that will be used are collected. If this fails, the crafting will be aborted.
* Prevent populated AI cards from use in crafting.
- Overrides check_requirements for the aitater crafting_recipe, failing it if there is an AI present in the candidate card.
About The Pull Request
Now that achievements are open for adding again, adds 7 new misc achievements-
Disk, Please!: As a nuclear operative, hold up the captain with a loaded rocket launcher. The captain must be conscious for it to count!
My Watchlist Status is Not Important: Get reported to security and medical staff by displaying antisocial tendencies in a video game.
I Was a Teenage Anarchist: Get killed by a vending machine falling on you.
Mister Sandman: Kill someone by botching surgery while they're asleep
A Bowl-d New World: Die to a toilet
How Do I Switch Hands???: Hit yourself idiot
One Lean, Mean, Cleaning Machine: Gaze upon a fully promoted cleanbot
Why It's Good For The Game
Adds more fun things to do for the gamer cred that aren't just killing things on lavaland
Changelog
cl Ryll/Shaps
add: A bunch of new achievements have been added! To name a few, there are achievements for holding up the captain with a rocket launcher as a nuclear operative, dying to inanimate objects, dying in a toilet, and getting watchlisted! Go do some dumb stuff!
/cl
About The Pull Request
Drones self destruct when leaving the derelict (changing zlevels)
Why It's Good For The Game
This was requested by an admin. You can slap everything in someone's face to NOT LEAVE THE DERELICT, and they still will. So here.
Changelog
cl
admin: drones are no longer allowed to leave their station, they will die upon doing so
/cl
* Smooth movement
Squashed commit:
[870d550fff] updates a variable name to not shadow a parent variable
[65131a9a4b] redundant
[7c85f7b87e] override based pulling and pushing
[60a9760c4b] unnecessary when it's done via an override
[0a67dfb3cb] removes a redundant manual override
[7f25104fed] pushing
[2bfd9973eb] eh
[fca7155245] cast properly
[ad4b9ad8ab] compile fix
[c28fde4bfb] some wonkiness with pulling fixed
[0e028d30b3] buckling fix + finer rounding
[8f93df2bbe] dragging + buckling fixes
[1541e1ce78] small optimization
[bda72345dd] smoother movement
fix to dragging being fucky
vehicle fix
orbiter fix
eof newline
cleanup
comment cleanup
stupid hack
bunch of tweaks/hacks + 60 fps default oh god
potential fix for orbiter issues (in a shitty way)
early override for some cases
unset orbit
multiply instead of add offset
no
no more timescale scaling and higher multiplier
meant to include this in last commit
comment
* clamp to 6, 1.25 multiplier
* (poorly) fixed buckles not always propagating
* get rid of some debug prints whoops
* fixes an infinite loop
* syntax + update savefile instead of interpreting 0 different
* uuuh
* *blink *inhale *exhale *blink *inhale *blink *exhale
* rapidly blinks
* mass immersion
* how was that even working
* manual blinking today, manual breathing tomorrow
* b
* cleansed
* more neatening
* minus check
* Update code/modules/admin/verbs/randomverbs.dm
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* un-nom's my code
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* un-nom's my code
* less
* Nanite TGUI-Next + Dropdown
nanite remote
program hub and better remote
fuck it let's make a dropdown component, time to die
DROPDOWN WORKING HOLY SHIT
more dropdown work
cleanup + fixes
new timer system
nanite work
jj
functional dropdown + final structure for backend, more refactor needed
dropdown being insane
oh my god dropdown actually works correctly for once
massive backend refactor
small fix + docs
dropdown optimizations + width
wip nanite cloud control
forgot it
cloud controller
bunch of work
final chamber console
nanite remotes
rebuild
small tweaks
rebuild after rebase
* fixes
* big refactor to useFrontend, use standard style
* whoops
* small changes
* rebuild
* small fixes and tweaks + documentation on dropdown and collapsible
* small tweak to programmer ui
* Cosmetic
About The Pull Request
Attacking someone with a gun at point blank with grab intent will now hold them at gunpoint. This means you will automatically shoot the target if they move or attack, though they're still free to rummage around in their (or your, if you continue standing next to them) inventory, speak (including using radios), and throw things. The shooter may roam around a 3 tile box radius without breaking the hold-up, allowing them to reposition themselves, though breaking visibility will break the hold-up. In addition, if you're several tiles away and they make a break for it, they may be able to dodge the projectile. Tactical choices!
For the first 3 seconds after the hold-up, any triggered reaction shot will deal normal damage.
Between 3-10 seconds after, any triggered reaction shot will deal double damage.
After 10 seconds, the reaction shot will deal 2.5x damage.
The ramp-up is to give weapons with weaker per-shot damage like disablers, laser guns, and the .38 the ability to be useful for arrests and stick ups, without affecting combat balance too much. If you got someone you're trying to kill to hold still for 2 seconds at point blank range, you may as well just keep shooting them rather than fiddle with holding them up. If you're gonna resist, it's best to do it quickly!
Lastly, if the shooter is attacked and takes damage from anything, they have a chance to flinch and fire in reaction. This is a 50% chance, unless they're hit in the arm holding the gun, in which case it's an 80% chance.
Why It's Good For The Game
Adds in mechanical backing for taking people hostage or being able to arrest people with the threat of violence rather than actually carrying out that violence. Trying to take hostages or hold people up right now will just get you immediately shove spammed mid-"DROP $500 OR FAILRP" unless the other person feels like playing along. This makes cooperating or risking getting shot an actual choice, increasing mechanical depth while also adding more roleplay potential.
Also yes, the target cuffing themselves will not trigger the reaction shot, so holding someone up, backing up, and throwing cuffs at them is a valid move.
A kilt designed out of monster bits, pretty hardcore right?
It has the same protection as the other tribal accessories. crafted using 2 watcher sinew and one bones. Will show over any clothing or suit.