Fixes this runtime error:
//-------------------------------------------------\\
|| runtime error: Cannot read null.status ||
|| proc name: handle heartbeat ||
|| (/mob/living/carbon/human/proc/handle_heartbeat)||
|| source file: life.dm,1648 ||
\\-------------------------------------------------//
This was caused by no sanity check to make sure that
internal_organs_by_name actually returned an organ, therefore it was
attempting to read a null variable, which causes a runtime error.
This commit adds a Procedural map generating system for code and admins to
use ingame. The system is modular, which means that it is fairly easy to
make new generating systems. Currently, only the 'nature' unsimulated
system is implemented, as a testing verb for admins to use. Admins can
define the starting XYZ and ending XYZ of the generated system.
Players - This means you may see content that is truely random, in the
future.
Coders - This system allows you to randomize map elements. Writing new
modules is documented at
code/modules/procedural-mapping/mapGeneratorReadme.dm
Detailed information about how the system works, and how it can be
integrated is also avalible there.
Admins - This system will allow you to, at the touch of a button, create
very complex structures and turfs that would otherwise require being
spawned in manually, one by one. The nature button is a fairly good
example of this, with it's randomized grass textures, randomly placed
trees, and randomly placed rocks. This would normally take a good 5
minutes to do, spawning the trees and rocks and turfs, but it takes about
20 seconds to enter the coordinates and have it be completely random.
- Changes smoke so that it immediately affects all mobs in its area of
effect, smoke clouds are purely visual.
- Any mobs in the area of effect of a smoke reaction will be affected by
the smoke's touch reaction, and have all reagents in the smoke container
transferred into them.
- Smoke clouds are no longer opaque.
- Mixing 10u potassium, 10u sugar, and 10u phosphorus or higher will
cause an area of effect with a radius of 3 from the point of reaction.
Any less will have a radius of 2.
- Same with heating 10u smoke powder.
- Smoke powder reaction now only yields 1 powder instead of 3.
- Vent clog event has a radius 3 area of effect.
Fixes and uncommenting
- Uncomments honey turf reaction.
- Uncomments synthflesh turf reaction.
- Adds list for reagents to not copy via smoke (or more specifically,
delete when a smoke reaction happens without copying). This includes
sugar, phosphorus, potassium, and the smoke "reagent" produced in a
smoke reaction.