Partial port from vgstation.
Notable differences:
handle_regular_hud_updates() is called anytime view is reset, instead of
just from the cancel camera verb. check_eye() now returns the vision
flags to be set on the viewer. Moved cameraFollow to silicon. Camera
consoles now call reset_view explicitly when they want to change a mob's
view, instead of leaving it as a side effect of check_eye()
Merges the two meteor events into one, and now takes severity into consideration instead.
Including the basic meteors there are also new types ranging from flaming to radioactive which may drop appropriate types of ore.
Moves atom/Destroy() into atom/movable/Destroy(). Is now a /tg/ copy-paste.
Means deleting turfs no longer wipes everything on that turf and that pulling is canceled.
qdel no longer willingly accepts lists.
Transmission of emotes, visible_message() and say() refactored. All three use get_mobs_or_objects_in_view() to find objects and mobs in containers
Storage objects and closets no longer transfer hear_talk(), see_emote() or show_message() to contents, as this is already covered by the above changes
Reorganizes breathing, and moves common human/monkey breathing code into
carbon. handle_breath() is largely unchanged.
Removes unnecessary handle_internal_lifeform().
Fixes monkies being held by people in mecha in space not being able to breathe.
This should have little/no gameplay effect right now, just paving the
way for directional lights.
Replaced handle_rotation() on buckly things with this.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Headsets now generate a description of available radio channels based on the installed encryption key(s).
Currently only updates on creation, not when changing encryption keys, to ensure that less than legal keys are not detected by a mere casual glance.
Bartenders, chefs, and janitors now have their own service frequency and corresponding headset.
The HoP is listening to this channel by default.
Creates a proper locker for the chef's extra gear.
The examine, pull, and point verbs now below to the mob instead of all atoms. Based on discussion here: http://www.byond.com/forum/?post=1326139&page=2#comment8198716
As a bonus ghosts can now point. Ghost pointing should only be visible to other ghosts unless made visible by cult activities.
New turf proc: assume_gas(). Maps to air.adjust_gas_temp().
Lots of optimizations to processing, fire, lighting, HasEntered() and
more.
Zones now process all fire data and existance in one go, fire objects
only handle spreading.
Most code has been ported straight so some of it mightn't be ideally
structured for the new gas_mixtures.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Also makes setting a thrown atom's throwing var the responsibility of
the handler, so that impact handling code can decide if the thrown atom
should keep on going.