* pAI's have little AI headsets and can use encryption keys.
* pAI's now spawn radio AND headset.
Reverted radio code and changed new variables to the new headset var
* Undid the comment out of radio code.
As far as I can tell this isn't working properly though. Tried testing it locally and can't enable/disable radio as pAI or master.
* Removed redundant null keyslots.
* Final version
It should all work.
# Conflicts:
# code/game/objects/items/devices/radio/headset.dm
# code/modules/mob/living/silicon/pai/pai.dm
* Merge
* Mergies
* Update code/modules/mob/living/silicon/pai/pai.dm
Co-Authored-By: RaveRadbury <3204033+RaveRadbury@users.noreply.github.com>
This improves init times and makes explosions and other shit that modifies a bunch of turfs faster by saving a proccall and potentially not doing the same work more than once.
cl Naksu
code: Turf adjacency list updates are now handled by a subsystem queue
/cl
Before, clicking on windows or grilles with rpds would not do anything.
Now, it will attempt to place a pipe/whatever on that tile.
the inability to build pipes through windows without deconstructing them
is obnoxious and arbitrary, especially since you can build through walls
no problem. This streamlines the workflow of almost any atmos funtime
shenanigans.
About The Pull Request
VR sleepers now lead to the VR Hub, a place with a bunch of portals that lead you to other areas, or just has chill stuff like a bar. Includes portals to all the old vr maps, the megafauna training simulator map, a soon to be minecraft map, and my crappy game runner where you run away from falling tiles and fight to be the last person to survive. Merges murderdome and syndicate trainer into the vr hub map so they spawn every time with vr. Recall portals now can have multiple exits to support the old vr waypoint system from the hub. Also moves a lot of stuff around in the files to make it more organized. There's now also a ghost role that can access VR as well with infinite spawns.
VR NOW HAS A CONFIG OPTION SO ENABLE IT OR VR WILL NOT WORK.
Why It's Good For The Game
Being a ghost is boring for most people, it's nice to have a place for people to hang out rather than just leave the server. This is also a nice place where people can put gamemodes they're testing or other fun little minigames that can't be main gamemodes. VR currently is not used by really anyone so I don't see anyone getting bothered by this PR as well.
* Gave service headsets to jobs that report to HoP (not assistants, obviously). Created a headset and encryptionkey for lawyers that is sec service (similar to genetics)
* Typo
* Less copypasta more sensemaking
pAI cards will now provide updates about available personalities even
when in a player's inventory. Improves the pAI matchmaking system, making
personalities more likely to be noticed and downloaded.
Currently pAIs cannot be configured for DNA and secondary directives
while inside a PDA. If I need to eject my pAI from my PDA, why would I
want to drop it on the floor, especially when it hasn't been configured?
An activated pAI is too valuable to drop from your PDA directly to the
ground.
A lot of equipment can be placed on the back and belt slot. Much of this
equipment is job specific. Sadly, the Clown and Mime have been left out
of the fun.
Why should all the other jobs have the fun of belt and back slots?
Sometimes you want to mosey around the station like a honkin' cowboy,
your bikehorn clipped securely to your belt. Now you can. Your trusty
honkshooter is ready to go. DRAW!
Or maybe you're a Mime who wants his crusty baguette saber at his side.
EN GARDE!
The War on Stun Based Combat Phase II
About The Pull Request
A massive change in gameplay that affects more than just disarm. Hopefully in an interesting way.
There's two parts to this, part 1 is that disarm's functionality has been entirely stripped out and replaced with essentially a new purpose: Shoving.
Shoving is the new action that occurs when clicking on people while in the disarm intent.
Shoving someone pushes them one tile away from you. If there is otherwise nothing blocking them, they are slowed down very slightly for 3 seconds. If you shove someone again while they are slowed, it knocks ranged weapons out of their active hand. I'm not sure about this part and may buff or remove it depending on how it works in practice.
If the blocking tile has a table on it, they're pushed onto it knocking them over for 3 seconds. If it has another human on it, it knocks them both over, the collateral victim for 1 second instead of 3. If the tile is otherwise blocked besides them, it knocks them down for 3 seconds. All knockdowns cause you to drop items, and do not stun at all and can be immediately crawled away from.
However, once knocked down, if you are shoved again it paralyzes for 4 seconds. This is the same length as the old disarm push. It cannot be chained or extended, shoving them again while they're paralyzed does not extend the length of the paralyze. Once it ends, the person will be up and moving.
Now you might be thinking, why would I want to shove someone unless they're against a wall?
Here's part 2:
Moving into someone in a hostile intent no longer pushes them. They'll stay where they are and your movement is blocked. If you want to get someone out of the way, you need to shove them.
Why It's Good For The Game
Changes a previously RNG based mechanic that was basically just spammed until you got that lucky "I win" roll into a positioning based utility that has a point to use in many situations. Livens up simple melee combat and makes fighting in confined areas more lively and unpredictable. Introduces some new epic gamer strats, I've been playing around and it's pretty fun.
Also why not try something really crazy and see what happens? If it's shit it can be reverted :^)
Changelog
Special thanks to whoneedsspace, the inventor of the singlecap, for deshitcodifying this hard.
cl
add: Disarm has been reworked, instead of an rng based system instead it pushes people away from you. If their movement is blocked it knocks them over. Shoving someone twice quickly will knock ranged weapons out of their hands.
del: Moving into humans while in a hostile intent no longer pushes them.
tweak: Passive grabs need to be resisted out of while on the ground, and can't be directly crawled out of
/cl
cl Basilman
fix: Added a cooldown for datum outputs
/cl
also added an arg called do_owner in playsound that lets the owner of a datum output be different from the atom that plays it, chiefly used for component/squeak so that you can apply the component directly to any single atom without having to fuck with said atom's datum_outputs list so that it can properly play the sound, since the datum output is already stored within the datum component itself.
also send_info now returns true or false based on whether it's cooling down or not, i dont like this and i initially just had a var for whether it's cooling down or not but raz said it saves a var so i guess whatever ill just have it like that
* Adds simple framework for learnable crafting recipes
* whoops
* Moves teach/check functions to mind
* Code golf
* I just moved these around but fine.
Co-Authored-By: AnturK <AnturK@users.noreply.github.com>
* cool & good new arcade game
* fixes issues, code improvements
- arcade machine board selection now uses pickweight
- the amputation machine actually works and has sound effects now
- removes raregame var and base path for arcade boards
* more comprehensive arm checks
* better arm detection
amputation game will now target the active hand first
arm checks improved to not be redundant
saved a var definition in the prize vending code
X-Ray vision can no longer be obtained via a random gene sequence at
roundstart. X-Ray now has 35 instability, up from 25. A new gene,
thermal vision, has been added to genetics. You can create X-Ray vision
by mixing Thermal Vision and Radioactive together.
Requiring the gene to be mixed:
- Further timegates it
- Reduces the odds that it will be available in a given round of n length
- Means that you will NOT be able to circumvent the instability, as you
will never have the gene naturally
Bumping the instability:
- Means X-Ray now takes up a whole 1/3rd of your instability by itself
- Is a serious decision, since you can not circumvent the instability
(see above)
Thermal vision is just a strictly worse xray
Adds a new proc to /obj/item/grenade/spawnergrenade called afterspawn,
it is called after all the atoms have been spawned and gets passed a
list to those. Children of spawnergrenade can override this proc to do
things to the spawned atoms, for example emagging bots after spawning.
* better darkmode v1
* ever better colors
* slightly improved tip color + fixed scrolly bug
* updates skin.dmf as well as some small color tweaks
* slightly tweaked more readable info and admin shit
* span_class fix
* merges ooc fixes
* whoops
* MC and ticket screen fix
* no default darkmode
* skin fixes
* more obnoxious adminpm
* more obnoxious adminshit
* skin revert to ensure proper light theme.
* prevents weirdness with default whiteness
Pills are now two spreadsheets instead of individual icons.
This reduces assets sent by about 19-20.
Furthermore tgui has been extended with a new proc ui_base_html which
allows a user to customise the html sent as the base for a tgui window.
This allows someone to provide custom spritesheet css as links in a
specific tgui window without having to add it to the global html.
Changelog
cl
fix: Buckle objects can now properly specify lying angle
fix: Wheelchairs and other such vehicles let you use UIs even if your legs don't work
fix: You can now pull objects while in a wheelchair even if your legs don't work
fix: You no longer have a chance of sleeping upside down in a bed
tweak: No longer randomises lying direction a second time on fall
/cl
code: simplified can_stand code
fixes#41703
Stunbatons were invisible because they were pulling from the initial name to
get their icon_state, meaning that their icon_state would be something like
stun baton, stun baton_active, or stun baton_nocell. I chose to do it this
way instead of changing the names of the icon_states because, to my knowledge,
no other sprite names have spaces in them.