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.
This commit first adds a new helper proc labeled isAntag(), as well as
adding a check for antags for every instance of msg_admin_attack().
Goals of this commit:
- Make admin ATTACK: logs indicate if attacker is an antagonist.
Note; High probability of merge conflicts, 47 files changed.
- Also adds ABSTRACT and NODROP flags in preparation for removal of
canremove and abstract vars.
- Sorts some of the setup.dm flags so they're in order.
- Replaces 'flags & 2' in policetape.dm with pass_flags & PASSTABLE,
should have the same effect.
Now scanner will just give warning if clicked too fast, instead of giving obsolete data.
Also moved code from New() to initalize(), since it depends on all things already being there and a master controller existing.
Conflicts:
code/modules/research/xenoarchaeology/tools/tools_anoscanner.dm
Also:
Breathing in hot/cold air will affect your body temperature.
Fixes old body temperature stabilization code not working.
Thermometer icon now adjusts based on species.
Reduced BODYTEMP_AUTORECOVERY_MINIMUM to a less ridiculous value.
Conflicts:
code/game/objects/items/weapons/tanks/tanks.dm
code/modules/clothing/spacesuits/ninja.dm
code/modules/clothing/spacesuits/rig.dm
code/modules/mob/living/carbon/human/life.dm
- caps stun effect values for pulsing
- sets max utiliser battery charge to 300 (30 sec)
- changes energy consumption for utiliser pulse effects to "effect max charge level" * "effect range" ^ 2
- changes energy consumption for utiliser touch effects to 100 (10 sec worth of consumption)
Signed-off-by: Cael Aislinn <cael_aislinn@yahoo.com.au>
runtime error: Cannot read null.len
proc name: scan atom (/obj/item/device/depth_scanner/proc/scan_atom)
source file: tools_depthscanner.dm,31
usr: Some Guy (/mob/living/carbon/human)
src: the depth analysis scanner (/obj/item/device/depth_scanner)
call stack:
the depth analysis scanner (/obj/item/device/depth_scanner): scan atom(Some Guy (/mob/living/carbon/human), Rock (155,169,5) (/turf/simulated/mineral))
Rock (155,169,5) (/turf/simulated/mineral): attackby(the depth analysis scanner (/obj/item/device/depth_scanner), Some Guy (/mob/living/carbon/human))
Some Guy (/mob/living/carbon/human): ClickOn(Rock (155,169,5) (/turf/simulated/mineral), "icon-x=23;icon-y=13;left=1;scr...")
Rock (155,169,5) (/turf/simulated/mineral): Click(Rock (155,169,5) (/turf/simulated/mineral), "mapwindow.map", "icon-x=23;icon-y=13;left=1;scr...")