d3athrow/vgstation13 — pull request #817 by Walter0o (2014-05-26 15:34:22+00:00)
Title: alien weed and node fixes bonanza

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.