Commit Graph

431 Commits

Author SHA1 Message Date
Sealed101 60b47e2bd5 Mech camera (#71392)
## About The Pull Request
This PR implements a new add-on for mechs that functions as a
~~EMP-proof~~ borg security camera. Unlocked in Basic Robotics Research
node.
Mechs with a camera installed will have a unique diagnostic HUD blip.


![image](https://user-images.githubusercontent.com/75863639/202909177-f2badafc-2429-495f-a281-fcaad95837fb.png)

Getting EMPd temporarily sets the camera's view range to 1.


![image](https://user-images.githubusercontent.com/75863639/203862438-cfcdc442-3aa6-4468-83bb-b4ccad8dfa2e.png)


## Why It's Good For The Game
Bodycam footage of the mech in action; AIs piloting a mech with this
add-on can actually see what's happening around the mech, much like
following a borg.

## Changelog
🆑
add: robotics now has access to a mech camera add-on, which installs a
security camera into the mech. bodycam footage from the big leagues!
qol: cyborg cameras should be more active with updating static when
moving (ideally down from 2.5 seconds to 0.5 between updates), make sure
to report any jank if you happen on some
/🆑

Co-authored-by: Time-Green <timkoster1@hotmail.com>
2022-11-29 21:21:23 +00:00
John Willard 4bd357a7cb Stops tech disks from creating two techwebs & Adds more research logging (#71442)
## About The Pull Request

This hopes to stop floodings in SSresearch.techwebs by making tech disks
not initialize techwebs twice each time, especially since techwebs never
get deleted currently.

I also added some loggings to research because currently its only use is
when completing an experiment.

## Why It's Good For The Game

Better logs for research stuff and prevents a flood of techwebs when
trying to find one specific one in SSresearch's techweb list.
It would also slightly help with
https://github.com/tgstation/tgstation/issues/71434 because I don't know
what would cause this as bepis isn't logged.

## Changelog

🆑
admin: Researching nodes and bepis unlocking stuff is now logged in
research.
/🆑
2022-11-23 11:02:29 -08:00
John Willard 118299b70b More expanded multi-web support (#71402)
## About The Pull Request

This is a continuation of my previous PR
https://github.com/tgstation/tgstation/pull/71070

That one tackled techwebs and syncing it to machines, this one primarily
focuses on Generic techwebs and Experiment handlers.

### What it does

* Experiment handlers now only broadcast completed experiments over the
node they're connected to
* RD consoles once again no longer bluescreen if not connected to a
techweb
* RD servers now delete their techweb on deconstruction if they're the
creator of it
* 'Generic' techwebs are now capitalized
* Experiment handlers now see all techwebs instead of all servers being
listed under the same web, allowing there to have more than 1 techweb on
the same Z level but not list it as the same. They don't show the
location of the server anymore, I don't know if that's something that's
wanted or not.

In-game screenshot:

![image](https://user-images.githubusercontent.com/53777086/202935208-21b1fa15-e41d-4f85-b954-619252ecd504.png)

## Why It's Good For The Game

Mostly the same reason as my previous PR, this opens up more ways to
modularize techwebs and give more possibilities for ghost roles and
downstreams.

## Changelog

🆑
fix: Experisci handlers no longer show all servers as being on the same
techweb if they aren't.
fix: RnD consoles no longer bluescreen if they aren't connected to a
techweb, instead it will give an error message.
balance: Experisci handlers no longer show the location of RnD servers.
/🆑
2022-11-21 18:49:07 -08:00
disappointedButNotSuprised f45e58cf0e Coffee Shop DLC - done right this time edition (#70991)
## About The Pull Request

this is a re-attempt at PR #70725 that was practically ready but was
ruined in the course of my hardships with git. Mistakes were made.

In this re-edition I also addressed a few suggestions from the comments
of the original pr. There is a shaker added in the meta station cafe and
the pill bottle is moved out of sight to the fridge (I still left it
cause it contained antidepressants for the especially overworked NT
employees). Additionally, the naming of `/cup/glass/coffee` has been
handled differently this time to minimize the need of changing the code
in multiple places.

Please refer to the original PR for all details concerning the content,
below I add just a rough line-out for the sake of coherency.


![image](https://user-images.githubusercontent.com/57324037/199326210-216e5687-c205-4252-aae3-d55232c1c352.png)

The content of the pr extends to:
- a new coffee bean driven coffeemaker
- syrup bottles
- a coffee condiment display box
- almost complete make-over of the meta station cafe
- adding the new coffeemaker in a few break rooms on delta and tram (2
machines per station)

## Why It's Good For The Game

Please refer to #70725

## Changelog
🆑
add: After a massive success of the Modello 3 series, Piccionaia Home
Appliances rolls out a completely new coffeemaker model and renovates
the meta station cafe for free in a promotional campaign!
add: Syrup bottles, condiment displays, and more, to make the spess
coffee experience even better
/🆑

Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
2022-11-20 23:23:15 -08:00
RikuTheKiller 0747099063 Adds a reagent injector component and BCI manipulators to all circuit labs (#71236)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

This PR adds a reagent injector component that's exclusive to BCIs.
(Requested to be integrated into BCIs by Mothblocks.)
When outside of a circuit, the component itself stores the reagents.
However, if it's inside of a BCI, the storage is moved to the BCI. The
storage can contain up to 15u of reagents and acts like an open
container. (However, it won't spill even if you throw it, it just acts
like an open container code-wise, don't worry about it.)
You can only have one reagent injector in a circuit. Trying to insert
multiple will give you an error message.
The entire dose is administered at once. (Requirement set by
Mothblocks.)

Please don't try to dispute any of the specific limitations in the
comments as they're out of my control. They're reasonable anyways.

Reagent Injector Input/Output:
Inject (Input Signal) - Administers all reagents currently stored inside
of the BCI into the user.
Injected (Output Signal) - Triggered when reagents are injected. Not
triggered if the reagent storage is empty.

New BCI Input:
Show Charge Meter (Number) - Toggles showing the charge meter action.
(Adds some capacity for stealth.)

Install Detector Outputs: (Added following a comment about having to use
weird workarounds for proper loops.)
Current State (Number) - Outputs 1 if the BCI is implanted and 0 if it's
not.
Installed (Signal) - Triggered when the BCI is implanted into it's user.
Removed (Signal) - Triggered when the BCI is removed from it's user.

This PR also adds BCI manipulation chambers to all currently present
circuit labs. (Solution proposed by Mothblocks.)
Yes I had to do some other mapping changes to allow for this. No I don't
have any mapping experience, why do you ask?

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

One small step for BCIs, one giant leap for circuit kind. (First
"proper" circuit to human interaction in the entire game!)

This allows for some funky stuff and also makes it less of a pain in the
ass to use BCIs. What's not to love?

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: Added a reagent injector component and BCI manipulators to all
circuit labs. (+ install detector component)
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-20 23:17:34 -08:00
John Willard b8d86849c8 Removes ID computer parts (Removes computer hardware) (#71320)
## About The Pull Request

Removes the last computer part in the game: ID parts
Because this is removed, I also removed all computer hardware in the
game, and removed mentions of it in the game.
There is still 'hardware', as in Computer, Tablet, or Laptop.

Computers now all hold one ID slot by default, the only time a second ID
was needed was to use the access of both at once, and for the ID
modification application. This was now replaced with a new UI that only
has one tab, one ID slot:


https://user-images.githubusercontent.com/53777086/202801939-151b783f-75c8-46bf-a6c5-1b57b0d0da8e.mp4

## Why It's Good For The Game

Computer hardware is finally dead 🦀 

## Changelog

🆑
balance: All modular computers now only have one ID slot, and cannot be
upgraded.
qol: The HoP's access application now only has one app, logging in will
directly modify the ID that's in it, making it less confusing to swap
back and forth.
/🆑
2022-11-20 23:04:45 -08:00
John Willard ad5ceb5583 Removes tablet cell parts (#71078)
## About The Pull Request

Removes cell parts and cell part cells, now tablets directly stole a
power cell in them, and uses regular stock cells like every other
machine in the game. This also makes it less confusing because people
are more used to stock cells over computer cells. Because cells
generally hold more power than computer ones, I bumped up the active
power usage from 50 to 75.

## Why It's Good For The Game

We are nearly finished removing all parts, holy cr*p

## Changelog

🆑
balance: Tablets now use regular cells instead of computer cells.
balance: Tablets no longer need a power cell component to hold power
cells.
/🆑
2022-11-15 23:43:44 -08:00
Fikou d402ce4ee2 New Station Trait: Cybernetic Revolution + Body Purist Quirk (#71229)
## About The Pull Request
Adds a new station trait, the Cybernetic Revolution
It causes every crewmember to spawn with a cybernetic implant/organ (it
depends on their job).
For example. the bartender has an upgraded cybernetic liver, security
officers have extendable flashes, prisoners have flash shielded eyes.
For AIs, they get the surveillance upgrade.
The trait also lowers research costs for the cybernetic designs, triples
the price of EMP kits and EMP flashlights, doubles price of EMP bombs,
and allows traitors to buy autosurgeons, so they can implant themselves
with whatever they ripped out of the crew.
If you do not wish to partake, you can also take the Body Purist quirk,
which prevents you from getting a cybernetic, but everytime you have a
mechanical limb/organ from some other source, you will take a severe
mood penalty.

## Why It's Good For The Game
This could be a cool modifier to rounds once in a while, slightly
modifying the gameplay of all the crew.
Also our implant system is very barely used, so why not?

![image](https://user-images.githubusercontent.com/23585223/201492290-2043bbe8-8270-4114-add2-a612eafa0ec7.png)


## Changelog
🆑
add: New Station Trait: Cybernetic Revolution
add: Body Purist Quirk
/🆑

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 21:50:30 +00:00
AnturK 4d6a8bc537 515 Compatibility (#71161)
Makes the code compatible with 515.1594+

Few simple changes and one very painful one.
Let's start with the easy:
* puts call behind `LIBCALL` define, so call_ext is properly used in 515
* Adds `NAMEOF_STATIC(_,X)` macro for nameof in static definitions since
src is now invalid there.
* Fixes tgui and devserver. From 515 onward the tmp3333{procid} cache
directory is not appened to base path in browser controls so we don't
check for it in base js and put the dev server dummy window file in
actual directory not the byond root.
* Renames the few things that had /final/ in typepath to ultimate since
final is a new keyword

And the very painful change:
`.proc/whatever` format is no longer valid, so we're replacing it with
new nameof() function. All this wrapped in three new macros.
`PROC_REF(X)`,`TYPE_PROC_REF(TYPE,X)`,`GLOBAL_PROC_REF(X)`. Global is
not actually necessary but if we get nameof that does not allow globals
it would be nice validation.
This is pretty unwieldy but there's no real alternative.
If you notice anything weird in the commits let me know because majority
was done with regex replace.

@tgstation/commit-access Since the .proc/stuff is pretty big change.

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-11-15 03:50:11 +00:00
Mothblocks 910b97cd37 Save 0.4s by shaving off a lot of smaller init costs (#71007)
Starts shaving off a lot of less than 0.1s performance killers by, in
nearly every case, just writing better code.

Numbers are amount saved.

- /obj/machinery/bluespace_vendor/LateInitialize -> 29.4ms
Changes a loop over all machines to a specialized list.

- /obj/structure/table/glass/Initialize -> 42.53ms
Stops every table from initializing glass shards and table frames before
any destruction.

- /obj/structure/chair/Initialize -> 24.64ms
Removes an unnecessary addtimer that existed for chairs that weren't
anchored in emergency shuttles. Didn't do anything.

- /datum/orderable_item/New -> 44.3ms 
Instead of initializing every item to get its desc, just uses initial.
Added a unit test to make sure none are dynamic.

- /obj/machinery/computer/slot_machine/Initialize -> 26.19ms
Currently goes through every coin subtype, creates it, calls a proc,
then qdels it. Changes that to only run once. Could be optimized further
by making the coin info on a datum to avoid creating the object, but it
currently sits at 7.82ms, far below worth caring about for now.

- /obj/machinery/door_buttons/airlock_controller/findObjsByTag -> 3.51ms
Loops over just doors instead of typechecking airlock in machines.

- /obj/structure/closet/Initialize -> 60.57ms
Moves the code for taking everything on the tile from a next-tick timer
to LateInitialize.

- /obj/machinery/rnd/experimentor/Initialize -> 36.92ms
Changes a list that is generated by going through every item in the game
and getting information from a large amount of them to only run when
needed.

- /obj/structure/tank_dispenser/Initialize -> 20.81ms
No longer initializes every tank in it right away, only when needed.

- /obj/machinery/telecomms/LateInitialize -> 16.63ms
Removes `urange` to instead just loop over telecomms machines and check
distance. There's not that many of them.

- /mob/living/simple_animal/hostile/carp/cayenne/Initialize -> 3.17ms
Defers a GAGS overlay creation until its needed. BTW GAGS is
*horrendous* on init costs, and is the root cause for a lot of pretty
terrible performance. I investigated precompiling but the gains weren't
crazy, but likely could be the more stuff is GAGS'd.

- /turf/open/floor/engine/cult/Initialize -> 14.64ms
Temporary visual effect that is created is no longer done on mapload,
since nobody will see it.

- /datum/techweb/specialized/autounlocking/proc/autounlock -> 5.55ms
Changes some loops to shorter checks. This whole proc is pretty bad and
it's still 14.21ms for 17 calls.

- /matrix/New -> 13.41ms
- /matrix/proc/Translate -> 42.06ms
~~Changed the mineral matrice to only generate once, then take it from a
static.~~ An extra ~0.05s taken off by avoiding setting icon and
transform every Initialize.
2022-11-05 02:15:40 -07:00
Zergspower 5ab4e151c5 Fix for the missing Exofab modules for mining borgs (#70502)
When the big nice rework went through i think an oversight happened and
the PKA upgrades were lost to the void even though they could be
researched, this just re-adds them back to the exofab. The values were
taken from pre-change so nothing really changed from a cost/time
perspective.
2022-11-01 22:06:48 +01:00
texan-down-under 673ee5eee0 Bluespace Light Replacer!! (#70743)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request
port of https://github.com/BeeStation/BeeStation-Hornet/pull/7414

Adds a bluespace light replacer, which acts as a researchable upgrade
for the light replacer. You can replace lights without having to be next
to them, through bluespace tech! Due to its unstable nature (and game
balance), emagging it is impossible. Also standard light replacer is
moved to a roundstart
<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game
Lets janitors/others replace lights in restricted areas as long as
theres a window line of sight, which helps janitors with not having to
beg crew/ai to let them in and the like
<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. -->

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and it's effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
add: bluespace light replacer
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

Co-authored-by: etherware-novice <candy@notarealaddr.com>
2022-11-01 00:23:15 +00:00
ArcaneMusic f3ca3424c9 Merges the Export Scanner, Sales Tagger, and Price Tagger into one item. (#70314)
About The Pull Request

The Export Scanner, Sales Tagger, and Price Tagger are all niche, cargo adjacent items that each perform a different minor task and if using one, requires usually one of the three extremely rarely. Each one requires printing a new item at the lathe, all for maybe one or two uses before it needs to be replaced.

This PR merges the three into a singular, modular item. Existing export scanners have been reflavored the "universal scanner". When used in-hand, it produces a radial to swap between the three modes, Each mode has identical function to their previous scanner, with the only functional difference being that the sales tagger now prints new tags on secondary attack as opposed to primary.

The other two items lathe recipes have been removed, as their functionality has been fully moved to the universal scanner.

Also flips the export scanner icon state to match the other 2 scanner items that have been lumped together.

Why It's Good For The Game

Cargo now only needs to swap between 1 of three nearly identical barcode scanner looking items at a time, as opposed to having to print an item that sees functional use once every thousand rounds. By increasing the ease of use, it will also make it easier to use custom vendors, as well as print sales tags on regular rounds, as the universal scanner can still be found in shipping boxes located around the station and in tool storages.

Arguably not a balance change, as the three tools are extremely cheap to print, and don't have a formal impact on cargo balance except for tedium.
2022-10-27 19:46:29 -07:00
GuillaumePrata 3c9b0c2bc1 Forensics scanner can't be printed anymore (#70788)
* Removes the forensic scanner's design, which now makes it unprintable. It can only be required through the Detective or from Cargo.
2022-10-26 06:21:30 -04:00
John Willard f1f46275f0 Removes tablet hard drives entirely (HDD & SSD) (#70678)
* Removes HDD's entirely

HDDs have been removed, though the code for it is still currently lingering as it's required for portable disks. I'll have to find a solution to this one day, but as I am going to sleep, this is a problem for future me.

* starts on removing SSD

* updatepaths and kills off SSD

* update path :D

* Fixes to programs and icons

* Ready for review now

I read over everything I did and tried to fix anything I saw wasn't done right. Hopefully better comments now.

* merge conflict  fix

* can't win them all

* takes viruses into account in paths, fixes it in snowcabin

* Renames the updatepaths

* removes the qdel loop

* accidentally new'ed programs twice

* Fix program's computer var

* destroy pen and disk, dont run kill program on something killed

* more fixes for pens and idle threads

* Fixes PDAs installing apps twice.

* simplifies inserted disk & PDA disk

* fuck's sake

* Use istype instead

* revert

* Revert "revert"

This reverts commit 9ede628c6fef9c7c86417234f6d8ada1ff9e2fef.

* why did that happen

* Update code/modules/modular_computers/computers/item/tablet.dm

* MC_SSD added to master lol

Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-26 00:29:50 +00:00
YusufEmirKoroglu bd12e19692 Adds bot launch pad (#70267)
* Adds botpad and remote

* Update botlaunchpad.dm

* Update code/modules/research/designs/misc_designs.dm

Fikou's suggested change

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>

* converted chat messages to balloon alerts

* simplified ballon alerts and added 2 new ones

* adds a clicking sound effect to controller

* Typo

* removed a duplicate ballon alert

* last tweaks to balloon alerts

* Update code/game/machinery/botlaunchpad.dm

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

* Update code/game/machinery/botlaunchpad.dm

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

* Update code/game/objects/items/botpad_remote.dm

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

* Update code/game/objects/items/botpad_remote.dm

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

* Update code/game/objects/items/botpad_remote.dm

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

* requested changes

* parent calling

* test

* Update code/game/machinery/botlaunchpad.dm

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

* Update code/game/machinery/botlaunchpad.dm

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

* Update code/game/machinery/botlaunchpad.dm

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

* Update code/game/objects/items/botpad_remote.dm

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

* Update code/game/machinery/botlaunchpad.dm

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

* Update botpad_remote.dm

* Update botlaunchpad.dm

* Update botlaunchpad.dm

* Update botlaunchpad.dm

* Update botpad_remote.dm

* Update machine_designs.dm

* changed the research category

* Update code/game/machinery/botlaunchpad.dm

Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
Co-authored-by: VexingRaven <msgerbs@users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@users.noreply.github.com>
2022-10-04 17:20:54 +00:00
scriptis 14c96d05b8 TGUI for Techfabs II: The Great Recategorizing (AND ICONS) (AND MECHFABS) (AND AUTOLATHES) (#69990)
I recategorized EVERY /datum/design/ IN THE GAME to be more UX friendly and I HATE MYSELF FOR IT
    I refactored techfab UI to WORK ANYWHERE for ANY MACHINE THAT USES /datum/design as a SET OF MODULAR COMPONENTS
    I moved a lot of DESIGNS EXCLUSIVE TO THE AUTOLATHE to also work IN PROTOLATHES
    I made MATERIAL ICONS animate between ICON STATES for STACKS
    I PUT ICONS IN ALL OF YOUR FABRICATORS
    I SOMEHOW DID ALL OF THIS WITHOUT LOSING ANY PERFORMANCE
    ALSO SUPPORTS COMPONENT PRINTERS AND MODULE DUPLICATORS

Other garbage:

    Fixed numerous spelling and consistency issues in designs
    Removed Machine Design (<x>) and Computer Design (<x>) from all relevant designs
    All designs are now in title case
    Numerous designs that were formerly autolathe exclusives can now also be printed at a protolathe (but not all); this is mostly just service equipment like drinking glasses and plates and silverware
    Circuits components can no longer be printed at a circuit imprinter (fixes 

    Integrated circuit components printed in the component printer/module printer cost twice as much than from an un upgraded circuit printer #67758)
    Designs that are not sensible for a department to have are no longer accessible to that department (read: medbay printing turbine parts)

Why It's Good For The Game

Improved UX for techfabs, but also for mechfabs and autolathes, and oh look it's pretty!

also I spent like eight hours doing nothing but categorizing /datum/designs and I'll cry if some version of this doesn't get merged eventually
Changelog

cl
refactor: mechfabs, autolathes, component printers, and module duplicators now use techfab tgui components
refactor: every single design is now categorized and subcategorized
refactor: mechfabs and autolathes are now in typescript
qol: techfabs now have icons for what you're about to print
qol: techfab material icons are now animated
qol: techfab material icons now fade when no materials are available
qol: techfab searching no longer lags like hell
qol: techfab searching now searches all recipes instead of just the current category
qol: techfabs now have subcategorization (stock part users rejoice)
qol: techfabs now announce when new recipes are available
qol: numerous other techfab ui tweaks
balance: some designs that were formerly autolathe exclusive can now be printed at some departmental techfabs
2022-10-04 11:09:50 +13:00
Shadyyy66 d8b7ac5161 Cargo boxcutter (#70170)
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-10-01 07:06:56 +00:00
John Willard 7c990173e0 Removes network cards and printers from tablets (#70110) 2022-09-26 11:18:58 -07:00
John Willard ca229574f6 Removes AI and Charge parts from tablets, adds support for more later. (#70012)
* Removes recharger tablet parts

Removes 'advanced' tablet subtypes that we used before PDAs were added, in some jobs.
Replaces Roboticist's advanced tablet mail with a laptop
Moves the notepad's note var from the tablet, to the note app
Moves modular computer's defines into their own file

Machine computers now directly use power from the machine they're in, while the rest uses power cells.
Silicon tablets don't use power at all.

Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2022-09-22 20:58:20 -07:00
FinancialGoose e0349431b1 Add the atmos thermal imaging goggles (#68878)
* add atmos thermal imaging goggles, which shows the temperature of the gas mixtures around the user.
2022-09-19 19:49:44 -04:00
pizzie11 3a88f338a5 Adds a Service Plumbing Constructor (#69717)
* Basic outline for Bartender RCD

* Alphabetically sorted drink and booze dispenser reagent lists

* Added soda/booze synthesizers to the service plumbing constructor

* name change

* Syntax Error fixing

* Name and research updates

* Updated constructor selection

* Mixing chamber sister class

* brewery RCD redo again

* Custom Mixing Chamber UI

* Finalized plumbing reskins

* Allowed the service techfab to print chemical recipient boards

* added test sprites and removed un-needed renames

* Last Rename

* leftover whitespace fixes

* more whitespace removal

* one more name update

* refactor for upstream

* fixing TGUI i broke

* last whitespace fix

* last last whitespace fix

* please have this fix the whitespace

* updated doc comments

* updated ui_data and ui_act procs make more sense

* Update code/modules/plumbing/plumbers/reaction_chamber.dm

Co-authored-by: lex <alexdpow@gmail.com>
Co-authored-by: Seth Scherer <supernovaa41@gmx.com>
2022-09-15 08:22:04 -04:00
Fikou e82f728b09 medical/security modsuit updates and modules (#69194)
tweaks the colors on the security modsuit to be lighter, i think i did that on the original pr but it got reverted due to merge conflicts
makes the standard quick carry module have nitrile level carrying instead of latex level
environmental bodybags are now always pressurized
adds medical and security hardlight bags, which are environmental bags you can use to move people through space, security ones can be sinched to prevent escape
adds a medical version of the prisoner capture module, for patient transport, prisoner capture and patient transport now use the medical/security holobags, medical one deploying them faster. when you move too far out of range the holobag dissipates
adds a defibrillator module, extends shock paddles
adds a thread ripper module, this module temporarily rips away the matter of clothing, to allow stuff like injections, surgery, defibrillation etc through it
adds a surgery processor module, essentially a portable surgery computer like borgs have
fixes a bug where you can unwield defibrillator paddles just after starting the do_after to defib onehanded
fixes a bug where the modsuit gps would have a broken name when renamed
2022-08-31 16:59:39 -07:00
EOBGames 540afdc04b Coffeemaker Fixes (#69347)
Fixes issues with coffeemakers, as detailed in #69344:

    Adds coffeemaker boards to the techweb.
    Readds sprites for coffee cartridges, which were lost due to merge skew with 

    Adding tempeh (tem · pay) #68359.
    Fixes the in-map-editor sprite, which was set to an invalid value.

The others were either unreproducible (I attempted on live, and could not find an issue that lead the coffeemakers to not work) or are simply not something promised in the original PR (they were deliberately not added to maps to avoid the otherwise inevitable map merge conflicts that would arise, and the sprites are the best I can personally muster).
2022-08-22 13:06:49 -07:00
EOBGames 6f71a7ea48 The Ambrosia of the Corporate Masses: Coffeemakers (#68178)
Adds coffeemakers to the game. These brew large quantities of coffee at a time, dispense cups and accoutrements, and work from cartridges.
2022-08-16 03:12:13 +02:00
Spookuni ac2059eb1b Replaces non-departmental required experisci experiments with extremely expensive discount experiments (#69205)
* Required to expensive

* Historical comment removal

* rolls back departmental experiments to required

* fixes costs for rollback
2022-08-15 19:13:03 -04:00
RandomGamer123 f7e80ff35b Player-craftable Trapdoors (#68920)
Makes trapdoors player-craftable.
Player-crafted trapdoors have a tiny outline as well as being visible on examine. (Mapped in trapdoors have conspicuous = FALSE by default)
Trapdoors can be made by using a trapdoor kit (crafted via player crafting menu) on openspace.
Trapdoor electronics / assembly can be made via autolathe or engineering lathe.
A preloaded trapdoor remote (optional) can be made by crafting the electronics with a compact remote (from science lathe / circuit lab) and some cable coil.
Also allows unlinking trapdoors via a multitool, decreased trapdoor link range, and made some changes to trapdoor code.

Added change: Trapdoors now don't break with just a crowbar
Why It's Good For The Game

Trapdoors currently can only be added in by mappers and this would allow for a lot of interesting contraptions, while having player-crafted trapdoors be detectable provides some counterplay
Picture

trapdoorlookdemo
Changelog

cl
add: You can now make trapdoors. Craft a trapdoor kit and use it on an openspace tile to make one, then link and activate it with some trapdoor electronics (printable at an autolathe or the engineering lathe) and optionally a trapdoor remote (crafted in personal crafting menu).
qol: You can now unlink trapdoors by using a multitool on them.
balance: Trapdoors now won't break if you just crowbar them. You need to block them from closing, such as with a lattice, cover it up with a wall, or fully destroy the floor tile its on to get rid of them.
/cl
2022-08-14 12:48:55 +12:00
YusufEmirKoroglu 8f03300508 Adds keyboard shell (#69105)
Adds keyboard shell.

Works very similar to the thought listener component for BCIs
It opens up an input panel when you use it (tgui_input_text)
Players with the illiterate quirk cannot use this shell. When they try to use it they get a warning message.
It's printed out as assembled (like compact remote or controller)
It can fit in a bag but not in a box
Has small capacity (SHELL_CAPACITY_SMALL)
Available after researching the Advanced Shells tech node
Can be printed from the component printer or the protolathe
Costs 2000 glass and 10000 iron sheets to print (slightly more than the controller shell)
Has 3 outputs. First one returns the entity who used the shell, second is the text that entity wrote and submitted, third one is triggered after the input window is closed. (by submitting, cancelling or just hitting the X button)
Icons (screenhots from the dream maker)
2022-08-13 22:28:32 +03:00
twilightwanderer 625da3e6ea Fax Machine (#69083)
* Adds the Fax machine, which allows you to send and receive faxes from around the station.

Co-authored-by: twilightwanderer <twilightwanderer@users.noreply.github.com>
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2022-08-12 12:33:36 -04:00
MrMelbert 59cc93b364 Removes the "proximity crew pinpointer" (the ones parameds spawn with), paramedic PDAs start with the lifeline app instead (#68993)
* Parameds start with the Lifeline tablet app instead of a proximity pinpointer, with a Calomel bottle replacing their now empty medical belt slot.
2022-08-07 19:50:31 -04:00
Timberpoes 786ac5c855 [MDB Ignore][Bounty][Complete Refactor] Papercode Redux: Too Many Damn Files <Map Conflict Edition> (#68612)
Papercode refactor
2022-08-02 19:27:42 +02:00
FinancialGoose 9fd3ae43af Add a long-range version of the gas analyzer (#68051)
* Add a long-range version of the gas analyzer, a tier 2 engineering variant of the analyzer.
2022-07-15 18:51:50 -04:00
Ebb-Real 4f4ec92c72 You can now tape people's mouths closed (Also tape GAGS) (#67713)
* you can now cut off pieces of tape and tape people's mouths shut.

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2022-07-13 12:40:08 -04:00
zxaber 93dbe18c89 Combat mech research nodes now require mech-themed experiments rather than bomb experiments. (#67756)
* Mechs require a new Mech scanning experiment centered around damaging/destroying mechs, instead of being behind weaponry, which requires ordnance research.
2022-07-11 18:25:54 -04:00
vincentiusvin f9f59957f5 Adds logging for experisci completion (#68147)
Adds logging for experisci completion
2022-07-05 01:32:33 -04:00
GuillaumePrata f4512c98f5 Watering cans for botany (#67712)
* Watering cans for botany

* Clean up weird bugs by just coding the feature out

* 70u for the old can and /// like it should be

* Updated can icons courtesy of Wallem

* Swaps botany buckets for watering can on maps

* A line
2022-06-28 10:26:00 -04:00
Wallem bd44b995fd Adds the Active Sonar mod to the game. (#67828)
Adds the Active Sonar Module to the game, a module which lets you see the locations of living creatures within a 9 tile radius.
It can be attained by researching Security Modules, and then printed like any other module.
It takes 3 complexity to house, has a 25 second cooldown, and takes a good amount of energy to use.
2022-06-25 10:54:50 -07:00
SpaceLoveSs13 0ee608c200 Projectile Dampener Module is now printable (#67390)
* The projectile dampenaer MODsuit module can now be researched through security modsuit node, and can be printed.
2022-06-18 23:07:31 -04:00
AnturK fddb6ea124 Fishing, Version 1 (#67691)
Adds fishing and fishing minigame.
You use fishing rod to fish.
Equipping specific bait/hook/reels will affect your success chances.
You can fish out fish,items and other things.

Fishing Equipment
Fishing rods have three slots: Bait, Reel and Hook.
Any food can be used as bait but dedicated bait makes fishing easier.
You can buy hook and line sets
New bait types:

Worms : Buy can of them at cargo (alternative acquirement method pending)
Doughballs : Use knife on flat piece of dough to get five of them.
Fishing rod types:

Basic : Print these at the lathe, nothing fancy here.
Tech: Experimental tech. Provides infinite bait
Fishing rods can also hook and reel normal items.

Equipment screen and reeling video
Fishing spots
Keep in mind this PR is meant to add the basic systems and i intend to fill these with more fish in future PR's so wait with suggestions until then.

Lavaland lava (no fish here right now, just other stuff), requires reinforced line to fish in.
Maintenance moisture traps.
Beach away mission water.
Fishing portal available for purchase from cargo - This is stopgap until we fill more spots.
Difficulty depends on fishing spot, fish type, and the fish traits and rod setup combinations.
All fish types can have specific traits, most common ones being favourite and disliked bait types/categories.

Other
Fishing catalog now lists fishing related info
New admin debug verb, fishing calculator that show probabilities with different setups so it's easier to balance this.
Fish now have average weight and size. Make sure to boast if you catch a big one.
Adds tgui mouse passthrough
Screens
Sprites:

Fishing portal sprite by @ArcaneMusic
Other sprites by @Mey-Ha-Zah
Bad ones by me. (Could still use better fishing minigame backgrounds)
Sounds:

https://freesound.org/people/soundscalpel.com/sounds/110393/
https://freesound.org/people/soundslikewillem/sounds/343748/
2022-06-16 22:36:10 +01:00
SovietJenga c35aaf92d1 Moves the botanogenetic shears to the botany node and locks it behind a botany experiment (#67363) 2022-06-15 02:06:42 -05:00
Tim f06d735a52 All AI Lawsets are rebalanced, can be researched, appear in config, and random spawners for AI upload. (#66854)
This formally adds the new AI lawsets from #66636 into the game. Every lawset can
be researched, appears in config, and random spawners.
2022-06-06 22:54:29 -07:00
tralezab 6d8485f0db When AI rolls "Unique AI" station trait, upload modules won't be available until research, and research requires more points. (#66633)
Rolling unique AI station traits removes boards from map and changes research costs of other lawsets.
2022-05-30 20:55:51 +02:00
Andrew 8beaf30ae4 Cytology techweb tweaks and microscope crafting recipe (#67012) 2022-05-28 00:20:06 -07:00
vincentiusvin cd294e9040 Scipaper rebalancing: Nitrium and halon shell removal. Nitrous added. Emphasis on BZ. (#66738)
Similar in spirit to #65707, with some more changes.

Restructured the gaseous experiments to:

    Nitrous (practice experiment)
    BZ (mainstay experiment)
    Hyper-Nob (lategame/once-in-a-while experiment)

Added a mining partner.

Moved adv weaponry lock to normal weaponry under reactionless. Toned down t3 reactionless.

BZ locks adv engi. Medbay unbridled by toxin gasses now.

Removed Xenobio's BZ Can.
Why It's Good For The Game

My original intent with papers was expanding the difficulty range of toxins. Both to things harder than tritium (nob, nitrium, etc) and also to things easier than tritium (bz, reactionless, etc).

In that process, I feel that i strayed a bit to the harder side, this PR is an attempt to tone down the overall difficulty of some of the gaseous experiments a notch.

Nitrous now takes place of the old BZ, BZ takes place of old nitrium/halon, and noblium stays because it's difficulty is in a pretty good spot for a relatively unimportant but nice to have tech.

While we're at it, I also added more emphasis to BZ production to toxins instead of tritium. This will hopefully incentivize people to try the department out. There is a risk of this being a bit of a chore, but I believe that the relevant atmos gameplay loop is strong enough to have it be fun. You need to check on the chamber, turn on pipes, adjust the input rate, and many more that makes it significantly more fun to do.

We do this by:

    Locking advanced engineering with BZ (organs and implants lock lifted). Depending on feedback i wont mind changing this around if you want to suggest another node as long as it's of similar or very slightly less importance.

    Getting rid of xeno's BZ can. Some xeno players need it for making slimes sleep, with their roundstart supply removed there should be a significant demand for the BZ production in toxins to go online asap.

If you have been paying attention to our PRs, i have been working to make BZ production as seamless and quick as possible in toxins. My five map prs #66454 #66198 #66064 #66010 #65857 have been building up to this. You can make BZ relatively quickly with the new freezer chamber in place. Probably even faster than ordering it in cargo, which is a fine ballpark to use if you want to make changes to it.

If you want to know how to operate it, here is a wiki guide in place https://tgstation13.org/wiki/User:Vincentius_vin/Sandbox#BZ_Synthesis. We will move it to the main toxins page once the rest of the page is finished, pictures are added, 

Made adv engi tech node require bz shells as an experiment, organs no longer need it.
Adv mining no longer requires adv engi.
Removed nitrium and halon shell, implant experiment lock lifted because of the former.
Relocked sec 1 tech node to need pressure bombs, sec 2 no longer needs tritium bomb.
Made advanced pressure bombs easier to do without funny fusion gases.
Added a new mining partner that accepts smaller (even non-atmos/non-ordnance related) bombs
Added more options to purchase nodes in the paper partners. Your point gain stays the same though.
Removed roundstart BZ can from xenobio.
2022-05-27 16:49:03 -07:00
John Willard db2a92a91a Standardizes ID cases and fixes cell charger/APC module (#67168)
Removes cell chargers showing up twice in Industrial Engineering, and fixes the APC module's sprite.
To prevent more bugs like this, I standardized other IDs to all use snake_case.
2022-05-21 16:32:33 -04:00
Fikou f501b1e49e MODsuit module update: new stuff and improved old stuff (#67042)
Doubles the range of the MOD Pathfinder AI
Fixes modules rendering below the suit.
Adds the ability for modules to be used when inactive.
Documents/cleans up some code.
Updates some old descriptions and explains some concepts better.
Armor Booster and Ash Accretion can no longer boost your speed over no slowdown at all.
Makes flashlight module start with 4 instead of 3 range, so it's better for people that don't know about configuration.
Doubles t-ray module range, from 2 to 4 (t-ray scanner is 3).
Puts the noslip module lower in progression, lowers its' price to 2.
New sprites for the magnetic harness module by Onule.
Brings back the holster module, it can now be used when the suit is inactive, can be printed with security suit research.
Adds the power kick module for the ERT Commander. It's a powerful kick.
2022-05-18 01:19:31 -04:00
John Willard c61d6dc3cb Removes CPU, Sensors and Identify ModPC parts. (#66924)
Removes CPU, Sensors and Identify parts from modulra computers.
This is in effort to simplify how tablets and tablet apps are, while removing barriers to download specific apps. Limiting apps needed for your job, through hardware, is a terrible idea, and just limits departmental stuff to being there roundstart/latejoin, punishing people who job change through the in-game HoP system, devaluing the job as a whole.
2022-05-13 14:50:35 -04:00
Ghilker a9d14e0086 Pacman small rework - less power, more consumption - no more super (#66386)
* Pacman power generation rebalance
2022-05-05 17:12:59 +02:00
Spock 3e2ea6ce60 Printable N-Spects (#66510)
Makes N-Spects printable (unlocked with Basic Security Equipment) and removes the line in their description about them being hard to replace.
2022-04-26 16:45:08 -07:00
ArcaneMusic 6ad8000bd3 Adds the Accounting Console to the game (HOP Job Content) (#66304)
This PR adds the accounting console to the game, as a console that exists round start within the HOP's office. The accounting console allows for players to get 2 separate lists of information:

- A list of all the bank accounts associated with each crewmember on the station, listing their account balance, their job, and their paygrade modifier (Which is either 1 or 0.7, depending on their species)
- The audit log, a basic list of transactions of player purchases, listed listed in the following formal universally: [person] spent [cost]CR on [Purchase Source]. It's intentionally left without all the information so that players will need to investigate if they notice strange purchases coming from an account, as a kind of ghetto money forensics.
2022-04-25 21:31:05 -05:00