This will only trigger in surgery for now - That is when you cut someone open in surgery, you'd better wash your hands before, or otherwise you'll get infected wounds.
-Fixed some more messages.
-Added that if you try to set not broken bone with bone setter, you won't like the result
-Moved code for fracturing bones to the separate proc.
Must stay true to the System, yessss.
Aside form fixing lots of mix ups with who cuts who in messages, separated some steps in their own datums.
-mending skull from setting bone (different message and different failure penalty)
-incising eyes and face (2 separate steps) from generic incising (different start condition (eyes), different messages, different failure penalties)
-cautering eyes and cautering face (2 separate steps) from generic cautering (different messages, different effects on success, different penalties on failure)
COuld have realized them as cascade of ifs in generic steps, but though this way will be more in spirit of step system, and generally a bit more readable, if longer.
Pretty much finished surgery system.
-working appendectomy, bone surgery, eye surgery, face surgery, brain surgery (humans only) and metroid core surgery.
-moved operation stages tracking vars to one op_stage datum. Left brain opstage var alone because way too many things reference it.
-added bone gel and bone setter.
-added check for surgery tools, so new doctors won't beat shit out of patients on optable too often.
-pretty much emptied surgery_tols.dm, it was unneeded by this point.
Still need to test it more, slap sanity checks everyfuckingwhere.
Also more literate messages written with help of trained monkey (faux).
Appendectomy fully working
Bone surgery working
Added bone gel and bone setter items
Made bandaging stop bleeding instantly, instead of waiting for next wound update.
Added variabe to groin organ to track appendectomy stage.
When hud_used is deleted, references to those objects are removed, hence they are garbage collected.
Removed some code from metroids which could possible delete global_hud objects which would cause problems.
Added a verb to code/WorkInProgress/carn/debug_locnull.dm which prints all atoms with loc==null to world.log
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4774 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed the failsafe misreporting how long the MC has been dead.
Lighting initialization no longer 'interrupts' the master_controller setup().
Added updated powernet debugging tools. They're in my WIP folder. They are sexy c: It draws the powernet onto the map so you can see what's going on during debugging.
Added tachyon-doppler arrays. They're gonna be something for scientists to measure their bombs with rather than praying for the figures. Nothing spectacular.
Commented out switches, they aren't used and I've been fixing/testing powernets all day. Sorry. If you need them back just PM me and I'll fix them.
Known issues: the merging procs behave silly at intersections. I really tried to fix it but I think I'll make more progress just working on some powernet improvements.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4623 316c924e-a436-60f5-8080-3fe189b3f50e
Supply_packs ow use paths rather than strings. This is because paths for some of the items have changed with recent updates which was causing the strings to become invalid, but the compiler does not check them. Now that they are paths, the compiler will warn you. Fixes a number of runtimes with supply_packs/shuttle. A number of items that were meant to spawn in supply crates that were affected by this now spawn again. (stuff like grenades, spray bottles, etc)
Added a damp rag to the janitorial closet.
Added ammonia to the hydro crate (removed 2 bottles of pest-spray and increased cost slightly to offset)
Moved explosion2.dm to WIP/carn/Explosion2.dm
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4601 316c924e-a436-60f5-8080-3fe189b3f50e
Fixed a problem where TG was using this sequential master_controller but I had removed a spawn where master_controller.process() was called because I was working with the default master_controller. This problem was causing the master_controller to prevent the lighting_controller.process() ever running properly because it was hogging the current thread (thread isn't the right word there, not sure what you call it....stack?)
Added debugging to both the lighting_controller and master_controller. http://filesmelt.com/dl/debugging.png
Both lighting_controller and master_controller may be deleted to terminate their processes (this is done via the restart controller verb. This allows for clean restarts without 'doubling up' (where, for instance, the master_controller would be running more than one instance).
lighting_controller has a prototype recovery proc which is called by the "restart controller - lighting" verb. It's basically an overly paranoid version of process() which will only transfer light_sources to the replacement controller if they don't runtime. It's not needed at the moment as the process() has yet to runtime.
master_controller has the beginnings of self pruning lists. This method using list.Cut(index,index+1) is faster than doing list.Remove(thing) all over the place (the latter iterates through the list to find the thing).
Added more detailed time-measurements for the master_controller. It now displays the processing costs (in real-world seconds) of each part of the master_controller's cycle.
The stat panel only updates for mobs actually -looking- at the stat panel.
Explosion debugging is now hidden behind a if(Debug2). To have it print that data to world.log just click the DebugGame verb
debug controller and restart controller verbs are now both GameAdmin rank. Not sure how they got split up.
Fixed another cause of dark splotchy space turfs. (turf/wall/ex_act was replacing the turf with space and then deleting that new space turf)
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4593 316c924e-a436-60f5-8080-3fe189b3f50e