ParadiseSS13 / Paradise

Paradise Station's GitHub main repository.
https://www.paradisestation.org/forum
GNU Affero General Public License v3.0
393 stars 1.18k forks source link

Botanically plasma charged cells in chemical dispensers cause runtimes #17666

Open ItsMarmite opened 2 years ago

ItsMarmite commented 2 years ago

Issue Description: If you make a plasma charged cell through botany and put in a chemical dispenser, it refuses to work and causes runtimes.

What did you expect to happen: I expected a kaboom, a mighty kaboom.

What happened instead: image image image

Why is this bad/What are the consequences: ADMIN LOG: LOG: Rigged power cell explosion, last touched by x12

Steps to reproduce the problem: Make a plasma charged cell through botany. Put in machine. Get admin PMed asking about log spam and runtime errors.

When did the problem start happening: If someone has never tried to plasma rig a chem dispenser before and I'm the first one trying this out I'll be shocked. I have no idea when these cells were last touched so.

Extra information:

moxian commented 2 years ago

What does "Make a plasma charged cell through botany" mean? "plasma charged cell" is not an existing item. Please give the name of that thing, which can be reasonably searched in the codebase, or alternatively the steps needed to recreate it in a test server.

GDNgit commented 2 years ago

What does "Make a plasma charged cell through botany" mean? "plasma charged cell" is not an existing item. Please give the name of that thing, which can be reasonably searched in the codebase, or alternatively the steps needed to recreate it in a test server.

You can inject plasma into a power cell through a syringe

Yes, it is intended to go boom

moxian commented 2 years ago

So what's happening is:

and i don't understand why... why is it set to null rather than to new machine?

there are two "easy" fixes here: 1) transfer the components' .loc to the newly created machine (in the code blob from above) 2) translate specifically chem dispenser's cell.loc to the chem dispenser in https://github.com/ParadiseSS13/Paradise/blob/2d7b76d1561e9d3f2c15cd9ac56ecbbfdf759469/code/modules/reagents/chemistry/machinery/chem_dispenser.dm#L91-L92

But i don't understand the implications of either because i'm still terribly puzzled by those = null. And doubly so by people claiming that it used to work with chem dispensers not so long ago.