Replaces for(mob in oviewers) show_message() with visible_message() when possible.
Fixes the absolute pathing in Ninja code.
Fixes facehugger attack messages being bold red for third party (only the first leap message will stay bold red for third party, for better visibility)
Standardizes vomiting message
Fixes mech occupant not receiving any attack messages when the mech is attacked.
-Breaking the Captain's Display Case will now trigger an alarm, bolting all airlocks in the room as well as notifying the AI (after a 3 second delay)
Nowadays, I'm seeing far too many Captains breaking their display case with little repercussion. Keeping the gun in the case used to have value when the AI was able to watch over it (hear people breaking it), but since the AI was moved there's no value in keeping it in there besides to avoid being accused of powergaming.
This change is meant to add incentive for Captains to keep it in the case (Extra Security), humiliates them from taking it (bells and whistles will draw everyone's attention), and makes the steal objective a little more unique from the other ones.
Traitors would need to create their own escape route first, or be extremely predictable jump down the disposal outlet. An alternative to bolting the airlocks (should it be seen as being too extreme) would be to simply drop firedoors instead.
Replaces Holodamage with Stamina damage, if your stamina damage exceeds your current health, you get weaken(5)'d. Stamina heals itself slowly over time.
Makes the hallucination enemies deal more stamina damage than they did holodamage, but stamina damage heals now so it's mostly for just seeming threatening at the moment.
Adds the Disabler, a gun that does stamina damage. It has a range of your screen, but no more. Adds a disabler crate to cargo (security lock)
Fixes Lasertag ED209's because they were busted as shit
Reduces ED209's view range to 9 from 12, which was several times longer than your screen view, now is only a little bit more
Lastertag now does stamina damage instead of an instant stun for that GRITTY LASERTAG EXPERIENCE
Works pretty well. If it can't GC something, it'll just del() it and be done.
Speed is amazing, holy shit.
New procs you should be aware of:
qdel(atom/movable) - sets up an object for garbage collection. Call this rather than del(atom/movable).
atom/movable/Destroy() - called right before the object is GC'd, so it still has a loc. Also called if the object is del()'d.
new controller - garbage.dm has all the details on this. Basically it nulls all references on GC'd objects and force del() them if necessary.
Generally speaking, objects should use Destroy() for behavior prior to deletion rather than Del(). You should also always call the parent so the object gets the right gc_destroyed var set.
ISSUES:
Tries to GC mobs atm. This actually works for new players, not so much for humans/monkies/simple_animals/anything. I'm guessing it needs to clear out their mind and HUD and maybe other things.
Gibbing is really bugged. It works, but the overlays just sit there for awhile and ugh. I'm very tempted just to del() mob/living and mob/camera and call it a day.
qdel() equipment doesn't unequip the item.
Pipes don't generally GC correctly. Debugging suggests they get referenced in many pipenets and that isn't cleared properly. However some do work fine. Need assistance here.
Bots don't GC, probably in the radio controller.
Lots of other shit doesn't GC but it's hard to find them because of the pipe spam.
I think I'm calling Destroy() twice by accident.
This brings down a bunch of defines from /code/defines/obj.dm unto their appropriate files.
I've moved morgue.dm from game/machinery into game/objects/structures since that file contains no machines.
I've reorganized the objects/items/stacks folder and made a 'sheets' and 'tiles' folder to keep things separate
I've separated stool_chair_bed.dm into its own folder which now contains the files: stools.dm, chairs.dm, bed.dm and alien_nests.dm to make it a little easier to go through.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4582 316c924e-a436-60f5-8080-3fe189b3f50e
Committing this early to allow pete to commit something involving the .dme file which would probably conflict otherwise.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4514 316c924e-a436-60f5-8080-3fe189b3f50e