This commit first and foremost ports the -tg- atom pooling system, and
removes the old experimental system entirely.
Secondly, this PR modifies the qdel system to use a -tg- lookalike
"destroy hint" system, which means that individual objects can tell qdel
what to do with them beyond taking care of things they need to delete.
This ties into the atom pooling system via a new hint define,
QDEL_HINT_PUTINPOOL, which will place the atom in the pool instead of
deleting it as per standard.
Emitter beams are now fully pooled.
Qdel now has semi-compatibility with all datum types, however it is not
the same as -tg-'s "Queue everything!" system. It simply passes it through
the GC immediately and adds it to the "hard del" lists. This means that
reagents can be qdel'ed, but there is no purpose as of yet, as it is more
or less the same as just deleting them, with the added effect of adding
logs of them being deleted to the garbage collector.
Blob spores that pass over the dead will now couple with the corpses to create blob zombies that are stronger and more resiliant than the spore alone. Should the blob zombie fall the original corpse is recovered and just as cloneable as it was before infection. These are simple animals not under the control of anyone.
Blob zombies will occur automatically if a blob finds a corpse under it and it's not already a zombie. Blob zombies have a base 80 health (normal blobs have 40) and gain additional health if the host body is wearing armor. They don't however actually gain the normal benefits of wearing the armor.
Blob zombies attack for 10 to 15 damage per strike, as opposed to the paltry 2 to 4 a hostless spore does.
Why this is good for the overmind:
The overmind cannot directly command the creation of zombies but can rally spores to a corpse's location to largely assure it will happen by itself. Blob zombies still follow rally spore commands and still count towards a factory blobs spore limit. As previously shown they're far more robust than spores and also deny the crew the ability to clone the victim until the zombie is defeated.
Why this is good for the crew:
Remember when the warden kamakazied the blob at the start of the round only to be engulfed and killed with the entire armory in his backpack? You can get those guns back now, because the warden's corpse will soon be moving to a very recoverable location! This also promotes not letting people die pointlessly to the blob or at least dragging corpses away from the blob (and hopefully to genetics) so they can't be infected.
Conflicts:
code/game/gamemodes/blob/blobs/factory.dm
icons/mob/blob.dmi
Removed all critter code/replaced it with their simple animal paths where applicable.
Replaced the critters on the maps with simple_animal versions.
If I missed any vars/icons/etc when I ported them over, let me know.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5210 316c924e-a436-60f5-8080-3fe189b3f50e
All credits to the author for this handy little script.
I Committed the modified python script to tool directory. Although it needs to be in the root folder of your repo to work.
To notice the improved compile times, in dreammaker go to Build > Preferences > and untick "automatically set file_dir for subfolders"
If this commit inteferes with any large projects just revert it, do your thing, then rerun the script. Easy-peasy.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4488 316c924e-a436-60f5-8080-3fe189b3f50e
-Redid icons to be more optimized at compile by setting icon = 'icons/folder/icon.dmi' instead of just icon = 'icon.dmi', meaning that Dream Maker doesn't have to search through every single file for every single .dmi. This shouldn't lead to any errors because of how I went about it, plus the fact that Dream Maker would have freaked out if I screwed something up. Also moved around 2 icons that weren't sorted well.
r4146 compile time: 1 minute, 40 seconds
r4147 compile time: 45 seconds
[VGTG]
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4147 316c924e-a436-60f5-8080-3fe189b3f50e
Added a null check to cleanbots and new player preferences.
Did a bit of blob and antimatter work.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@3919 316c924e-a436-60f5-8080-3fe189b3f50e