Commit Graph

53229 Commits

Author SHA1 Message Date
Wayland-Smithy d785eb7ae2 The great Spectral Blade permanent ghost trap unGBJing - 10/10 ghosts currently hate this blade (#53324)
Fixes a bug caused by transferring an orbiter component to a parent where one already exists. Causing the old original orbiter to update the added ghosts positions when the parent moves, but not allowing them to ever break orbit and also setting the ref to null for the component on the whole due to old signals it would seem.

Also tweaks the blades use in hand ghost notification message to remove the redundant (Orbit) link.
2020-09-01 18:32:33 -03:00
Paxilmaniac 3bc7af3128 Lesser Summon Bees (#53297)
Adds a single spell to the wizard's arsenal, lesser summon bees, which summons... bees.
2020-09-01 17:42:31 -03:00
Timberpoes 1be4c428ca Fixes Hyperkinetic Dampener Field runtime. (#53275) 2020-09-01 17:23:41 -03:00
Jack7D1 4d6f266b27 Fixes #53290, puddles are now infinite again. (#53311)
Fixes #53290
A code oversight of #52865 that also applied plumbing changes to puddles.
Avoided snow flaking by creating a new object type called water_source. Can be used in the future instead of the sink type.
2020-09-01 16:59:49 -03:00
Timberpoes 991f311775 [R&D Machine Overhaul, Part 1] - Various machines no longer require R&D machines to function. (#53339)
Removes various R&D machine requirements including circuit imprinters, protolathes, destructive analyzer and the mechfabs. All machines that previously required an R&D console to function are standalone, including omni protolathes and omni imprinters.

Replaces "production"-class R&D consoles with civilian modular computers on all maps. There are no longer "production"-class consoles.

Removes the concept of "core" R&D consoles. R&D consoles only research and handle tech disks and stuff. All existing core consoles have been switched to their basic archetype.

Because it's a pain in the ass to manage, material reclaimation has been removed from the destructive analyzer. The destructive analyzer is now ONLY for destroying items and unlocking research nodes such as illegal and alien tech.
2020-09-01 16:46:40 -03:00
Ghilker 3f3b7bc736 Expand number of pipe layers from 3 to 5 (#53278)
Expand number of pipe layers from 3 to 5

More layers for autism projects all around the station
Notice! not all devices are allowed to use the new layers, only those you see in the picture can be layered to layer 0 and 4.
More freedom to do weird setups (and supercomputers)
2020-09-01 03:39:47 -07:00
Jared-Fogle 96b00fd23e The searing tool now starts as a cautery (#53303)
The experimental searing tool (both a cautery and a drill) now starts as a cautery, rather than the drill.
2020-09-01 05:15:28 -03:00
LemonInTheDark ed2297e359 Makes admin view obey the overlay limit (#53293)
Caps admin view at 68x68, or 37, in order to prevent it creating more then 100 overlays, causing the parallax system to crash due to exceeding our overlay hardcap of 100
2020-09-01 05:12:16 -03:00
Jared-Fogle fc2cea5955 Fixes quick swapping suits creating illegal suit storage (#53272) 2020-09-01 05:03:25 -03:00
Jared-Fogle 09b9ad869e Change signature of BINARY_INSERT to require the full type path, add test (#53217)
BINARY_INSERT used to only take typepaths like/this. Now, it expects them to be /like/this, to be more consistent with ther est of the code.

Adds documentation to COMPTYPE.

Adds a test for BINARY_INSERT.
2020-09-01 04:40:52 -03:00
Arkatos1 b40e58f342 Admin controlled shuttles improvements (#53237)
This PR improves options for admin controlled shuttles - all shuttle controls can be admin-locked, and players must request authorization so the shuttle can move or for controls to unlock. Before this PR, authorization request always redirected admin staff to control the CentCom ferry, even if request came from a shuttle elsewhere, which was a little odd.

Authorization request will now properly prompt the staff to control that specific shuttle, and now they also have quick option to unlock/lock the shuttle. Could come handy in events to restrict player movement.

Last change, escape pods no longer start as admin controlled, as they cannot be launched without atleast code red anyway. They instead properly state they are just locked.
2020-09-01 04:37:50 -03:00
Fikou 995fdd534f select equipment now includes basic plasmaman outfit (#53335) 2020-09-01 04:36:05 -03:00
Jared-Fogle 921d11bec8 Refactor bitfields global, improve turret_flags debugging (#53239) 2020-09-01 04:35:39 -03:00
MrMelbert d86f8eb907 Minor bugfixing/QoL for blind examining (#53313)
Allows blind people to examine things they're directly holding in their hands, so they don't need to swap hands back and forth between empty hands to check their ID or whatever

Slightly lowered the recent examine delay to make it easier to trigger examine_more

attack_hands that waited for input or slept (such as apiaries or airlocks) delayed the examination until after the attack_hand input or sleep was finished, so it is now called async to prevent the weird pause.

Blind people could previously examine things with disabled/detached limbs, that's fixed as well, and replaced a range check with adjacent, cause shoving your arm through windoors is bad.
2020-09-01 04:26:03 -03:00
Ryll Ryll 6438dcaa7b Dying people (and stunned borgies) can gasp and deathgasp again (#53320) 2020-09-01 04:12:54 -03:00
Tad Hardesty 5c7553b75f Give some code readmes better filenames (#53325) 2020-09-01 04:12:02 -03:00
Wayland-Smithy 11781a3f0c Fixes xenomorph larva getting stuck by evolving while ventcrawling #53265 2020-09-01 04:05:23 -03:00
Rohesie 5b323a84bb Allow heretic flesh ghouls to use ashen eyes and sickly blades #53308 2020-09-01 03:41:31 -03:00
Fikou 044749136b fixes mechpad crowbar act (#53314) 2020-09-01 03:29:52 -03:00
oranges 1459cecb37 Add a new achievement (#53282)
This achievement can be gained by slapping bubblegum with a tongue.

For science!

Sprite by Arcane
2020-09-01 03:21:30 -03:00
tralezab 451f6ce7c0 Mafia lobby now refreshes correctly (#53344) 2020-08-31 23:09:29 -07:00
Ryll Ryll cd9efb754b wzhzhzh (#53366) 2020-09-01 04:16:21 +03:00
ATH1909 62a21c3df2 imagine closing a fix PR just because it's a web edit (#53243)
Fixes all these issues

Some admins and I did some testing with it in the thunderdome (round ID 144991), and we confirmed some !!FUN!! things about penthrite:

    Penthrite makes you completely immune to staminacrit while it's in your system. This is because it lowers your crit_threshold to -60, but your stamina damage is capped at -20. This means that your stamina can never dip below your crit_threshold, and thus, you can never be staminacritted (no, not even if someone alternates stun baton strikes on your head and chest). The only thing that keeps this from being completely busted is that shovestunning still works on you (but perhaps some bioware and/or implants could get around that...).
    Penthrite works on mobs that don't have a metabolism, but won't metabolize itself away in them over time. This is because penthrite uses on_mob_add() instead of on_mob_metabolize(). Yes, this means that if you inject yourself with a luxury medipen as an android, a skeleton, or the like, you'll be able to be immune to staminacrit indefinitely (or until someone jabs you once with a normal medipen). In fact, if you're a high-functioning zombie, then you'll be able to abuse your nodeath trait with the nohardcrit and nosoftcrit traits that penthrite gives you, as penthrite's self-purge-if-you're-below-160-HP effect is in on_mob_life(), which doesn't get called by races with the nometabolism trait.
    I forgot to test this one, but I think that by strapping someone who has penthrite in their system onto and off of a stasis bed repeatedly, you can cause their crit_threshold to rise with each buckling, eventually causing it to go above their maxHealth. This is because the crit_threshold raising effect is in on_mob_end_metabolize() (like it should be), but the crit_threshold lowering effect is in on_mob_add() (instead of on_mob_metabolize()).

Also, this changes the description of penthrite to be a bit more clear about which "emergency medications" it reacts violently with. Nobody reads chem descriptions anyway, but maybe they will in the future if doing so gets made easier.
2020-08-31 17:58:26 -07:00
uomo 508e56e95a Gulag teleporters now give prison jumpskirt according to player preferences. (#53171)
* It now gives jumpskirts when it should.

* Code improvement (tm)

* Comment.
2020-09-01 12:54:49 +12:00
Ryll Ryll 88d73b9945 Brings back Pun Pun, soul (#53331) 2020-08-31 00:26:43 -07:00
ArcaneMusic b9a4c97597 Adds TCG Decks in order to play with them like a TCG. (#53200)
* Card Decks n shuffling.

* the "crackling with sexual energy" update
}
Kept you waiting, hunh?
This adds a new multi-faceted object to the game, the TCG Card Pile. Using any 2 cards together on each other will create a pile, and the first card in the pile will determine if the card pile is face-up, or face-down. Depending on the orientation of the card pile, you'll draw cards out of it in the orientation. So, a "deck" card pile would be flipped face down, and would allow you to draw cards out of it also face down, and vis versa.
Decks can be renamed with a pen, and use a radial menu in order to enable quick action on the Trading Card game battlefield.
image

    Draw allows you to draw a single card from the deck, again based on the orientation of the cards used to build the deck.
    Shuffle calls the shuffle() proc on the deck, and (should) randomize the order of the cards in the deck for use.
    Pick up puts the deck into your hands instead of the nonsense dragging required with regular playing cards.
    Flip flips the orientation of the cards in the deck, turning a face up pile into a facedown pile, and a facedown, faceup. Also, calls reverseRange() on the contents of the deck, which should put the bottom of the deck on top, and vis verse, ALSO enabling you to put cards on the bottom or the top of your deck easily.

Card piles also operate with a custom storage component, so you can search for cards in your deck if need be, but also handle edge cases like when you only have 1 card in a pile left, or when you dump out a deck of cards like you would a bag.

This basically adds in more sane hands, more sane decks and discard piles, and a massive QOL update to the trading card game to make it actually playable (once potato actually puts the card stats and effects on the cards themselves.)
2020-08-31 00:01:25 -07:00
uomo a72c314661 You can buckle yourself or somebody else into a chair, if you're next to the chair. (#53255)
You can now buckle yourself, as well as others, into a chair as long as you (and the other person, if you're not buckling yourself) are Adjacent to said chair, and being on the same tile as the chair is no longer required.

No more god-awful pixelhunt to accomplish a very simple task.

(You can buckle yourself and others into chairs that you're right next to, instead of needing to be on top of the chair to do it.)
2020-08-30 23:42:45 -07:00
tralezab 6e9aa2f7df Adds swab for netherworld critters (#53201)
Adds netherworld critters as a swab. They take primarily maintenance, lavaland, and bartending reagents, they're supplemented by all geyser chems and minorly chemistry, and they are suppressed by any kind of generic growing meat (liquid gibs, nutriment, protein and peptides)

The abberant cells randomly pick a netherworld mob every time they are created. the big jackpot here is migo for the reasonable health and high damage, and the whiff are blank bodies for having good health but awful damage.
Why It's Good For The Game

Players love migos and other netherworld critters are aight. They're fairly strong, and so have a medium amount of reagents. Tried to get funky with it since they're supposed to be odd creatures.

(New swab for netherworld critters! Make sure you put them into a different vat system than your other ones, as they do not react well with normal reagents!)

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2020-08-30 23:05:22 -07:00
uomo 56467396b4 Mining sign fix. (#53251)
Turns old mining "signs" into turf decals instead

It looks nothing like a sign, so, this just made sense.
Moved the icon from the mining survival pod walls file, to the turf decal icons file.
Replaced every instance in the maps with the new type path.
2020-08-30 22:52:09 -07:00
uomo 75753660be Advanced extinguisher sprite. (#53291)
The advanced fire extinguisher now has an inhand sprite, and no longer looks like a regular extinguisher.
2020-08-30 22:34:45 -07:00
oranges 6c9d88a4cd Overhauls discord verification system (#53289)
This completely replaces the previous verification system, for one that
will interoperate with a discord redbot instance that uses the cogs
located at you github.com/optimumtact/orangescogs

This cuts out several steps in the system, but it also leaves alone the
existing notify system (which just uses a file list of discord ids) as a
record of who to notify

SQL changes required for the new database system

Version 5.10, 7 August 2020, by oranges

Changes how the discord verification process works.
Adds the discord_links table, and migrates discord id entries from
player table to the discord links table in a once off operation and then
removes the discord id on the player table

The user connects to any tg server, and uses the "Verify Discord
Account" verb, this generates a six word one time use token, with a 4
hour time validity period (defined as 4 hours from the timestamp value)
in the discord links table.

This one time token, and the ckey of the user are stored in
discord_links

At this point the entire DM side is done, this is all it does
2020-08-30 18:24:23 -07:00
Timberpoes 61aa72727a Cyborg Module Reset wire always revealed on hacking interface (#53277) 2020-08-30 05:30:08 -07:00
Donkie 4867a04c98 Converted check_obscured_slots() output to bitfield instead of list (#53241) 2020-08-30 03:33:01 -07:00
Timberpoes db4dd9f276 Removes Standard cyborg module. (#53276) 2020-08-30 03:30:04 -07:00
LemonInTheDark 8642396694 Raises the spice levels of the supermatter (#53233) 2020-08-29 20:29:20 -07:00
Dennok 90b678bc16 Ladder radial menu reopening on use. (#53083)
When you use ladder you automatically search for new ladder and open its radial menu.
2020-08-30 00:12:13 -03:00
Ghilker 37f849fb17 ZK-Lambda-Class Remade (#52941)
This PR adds the crystal invasion event, a new event involving the Supermatter and the monsters from within.
When the event starts there will be a message from centcomm announcing it, then the supermatter explode leaving a destabilized crystal that emits radiations and harmful gases; after a bit portals will spawn around the station, that will produce a number of monsters each. there are 4 types of waves and 4 types of portals
The waves are: Small, Medium, Big, Huge (each have different kind of portals that can spawn and different amounts too)
The portals are the same types of the waves, they differ from each other for the number of monsters that can spawn and the kind of monsters that can spawn (bigger portals spawn stronger monsters)
To end the event the players should stabilize the crystal by destroying the portals (for now are indestructible and they are disabled by using an anomaly neutralizer, might change that) and collecting otherworld crystals; then those crystals are to be put in the crystal stabilizer, an item unlockable in the tech tree. After this just inject the destabilized crystal with it and the remaining portals will close on their own (the spawned monsters will still remain tho so you have to slay them)

All the numbers are mostly eyeballed and could change if requested/with feedbacks
2020-08-29 23:56:40 -03:00
Tad Hardesty 89b4e01680 Fix various issues with browser statpanel (#53263)
* Keep tab buttons in view when scrolled down
* Unfocus tab buttons after click so scrollbar keeps working
* Fix some subsystem stat entries
* Improve key passthrough
* Fix runtimes from nulls in AI connected_robot list
* Add missing info in MC tab for global/config/etc.
* Fix #53298 by including turf in alt-click menu
2020-08-29 23:51:42 -03:00
TiviPlus ce3d7e2f0d Mecha refactor 2020 (#52902)
-Mechs are a vehicle subtype
-Mech equipment half-rewritten
-Mech actions completely redone
-Cooldown macros
-New movement macros & replacing all var in GLOB.diagonals with ISDIAGONALDIR(var)
-New lazylist macro
-Support for lavaland only mechs
-Removed the tank because fuck off with that hacky shit
-Documentation
-Fuckton of fixes
2020-08-29 23:33:47 -03:00
Helianthus00 bac3333724 Adds Layer 1/3 Gas Meter Subtypes (#53287)
With the current rework to the air distro and scrubbers system, I completely forgot about gas meters and left a bunch of them around to no longer work. Whoops. This adds two subtypes for gas meters that work on layers 1 and 3. I found and replaced every broken gas meter, as well as moved a couple others. I originally added a subtype to atmos/distro_loop but that just seems unnecessary, so it was removed.

Mappers can now place layer 1/3 gas meters, which will hopefully encourage more use of the layers other than 2.
2020-08-29 18:15:48 -07:00
Ghilker 584068b59e Add pressure valve atmos device (#53281)
New item the pressure valve
its a device that allow gas flow in a pipenet if the input pressure is higher than the set pressure

adds: Pressure Valve (a device that allow gas flow in a pipenet if the input pressure is higher than the set pressure)
2020-08-29 16:50:57 -07:00
Qustinnus f84c8e44c0 Adds a food trash element (#53225)
adds a food trash element, for dumping trash when u eat food

unused now, needed for food refactor. spawns trash in your hands (or on the floor) when the food this is attached to is eaten.
2020-08-29 16:48:17 -07:00
ArcaneMusic 7852a4508f Makes water recyclers fabricate-able, and makes showers preform a touch reaction only. (#53279) 2020-08-29 16:12:33 -07:00
oranges 8594f119fe In Memoriam 26th August, 2020 (#53234)
Our friend, tg admin, and champion of the "short" reply, OrdoDictionary
passed away recently.

While this news was not unexpected - Ordo had been fighting bravely
against prion disease for some time - it remains as heartbreaking as it
is unfair.

Ordo was sharp as a razor, with wit to match. During the time we knew
him he was pursuing a PhD, yet he still found time to volunteer on the
tgstation servers and help his fellow spessman.

In admin channels you were as likely to find Ordo pontificating on
history or food or ham radio as you were anything related to the game.
But you knew - no matter the topic - that his opinion was informed and
valuable, and that he would deliver it with nuance, class and charm.

This community - and the world - is worse off without him in it.
He will be missed.

So should you read this and should you get the chance, raise a glass in
his memory.
…but be sure to break out the good stuff.

That’s how he would have wanted it.

Adds a medal in memoriam of Ordo and adds it to the Head of Personnel
locker in a lockbox, along with three Medals of Bureaucratic Excellence,
for those who excel in managing the station.

Thanks to kryson for the sprite of the medal and thanks to OrdoM for all
the work he did on tg.
2020-08-29 16:01:34 -07:00
Isaac 5e503531e2 removed extra parenthesis 2020-08-29 03:56:37 -07:00
Isaac 1585483f01 Allow heretic ghouls to use flesh knife and ashen eyes 2020-08-29 03:53:56 -07:00
Qustinnus 11a00bd3c7 Implements jungle generation and area map generator datums (#51082) 2020-08-29 03:18:19 -07:00
Jared-Fogle b617c16356 Bring back painting arbitrary objects with spray cans (#52936)
Brings back the behavior removed from #52186 with cleaner code.

Differences in the code:

    No more explicit type checks in the spray paint code, other than a broad isobj.
    Checking for dark colors is now based on luminosity, rather than unscientifically summing all the RGB components and checking an arbitrary number.
    Removes the paintable component. This was used on one item, and its behavior is replicated in the spray can.
    Instead of checking for windows specifically and changing opacity through there, atoms can now specify through init flags whether or not they allow dark colors. Windows set this flag.
    Adds a COMSIG_OBJ_PAINTED signal. Windows use this signal to dynamically update opacity, just like how they did before.

This was a fun cosmetic feature that I'm not sure anyone had a problem with. The original reason for removal seemed to be because of code quality, and not because of negatives about the feature.

Makes canvasses unpaintable
2020-08-29 03:15:28 -07:00
Qustinnus 75415d3eb5 Refactors burgers to use components & auto-eating (#53224) 2020-08-29 03:11:37 -07:00
YPOQ 4174ceb113 Fixes silicon/parrot radio (#53296)
Silicons and parrots can speak into their radios again.
This was broken in #53221 because the . != 0 was incorrectly translated to !.
2020-08-28 22:04:02 -07:00