mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 10:01:40 +00:00
* Brain damage works on organ damage procs, some defib reworks * Heart and Lung damaging effects and failure, liver damage and failure moved to its organ again * Cleans up reused global * Organ damage procs on living and living/carbon * Changes brain damage procs again * SR heals all organs on revive, no decay for cybernetic implants, stomach damage and fail effects. * Damage and failure effects for the appendix, ears, and some touchups on the stomach * Committing changes so I don't lose them * Organs now cease decaying in the proper containers * Organ Fridges * Reverts map changes * Adds coronary bypass, lobectomy, trying to deal with organ_stat runtime * Actually fixes merge conflict * Smartfridge tweaks * Think I figured out map merger * Evidently not * Still runtiming with glass shards even after I remove the map changes? * Fixes runtime error with brain_item * Runtime fix on living/carbon/life * Cleaning up old PR code * Brain damage fix, moves defines to actually be in _DEFINES, under DNA since that's where organ slots were * Wrong math operation used * Brains in MMIs no longer decay * Removes redundant variable, and defibs no longer work on heart attacks caused by failing hearts * Removes misleading comment * init freezes organs in case organ crates are added, morgue corpses are frozen, removes adjustLiverLoss * Removes random spaces, scanners check brain damage severity now * Swaps numbers for defines, fixes brain surgery, rebalances coronary bypass bleed since that was insane last I tested it * List change * Runs off of an index instead of using cut * Brains can be put into organ fridges * Fixes minor type, hotfix for cloning problem * Removes pointless check * Demon hearts no longer decay * Nightmare hearts no longer decay * Removes istype() check on process, sets can_decompose instead * Condenses organ damage report * Removes organ failure messages * Less organ damage spam, implements organ threshold messages instead * Brain damage messages go to owner, not source * Self-examine shows damaged organs * Minor code cleanup, adds autodoc comments to the new procs * Inverts standard organ vars to prevent random organs decaying, adds a few more autodoc comments. * Merged the booleans into a set of flags * Healthy living improves organ healing rates * dunno why this didn't update * my actions have consequences * Sets ORGAN_SYNTHETIC for overlooked robotics organs * Doubles heart decay time * 3 minute heart decay * Lobectomy/Coronary_Bypass heal more * removes hivemind spells from the changes
The code in this module originally evolved from dmm_suite and has since been specialized for SS13 and otherwise tweaked to fit /tg/station's needs. dmm_suite version 1.0 Released January 30th, 2011. NOTE: Map saving functionality removed defines the object /dmm_suite - Provides the proc load_map() - Loads the specified map file onto the specified z-level. - provides the proc write_map() - Returns a text string of the map in dmm format ready for output to a file. - provides the proc save_map() - Returns a .dmm file if map is saved - Returns FALSE if map fails to save The dmm_suite provides saving and loading of map files in BYOND's native DMM map format. It approximates the map saving and loading processes of the Dream Maker and Dream Seeker programs so as to allow editing, saving, and loading of maps at runtime. ------------------------ To save a map at runtime, create an instance of /dmm_suite, and then call write_map(), which accepts three arguments: - A turf representing one corner of a three dimensional grid (Required). - Another turf representing the other corner of the same grid (Required). - Any, or a combination, of several bit flags (Optional, see documentation). The order in which the turfs are supplied does not matter, the /dmm_writer will determine the grid containing both, in much the same way as DM's block() function. write_map() will then return a string representing the saved map in dmm format; this string can then be saved to a file, or used for any other purose. ------------------------ To load a map at runtime, create an instance of /dmm_suite, and then call load_map(), which accepts two arguments: - A .dmm file to load (Required). - A number representing the z-level on which to start loading the map (Optional). The /dmm_suite will load the map file starting on the specified z-level. If no z-level was specified, world.maxz will be increased so as to fit the map. Note that if you wish to load a map onto a z-level that already has objects on it, you will have to handle the removal of those objects. Otherwise the new map will simply load the new objects on top of the old ones. Also note that all type paths specified in the .dmm file must exist in the world's code, and that the /dmm_reader trusts that files to be loaded are in fact valid .dmm files. Errors in the .dmm format will cause runtime errors.