Commit Graph

953 Commits

Author SHA1 Message Date
Useroth
22bcdbf5f9 Nova ports batch 1 (#26273)
* Map votes are no longer random (#43)

* Disables the annoying fear of Santa from the claustrophobia quirk (#51)

* Removes the job locks from all armbands except the sec armbands, and reflavors all armbands to not directly state this person is a member of x department (#62)

* [MODULAR] Removes Arbitrary Loadout Restrictions (#58)

* Removes an AM template from NorthStar as well as the prison curtain logic (#72)

* Bilingual now let's you take common (if you don't already have it) (#78)

* Period Era Re-Enactment: Basic autopunctuation (#84)

* [Semi-modular] Gives Xeno-hybrids some xeno-organs in trade for high temperature weakness (#91)

* The Thrill of the Hunt: Hemophage blood digestion changes (#93)

* Removes the ability for shocks to stop your heart (#116)

* Ghost cafe turf fixes (#161)

* ungatekeeps headshots (#170)

* Lo(v)re Wins: Mothic Language return (#186)

* Add Bone Greaves As Foot Clothing For Tribals (#197)

* Saving Private Oversized: Quirk balancing adjustments (#199)

* Over(sized) and Under: Oversized combat adjustments (#202)

* Shuttles no longer bolt their doors on transit (#203)

* Increases PAI description and OOC notes limit (#207)

* Makes headset sounds not insane (WHY DO THEY HAVE A RANGE OF 17 TI:LES?) (#215)

* Add Bone D6 For Tribals. (#217)

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
Co-authored-by: Name <w4rd3nn@gmail.com>
Co-authored-by: Ephemeralis <Ephemeralis@users.noreply.github.com>
Co-authored-by: lila <sheepwiththemask@gmail.com>
Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: Sable <102194057+Thlumyn@users.noreply.github.com>
Co-authored-by: goobliner <141452834+goobliner@users.noreply.github.com>
Co-authored-by: Lutowski <136726218+Lutowski@users.noreply.github.com>
Co-authored-by: FearfulFurnishing <139661819+FearfulFurnishing@users.noreply.github.com>
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
2024-01-29 20:13:27 +00:00
SkyratBot
b291faa368 [MIRROR] Replaces /obj:: -> parent_type:: (#26284)
* Replaces `/obj::` -> `parent_type::` (#81146)

## About The Pull Request

This just seemed like a minor error with the new syntax that popped up:

The intent of these seem to be "take our obj flags and add
`NO_DECONSTRUCTION` to it", which was perfectly serviceable in a
majority of places, as the parent type had the same obj flags as `/obj`.
But in a small handfull of places (such as any table subtypes) this was
not the case, and it caused some objects to have missing flags that they
were otherwise intended(?) to inherit.

So I replaced `/obj::` with `parent_type::` meaning rather than using
the base obj flags and then adding `NO_DECONSTRUCTION`, they use their
parent type's obj flags and then add `NO_DECONSTRUCTION`.

## Changelog

🆑 Melbert
fix: You can build on some niche tables again, such as the Wabbajack
Altar.
/🆑

* Replaces `/obj::` -> `parent_type::`

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-29 19:51:55 +01:00
SkyratBot
0d35bb684e [MIRROR] Emergency shuttle console only works on the shuttle (#26264)
* Emergency shuttle console only works on the shuttle (#81123)

## About The Pull Request

Fixes https://github.com/tgstation/tgstation/issues/79067 where you can
hijack the shuttle without actually being on the shuttle.

## Changelog

🆑 LT3
fix: Emergency shuttle console now only works while on the emergency
shuttle
/🆑

* Emergency shuttle console only works on the shuttle

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2024-01-28 00:04:52 -05:00
SkyratBot
ab5a4d0f99 [MIRROR] split area.contained_turfs up by zlevel, make init 10 seconds faster (#26161)
* split area.contained_turfs up by zlevel, make init 10 seconds faster (#80941)

## About The Pull Request

Situation: areas have a list of all turfs in their area.

Problem: `/area/space` is an area and has a 6 to 7 digit count of turfs
that has to be traversed for every turf we need to remove from it. This
can take multiple byond ticks just to preform this action for a single
space rune

Solution: split the list by zlevel, and only search the right zlevel
list when removing turfs from areas.

replaces `area.get_contained_turfs()` with a few new procs:

* `get_highest_zlevel()` - returns the highest zlevel the area contains
turfs in. useful for use with `get_turfs_by_zlevel`
* `get_turfs_by_zlevel(zlevel)` - returns a list of turfs in the area in
a given zlevel. Useful for code that only cares about a specific zlevel
or changes behavior based on zlevel like lighting init.
* `get_turfs_from_all_zlevels()` - the replacement for
`get_contained_turfs()`, renamed as such so anybody copying/cargo
culting code gets a hint that a zlevel specific version might exist.
Still used in for loops that type checked so byond would do that all at
once
* `get_zlevel_turf_lists()` - returns the area's zlevel lists of lists
but only for non-empty zlevels. very useful for for loops.

The area contents unit test has been rewritten to ensure any improper
data triggers failures or runtimes by not having it use the helpers
above (some of which ensure a list is always returned) and access the
lists directly.

* split area.contained_turfs up by zlevel, make init 10 seconds faster

* eeyes

* Update area_spawn_subsystem.dm

* Unshits turf contain code slightly (#81023)

Literally just implements my reviews from #80941 
I am frankly a smidge pissed that the pr was merged without them being
handled. No code is worth merging past known issues, and if the author
is just gonna dip then that's life.
I don't like privileging mso on stuff like this, especially because
frankly I'm kinda mad at him rn but also because when a pr is made the
onus on finishing it falls to the person who made it.

Should not need to clean up after someone as a maintainer, and shouldn't
normalize doing it. I'm not like mad at zypher directly mind he offered
to do this too, just the idea he was espousing here.

---------

Co-authored-by: Kyle Spier-Swenson <kyleshome@gmail.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2024-01-21 03:34:23 +00:00
SkyratBot
3e80a1bd00 [MIRROR] Fixes another image harddel in station blueprints (and more) [MDB IGNORE] (#26012)
* Fixes another image harddel in station blueprints (and more) (#80780)

## About The Pull Request

![image](https://github.com/tgstation/tgstation/assets/13398309/063c58ef-6233-4c91-aaf0-7e9589c0e912)

Tin. Just more uncovering of some of these image harddels.
`blueprint_data` is a list of images.

I also went through the code and looked for any more instances of images
being qdeleted that I could find.

## Why It's Good For The Game

Hard dels begone

## Changelog

🆑
fix: fixes an /image harddel in station blueprints
code: cleaned up some more /image qdels
/🆑

* Fixes another image harddel in station blueprints (and more)

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2024-01-05 20:18:09 +00:00
SkyratBot
c41dd0e2f4 [MIRROR] Saves some free lag by removing some in area (in world) loops [MDB IGNORE] (#25977)
* Saves some free lag by removing some in area (in world) loops (#80644)

## About The Pull Request

Goes through and changes some `in area` / `in a` loops to use
`get_contained_turfs` to cut down on `in_world` loops. Saves some free
lag.

## Changelog

🆑 Melbert
fix: Some things which affect everything in an area are less laggy, the
"all lights are broken" station trait especially
/🆑

* Saves some free lag by removing some in area (in world) loops

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-01-04 16:59:25 +00:00
SkyratBot
922ec66ee7 [MIRROR] Better Ghost Selection [MDB IGNORE] (#25789)
* Better Ghost Selection

* yes

* oldcode updates and compat

---------

Co-authored-by: 13spacemen <46101244+13spacemen@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
2023-12-25 00:11:10 +00:00
SkyratBot
7c0d50e65d [MIRROR] Alien nests and some other stuf can be hit again. [MDB IGNORE] (#25736)
* Alien nests and some other stuf can be hit again. (#80418)

## About The Pull Request
Another small issue fixed. Thanks Melbert for telling us what's wrong
with it.

EDIT: other objects were rendered unhittable by that flags refactor PR.

## Why It's Good For The Game
Fixes #80311. I made the xmas tree indestructible because the comment to
the `NO_DECONSTRUCTION` flag didn't make a load of sense since that
doesn't stop it from getting destroyed anyway.

## Changelog

🆑 MrMelbert, Ghommie
fix: Alien nests, and some other stuff, can be physically attacked
again.
balance: x-mas trees (the ones with presents), are indestructibles.
Truly protected by a yuletide spirit.
/🆑

* Alien nests and some other stuf can be hit again.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-12-19 18:35:19 -05:00
SkyratBot
d5a02b44e9 [MIRROR] Icebox escape pods now properly target the Icemoon surface [MDB IGNORE] (#25740)
* Icebox escape pods now properly target the Icemoon surface (#80452)

## About The Pull Request

This fixes Icebox escape pods only landing in certain ruins when
launched early.

`/area/icemoon/surface/outdoors` only shows up in a few select ruins.
The new area value used to decide a landing point,
`/area/icemoon/surface/outdoors/unexplored/rivers/no_monsters`, covers
the majority of the Icemoon surface.
## Why It's Good For The Game

Closes #78735.

Escape pods might not very useful on Icebox, but this makes using them
less hazardous. You're guaranteed to at least land somewhere safe and
away from the station.
## Changelog
🆑 Rhials
fix: Icebox escape pods will now land randomly on the surface, instead
of only in certain ruins.
/🆑

* Icebox escape pods now properly target the Icemoon surface

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
2023-12-19 18:34:34 -05:00
SkyratBot
5be9d86fd2 [MIRROR] Shuttle event "Turbulence" [MDB IGNORE] (#25660)
* Shuttle event "Turbulence" (#80358)

## About The Pull Request

Adds a new shuttle event: turbulence.
The escape shuttle is experiencing subspace turbulence, effectively
causing the takeoff/landing buckle check to repeat a couple of times
during the duration of the flight.
Players will get a two second warning when the screen starts shaking,
after which if they are not buckled (or... outside of the shuttle I
guess) they will fall over for a few seconds.

The presence of turbulence in the shuttle's path will be announced
shortly after takeoff, so strap yourself in.

## Why It's Good For The Game

I think it adds a bit of flavour and influences what is going on in the
shuttle (falling over at the wrong moment can turn a scrum over bridge
access on its head) without being quite as disruptive as "there's 13
carp in here now".

## Changelog

🆑
add: Adds a new shuttle event, where space shuttles can experience minor
turbulance. Keep your belt on while the appropriate cabin light is lit.
/🆑

Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>

* Shuttle event "Turbulence"

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@ users.noreply.github.com>
2023-12-17 10:06:58 -05:00
SkyratBot
3658c80e57 [MIRROR] Explodes device.dmi [MDB IGNORE] (#25523)
* Explodes device.dmi

* Demodularize these

* Update traitordevices.dm

* Update traitordevices.dm

* Modularizes hypnotic flash

* Modular dmi repath

* Modular dmi repath

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-12-09 09:48:43 -05:00
SkyratBot
41ea46d5f2 [MIRROR] Scopes NODECONSTRUCT_1 from flags_1 to obj_flags [MDB IGNORE] (#25496)
* Scopes `NODECONSTRUCT_1` from `flags_1` to `obj_flags`

* Update bitfields.dm

* Modular

* Update rack.dm

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-12-08 23:24:46 -05:00
SkyratBot
6c4c965ea4 [MIRROR] Changes occurrences of recieve in code to receive [MDB IGNORE] (#25393)
* Changes occurrences of `recieve` in code to `receive`

* Fix conflict

---------

Co-authored-by: distributivgesetz <distributivgesetz93@gmail.com>
Co-authored-by: SomeRandomOwl <somerandomowl@ratchtnet.com>
2023-12-02 20:40:07 -06:00
SkyratBot
fd0a96e70f [MIRROR] Add a bounds check to prevent runtimes on the ripple shuttle port [MDB IGNORE] (#25294)
* Add a bounds check to prevent runtimes on the ripple shuttle port (#79959)

This appears to sometimes runtime when the target stationary port is
somehow a different size to the ripple port. The code had an out of
bounds check of a sort, but it doesn't actually work because the array
accesses runtime instead of returning a null

As to why the turfs available were not the same? most likely because the
bounds overlapped the world edge due to a fuck huge shuttle.

I have a feeling even if this proc completes something would fail later
anyway.

edit: oh so it was the lance shuttle which is fuck hueg

#79961 is related but not fixed by this.

* Add a bounds check to prevent runtimes on the ripple shuttle port

---------

Co-authored-by: oranges <email@oranges.net.nz>
2023-11-28 01:39:52 -05:00
SkyratBot
b557e89855 [MIRROR] More standardization for ghost notifications (READY) [MDB IGNORE] (#25104)
* More standardization for ghost notifications (READY) (#79596)

## About The Pull Request
I'm still not satisfied with how ghost notifications work. This gives
every notification with a source (99% of all notifications, in other
words) a link to jump/orbit. Currently, notifications with "play"
interactions would only get the interact link, so jumping to the source
was pretty annoying.

It removes posting the entire message in the alert tooltip, as some got
pretty lengthy and it didn't seem to fit. To replace this, they will
always use headers

After:

![image](https://github.com/tgstation/tgstation/assets/42397676/debfce52-3627-4a43-8663-33d61d893161)

![image](https://github.com/tgstation/tgstation/assets/42397676/01f299ae-dc6a-45f8-a97a-cb2c815088b2)

![image](https://github.com/tgstation/tgstation/assets/42397676/99567376-063e-458e-af2a-2dd4306747cc)

NOTIFY_JUMP and NOTIFY_ORBIT have been merged, since the only difference
seems to be whether it's a turf. The result shaves off some redundant
lines of code, since most-every usage of notify_ghosts uses
NOTIFY_ORBIT.
## Why It's Good For The Game
More standardization for the ghost notification system. Adds a few alert
headers that never had them. All in all, makes it easier for creators to
throw alerts at ghosts
## Changelog
🆑
qol: Nearly every ghost alert should now feature a "VIEW" button, even
those with click interaction.
del: Ghost alerts no longer show the entire message in the tooltip,
instead have been replaced with titles.
/🆑

* More standardization for ghost notifications (READY)

* Modular

* Update outpost_of_cogs.dm

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-11-19 11:25:32 -05:00
SkyratBot
42d245a4be [MIRROR] Basic Guardians/Holoparasites [MDB IGNORE] (#24921)
* Basic Guardians/Holoparasites (#79473)

## About The Pull Request

Fixes #79485
Fixes #77552

Converts Guardians (aka Holoparasites) into Basic Mobs.
Changes a bunch of their behaviours into actions or components which we
can reuse.
Replaces some verbs it would give to you and hide in the status panel
with action buttons that you may be able to find more quickly.

They _**should**_ work basically like they did before but a bit
smoother. It is not unlikely that I made some changes by accident or
just by changing framework though.

My one creative touch was adding random name suggestions.
The Wizard federation have a convention of naming their arcane spirit
guardians by combining a colour and a major arcana of the tarot. The
Syndicate of course won't truck with any of that mystical claptrap and
for their codenames use the much more sensible construction of a colour
and a gamepiece.

This lets you be randomly assigned such creative names as "Sparkling
Hermit", "Bloody Queen", "Blue World", or "Purple Diamond".
You can of course still ignore this entirely and type "The Brapmaster"
into the box if so desired.

I made _one_ other intentional change, which is to swap to Mothblocks'
nice leash component instead of instantly teleporting guardians back to
you when they are pulled out of the edge of their range. They should now
be "dragged" along behind you until they can't path, at which point they
will teleport. This should make the experience a bit less disorienting,
you have the recall button if you _want_ to instantly catch up.

This is unfortunately a bumper-sized PR because it did not seem
plausible to not do all of it at once, but I can make a project branch
for atomisation if people think this is too much of a pain in the ass to
review.

Other changes:
- Some refactoring to how the charge action works so I could
individually override "what you can hit" and "what happens when you hit"
instead of those being the same proc
- Lightning Guardian damage chain is now a component
- Explosive Guardian explosive trap is now a component
- Added even more arguments to the Healing Touch component to allow it
to heal tox/oxy damage and require a specific click modifier
- Life Link component which implements the Guardian behaviour of using
another mob as your health bar
- Moved some stuff about deciding what guardians look and are described
like into a theming datum
- Added a generic proc which can return whether your mob is meant to
apply some kind of damage multiplier to a certain damage type. It's not
perfect because I couldn't figure out how ot cram limb modifiers in
there, which is where most of it is on carbons. Oh well.
- Riders of vehicles now inherit all movement traits of those vehicles,
so riding a charging holoparasite will let you cross chasms. Also works
if you piggyback someone with wings, probably.

## Changelog

🆑
refactor: Guardians/Powerminers/Holoparasites now use the basic mob
framework. Please report any unexpected changes or behaviour.
qol: The verbs used to communicate with, recall, or banish your Guardian
are now action buttons.
balance: If (as a Guardian) your host moves slightly out of range you
will now be dragged back into range if possible, rather than being
instantly teleported to them.
balance: Protectors now have a shorter leash range rather than a longer
one, in order to more easily take advantage of their ability to drag
their charge out of danger.
balance: Ranged Guardians can now hold down the mouse button to fire
automatically.
balance: People riding vehicles or other mobs now inherit all of their
movement traits, so riding a flying mob (or vehicle, if we have any of
those) will allow you to cross chasms and lava safely.
/🆑

---------

Co-authored-by: san7890 <the@ san7890.com>

* Basic Guardians/Holoparasites

* Modular

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: san7890 <the@ san7890.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-11-11 07:07:34 -05:00
SkyratBot
aa3e795e36 [MIRROR] Cuts down on unnecessary non-TGUI stuff [MDB IGNORE] (#24896)
* Cuts down on unnecessary non-TGUI stuff (#79590)

## About The Pull Request

Removes INTERACT_MACHINE_SET_MACHINE on machines that don't use a
non-TGUI UI.
Removes set_machine from TGUI things that forgot to remove them
previously.
Decouples advanced camera consoles from UI procs since it doesn't
actually use one.

## Why It's Good For The Game

TGUI machines don't need to be using these procs and vars, and this
makes it more clear what does and doesn't use a TGUI menu from a glance.
I explain it a bit better
[here](https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA) if you're interested.

## Changelog

No player-facing changes.

* Cuts down on unnecessary non-TGUI stuff

---------

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2023-11-09 18:54:14 -05:00
SkyratBot
509abef418 [MIRROR] Removes unused vars from cargo & economy. [MDB IGNORE] (#24882)
* Removes unused vars from cargo & economy.

* Update supply.dm

* Update supply.dm

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-11-09 09:15:18 -05:00
SkyratBot
45bb64113d [MIRROR] Adds some trailing commas to lists, fixes typo [MDB IGNORE] (#24812)
* Adds some trailing commas to lists, fixes typo

* Update orderconsole.dm

---------

Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-11-06 06:35:10 +00:00
SkyratBot
596b2f050e [MIRROR] Converts some notify_ghosts args to bitflags, multilines all notify_ghosts calls [MDB IGNORE] (#24804)
* Converts some notify_ghosts args to bitflags, multilines all notify_ghosts calls

* Update supermatter.dm

* Modular

* More modular

* Update cortical_borer_egg.dm

---------

Co-authored-by: Rhials <28870487+Rhials@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-11-05 22:01:17 -05:00
SkyratBot
761cdc3d20 [MIRROR] Station announcements cleanup [MDB IGNORE] (#24792)
* Station announcements cleanup

* Fix diffs

* Space indentation

* skyrat edits

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-11-05 01:58:16 -05:00
SkyratBot
e8afe219f5 [MIRROR] GMM UI & Cargo budget handling tweaks [MDB IGNORE] (#24672)
* GMM UI & Cargo budget handling tweaks

* Fixing diffs

---------

Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-31 03:01:09 -04:00
SkyratBot
f342a4bb67 [MIRROR] Improves the deployable component [MDB IGNORE] (#24627)
* Improves the deployable component (#79199)

## About The Pull Request

The deployable component had a few random things I noticed when I tried
actually using it that kinda sucked so I'm:

Making the examine message more generic, we did NOT need to make it that
complicated.
Letting anything with hands deploy stuff, because mobs other than humans
can hold things.
Giving the option to let something be deployed more than once.
Letting direction setting be optional.
Tweaking the check for if something can be placed somewhere to be a bit
better.
## Why It's Good For The Game

I want to use the deployable component for stuff but I made it awful.
## Changelog
🆑
code: the deployable component has been tweaked and improved with some
new options to it
/🆑

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Improves the deployable component

* Modular

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-27 21:45:23 -04:00
SkyratBot
99da88db82 [MIRROR] Reworks the styling of the announcements and expands major announcements to also be colourable. [MDB IGNORE] (#24596)
* Reworks the styling of the announcements and expands major announcements to also be colourable.

* Skyrat edits

* Skyrat edits

---------

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-10-25 22:22:52 -07:00
SkyratBot
4970f36e37 [MIRROR] Basic drones [MDB IGNORE] (#24507)
* Basic drones

* Diffs

* Diffs

* Modular

* Modular

---------

Co-authored-by: lizardqueenlexi <105025397+lizardqueenlexi@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-22 15:24:55 -04:00
SkyratBot
b0fe14e526 [MIRROR] Adds Custom Announcement Dividers [MDB IGNORE] (#24471)
* Adds Custom Announcement Dividers

* Skyrat custom announcements

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-10-20 14:42:09 -07:00
SkyratBot
6e677a2bbd [MIRROR] Invisibility refactor [MDB IGNORE] (#24405)
* Invisibility refactor (#78908)

This adds a tracker for sources of invisibility and a priority system. I
needed this for another thing so I'm doing this first since it touches a
lot of code. As for the bugs fixed in the changelog, it's only what I
noticed while going through everything and there's likely a few more
things fixed with this. This should be testmerged for a while, I'll
bring this out of draft when it feels safe.

🆑
admin: Invisimin can now be used on mobs that are already invisible,
whether through temporary or permanent effects.
fix: Monkeyize/Humanize mob transformations no longer permanently reveal
invisible mobs if they had effects making them invisible otherwise.
fix: Objects with the undertile element that have been made invisible
through other means are no longer revealed by being uncovered.
/🆑

* Invisibility refactor

---------

Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
2023-10-18 00:36:09 -04:00
SkyratBot
0c9149bf35 [MIRROR] Refactor gib code to use bitflags and have documentation [MDB IGNORE] (#24143)
* Refactor gib code to use bitflags and have documentation

* Modular updates

* Modular updates

* Modular updates

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-10-09 15:00:17 -04:00
SkyratBot
5a2d9823a0 [MIRROR] Fixes Lazy Templates fucking over cables, pipes , and shuttles at random [MDB IGNORE] (#24088)
* Fixes Lazy Templates fucking over cables, pipes , and shuttles at random (#78622)

## About The Pull Request

See title.
## Why It's Good For The Game

If a lazy template is loaded AFTER roundstart it doesn't get included
into the global init procs, because that work is offloaded into a
subsystem
LINDA runtimes are bad, null.archive() runtime be gone.
## Changelog
🆑
fix: The Syndicate have fired their previous construction company after
poor results in recent outposts.
/🆑

* Fixes Lazy Templates fucking over cables, pipes , and shuttles at random

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2023-10-03 07:05:57 -04:00
Bloop
b3b7b8f0e1 [MISSED MIRROR] Adds user feedback for going over order limits in cargo console (#76344) (#24032)
Adds user feedback for going over order limits in cargo console (#76344)

This'll prevent weird "above the max by accident" cases, and also uses
defines instead of hardcoded stuff. This code is often duped, wish we
had a better way of handling it.

Oh also removes a few safety copies before for loops that aren't
actually needed (for x in list copies the list)

Better UX, slightly saner code

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2023-09-30 22:40:21 -04:00
SkyratBot
055b747abf [MIRROR] Patches some cargo shuttle Centcom exploits. [MDB IGNORE] (#23894)
* Patches some cargo shuttle Centcom exploits. (#78540)

## About The Pull Request

Globally prevents anything blacklisted from actually getting to the
Centcom z-level by shipping blacklisted items back to their location of
origin just before the shuttle docks at Centcom.

Everything rejected in this way is logged and admins are given an alert
to let them know something funky went on.

![image](https://github.com/tgstation/tgstation/assets/24975989/09717f16-1115-45f2-8f8b-85b316ed4bc6)

![image](https://github.com/tgstation/tgstation/assets/24975989/af149939-1cf1-49f1-b458-7d5d4ff6ae89)
## Why It's Good For The Game

Hopefully universally patches all current methods of getting to the
Centcom Z-level via getting on the cargo shuttle mid-transit.

Individual methods to accomplish this can still be patched individually,
but this tries to blanket prevent such exploits from working on a more
fundamental level.
## Changelog
🆑
fix: Centcom now rejects contraband that somehow makes it way onto the
cargo shuttle mid-transit and returns it.
/🆑

* Patches some cargo shuttle Centcom exploits.

---------

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2023-09-24 21:39:49 -07:00
SkyratBot
d9624bdf97 [MIRROR] Multi-Z Support for Lazy Templates | Cleans up some turf flag misuse [MDB IGNORE] (#23794)
* Multi-Z Support for Lazy Templates | Cleans up some turf flag misuse

* Update hilbertshotel.dm

* Modular proc ref

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-19 13:26:14 -04:00
SkyratBot
466d7a5081 [MIRROR] Emergency shuttle is aware of security level [MDB IGNORE] (#23678)
* Emergency shuttle is aware of security level (#78271)

## About The Pull Request

The emergency shuttle maintains its security level coefficient and does
the calculation instead of outside procs that aren't aware of what alert
it was when the shuttle was first called.

If the shuttle auto-call timer should be capped at the current security
level timer, that can be done in a different PR.

## Why It's Good For The Game

Fixes https://github.com/tgstation/tgstation/issues/78159

## Changelog

🆑 LT3
fix: Emergency shuttle should correctly scale timer up/down when
changing security levels
/🆑

* Emergency shuttle is aware of security level

---------

Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-09-13 15:44:24 -07:00
SkyratBot
a08ee56788 [MIRROR] Exploration drones can no longer be used to get to centcom [MDB IGNORE] (#23597)
* Exploration drones can no longer be used to get to centcom (#78197)

## About The Pull Request
Fixes #73417
Implements a check for exploration drones to make sure that containers
inside the storage don't have blacklisted items in them before launch.
Now you won't able to hide beacons and living beings inside bluespace
body bags.

Also adds exploration drone launchers to cargo shuttle's blacklist to
prevent potential shenanigans in the future.

[I suck at explaining, so here's a poorly made video that shows how to
do this](https://www.youtube.com/watch?v=U45ifQGQxzI)

~also, why does it take 10 hours to get the "Time Waster" achievement.
how did 6 people even get it??~

## Why It's Good For The Game
centcom is scary and exploits are bad

## Changelog
🆑
fix: Exploration drones can't be used to reach Centcom anymore.
/🆑

* Exploration drones can no longer be used to get to centcom

---------

Co-authored-by: leaKsi <59278564+leaKsi@users.noreply.github.com>
2023-09-09 10:33:07 -04:00
SkyratBot
71da4ca73f [MIRROR] Refactors the notransform variable into a trait. [MDB IGNORE] (#23566)
* Refactors the `notransform` variable into a trait.

* Update robot_upgrades.dm

* modular

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-09-07 20:24:59 -04:00
SkyratBot
e3f8dd884e [MIRROR] Better alert/announcment sounds and Status displays [MDB IGNORE] (#23481)
* Better alert/announcment sounds and Status displays

* skyrat edits

* Update status_display.dmi

* Update flavor_misc.dm

* Update communications.dm

* skyrat edits

* Update status_display.dmi

* Update _sm_delam.dm

* typo

* Update status_display.dmi

* Update status_display.dmi

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
2023-09-03 00:43:12 -07:00
Paxilmaniac
1f204e806e Guncargo 2023 : I love the free market : No interest, no buying companies, no money down! : Cheaper literally everything (#23244)
* ea nasir damn you

* surely there are no consequences to any of this

* nineteen dollar pistol, just a week away

* i love buying product

* look at all these great deals!

* just a week away

* should fix windows build

* should let borgs place requests

* lets borgs use it fr

* epic logic L

* actually for real fixes silicons ordering from imports

* get real

* makes cargo ordered stuff not show up locked in a crate

* makes it impossible to get that infinite cash from small orders

* i dont think we need this anymore?

* switches up the selection a tiny bit to fit the new system

* removes a bit i commented out but didnt delete

* lets see if moving that to static data makes it still work fine

* turns out that it was not, in fact, fine

* Update modular_skyrat/modules/company_imports/code/armament_datums/deforest_medical.dm

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>

* makes adv tools more expensive and fixes budget orders

* restricts some large weapons i forgot to

* fixes some magazine import pathing

* those dont exist anymore pal!

---------

Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
2023-08-30 16:20:01 -04:00
SkyratBot
4a5a371713 [MIRROR] Updates message for HREF Dock Exploit [MDB IGNORE] (#23320)
* Updates message for HREF Dock Exploit (#77891)

## About The Pull Request

Hey there,

![image](https://github.com/tgstation/tgstation/assets/34697715/86282805-5c5d-4e13-aec4-91a5877831ed)

This message randomly popped up while I was adminning, and it was
completely dogshit useless (as well as not being an HREF exploit since
Snowdin was loaded and you should be expected to do that, but that's
indicative of a harder bug). Let's yeet the `message_admins()` portion
(as well as make it actually actable information rather than just
'Unknown' and give it an actual follow jump button) and if then if we
don't have a client, stack_trace (in case people want to make basic mobs
keymash to send shuttles in the future).
## Why It's Good For The Game

This is completely useless and confusing. It's not even an HREF exploit
because this behavior is completely intended. It's more helpful to
coders now too because this thing failing isn't just locked to
admin-only logs, it stack traces (which is publically available).
## Changelog
🆑
admin: The "HREF Dock Exploit" message should now contain a bit more
usable information (such as a jump link) so you can investigate if
something is really going wacky with shuttles.
/🆑

---------

Co-authored-by: Gallyus <5572280+francinum@ users.noreply.github.com>

* Updates message for HREF Dock Exploit

---------

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Gallyus <5572280+francinum@ users.noreply.github.com>
2023-08-25 19:06:28 -04:00
SkyratBot
53955051d0 [MIRROR] Adds a check grep for using src as a trait source rather that REF(src) [MDB IGNORE] (#23264)
* Adds a check grep for using `src` as a trait source rather that `REF(src)` (#77836)

## About The Pull Request

Using `src` as a trait source is an error and can often lead to
hard-deletes

If you wish to tie a source to a certain datum, it is common to use
`REF(src)` instead.

Ideally, we would lint or test for any use of a reference rather than a
string in use in trait sources, but that's a bit harder to setup.
Currently (from what I can see) the *only* erroneous use of references
as sources are via `src`, so it being the most common error, I see it
fine to lint for it.

## Changelog

Nothing player facing.

* Adds a check grep for using `src` as a trait source rather that `REF(src)`

* Update style.dm

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-08-23 01:18:53 -04:00
SkyratBot
c3ac650746 [MIRROR] Makes bluespace navigation gigabeacons both significantly nicer to use, and significantly cooler [MDB IGNORE] (#23023)
* Makes bluespace navigation gigabeacons both significantly nicer to use, and significantly cooler

* Removes icon override

* No more circuit boards to build these. Instead they unfold.

---------

Co-authored-by: Paxilmaniac <82386923+Paxilmaniac@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-08-11 23:49:54 -04:00
SkyratBot
008b044ac5 [MIRROR] Emergency shuttle information display improvements [MDB IGNORE] (#23016)
* Emergency shuttle information display improvements

* Update emergency.dm

* Update emergency.dm

* Modular shuttles

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-08-11 22:39:32 -04:00
SkyratBot
250c316a5d [MIRROR] Prevents shuttle events running in-case of catastrophic failure [MDB IGNORE] (#23011)
* Prevents shuttle events running in-case of catastrophic failure

* Update code/modules/shuttle/emergency.dm

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
2023-08-11 08:07:38 -04:00
SkyratBot
b8792d5317 [MIRROR] Add admin blackhole(s) shuttle event [MDB IGNORE] (#22978)
* Add admin blackhole(s) shuttle event (#77188)

## About The Pull Request
This adds a new **Black Hole** admin shuttle event while the escape
shuttle is in transit. The regular version spawns a small 1x1
singularity that falls through the ship. There is also a special
adminbus Kobayashi Maru version that spawns multiple black holes
rapidly.

## Why It's Good For The Game

![dreamseeker_MxqHmKXXQ8](https://github.com/tgstation/tgstation/assets/5195984/e169669a-fb71-48c5-8314-df82852eef3b)

Tell me this doesn't look fun?

## Changelog
🆑
add: Add admin blackhole shuttle event with a normal version and
suicidal version.
fix: Fix several shuttle event runtimes
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>

* Add admin blackhole(s) shuttle event

---------

Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Time-Green <7501474+Time-Green@ users.noreply.github.com>
2023-08-10 08:07:56 -04:00
SkyratBot
1cc3e0d865 [MIRROR] [no gbp] Fixes runtimes in shuttle event and shuttle cling [MDB IGNORE] (#22918)
* [no gbp] Fixes runtimes in shuttle event and shuttle cling (#77343)

Fixes no-candidate runtime from pick() on an empty list
Fixes spawning null movables if run out of mobs to spawn
Fixes shuttle cling qdeling on Initialize due to lattices not counting
as hyperspace

🆑
runtime: Fixes runtimes in shuttle event and shuttle cling code
/🆑

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* [no gbp] Fixes runtimes in shuttle event and shuttle cling

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
2023-08-07 09:36:00 -04:00
SkyratBot
3fa227223a [MIRROR] convert the bear to a basic mobster [MDB IGNORE] (#22751)
* convert the bear to a basic mobster

* Merge conflicts

* Fixing the diffs

* Merge conflicts

* Update mob.dm

* Update VoidRaptor.dmm

* why is this pr so cursed

---------

Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Giz <13398309+vinylspiders@users.noreply.github.com>
2023-07-29 04:40:27 -04:00
SkyratBot
7b4237c692 [MIRROR] Implements usage of the REVERSE_DIR macro throughout the code. [MDB IGNORE] (#22743)
* Implements usage of the REVERSE_DIR macro throughout the code. (#77122)

## About The Pull Request
Replaces a ton of `turn(dir, 180)` calls with the aforementioned macro.

## Why It's Good For The Game
Afaik, `REVERSE_DIR` was coded to be faster than the classic `turn(dir,
180)` call, being a simple set of binary operations. To sum it up, micro
optimization.

## Changelog

N/A

* Implements usage of the REVERSE_DIR macro throughout the code.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2023-07-28 14:32:01 -04:00
SkyratBot
6aa21d0527 [MIRROR] Refactors vendor tipping and adds 2 new malf modules: Remote vendor tipping, and the ability to roll around and crush anything in your path. [MDB IGNORE] (#22727)
* Refactors vendor tipping and adds 2 new malf modules: Remote vendor tipping, and the ability to roll around and crush anything in your path.

* Update _vending.dm

---------

Co-authored-by: nikothedude <59709059+nikothedude@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2023-07-27 17:29:54 -04:00
SkyratBot
c2c8f00d16 [MIRROR] Fixes triple carp shuttle event failing [MDB IGNORE] (#22539)
* Fixes triple carp shuttle event failing (#76860)

* Fixes triple carp shuttle event failing

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: Pinta <68373373+softcerv@users.noreply.github.com>
Co-authored-by: Bloop <vinylspiders@gmail.com>
2023-07-18 16:43:53 -04:00
SkyratBot
2f552919c1 [MIRROR] Icons folder cleaning wave two [MDB IGNORE] (#22454)
* Icons folder cleaning wave two

* Merge conflict resolution

* Modular path hell

* hmm

* Update 2022-10.yml

* Another modular thing

---------

Co-authored-by: YesterdaysPromise <122572637+YesterdaysPromise@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-16 00:41:18 -04:00
SkyratBot
0a03e8a2a7 [MIRROR] Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types [MDB IGNORE] (#22481)
* Machine list is now stored in SSmachines | Remove excessive use of global lists for specific machine types

* Resolve merge conflicts

* Modular adjustments

* destroy this double return on destroy

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Giz <vinylspiders@gmail.com>
2023-07-15 22:51:23 -04:00