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()
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.
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.
Playays will now no longer leave complete prints from touching an item once.
Instead they will leave a partial print, that has a high chance of leaving more and more with each touch.
You have a 1/100 chance of leaving a full set of prints on your first touch.
Fixes#4176
Removes del(giver) from pipeline/merge(), turf/assume_air() and
atom/assume_air().
Thanks to valzargaming on reddit/github for pointing it out.
fixes#4717
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Made glowshrooms and intercoms not use a ridiculous internal loop, and fixed a pickup luminosity bug with glowshrooms.
fixes#3708Fixes#3718Fixes#3702
Signed-off-by: Mloc-Argent <colmohici@gmail.com>