About The Pull Request
I made a machine board for the PDA message server and added it to the telecomms techweb node. To keep the usefulness of the machine's password, a player built message server won't work until 15 minutes after construction. I've also converted a lot of magic numbers to defines, and changed the departmentType var on request consoles into a bitflag.
I'm open to ideas other than a time gate when it comes to keeping the server password's usefulness.
Why It's Good For The Game
You can't build a Message Server right now. If it's destroyed, PDAs may be knocked out for the rest of the round.
Changelog
cl JJRcop
add: You can now build a new PDA messaging server if you lose it.
tweak: Requests console messages no longer work if the messaging server is offline. Emergency alerts will still function in that case as long as the rest of telecomms is online.
/cl
Also removes /obj/item/areaeditor/proc/get_area(), which works the same as /proc/get_area() except doesn't take an argument.
Why It's Good For The Game
It's #2 most called proc some rounds, top #10 always.
Changelog
cl Naksu
code: get_area() is now a define rather than a proc.
/cl
* yeets a GET_COMPONENT_FROM
* signal rather than component
* Update code/game/objects/items/devices/PDA/virus_cart.dm
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* Initial overhaul work and some fixes.
Running into a bug with getting healthanalyzer variables to pass.
Signed-off-by: RaveRadbury <risforradbury@gmail.com>
* Fixes some typos, shortens a message
* Update pai.dm
* Prevents pAI OS from coming up in other windows.
* Moved around some camera stuff, trying to fix lost pAI zoom
* Fixes pAI zoom, adds camera flash
* PAI buttons grey out if they need software first
* Better greying out of buttons in PAI
* Removes unimplemented HUD stuff
* Should make pAI Host Scan require being held (like DNA check)
* Includes host scan as a greyed out hud
* Improved button loop
* Fixes pda icon off-set
* Fixed inconsistent indentation
* Replaces outdated and innacurate checks for scans
Thanks to Cobblestone for the help
* Refactor pAI hud button grey out
* Changes browse to browser
* cleans up the code, gets rid of an error
* Removes indent from #undef
* Removes an unneeded text-align:right
* Added antihol bottle, corazone pill, potass_iodide pill and pill bottle
Added Potassium iodide bottle and pills to smartfridge preload
Added medicines to NanoMed and NanoMed Plus
* Added small number of potass iodide pills to NanoMed Plus
Removed other medicines being added to vendors in last commit
* Added potass iodide bottle to NanoMed Plus, removed epinephrine bottle and potass iodide pills
* removed unused prebuilt meds
* changes sleepy pens to be slightly less bad
They have special snowflake chloral hydrate that is literally chloral hydrate but worse. Let's make it chloral hydrate but literally chloral hydrate. Maybe then people will actually use the chems in a sleepy pen instead of emptying it and bitching about how bad it is on discord.
* nerfs the cakehat (not a shitpost)
It's pretty retarded that a single candle on a meme hat is treated as an infinite fuel welder
* Revert "Merge pull request #1 from CrazyClown12/CrazyClown12/cakehat"
This reverts commit 4806c57780a3d6f564b2ec58685b3c9005642892, reversing
changes made to 95b82ed3fd48f7ac7e7ce06fd76afb03860b3e8d.
* remove chloralhydratedelayed
I'm gonna fuck this up again
* delete chloral hydrate delayed from reagents
* Adds stasis beds
Needs sprites, using placeholder ones
* Adds stasis beds to techwebs
Cryostasis Technology
* Adds sprites for stasis bed
* Stasis beds support economy/ancap
* Stasis bed can be deconstructed
* Stasis bed requires cable coil
* New stasis bed sprites by @Kmc2000
Made by Kmc2000 <bluekorben2000@yahoo.com>
Not currently functional
* Add unique to SSvis_overlay.add_vis_overlay
will return the overlay object itself and not reuse it
* Make stasis bed art function
can enable/disable with alt click
makes sounds when powering up/down
* The tubes go over the mob now
* Remove sleepers from techweb tree
* Fix stasis bed lying
* Modified stasis bed build requirements
* Survival pod version of stasis bed
Map spawned sleepers delete their circuit boards
Added stasis beds to 'doctors' phobia
NanoMed for survival pod which is always free, not refillable
* Replace sleepers with stasis beds on all station maps
removed all sleeper machine boards from maps
one sleeper machine board intentionally left alone in oldstation
* Fix stasis bed tube overlay capturing clicks
Give power up and down noise freq variation
* Remove stat check from living Life
* Remove vis overlay assertions from stasis bed
* Shocks propagate to pulled humans.
* shocks pulledby as well, prevents defib loop and extra shocks.
* This is better.
* whitespace
* more whitespace
* Now only casts to human.
* More fixes
* protocol crab 17: phase 2
* k
* meme
* fix
* k
* fixes
* more stuff
* makes qust's code not bad
* fixes time
* MFW (my face when) face when floyd doesnt make the fix commit
* makes it leave properly
* fixes more shit
* gets rid of stupid variable
* asdf
* wa la
* wa la ^2
* tadaa
* adds
* i fixed some of them but what do the others mean
* untested and ready to merge
* Untangles code that was trying too hard.
It tried to use "wires" to handle both wires and it didn't work.
* Adds two variables to make it all work.
* dropped an else
* Found out how I dropped an else. Fixed
* Changes can_tx and can_rx to longer names
* more descriptive var names
* How did I miss these deletions?
* Then I don't move the ", geeze.
* Adds Cobblestone's suggested code.
* new clown mobs and spawners
adds several new types of clown mobs, a beacon to spawn them, and a honkrender that spawns clown hulks
* added more clown varieties and fixes to previous
* fixed unneeded capitalization and changed mob values
removed unneeded capitalization and text errors and altered mob attack values to create more variation. Honkmunculus now does very little damamge but injects a small amount of meth.
* Update clown.dm
* clown changes and new clown
new clown that spawns bananas. can leave large stacks if left unattended, so it may require some reworking. nerfed several overpowered clowns and gave chlown a beetle like stride
* added cluwne to uplink, fixed redundant variables, added new clowns
cluwne can now be purchased for 5 telecrystals as a clown exclusive uplink item. Bananas were greatly improved. new weak clown added. Gave some clowns extra parents to reduce variables.
* Update code/modules/mob/living/simple_animal/hostile/retaliate/clown.dm
Co-Authored-By: Pugnacious-Gnome <48869928+Pugnacious-Gnome@users.noreply.github.com>
* IT LIVES ONCE MORE
* forgive me for this sin
* i wish git would detect case changes
* this works
* 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.
* 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>