22 Commits
Author SHA1 Message Date
ab365f9fb4 Adds the ability for an AI to remotely charge an APC with an upgrade disk (#86470)
## About The Pull Request

Adds an upgrade disk that gives the ability to remotely charge an APC
with the AIs backup power (the one that runs down when there is no power
in an APC). This tech disk is under advanced AI tech

Also added the ability to make new disks with the new object type
/obj/item/aiupgrade, and made it so not every AI module is malf, now
only subtypes of /datum/ai_module/malf show up on malf upgrade screens

## Why It's Good For The Game
Adds the ability for an AI to assist crewmembers who do not have power,
which is a pretty interesting interaction. Does chem not have power and
is trying to make some healing chems? you can provide power for them for
a bit, but they better hurry!


## Changelog
🆑
add: Added the remote power AI disk
code: made it possible to easily add new AI upgrade disks
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-09-19 09:24:43 +00:00
John WillardandGitHub 8767ab709a removes all non-defined materials I found (#75659) 2023-05-26 15:45:09 -07:00
ArcaneMusicandGitHub f2fd69a49a Minerals have been refactored so costs and minerals in items are now in terms of mineral defines. (#75052)
Ladies, Gentlemen, Gamers. You're probably wondering why I've called you
all here (through the automatic reviewer request system). So, mineral
balance! Mineral balance is less a balance and more of a nervous white
dude juggling spinning plates on a high-wire on his first day. The fact
it hasn't failed after going on this long is a miracle in and of itself.

This PR does not change mineral balance. What this does is moves over
every individual cost, both in crafting recipes attached to an object
over to a define based system. We have 3 defines:

`sheet_material_amount=2000` . Stock standard mineral sheet. This being
our central mineral unit, this is used for all costs 2000+.
`half_sheet_material_amount=1000` . Same as above, but using iron rods
as our inbetween for costs of 1000-1999.
`small_material_amount=100` . This hits 1-999. This covers... a
startlingly large amount of the codebase. It's feast or famine out here
in terms of mineral costs as a result, items are either sheets upon
sheets, or some fraction of small mats.

Shout out to riot darts for being the worst material cost in the game. I
will not elaborate.

Regardless, this has no functional change, but it sets the groundwork
for making future changes to material costs much, MUCH easier, and moves
over to a single, standardized set of units to help enforce coding
standards on new items, and will bring up lots of uncomfortable balance
questions down the line.

For now though, this serves as some rough boundaries on how items costs
are related, and will make adjusting these values easier going forward.

Except for foam darts.

I did round up foam darts.

Adjusting mineral balance on the macro scale will be as simple as
changing the aforementioned mineral defines, where the alternative is a
rats nest of magic number defines. ~~No seriously, 11.25 iron for a foam
dart are you kidding me what is the POINT WHY NOT JUST MAKE IT 11~~

Items individual numbers have not been adjusted yet, but we can
standardize how the conversation can be held and actually GET SOMEWHERE
on material balance as opposed to throwing our hands up or ignoring it
for another 10 years.
2023-05-03 14:44:51 +00:00
John WillardandGitHub 302060acda Removes bepis Techweb and reworks tech disks in general (#74147)
## About The Pull Request

Did you know that there's 2 types of disks Science can print?
One of them creates a whole new techweb and is used to transfer data to
and from techwebs (which used to be for Theft objective, but nowadays
all it's used for is Admin techweb).
The other one is these disks you can find from Lavaland & for the
Limbgrower which holds nodes on them directly, they don't need anything
else.

These are both printable and have very similar names which could easily
confuse people, especially since they are both printed and used at the
same place, being the R&D room and R&D console.

This will hopefully simplify it, by removing the base Tech disks from
being printable. The only one that can be printed now is for
Limbgrowers, which can't be easily mixed with the other type of Disk.
Outside of that, Lavaland disks are staying the same, but I've moved
Bepis disks to use this, which allows us to remove Bepis techwebs being
made every single time a new bepis disk is created.

Examples of it in-game

![image](https://user-images.githubusercontent.com/53777086/226496444-28b17134-526d-4fc8-969b-952f7afdc36f.png)

![image](https://user-images.githubusercontent.com/53777086/226496483-86969bf9-56db-4824-a495-594afd9f3912.png)

![image](https://user-images.githubusercontent.com/53777086/226496498-7c10f636-5588-4622-934c-11f019079d2e.png)

## Why It's Good For The Game

There's no reason why every single Bepis node should be making a whole
new techweb set with experiments to complete, roundstart nodes
researched, being constantly checked if it should gain research points,
have a list of papers to publish, and everything else that techwebs do.

Can you guess which disk does what in this screenshot?

![image](https://user-images.githubusercontent.com/53777086/226496856-10cf71b0-7469-4568-818f-ecadcf03e677.png)

## Changelog

🆑
balance: You can no longer print Technology data disks. You can still
print Tech disks, which hold techweb information on it, just not the one
that holds up to 5 nodes.
balance: ^ Because of this, there's no way to download nodes from an RD
console and upload them to an Autolathe to bypass departmental
restrictions, you have to go through a Techfab/Circuit imprinter for
your needs.
balance: Ones that are found cannot have anything uploaded/deleted off
of them either, you can only upload them to the Web.
code: Every individual Bepis disk no longer create an entire techweb
/🆑
2023-03-26 18:23:03 -04:00
ZergspowerandGitHub 5a250d8804 Categorizes uncategorized items in techweb, also recategorizes others for sanity reasons (#72689)
## About The Pull Request

Mostly did this for my own sanity in trying to find stuff that's mixed
together in a blob of a subcategory (or completely not in one like the
grinder). This primarily affected the Cybernetics and implants as a
whole but touches some engineering stuff as well. I sort of
universalized the code to make it easier to visually adjust things - i
didnt touch existing stuff that i didnt need too however but if we want
that i can do that.

![image](https://user-images.githubusercontent.com/22140677/212407788-8629e9ba-6d05-43a8-a1d5-bceeada99bd1.png)


If you see any verbiage changes/category changes or want more broken
down (Security and Engineering have some i think that could be broken
apart i just couldnt think of the best way) let me know

## Why It's Good For The Game

Making things uniform across the board in appearance makes it easier for
people to find things, Now finding the organ you want will quickly show
the most advanced one you have for example.

<details>
<Summary>Some Screenshots of the new look</Summary>

Cyber Organs are now tiered based on their coding (Ears are oddly named
and i was thinking of fixing it to match but wanted input there)

![image](https://user-images.githubusercontent.com/22140677/212407076-e0b70fde-c036-4785-bd8e-db6b51d0912e.png)

The grinder now doesnt float in no-mans land at the top of protolathes

![image](https://user-images.githubusercontent.com/22140677/212407146-84dece64-b888-4f0f-b61e-e068adf0a9d9.png)

Electronics and Construction assemblies are segregated

![image](https://user-images.githubusercontent.com/22140677/212407278-03065101-29a0-4e37-a4b2-0d9d018e75e0.png)

Gas filters are no longer gas tanks and are just equipment now

![image](https://user-images.githubusercontent.com/22140677/212407165-04c529be-1f2a-487c-966f-83e7e30c56b5.png)
</details>

## Changelog
:cl:Zergspower
qol: Protolathes and the like had their printable items categorized
further
fix: fixes a few uncategorized items in protolathes and the like
refactor: Cleaner techweb code with more categories to break apart
individual printable items at proto/mech fabs
/🆑
2023-01-18 22:48:22 -08:00
scriptisandGitHub 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
Seth SchererandGitHub 4a0847db52 Converts all research categories into defines (#69161)
* Converts all research categories into defines

* missing category + machine categories

* final things i hope

* couple issues i missed
2022-08-13 13:47:03 -04:00
JeremiahandGitHub 86e801987e Reworks pAIs (#68241)
A pretty heavy refactor for pAIs that just spilled into a rework.

Attempts to fully document and organize backend code.
Fixes a large number of bugs left untouched for a decade.
Breaks down the frontend into subcomponents.
Rebalances their software modules.
(should) fix pAI faces get removed if you activate them during alert #68242
2022-07-24 16:18:59 +01:00
John WillardandGitHub 9ae3ef56a9 Lathe taxes now checks departmental flags (#66896)
Lathes and designs now use departmental flags rather than some random misc define that wasn't used anywhere else (which this PR is deleting), this allows us to cross-reference it with job bitflags to check whether or not a job should pay lathe taxes. Nothing else is effected by this change. Important changes are in code/modules/research/machinery/_production.dm if you want to get straight to the point.
2022-05-12 09:22:46 -07:00
bd6873fd4d Remove nanites (#60473)
Co-authored-by: Fikou <23585223+Fikou@users.noreply.github.com>
2021-07-28 16:00:56 -07:00
TimberpoesandGitHub 6744a888eb Creates offstation variants of the protolathe and circuit imprinter for offstation and ghost roles. (#57367) 2021-03-03 16:19:49 -08:00
62676e72a8 Force LF line endings with gitattributes and convert repo (#52266)
Co-authored-by: Aleksej Komarov <stylemistake@gmail.com>
2020-07-16 03:02:40 +03:00
QustinnusandGitHub f8a99c28a7 removes confusing bitflag in research.dm part 2: no webeditalaroo (#50536)
* epic kevinz moment

* extra checks

* done

* fixes

* forgot this one

* webedit
2020-04-24 00:50:47 +08:00
QustinnusandEmmett Gaines b33d1c49a3 [READY] Floydmats (Datum materials) & custom toolboxes (#45118)
* Initial work

* more

* ass

* wsedfwedff

* asss

* test

* stuff

* fuck

* sss

a

* kms

* asdadwedwdfwefwef

* start

* test

* dwwdew

* ewefwfef

* Redemption machine (#8)

* Redemption machine

* Removes debug messages

* changes

* fuckmyshitup

* coin mint works with new material shenanigans (#10)

* Auto stash before merge of "materials" and "origin/materials"

* woops

* furnace (#11)

* autolathe manufacturing of toolboxes

* eggs in a basket

* some small changes

* matcolors

* documentation

* more documentation and effects

* done

* Color man bad (#12)

* fixes designs

* ass

* more fixes

* fuck me

* firestacks adder

* epic fixes

* fixes designs

* DONE DIDDILY DOO

* removes category macro

* ch-ch-ch-changes

* fixes some stuff

* Fixes display of ore values (#9)

* Redemption machine

* Removes debug messages

* Re-adds value display

* Replaces the fire stacking component with an element instead (#13)

* fixes examine

* fixes ligma bugs

* double ligma boofus

* fix

* misses some defines

* fixes ORM

* Update code/datums/components/material_container.dm

Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>

* fixes

* Makes glass objects weaker (#14)

* Makes glass objects weaker

* uses correct proc

* fixes shit

* honk honk

* better

* oh shit oh fuck

* fixes

* fuck ORMs

* fixes the biogen

* documentation

* ass (#15)

* component

* changes

* ass

* ass

* doc

* Auto stash before merge of "materials-plasmacomponent" and "origin/materials-plasmacomponent"

* fixes rounding

* fixed
2019-07-24 11:27:01 -04:00
XDTMandoranges 5020a59565 Adds a communication remote that can send custom messages to some nanite programs (#43673)
About The Pull Request

Adds a new device, the nanite communication remote, which can be built from any protolathe once Basic Nanite Research is completed.
The Skull Echo, Forced Speech, and Hallucination programs can now be signaled by this new device to receive custom messages, instead of having to set them manually every time.
To do so, these programs must be set with a Comm Code, which will have to be signaled by a comm remote with the same Comm Code. A Comm Code of 0 is not signalable by remotes and will only work in the old way. If instead you want the program to be only activatable by remote, you must set the trigger code to 0.
Why It's Good For The Game

Makes these programs more elastic in use, allowing for example nanite-delivered private communication via Skull Echo, or actively messing up conversations with forced speech.
Changelog

clXDTM
add: Added a new device, the nanite communication remote, which can be used to send custom messages to message-based nanite programs.
add: Comm remotes use separate Comm Codes: for a message to be received, the signal's comm code must be the same as the program's.
/cl
2019-05-27 22:21:49 +12:00
ShdorshandJordan Brown 9343d9e70a [READY]Removal of circuits (#41108)
* Delete integrated_circuit.dm

* Delete integrated_electronics.dm

* Delete pins.dm

* Delete wirer.dm

* Delete helpers.dm

* Delete printer.dm

* Delete analyzer.dm

* Delete debugger.dm

* Delete detailer.dm

* Delete assemblies.dm

* Delete saved_circuits.dm

* Delete boolean_pin.dm

* Delete char_pin.dm

* Delete color_pin.dm

* Delete dir_pin.dm

* Delete index_pin.dm

* Delete list_pin.dm

* Delete number_pin.dm

* Delete ref_pin.dm

* Delete selfref_pin.dm

* Delete string_pin.dm

* Delete passive.dm

* Delete power.dm

* Delete access.dm

* Delete arithmetic.dm

* Delete converters.dm

* Delete data_transfer.dm

* Delete input.dm

* Delete lists.dm

* Delete logic.dm

* Delete manipulation.dm

* Delete memory.dm

* Delete output.dm

* Delete power.dm

* Delete reagents.dm

* Delete smart.dm

* Delete text.dm

* Delete time.dm

* Delete trig.dm

* Update tgstation.dme

* Update multitool.dm

* Delete circuit.dm

* Update tgstation.dme

* Update netdata.dm

* Update ntnet_interface.dm

* stuff

* Update packs.dm

* Update electronics_designs.dm

* Update electronics_designs.dm

* Update multitool.dm

* Update cavity_implant.dm

* Update cards_ids.dm

* Update walls.dm

* Update hostile.dm

* Update all_nodes.dm

* removes circuits from maps

* Revert "removes circuits from maps"

This reverts commit 14daf7770220a8a1d7a8fa497c92d9c866939160.

* Removes circuits lab from all maps

* removes circuits lab from lavaland syndicate base

* fixes space tiles under windows on meta

* Deltastation fixes

* Update multitool.dm

* Update flavor_misc.dm

* Replaces Box circuits with nanites
2018-10-31 15:17:04 -04:00
81Dentonandoranges eee50aeadf Adds departmental protolathe items, techweb tweaks (#40046)
cl Denton
add: Added new available items to all departmental protolathes. Keep an eye out for the new "Basic Tools" and "Basic Security Equipment" research nodes.
tweak: Made the AI surveillance upgrade available through the "Illegal Technology" research node.
tweak: Created a "Tool Designs" lathe subsection and moved most tools into it.
balance: Made defibrillators easier to print by moving them to the basic biotechnology research node.
fix: Health analyzers are now properly printable once researched.
/cl

tl;dr I've heard a fair amount of complaints about departmental lathes that can be summed up with "cluttered sections, too few useful or interesting items in some lathes".
I'm trying to improve it with the following:

A) Added a new category called "Tool Designs" and grouped all tools into it. That way, they no longer clutter up the Equipment/Medical Designs sections.

B) New lathe contents:

Medical:

    Surgical tools, included in the "Basic Tools" node.
    These fit way better into the Medical/RnD lathes instead of a public one that also prints dishware.
    Basic 50u and large 100u beakers, roundstart.
    Medical spray bottles, printable with basic biotech.
    Compact defibrillators, printable with Advanced Biotech.
    They're fairly expensive, but obviously superior to regular defibs.

Service:

    Botanical tools, printable with Basic Tools.
    Spray bottles and bear traps, printable with sanitation tech.
    Basic 50u and large 100u beakers, roundstart.

Security:

    Seclites, pepper sprays (empty), energy bolas, zip ties, evidence bags, flashes. Printable with the new "Basic Security Equipment" node.
    I've had a look at weapons as well, but the ones that aren't printable/ingame yet are either ballistics or unbalanced.

Science:

    Mechanical/electric tools, printable with Basic Tools.
    Illegal technology unlocks the AI surveillance software upgrade.
    Installing it on an AI lets it listen to conversations through cameras.

Engineering:

    Artificial bluespace crystals, alien alloy.
    This is neccessary in case engineers have to rebuild a teleporter, but miners haven't brought back any bluespace crystals.
    Mechanical/electric and atmos tools, printable with Basic Tools.

All lathes:

    Hand labelers, destination taggers and wrapping paper.
    This lets crew mail packages when the mail office isn't manned (which is 24/7).
    Illegal technology unlocks Donksoft refill packs.
    You can't build the Donksoft vendor without refill packs; not including them was an oversight in my earlier PR.
2018-09-13 10:30:52 +12:00
XDTMandvuonojenmustaturska d9e691f393 [Ready] [Reviewed] Nanites 2 (#37922)
* Adds programmable nanites to robotics

* Oh yeah i might want to actually PR the files

* nanite injectors, nanite printer, nanite analyzer

* We're back

* remove some reagent stuff

* more removal

* those too

* cool icons!

* might pass travis now

* lotsa code

* tgui fixes/misc fixes

* WE'RE FUNCTIONAL BOYS

* some ui stuff

* Misc fixes, cloud update, access nanites

* activation check

* stuff

* preparing for new chamber sprite

* Physical backups, sensor nanite programs

* techweb sensor nanites

* fix

* include

* fix again

* revert

* blinding nanites

* minor change

* minor tweaks

* makes minor shocks interfere with nanites

* fix

* split trigger file into the others, for consistency

* cleanup, added mindshield nanites to techwebs

* include n all

* how'd that even happen

* Fixed HUD, readded missing remote icon, added nanite scanner, health analyzers can now detect nanites, added stealth program

* cost tweaks

* better term

* new icon! by MrDoomBringer

* icons/tweaks

* tgui build

* boards

* fix

* fixes implants not updating mindshield status

* move implant hud to living

* new remote sprite

* scanner sprite

* biotype checks

* some nerfs

* new open chamber sprite

* Fixes mindshield implants not updating the HUD, fixes uninstalling always removing the first program, adds 25% and 75% health sensors

* correction

* nerfs antistun nanites

* fixes scanners and minor tweaks

* fixes revs with mindshield

* oh yeah haha

* Fixes wonky techweb

* Moves pyro program to weapon node

* Adds defib program and some investigate logging

* mistype

* fix

* fix2

* save your files before committing

* emps can desync from cloud

* pretty outdated

* Cloud backups are now tied to the cloud consoles; you can no longer build a new console to access existing backups.

* UI fix

* more fix

* okay fix for real

* tested and working

* Extra Settings rework, sensor nanites vastly better

* non-unique glitches

* Public chamber, extra settings rework, new sensors, speech program

* Mute and mind control nanites

* mind control into hazard

* better description

* fixes

* fixes relay nanites

* fixes TK access

* mind control costs less

* UI update

* removed pointless code bit

* tgui build

* compiles

* dammit

* paralysis keeps victim upright

* Adds sounds to consoles

* some feedback for some subtle effects

* new chem lore

* Viral nanite customization

* fix

* tgui build

* Added mitosis nanites

* removes glitched nanites from techwebs

* Added flesh eating nanites, poison nanites, hallucination nanites

* ,

* #traviscoding

* Adds memory leak, renames nanite roam node to nanite smart

* Voice sensor + some techweb desc tweaks

* hallucination and Hear() fix

* changes signal registering to the new method

* 75% done, i think

* should be all

* more fix

* more changes

* okay should be fine now

* ninja

* inheritance

* i don't care about originality!

* line endings

* line endings 2

* maybe

* fixes program installation

* new review

* line endings?

* line endings??

* line endings???

* wait do i even use this

* fixes public nanite chamber cloud id

* maint overlay for chambers

* args doesn't work well here

* antiabuse checks

* compile tho

* fixes locked remotes

* disk renaming

* skull echo nanites

* self scan program

* Condenses a lot of sensors into a few generic but customizable versions

* fixes machinery runtimes. Hacky, but a proper fix would likely require a refactor of machinery typing.

* forgot to save

* empty

* metastation nanite lab

* Removes duplicate APC

* fix for nanite chamber

* Raise max programs

* UI Tweaks, aggr. replication rebalance, minor fixes

* let's not do that again

* Fixes nanites meta merge conflict

* Merge conflict v2

* fuck this HDD is slow

* What the fuck did you just fucking say about me, you little leaf? I'll have you know I graduated top of my class in the Lawyer School, and I've been involved in numerous secret DMCA raids. I am trained in law violations warfare and you are nothing to me but just another target. I will wipe you the fuck out with precision the likes of which has never been seen before on BYOND, mark my fucking words. You think you can get away with changing the code? Think again, fucker. As we speak I am contacting my secret network of attorneys in the Fox and your IP is being traced right now so you better prepare for an outstanding warrant, maggot. The storm that wipes out the pathetic little thing you call your leaked code. You're fucking done, kid. I can file for an injunction anywhere, anytime, and I can take legal actions in over seven hundred ways, and that's just with my bare hands. Not only am I extensively trained in unarmed combat, but I have access to the entire arsenal of the Florida Statute and I will use it to its full extent to wipe your miserable ass off the face of Canada, you little shit. If only you could have known what unholy retribution your little "clever" action was about to bring down upon you, maybe you would have held your fucking tongue. But you couldn't, you didn't, and now you're paying the price, you goddamn idiot. I will send you to spend time in a Florida State Penitentiary if you ever decide to travel from Canada to the U.S. You're fucking done, kiddo.

* Adds virus symptoms that interact with nanites

* Fixes spreading nanites being more infective the more protection the victims have

* Review plus public chamber tweak

* . = ..()

* ball

* cloud

* . = ..()

* always press save all before committing

* missed a couple
2018-08-20 14:46:04 +03:00
ShizCalev ff532a4ca4 Spellchecks TGStation 2018-06-19 18:57:44 -04:00
Fox McCloudandAnturK 057aa31cda Kills off /obj/item/device (#37297)
* Kills off /obj/item/device

* whoops

* whoops

* Fix
2018-04-23 15:00:23 +02:00
Ashe Higgsandoranges fdabc2bedd Circuit cloning balance: Timed cloning, reduced upgrade disk material cost (#35657)
* Printing compromise

* Adds fast cloning to the upgraded printer

* sorry this took so long
2018-02-26 09:46:33 +13:00
kevinz000andkevinz000 caa1e1f400 Massive research refactor; changes research system to techwebs; Decentralized research 2017-11-18 19:55:40 -08:00