Removed secure/new() due to it's current uselessness
Put all changes in the secure overlays inside the update icon
Found a bug where EMP act would only unlock the crate instead of
breaking it but would still apply the emag overlay I defaulted the fix
to breaking the crate.
Moved the variables from emag act and emp act upwards for compliance
with the update_icon() checks.
Fixes some runtimes related to electropacks.
Securing electropacks will no longer be required to use a helmet on it, same with dissembling the shockkit with a wrench or placing it in a chair.
Removes the atom var 'moved_recently' that was only used by electropacks (really). Now the electropack will have an inner cooldown instead.
The cooldown of the shock will be 10 seconds, giving the shocked person some small time to move in-between shocks (the shock gives you 5 of weakened).
Hopefully nothing went wrong but you never know.
Conflicts:
code/FEA/FEA_fire.dm
code/controllers/supply_shuttle.dm
code/game/gamemodes/changeling/changeling_powers.dm
code/game/machinery/autolathe.dm
code/game/machinery/drying_rack.dm
code/modules/hydroponics/hydroponics.dm
code/modules/projectiles/projectile/magic.dm
code/modules/reagents/Chemistry-Recipes.dm
code/modules/reagents/reagent_dispenser.dm
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.
*TABLEPASS was already totally obsolete.
FPRINT was used, but it was on virtually everything anyway.
Removes those flags from every instance where they were used. Also assigned and removed other flags where it made sense.
If it is desired, I can revive the flag as NOFPRINT, which would retain the original functionality, though inverted. That way it would be be used only where it was intentional (holodeck items could use this for example).
Increased the health of secure crates by a factor of ten.
Originally I was going to null out the projectile proc and add an emp_act instead, but one already exists.
The increased health of the secure crate will allow them to still be broken open from gun fire, but will make it inconvenient enough to dissuade cargo arming up every round, hopefully... (it will take 17 buckshot or 50 lasers to break open a crate)
* Restructured closets to be easier to add new features.
* Added trash bins that you can hide in.
* New sound effects for the bin, they are royalty free.
* Personal lockers can now be (un)locked with your PDA/Wallet/Whatever.
False walls now have a variable that flips on when it's opening or closing. This should prevent the closing door code to execute after trying to open the door (or visa versa) due to the sleep()s used in there.
I've also re-organized teh false_walls.dm file a bit. False r-walls really need to be changed into a subtype of false walls at some point.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5289 316c924e-a436-60f5-8080-3fe189b3f50e
-Adds weed control crates, orderable by cargo techs, for the purpose of kudzu control.
-You can now construct folders with cardboard sheets.
-Moves newspaper sprites out of weapons.dmi
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5206 316c924e-a436-60f5-8080-3fe189b3f50e
Made syringe guns do no damage on behalf of coderbus.
Added some new book sprites and updated some books.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5134 316c924e-a436-60f5-8080-3fe189b3f50e
Moved snowflake telecomm ambient sound code that only half worked into the switch that's designed to handle it.
Committing for Aranclanos:
- Toggle ambience should now properly work. Fixes issue 992.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4880 316c924e-a436-60f5-8080-3fe189b3f50e
I've cleared out most of the .dm files in code/game/objects/ and put it into appropriate files/folders. The stuff I've left is stuff I believe may conflict with carn's work and some code for stuff that does not have a home yet.
TODO:
- Files that were left in code/game/objects that may conflict with carns work
- Go through all the files in all the subfolders of code/game/objects.
- Move all the defines from /defines/ to their proper spots
Not much right?
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4520 316c924e-a436-60f5-8080-3fe189b3f50e