Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adds "cut ai wire" helper; Adds them to the Pirate Shuttle #55799

Merged
merged 2 commits into from
Dec 30, 2020

Conversation

iwishforducks
Copy link
Contributor

Stops silicons from interacting with the Space Pirate Shuttle's airlocks by cutting the AI wires on the airlocks of the shuttle by default using a new "cut ai wire" helper. Borgs are able to regain control by physically mending the wire of the airlocks.

Note that this does not stop borgs from interacting with other machinery on the pirate shuttle.

Why it's good for the game

The meta to deal with space pirates is for a single borg to cuck pirates by shocking and bolting all of the doors on the pirate ship. This does not entirely get rid of the meta, as any smart borg can simply mend the wires back, but it means borgs will not longer be able to magically shock doors from windows.

Changelog

🆑
add: Cut AI Wires maphelper for airlocks.
tweak: AI wires on the Space Pirate shuttle are cut by default.
/:cl:

Stops silicons from interacting with the Space Pirate Shuttle's airlocks by cutting the AI wires on the airlocks by default using a new "cut ai wire" helper.
@tgstation-server tgstation-server added Feature Exposes new bugs in interesting ways Map Edit Thank you for your tile-placing service. It's always appreciated. Tweak labels Dec 29, 2020
@Pugie
Copy link

Pugie commented Dec 29, 2020

Who cares borgs cant use the gear?

@ishitbyabullet
Copy link
Contributor

Now imagine this on the nuke op shuttle as well.

@optimumtact optimumtact added the Good First PR We all have to start somewhere label Dec 29, 2020
@iwishforducks
Copy link
Contributor Author

Now imagine this on the nuke op shuttle as well.

I most likely will not apply this to the nuke op shuttle, as nuclear operatives more often than not call in borg reinforcements. On the other hand, pirates never deal with borgs or AIs, so it does not make sense as to why borgs should be able to fiddle with the pirate shuttle.

@zxaber
Copy link
Contributor

zxaber commented Dec 29, 2020

Nuke ops tend to be fairly shock-resistant, and if you bolt them in they'd just blow the door off and continue as if nothing happened. Probably not a big deal to worry about if the fix prevents syndicate borgs from also using the airlocks.

It'd better if we had a "permissions" system that prevented syndicate borgs from using station airlocks and vice versa. Perhaps with a function that syndicate borgs could use on an alive station AI to get station airlock authentications.

@iwishforducks
Copy link
Contributor Author

Nuke ops tend to be fairly shock-resistant, and if you bolt them in they'd just blow the door off and continue as if nothing happened. Probably not a big deal to worry about if the fix prevents syndicate borgs from also using the airlocks.

It'd better if we had a "permissions" system that prevented syndicate borgs from using station airlocks and vice versa. Perhaps with a function that syndicate borgs could use on an alive station AI to get station airlock authentications.

That is out of scope for this PR but I personally would not be opposed to a permissions system for borgs. (Though that seems to defeat the purpose of borgs getting pseudo AA)

"aiWireCut" is such an awful variable name what was I thinking ??? also new unique sprite instead of piggy backing off of the abandoned airlock sprite
@tgstation-server tgstation-server added the Sprites A bikeshed full of soulless bikes. label Dec 29, 2020
@iwishforducks
Copy link
Contributor Author

For anyone wondering what the sprite looks like:
airlock_cutaiwire
image

@Cyberboss
Copy link
Member

Thanks for the PR, welcome to /tg/station 13 contributors!

EgorDinamit added a commit to vlggms/fulpstation that referenced this pull request Jan 8, 2021
* The paper wizard robe says the word right (tgstation#55746)

* professional coder

* elmers

* Automatic changelog generation for PR tgstation#55746 [ci skip]

* Tweex

* Remove TRAIT_ALWAYS_CLEAN from codebase (tgstation#55765)

Hygiene is no longer a thing, and the TRAIT_ALWAYS_CLEAN trait is not
actually used anywhere anymore. So it can be safely removed.

* Add Designs Unit Test (tgstation#55760)

* Fixes dead people not looking dead (tgstation#55743)

* Automatic changelog generation for PR tgstation#55743 [ci skip]

* many ways to skin a cat

* Automatic changelog compile [ci skip]

* Fixes clown cars + Fixes mechs not being able to open doors (tgstation#55748)

* honk honk

* realized the speedbike and wagon are not sealed

* Automatic changelog generation for PR tgstation#55748 [ci skip]

* vibing with robotics

* forgot rd whoops

* Replaces US Indigenous People's Day with International Indigenous People's Day (tgstation#55458)

Title. This modifies a unit test that tested the holiday I'm removing to test mother's day instead, as International Indigenous People's Day isn't an nth week holiday.

* Automatic changelog generation for PR tgstation#55458 [ci skip]

* Fixes BRPED/rigged cell exploit and allows it to booby trap BRPEDs instead (tgstation#55447)

BRPEDs can teleport rigged power cells. Through cameras. These rigged power cells will then pretty much immediately explode. This is a tad imbalanced.

Behaviour modified. Attempting to use a BRPED on a machine and having it attempt to swap over a rigged cell will cause the rigged cell to immediately go to maximum charge and explode.

Adds some logging to accompany it.
Why It's Good For The Game

Blowing things up from across the cosmos is bad.

Rigging BRPEDs to be able to explode when some poor sucker uses it to change over a power cell is cool.

* Automatic changelog generation for PR tgstation#55447 [ci skip]

* atmosmachinery.dm docs (tgstation#55479)

Add some documentation to atmosmachinery.dm to try and briefly explain each proc. i hope i have them all right
Why It's Good For The Game

documentation is good

changelog shouldn't be needed

* Refactors how movetypes are added and removed, No timers this time. (tgstation#55444)

* Automatic changelog generation for PR tgstation#55444 [ci skip]

* Adds a minor negative quirk: Bad Touch (for the anti-huggers) (tgstation#55334)

About The Pull Request

Adds a minor negative quirk, Bad Touch. This quirk gives you negative moodlets from hugs instead of positive ones, as well as negative moodlets from headpats and passive grabs.
Why It's Good For The Game

The quirk catalogue is still quite short and could use some more to fill it out. So here's a minor quirk that could be really fun or interesting to play with, especially if you also take unstable and/or hypersensitive, given how common hugs are in station life. Someone suggested it to me so I thought why not.
Changelog

🆑 Melbert
add: New negative quirk: 'Bad Touch'. With it, you gain a negative moodlet from being hugged instead of a positive one, and you gain a negative moodlet from headpats and grabs.
fix: blind people can now feel headpats
/🆑

* Automatic changelog generation for PR tgstation#55334 [ci skip]

* You now get 1 GBP for sound and sprite PRs (tgstation#55611)

* Fix zero damage items not showing explicitly set attack verbs in chat (tgstation#55509)

Borked exactly five months ago by tgstation#52890.

This will close tgstation#55219.

* Automatic changelog generation for PR tgstation#55509 [ci skip]

* initial commit (tgstation#55430)

* Automatic changelog generation for PR tgstation#55430 [ci skip]

* More Kilo fixes and Pubby cleanup (tgstation#55516)

* Pubby cleanup and Kilo Fixes

Remove pubbystation subtypes of boozeomat
Remove pubby specific subtype of wallmed
Replaces pubby wallmed subtypes in use elsewhere with standard wallmeds
Added some missing solar panel wires
Adds Centcomm access to ERT dock to allow Centcomm guests to board the station
Tweaks some siding decals

* Supposed to be in the first commit

* Gets rid of some stray scaffolding

Gets rid of some stray scaffolding

* Missing grille

* Remove spawn points from solars

Remove xeno spawn points from Kilo solars - spiders use this spawn locations and are not vacuum proof

* Automatic changelog generation for PR tgstation#55516 [ci skip]

* fix issue with a kilo shuttle dock (tgstation#55657)

* fix issue with a kilo shuttle dock

the white ship dock spawned a public mining shuttle round start, the kilo mapper confirmed it wasnt intended

* Update KiloStation.dmm

* Automatic changelog generation for PR tgstation#55657 [ci skip]

* Space Dragon Fixes (tgstation#55759)

* Automatic changelog generation for PR tgstation#55759 [ci skip]

* Bepis goes along the crate cost changes (tgstation#55617)

* bepis works

* betterfix

* UGH

* changes bepis in accordance with the crate changes

* Automatic changelog generation for PR tgstation#55617 [ci skip]

* Make eye(s) of god NODROP only when equipped (tgstation#55651)

* 👀 Make eye(s) of god NODROP only when equipped

:cl: coiax
tweak: The "eye of god" only becomes unremovable when put in your eye.
/:cl:

- The lavaland chest reward "eye of god", will only become NODROP (ie.
  unremovable) when actually placed in someone's glasses slot, rather
  than becoming immediately stuck in your hand.
- Eyes of god now hurt when implanted, causing temporary blindness and
  screaming.
- A pre-doubled eye of god is now a typepath.
- Eyes of god are no longer made out of glass.
- Glasses colouring procs have been moved to the top of the glasses
  file, but unchanged.

* Apply suggestions from code review

- Refactor out explicit `src` with implicit instance access.
- Use ternary string expression for burrow grammar

Co-authored-by: Fikou <piotrbryla@onet.pl>

* Fix NODROP staying on beheading

Even though the item is NODROP, it can still be removed from someone,
such as when they're beheaded. We don't want it to remain sticky, so
remove the NODROP trait.

Co-authored-by: Fikou <piotrbryla@onet.pl>

* Automatic changelog generation for PR tgstation#55651 [ci skip]

* Refactor outfit skillchips (tgstation#55652)

* 🏭 Refactor outfit skillchips

- Skillchips now are on /datum/outfit, rather than /datum/outfit/job,
  since we may want other roles to start with skillchips in the future.
- Skillchips are now a list of types to install, rather than a single
  one.
- Traits for the deathsquad are now listed just below the deathsquad
  initial antag datum definition.

* Remove accidental debug testing code

It was not intended for janitors to start with engineering skillchips,
and a really weak lightbulb removing skillchip.

* Fix indentation of comment

* Add "Implant" to list of uplink locations (tgstation#51828)

* 👛 Add "Implant" to list of uplink locations

:cl: coiax
add: You may now pick Implant as a preferred uplink location, meaning
that if you become a traitor, you will start with an uplink implant. The
cost of the implant (4 TC) is deducted from your total starting TC,
because the Syndicate doesn't give freebies.
fix: Admins removing an uplink from a person with an uplink implant will
now destroy the implant, rather than leaving an implant that does
nothing.
/:cl:

If you are the sort of person who gets their PDA, pen and radio stolen
really easily, then maybe you'd be interested in just spawning with an
implant. Be warned, all of the 17-20 TC items will be out of reach
because of the implant cost.

Could be considered slightly more powerful than just ordering the
implant at shift start, given you don't have to get rid of an implanter
and suspicious box anymore.

When testing with the admin grant uplink buttons, I discovered that the
"Take" uplink option was only half working when taking the uplink from a
person with only an implant uplink. It would take the component, but not
the implant, leaving the person with a do-nothing action button. This
has been fixed.

* Add missing DEFINES

* Remove one layer of spaces

Will this sate the linting gods?

* Replace 20 default with TELECRYSTALS_DEFAULT

* Automatic changelog generation for PR tgstation#51828 [ci skip]

* tested

* Ah

* Tweak mice eating cables and electrical immunity

:cl: coiax
tweak: Tom, the legendary prison mouse, no longer fears chewing
electrified wires.
/:cl:

If a mouse has the TRAIT_SHOCKIMMUNE trait, whether innately (like in
Tom's case), or if a scientist has installed shock proofing nanites in
the mouse, they will no longer die when chewing electrified wires.

It is sad discovering Tom dead at the hands of an electrified wire in
the brig, life in the brig is hard enough without the friendly mouse
companion. Also, it opens the possibility, however slim, of a horde of
electrically immune nanite mice terrorising the station.

* Automatic changelog compile [ci skip]

* Add vents/scrubbers

* Fixes mapping processes not clearing up all flora (tgstation#55785)

Such as spawning ruins or generating terrain. This also makes so cleaned rocks properly dont drop ash, but have to be mined

* Automatic changelog generation for PR tgstation#55785 [ci skip]

* Add console to Arena shuttle (tgstation#55673)

* Automatic changelog generation for PR tgstation#55673 [ci skip]

* Move disk verification into skillchip

:cl: coiax
tweak: The knowledge of nuclear disk serial numbers is now stored as a
skillchip installed in captains, death squad members and nuclear
operatives.
/:cl:

Captain gone braindead, lost the pinpointer, and you need to work out if
a given disk is legitimate? Just cut out the skillchip from their brain,
and install it for knowledge of that horrendously long serial number.

---

Moving the TRAIT_DISK_VERIFIFER from an innate mind trait from the job,
to a skillchip allows for some more in-game methods to gaining access to
disk verification, including the chameleon skillship.

* Refactors monkeys into a species (tgstation#55614)

Changes monkeys from carbon subtype to species.

* Automatic changelog generation for PR tgstation#55614 [ci skip]

* Refactor module traits for cyborg modules (tgstation#55769)

`module_traits` are a collection of traits applied to the cyborg/robot
mob when a given module is loaded. When a different module is loaded,
all old module traits are cleared.

As an example, the `can_be_pushed` module variable has been replaced
with the new functionality, adding a TRAIT_PUSHIMMUNE, rather than
setting a `status_flag`.

* Meat statue fixes (tgstation#55790)

Fixes few statue bugs with textured materials.
Makes materials use managed filters. This can have side effects on things that already had unmanaged filters on.

* Adds "cut ai wire" helper; Adds them to the Pirate Shuttle (tgstation#55799)

Stops silicons from interacting with the Space Pirate Shuttle's airlocks by cutting the AI wires on the airlocks of the shuttle by default using a new "cut ai wire" helper. Borgs are able to regain control by physically mending the wire of the airlocks.

Note that this does not stop borgs from interacting with other machinery on the pirate shuttle.

The meta to deal with space pirates is for a single borg to cuck pirates by shocking and bolting all of the doors on the pirate ship. This does not entirely get rid of the meta, as any smart borg can simply mend the wires back, but it means borgs will not longer be able to magically shock doors from windows.

* Automatic changelog generation for PR tgstation#55799 [ci skip]

* Streamline marker beacons on maps

- A new map only subtype of burgundy marker beacons has been added.
- This new subtype is used for the marker beacons on IceBox, which were
  intended to be red, but were actually picking random colours.
- Landing markers on Kilostation are now burgundy marker beacons with
  different names, rather than anchored marker beacon stacks.

* The Great Radio Rework: NTNET Part 1 of many. (tgstation#54462)

Machinery networking refactor.

* Automatic changelog compile [ci skip]

* Automatic changelog generation for PR tgstation#55810 [ci skip]

* Automatic changelog generation for PR tgstation#55791 [ci skip]

* Automatic changelog generation for PR tgstation#55798 [ci skip]

* Automatic changelog generation for PR tgstation#55787 [ci skip]

* Automatic changelog generation for PR tgstation#55730 [ci skip]

* Automatic changelog generation for PR tgstation#55758 [ci skip]

* Automatic changelog generation for PR tgstation#55771 [ci skip]

* Automatic changelog generation for PR tgstation#55619 [ci skip]

* Fixes decals and makes the janitor relevant again (tgstation#55805)

* guys come on why

* there you go

* and again because autodoc is apparently a thing

* Automatic changelog generation for PR tgstation#55805 [ci skip]

* Automatic changelog generation for PR tgstation#55824 [ci skip]

* Automatic changelog generation for PR tgstation#55812 [ci skip]

* Add TIMER_DELETE_ME (tgstation#55803)

* On monkey day, you can play as a monkey roundstart (tgstation#55838)

* Automatic changelog generation for PR tgstation#55838 [ci skip]

* Automatic changelog compile [ci skip]

* adds new sprites for n2o damage, and makes a new alert for them. Fixes plasma alerts never showing, the n2o alerts were overriding them

* Scroll tweaks (tgstation#55609)

This PR makes a few changes regarding scrolls of teleportation.

Scrolls of teleportation no longer use outdated HTML based interface and will take you straight into a list of a possible destinations upon use. That interface had a very little point of existing in the first place, the only possibly useful information was number of remaining uses, which is solved by a point below.

Scrolls of teleportation now show a number of remaining uses upon examination and also give proper feedback messages upon teleportation.

Scrolls of teleportation now crumble to dust when out of uses. They are a consumable item and cannot be recharged, which made them utterly useless when out of uses, creating only clutter.

* Automatic changelog generation for PR tgstation#55609 [ci skip]

* Fixes katana worn icon inconsistency (tgstation#55825)

pped the up/down belt slot sprites 'cause they put the katana on the wielder's right hip, where left/right put it on their left

* Automatic changelog generation for PR tgstation#55825 [ci skip]

* Add inacusiate to syndicate medical borgs (tgstation#55823)

Giving syndicate medical cyborgs access to the ear healing chemical
allos them to heal one of the most crippling problems that can afflict
an op; being unable to communicate effectively (through ear damage).
Being unable to communicate because they are a bad player is uncurable
through in-game methods however.

* Automatic changelog generation for PR tgstation#55823 [ci skip]

* wrinkling my brain (tgstation#55829)

tgstation#54939 removed a part of individual logging code that used the length of the individual's logging list as part of the index for storing a given line of logging.

The problem is, that number was important for avoiding collisions in the logging lists. Since the length of an atom's logging list can only ever increase by 1 every time a new line is logged, you were guaranteed to always have a unique index for each new line. Without the length in the index, if any logging event was triggered on the same atom multiple times in the same second (like if someone spoke once willingly and once by force from something like tourettes at the same time), two entries would be logged, but both of them would point to whichever one was processed last.

This was most noticeable with wound logging, since the victim would log both the attack itself and the wound it caused at the same time in the same category (LOG_ATTACK), meaning that the wound log would just be turned into a copy of the attack entry, but I believe this is the cause behind most (if not all) of the issues logging has had with duplicating some events and losing others entirely.

The fix is simple, just adding the length of the list to the end of the index. This still allows logs to be sorted by timestamp while ensuring that each log entry is unique.

* Automatic changelog generation for PR tgstation#55829 [ci skip]

* Fix observers not being able to read from afar (tgstation#55841)

From the examine() code it's clear that this was intended, just a check
in `ui_status` meant that the range check was being applied to them
anyway.

* Automatic changelog generation for PR tgstation#55841 [ci skip]

* fixes griddle (tgstation#55836)

forgot to set a var to TRUE and also forgot to return TRUE if crowbar act succeeded

* Automatic changelog generation for PR tgstation#55836 [ci skip]

* Fixes runtime on using BRPD on computers. (tgstation#55817)

Also changes var names to something more readable.

* fixes surgery on non-carbons (tgstation#55794)

fix good even if "nobody" uses that surgery

* Automatic changelog generation for PR tgstation#55794 [ci skip]

* Tweaks how some tongues have no taste (tgstation#55811)

Skeletons, abductors and ethereals have no sense of taste. Previously
they would taste something "indescribable", but instead, they will not
taste anything or get any message. This also means they will no longer
get mood buffs from eating/drinking high quality food.

Carbons without tongues also can no longer taste anything.

- The utility item "taster" has had some additional messages added.

* Remove can_taste proc

Instead of a single proc that is only used, so carbons can override it
with the missing tongue, just have carbons unable to taste anything by
default, and then have the tongue "supress" that.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#55811 [ci skip]

* Fixes up icebox cave gen (tgstation#55788)

Icebox cavegen generates the correct mobs and ore on the bottom z-level again

* Automatic changelog generation for PR tgstation#55788 [ci skip]

* Webedit fixing SDQL global proc calls (tgstation#55734)

* Webedit fixing SDQK global proc calls

Co-authored-by: AnturK <AnturK@users.noreply.github.com>

* Clownlike creatures are now more consistent. #fix #honk #banana (tgstation#55603)

* Bananium golems can wear clown shoes and are clumsy. Clownlike creatures, including clowns, bananium golems and clown ops, heal from bananas and bananahonk. Clown Ops also don't understand death, like real clowns!

* Automatic changelog generation for PR tgstation#55603 [ci skip]

* Emagging Siliconnect allows for sending messages to borgs without an ID (tgstation#55593)

SiliConnect (the tablet app for managing borgs) requires an ID to send messages to borgs in order for the user's name to be attached to the message. This change allows anyone with an emag to remove this requirement, and instead send messages without the sender's name attached. The borg will instead see "STDERR:UNDF" as the name.

* Automatic changelog generation for PR tgstation#55593 [ci skip]

* Fixes recycler eating effects, including abstract ones. This fixes directional lighting runtimes (tgstation#55565)

About The Pull Request

Title, it will no longer eat effects.
Why It's Good For The Game

Runtimes are bad, fixes are good
Changelog

🆑
fix: fixed the recycler eating all sorts of effects, including directional lighting
/🆑

* Automatic changelog generation for PR tgstation#55565 [ci skip]

* Add playtime tracking to notes (tgstation#55800)

* Added playertime tracking to player notes

* Updated sql change log with revision

* Fixed typo in db_query

* And fixed another typo with query_get...

* Add recomended changes from Jordie0608

* Added missing DEFAULT NULL to sql

Co-authored-by: MissFox <github@aesir.org.uk>

* Automatic changelog generation for PR tgstation#55800 [ci skip]

* Aux Base Console TGUI

* Automatic changelog generation for PR tgstation#55834 [ci skip]

* Fixes borg tiles (tgstation#55858)

- Fixes greyscale material floor tiles created from cyborg stacks
- Makes cyborg stacks contain materials
- Prevents a potential bug involving metalgen and stacks

* Automatic changelog generation for PR tgstation#55858 [ci skip]

* You can now mount things from the side (tgstation#55741)

* Automatic changelog generation for PR tgstation#55741 [ci skip]

* Refactor on_mob_death, death implants, implant permission (tgstation#55862)

* Refactor on_mob_death and death implants

There is a proc on `/obj/item` called `on_mob_death` called on all
items in the contents of a mob on that mob's death. It is currently used
for explosive implant detonation, and the deactivation of the
Peaceborg's projectile dampener.

Instead of using this old proc, both of them now instad use the
COMSIG_LIVING_DEATH signal, already emitted when their owner dies.

The activation of an explosive implant will now occur after the rest of
the death code has run, since it activates with an async applied
function, since some other implants may still want the mob's body
intact, and you shouldn't use `sleep()` (which it does in the "slow
explosion mode") in signal handlers.

In addition, the "can_be_implanted" proc for /mob/living (and overriden
for silicons, slimes and simple animals) has been folded into the
`/obj/item/implant/proc/can_be_implanted_to` proc. Some future implants
may want to be more permissive than the current permissions, but that
isn't possible when checking both procs.

* Setting door wand to src instead of user (tgstation#55863)

* HFR can now output waste gases again (tgstation#55864)

Commit 241e9cf broke HFR. Leaving internal_output as null meant that
execution would hit runtimes during process(), and never reach the end
where changes were applied.
No radiation was emitted, no nuclear particles were generated.
No waste gases could be removed, neither by fusion waste removal nor by
moderator filtering. Fusion would produce nothing.
It could still enter meltdown, though.

This fixes the endless runtimes like the following:
[07:51:05] Runtime in hypertorus.dm,1067: Cannot execute null.total moles().
[07:52:09] Runtime in hypertorus.dm,957: Cannot execute null.assert gases().
[07:52:17] Runtime in hypertorus.dm,983: Cannot execute null.assert gases().
[07:53:21] Runtime in hypertorus.dm,1012: Cannot execute null.assert gases().

* Automatic changelog generation for PR tgstation#55864 [ci skip]

* Automatic changelog compile [ci skip]

* Add .dmm merge driver (tgstation#55699)

This is kind of a prototype. It only fully handles a few situations, 
and doesn't produce particularly easy-to-read conflict markers when it 
fails. I hope that it can be useful at least some of the time, can be 
improved over time, and that the lessons learned can influence a future 
interactive GUI conflict resolver (integrated into StrongDMM?). In the 
worst case, one can fall back to the tried and true "manually re-do one 
side's changes" strategy. 

**Automatic use**: In `tools/hooks/`, run `Install.bat`

**Manual use**, for Git GUIs that don't run merge drivers: while a 
merge is in progress, in `tools/mapmerge2/`, double-click `Resolve Map 
Conflicts.bat`

This PR also removes the error-prone "Prepare Maps.bat" / 
"mapmerge.bat" workflow. Those who aren't using the hooks should 
instead use `Run Before Committing.bat` before committing. First-time 
contributors who opened a PR without map merging can be advised to run 
`I Forgot To Map Merge.bat`.

* Fixes two bugs with Blob strain rerolling (tgstation#55833)

* tested locally and it works

* As suggested

Co-authored-by: Ranged <nickvanderkroon@gmail.com>

* Automatic changelog generation for PR tgstation#55833 [ci skip]

* Meat yoink (tgstation#55830)

This removes any meat products from the prison kitchens on all stations.

This change was proposed by @EOBGames on Discord after tgstation#55689 got closed.
vegeterian_propaganda_1
vegeterian_propaganda_2
Changelog

🆑 Dex
del: Removed meat from prison kitchens. All prisoners are now on a strict vegetarian diet as part of their punishment.
/🆑

* Automatic changelog generation for PR tgstation#55830 [ci skip]

* Fixes clientless cyborg update cell runtime

* Fix single space tile in starboard maint

* Merry Christmas! Mechs receive damage from Xenos using their actual damage, instead of a hardcoded value (15). (tgstation#55736)

* Automatic changelog generation for PR tgstation#55736 [ci skip]

* fix living playtime subquery and display (tgstation#55893)

* Automatic changelog generation for PR tgstation#55884 [ci skip]

* A few minor tape recorder fixes (tgstation#55881)

Tape recorder cassette can no longer be rewound with a pen if it is not unwound.
Tape recorder transcript should look like it has text written on it!
Tape recorder can now play full tapes.

* Automatic changelog generation for PR tgstation#55881 [ci skip]

* Tweak nanite subdermal ID to include pulled cards (tgstation#55883)

Some mobs which are capable of hosting nanites have no hands to hold ID
cards to be scanned, such as unexpectedly sentient Captain Ian. But now,
give them subdermal ID nanites, pull the ID card, and then you have a
full-access simple mob.

Note that this DOES NOT scan the ID cards of pulled mobs, only if you
are pulling an actual ID card. It is not possible to grab the captain to
leech his access.

* Automatic changelog generation for PR tgstation#55883 [ci skip]

* beep beep honk honk (tgstation#55875)

In my riding refactor and the handful of PR's that have come out since, I made some incorrect guesses about how clown cars worked, and as a result caused issues with them. This PR addresses the last issue with them, which was caused by erroneously removing a check to see if someone was actually qualified to drive the clown car (AKA they're a clown in full clown regalia), meaning that anyone in the car could drive it, including the unwilling passengers. That check has been restored, so only clowns can drive again, as intended.

* Automatic changelog generation for PR tgstation#55875 [ci skip]

* Fixes doorjacks not being able to open base airlocks/windoors, and emags being able to. (tgstation#55873)

Doorjacks were not able to open base door/windoor types, while emags were able to!
Doubt this was intended, so here's a fix!

* Automatic changelog generation for PR tgstation#55873 [ci skip]

* Fixes food/slime processor being able to be turned on when empty (tgstation#55872)

It was trying to check for the machine's contents, but components are now part of the machine's contents too.

* Automatic changelog generation for PR tgstation#55872 [ci skip]

* fixes digis (tgstation#55865)

fix_non_native_limbs was called AFTER the on_species_gain proc gives the lizards their legs, and because digitigrade legs are not in their bodypart_overides list it was immediately replaced with normal legs.

* Automatic changelog generation for PR tgstation#55865 [ci skip]

* painful (tgstation#55826)

Stop me if you've heard this one before: infectious zombies specifically were immune to being wounded and thus dismembered. I'm not sure how this happened or when, but the definition for apply_damage() on their species was missing an argument for spread_damage and thus I think it tried defaulting to spreading out any damage taken, which is obviously problematic for trying to remove specific bodyparts (IE the head). This fixes that, and here's proof you can dismember these bastards

* Automatic changelog generation for PR tgstation#55826 [ci skip]

* adds xenomorph holdable flag (tgstation#55814)

adds a flag that lets something be held by xenos
adds it to facehuggers
makes the xeno "can i hold this item" check check for flag instead of facehuggers

* Automatic changelog generation for PR tgstation#55814 [ci skip]

* Fix hydroponics tray examine messages (tgstation#55861)

Some oversights when examine procs were changed to return lists of
strings, rather than using `to_chat()`, meant that the examine for
hydroponics was printing some messages in the wrong order.

In addition, examining the tray when close to it was only printing the
`to_chat()` messages, so it has been changed to `examinate`.

* Automatic changelog generation for PR tgstation#55861 [ci skip]

* Refactor plasmaman stomach typepath (tgstation#55716)

Skeleton and plasmaman stomachs now share the same code.
Skeletons now heal brute and burn damage from drinking milk, plasmamen
only heal brute damage.

* Automatic changelog generation for PR tgstation#55716 [ci skip]

* small refractor of rcd create and stop creation of machines/computer/furnitures on dense turfs (tgstation#55371)

refactorof rcd_create() to use early returns
stops RCD machine stacking

* Automatic changelog generation for PR tgstation#55371 [ci skip]

* Mechanical Curtains (tgstation#55751)

good for better mapping, I have seen some mappers wish to utilize fancy curtains on their rooms windows (for example, a psychologist office) but wanted to be able to have privacy when with a patient, which curtains can be opened from either side of the window, and shutters just dont fit the theme, this way mappers can add in curtains which are button operated and cant be opened manually, basically, it functions like a shutter, only it looks and acts like curtains (can be destroyed like one, etc... it is literally a curtain subtype)

* Automatic changelog generation for PR tgstation#55751 [ci skip]

* datum_pipeline.dm code cleanup (tgstation#55514)

A bit of code clean up and var name change for clarity, hopefully i got them all right

will add some docs another day

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#55514 [ci skip]

* Fixes an issue in pipenet code caused by poor conversion, we want to return if either sharer or partial is equal to or less then 0, not if they both are (tgstation#55918)

* fixes the xeno attack hallucination failing to throw the xeno because the user it was passing in is an object, not a mob, thus causing a runtime when checking for targets

* Automatic changelog generation for PR tgstation#55897 [ci skip]

* Automatic changelog generation for PR tgstation#55869 [ci skip]

* Fixes door names on Kilo Whiteship

* Automatic changelog generation for PR tgstation#55904 [ci skip]

* Fixing yet another item that can be remotely put in hands with TK. (tgstation#55505)

I'm adding adjacency checks to paperplane folding and unfolding so the resulting item doesn't get put in hands from afar.

* Automatic changelog generation for PR tgstation#55505 [ci skip]

* Better saving of chat logs (tgstation#55898)

## About The Pull Request

Makes it so that it'll only save the messages that are visible in the current tab. ie, the logs will respect the types of messages in the current tab.

## Why It's Good For The Game

Because when you just want admin messages or combat logs, it's annoying to have to sort through literally everything else to get them.

* Automatic changelog generation for PR tgstation#55898 [ci skip]

* Adds sound effects to the tape recorder (tgstation#55908)

Adds sound effects to the tape recorder.

Doesn't add the sound of the tape being inserted or removed or the playing/recording hum. Maybe another day. Would also like to add handling sounds to tapes like other objects have.
Why It's Good For The Game

Tape recorders make satisfying sounds. Makes the object feel more real.
Changelog

🆑 cacogen
soundadd: The tape recorder makes sounds when you interact with it
/🆑

* Automatic changelog generation for PR tgstation#55908 [ci skip]

* sanitize_hexcolor can now convert inputs between 12-bit and 24-bit RGB formats plus alpha channel. (tgstation#55560)

* sanitize_hexcolor can now convert inputs to 3, 4, 6 and 8 characters RGB formats.

* update

* Fine, no repeating decimals.

* Update sanitize_values.dm

* Update sanitize_values.dm

* Fixes nanite purge runtime on simple mobs (tgstation#55902)

- Makes nanites not try to purge reagents from mobs without reagents

* Automatic changelog generation for PR tgstation#55902 [ci skip]

* Fix tgchat lightmode tooltips (tgstation#55905)

Tooltips in lightmode when not mouseovered have invisible text

* Fixes NTNet logging runtime (tgstation#55892)

SSnetworks can log when it's passed a text network ID.

* Automatic changelog generation for PR tgstation#55892 [ci skip]

* Adds proper lazylist support to vehicles. (tgstation#55899)

Adds proper lazylist support to a bunch of vehicle code since some of the code either didn't consider that the occupants list could be null or didn't consider that the occupants list could be an empty list.
As a result the simple animal mecha pilots can board mechs again! (The mobs were checking whether the mech had any occupants. The mechs were checking whether the occupants list was falsey.)
Also fixed mechs putting themselves in their own occupants lists when boarded by a simple animal mecha pilot.

* Automatic changelog generation for PR tgstation#55899 [ci skip]

* Update README.md (tgstation#55938)

* does nothing

This reverts commit cdd9070.

* Readds hashes to sanitize_hexcolor() return values. (tgstation#55948)

Readds hashes var to sanitize_hexcolor() return values.

* Automatic changelog compile [ci skip]

* fix Telekinesis teleporting some items (tgstation#55916)

* fix Telekinesis teleporting items

Fixed telekinesis from teleporting the Blackbox, bodybags and all its contents, and brains from MMIs - Nari

* fixes

fixes new bug where opening the bodybag in hand will make it vanish - Nari

made a better method for pulling items out of the recorder and MMI, if activated by hand it puts item into your hands, if activated with telekinesis, it drops it on its tile - Nari

* Update bodybag.dm

changes how it gets the location

* Automatic changelog generation for PR tgstation#55916 [ci skip]

* Makes telsas move properly, they were ping ponging around due to how miniballs move, I've made the shocked targets list properly fill, and make the shocked targets list retain some entries to preserve momentum (tgstation#55712)

* Automatic changelog generation for PR tgstation#55712 [ci skip]

* Maintenance Space Huts (tgstation#55925)

Each map has a space hut, it's a nice little room only accessible from an airlock + catwalks.

Each one has a different theme per map:
Metastation: Moved the nice romantic maint-dinner onto the hut, with a mass driver for dumping your bodies.
Deltastation: A space observatory that will get completely obliterated by even the lightest of meteor storms. (+Space Lizard Plush!)
Icebox: A quaint little broken down cabin. You'll have to break through barricades to get in, but the fireplace will make it quite cozy.
Kilo: A very, VERY hidden little plasma-friendly environment to hang out in without your suits on. No oxygen, so no worries about starting a fire! (+Plasmamen Plushies!)

* Automatic changelog generation for PR tgstation#55925 [ci skip]

* Automatic changelog generation for PR tgstation#55932 [ci skip]

* Automatic changelog generation for PR tgstation#55920 [ci skip]

* Remove sleep() from hallucinations (tgstation#55927)

Changes all uses of sleep in hallucination to fast processing or timers.

* Automatic changelog generation for PR tgstation#55927 [ci skip]

* [READY] Hark! The Medieval Reality Simulation Dome Emergency Shuttle! (+speech mutation, NOTELEPORT fixes and teambuilder improvements) (tgstation#55424)

* HARK! THERE ARE SOME MAIDENS THAT NEED SAVING!

* claymores, chairs

* mapmerge, price increase, no losing the flag, no teleporting in, other small stuff

* oldworld language, medieval mutation, reviews

* see desc for full changelog

huge improvements to how medieval speech feels, CTF now fully lit, json beautified, bugs squashed and more NOTELEPORT exploits also quashed. (I NEED TO UNDO THIS FOR ATOMIZATION)

* removes my fixes? also bugfixes and CTF separation

* dumb json mistake, starting work on reality simulators

* BOWS ARE BROOOOOOOOOOOOOOOOOKEN

* br

* getting closer to working

* well, mostly everything now.

* finally ready

* removes languages stuff as it is buggy and does not work, fixes more bugs, fixes more bugs, fixes more bugs

* conflict fix

* linting

* more lint

* bow buff, speech fix, TON of ctf fixes

* oh fuck year

* NO MORE INSTA DELETING CREW

* whoops

* review handled

* pooosh

* conflict fix

* Automatic changelog generation for PR tgstation#55424 [ci skip]

* tgui: Civilian Bounties, choice of three (tgstation#55762)

The civilian bounty console now offers a choice of 3 different bounties when getting a new civilian bounty choice.
The first two of these options will be different bounty types from within your jobs pool, while the third will always be a generic bounty (AKA from the pool that assistants and various misc. jobs choose from).
This gives the player a bit more choice than they had before in regards to doing a task related to their job within the existing bounty system until we add a more concrete method for some of the more poorly aligned bounty pools to be brought in-line with existing gameplay.
Also it offers a way to make economy impact more interactive with the round.

Co-authored-by: fuck <minecraftor5088@gmail.com>

* Automatic changelog generation for PR tgstation#55762 [ci skip]

* fix lizard legs skirt issue (tgstation#54925) (tgstation#55929)

* Automatic changelog generation for PR tgstation#55929 [ci skip]

* Open Add missing ORM firelock on Meta (tgstation#55942)

This adds a missing firelock on top of ORM in cargo on Meta

* Automatic changelog generation for PR tgstation#55942 [ci skip]

* Small mapping fixes to each station (tgstation#55857)

* small fixes to each station

* kilo arcades

* fixes goonplaque

* bellissimo

* gulag coats

* merge conflicts

Co-authored-by: Erin <edesaulniers96@live.ca>

* Automatic changelog generation for PR tgstation#55857 [ci skip]

* fixes grammar on duffelbag spell (tgstation#55943)

fixes tgstation#55931

* Automatic changelog generation for PR tgstation#55943 [ci skip]

* Allows you to tuck the nuclear authentication disk (and plushes) into bed. (tgstation#55940)

Adds an element, the tuckable element. Objects with this element can be tucked into bed by hitting a bed with it.

You can now make beds by hitting them with a blanket.
You can now tuck plushes into bed.
You can now tuck the disk into bed, too.

* Automatic changelog generation for PR tgstation#55940 [ci skip]

* You can look into the gateway now (tgstation#55624)

Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>

* Automatic changelog generation for PR tgstation#55624 [ci skip]

* Automatic changelog compile [ci skip]

* Update axios to 0.21.1 (tgstation#55968)

* Allow md files to have trailing whitespace (tgstation#55951)

Allows markdown files to have trailing whitespace preceding newline characters.
This enables non-paragraph newlines to be used, as they are made in markdown by ending a line with two space characters.
Please see the [original markdown specification](https://daringfireball.net/projects/markdown/syntax#p) for more details.

* Flypeople say "s" as "z" and dont get disgusted by toxic food (tgstation#55802)

## About The Pull Request

Flypeople will now say "s" as "z" (They already say "z" as "zzz", but s -/> zzz) and arent disgusted by toxic food anymore. 

I'm hoping that by the end of my changes, Flypeople could be considered a unique and viable race, being actually worth something other than "that one unmaintained race we have disabled" (best-case scenario is they become fit to be a proper roundstart race)

## Why It's Good For The Game

Flypeople is the forgotten race of /tg/, this makes them more unique and fits for them.
Not being disgusted by toxic food fits well due to Flypeople being considered disgusting and vile creatures.

* Automatic changelog generation for PR tgstation#55802 [ci skip]

* Cats have normal genders (tgstation#55772)

This fixes cats from all being male (except for the special cats like runtime and proc)

* Automatic changelog generation for PR tgstation#55772 [ci skip]

* Adds 25 person pop requirement for Sleeping Carp (tgstation#55953)

## About The Pull Request
!!IDED TERRITORY YE HATH ENTERED THY SALT ZONE!!
Adds a 25 person purchasing limit to the Sleeping Carp scroll. This brings it in line with a other murderbone items like deswords.

## Why It's Good For The Game

As of late, I've noticed a trend on lowpop. Some will buy carp and kill the majority of the station, unable to be opposed as there are very few able to. This is unfun and I find it to be unbalanced, given how strong carp is in one-on-one engagements.

* Automatic changelog generation for PR tgstation#55953 [ci skip]

* fix_fulp_issues

* Update species.dm

* tg-merge-fix1

* fix

* convert maps

* small fix

* Update outfit_sanity.dm

* Update outfit_sanity.dm

* Update robots.dm

* eh

* outfits test fix

* Update ai_core.dm

* ports bunch of new /tg/ prs.

Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>
Co-authored-by: tgstation-server <tgstation-server@tgstation13.org>
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: coiax <yellowbounder@gmail.com>
Co-authored-by: Gamer025 <33846895+Gamer025@users.noreply.github.com>
Co-authored-by: Ryll Ryll <3589655+Ryll-Ryll@users.noreply.github.com>
Co-authored-by: fuck <minecraftor5088@gmail.com>
Co-authored-by: Changelogs <action@github.com>
Co-authored-by: interestingusernam3 <51925758+interestingusernam3@users.noreply.github.com>
Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: sergeirocks100 <31294280+sergeirocks100@users.noreply.github.com>
Co-authored-by: Maurukas <66576896+Maurukas@users.noreply.github.com>
Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
Co-authored-by: IndieanaJones <47086570+IndieanaJones@users.noreply.github.com>
Co-authored-by: Fikou <piotrbryla@onet.pl>
Co-authored-by: Ranged <nickvanderkroon@gmail.com>
Co-authored-by: Lazar Petrović <60656530+Ewwmewgewd@users.noreply.github.com>
Co-authored-by: Azarak <azarak10@gmail.com>
Co-authored-by: AnturK <AnturK@users.noreply.github.com>
Co-authored-by: iwishforducks <65363339+iwishforducks@users.noreply.github.com>
Co-authored-by: WarlockD <warlockd@gmail.com>
Co-authored-by: 81Denton <32391752+81Denton@users.noreply.github.com>
Co-authored-by: Seris02 <49109742+Seris02@users.noreply.github.com>
Co-authored-by: Jordan Brown <Cyberboss@users.noreply.github.com>
Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
Co-authored-by: spookydonut <github@spooksoftware.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
Co-authored-by: MissFox0810 <4310446+MissFox0810@users.noreply.github.com>
Co-authored-by: MissFox <github@aesir.org.uk>
Co-authored-by: Arkatos <arkatos1234@gmail.com>
Co-authored-by: esainane <esainane+github@gmail.com>
Co-authored-by: Tad Hardesty <tad@platymuus.com>
Co-authored-by: NotRanged <rangedvdk@gmail.com>
Co-authored-by: Avunia Takiya <git@takiya.cloud>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
Co-authored-by: Jordie <4343468+Jordie0608@users.noreply.github.com>
Co-authored-by: prodirus <44090982+prodirus@users.noreply.github.com>
Co-authored-by: Carty <capttlasky@gmail.com>
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
Co-authored-by: Couls <coul422@gmail.com>
Co-authored-by: actioninja <actioninja@gmail.com>
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Jared-Fogle <35135081+Jared-Fogle@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Danny ter Haar <dannyterhaar+websites.github@hyrana.info>
Co-authored-by: dragomagol <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: Erin <edesaulniers96@live.ca>
Co-authored-by: Tlaltecuhtli <33834933+Tlaltecuhtli@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Coffee <CoffeeDragon16@gmail.com>
CRITAWAKETS pushed a commit to CRITAWAKETS/tgstation that referenced this pull request Jan 17, 2021
…#55799)

Stops silicons from interacting with the Space Pirate Shuttle's airlocks by cutting the AI wires on the airlocks of the shuttle by default using a new "cut ai wire" helper. Borgs are able to regain control by physically mending the wire of the airlocks.

Note that this does not stop borgs from interacting with other machinery on the pirate shuttle.

The meta to deal with space pirates is for a single borg to cuck pirates by shocking and bolting all of the doors on the pirate ship. This does not entirely get rid of the meta, as any smart borg can simply mend the wires back, but it means borgs will not longer be able to magically shock doors from windows.
CRITAWAKETS pushed a commit to CRITAWAKETS/tgstation that referenced this pull request Jan 17, 2021
unit0016 added a commit to unit0016/TetraStation-1 that referenced this pull request Jan 15, 2023
PORTS:
tgstation/tgstation#55799
tgstation/tgstation#60675
tgstation/tgstation#65580
tgstation/tgstation#65581
tgstation/tgstation#70861

Greyscales both access and mail helpers because I passionately hate the LAME type of RSC bloat
TamberP pushed a commit to TetraStation/TetraStation that referenced this pull request Feb 12, 2023
PORTS:
tgstation/tgstation#55799
tgstation/tgstation#60675
tgstation/tgstation#65580
tgstation/tgstation#65581
tgstation/tgstation#70861

Greyscales both access and mail helpers because I passionately hate the LAME type of RSC bloat
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Feature Exposes new bugs in interesting ways Good First PR We all have to start somewhere Map Edit Thank you for your tile-placing service. It's always appreciated. Sprites A bikeshed full of soulless bikes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

7 participants