this exploit is in all public builds i could look at.
using the mech fabricator, and you were able to duplicate any obj in the server.
as a nice bonus you could also abuse the part-description-function to identify any atom in the server
memory for even easier access to other yet unknown exploits of this kind.
and also range check was missing to make sure you are not on some other z level massproducing guns.
i will not go into details, as it is exactly the same kind of exploit over and over,
so if you are interested on how and why these exploits work, see some of my other exploit commits :
https://github.com/Baystation12/Baystation12/pull/5068https://github.com/ZomgPonies/Paradise/pull/179
i advise any coder team to be supercautious when changing/writing new Topic procs to prevent these,
and to always doublecheck other coder's works.
couple of things :
1.) alien weeds spawning with a node param works totally fine ingame ( AKA vomited by an alium ),
but when placed on map in DM they will trigger nullpointer errors for every single weed placed.
this seems to went undetected simply because there are no weeds on the map at startup,
ever since your asteroid abandoned outpost got replaced with that vox trading station.
2.) it took me a moment to understand what node/Destroy() is supposed to do.
it looped through its list of spawned weeds and nulls only its own linked_node var.
that could have been done by src.linked_node = null, but i dont think that is the intention of the loop.
for safe GCing the linked_node var of all weeds that got spawned by this node need to be nulled, not only its own.
3.) to be safe, the turf/space check should happen before any list operations are done, also replaced del() with qdel() here.
4.) the linked_node check of weeds/proc/Life() should be one of the first things to happen, which saves a lot of checks.
5.) the layer of weeds being default 3 was quite annoying as the weeds made it hard to click all kinds of layer 3 items and objects.
fixed for weeds, nodes will still be 3 to properly show above things like AI holopads.
6.) i took the liberty of changing the node/node param to node/N ,
rename the spawns list to connected_weeds and move weeds/Destroy() up for better readability.
The amount of inhaled gas used shouldn't approach infinity as inhale_pp
goes to zero, should it?
Also the amount of gas used should decrease with inhale_pp as the
oxyloss is being caused by the fact that fewer moles are entering the
bloodstream.
I'd say it's a holdover from monkey epidemic but the truth is this is cael code that is being changed, it's been that way for over a year and I still can't rap my head around why these lines were put in.
This was probably bound to happen either way the previous version was based upon a faulty understanding of how the areas worked this is much more robust and only messes with the master areas
and master areas needing power updates call power updates for the each of it's child areas. Also added where messing with SMESes called for an update on all areas power consumption, probably
not required but doing so either way.
We also rebuild the active_areas list every 5 minutes, if you get a engineer that wants to build a new area off of the station with APC's set rebuild_all_areas in the master controller and it will
update instantly, otherwise wait 5 minutes. The only downside to this 5 minutes is you might get free energy until that area becomes active.
Conflicts:
code/controllers/master_controller.dm
code/modules/power/apc.dm
Basic preliminary breach handling.
Breached spacesuits act more sanely and now result in pressure loss.
Preliminary work for upgrading hardsuits.
Adds suit cycler.
Working on breach data for hardsuits.
More tweaks to the suit cycler.
More rig changes/tweaks.
Conflicts:
code/modules/mob/living/carbon/human/human_defense.dm