Also removed some mob vars like sdisabilities and merged the usability
with disabilities
Removed need for mutations var, they are not handled in dna
Removed blinded var, now its handled by eye_blind being bigger than zero
Ands lots, lots of other shit in files that used mutations
Replacing some fo mob in viewers() show_message() with visible message().
Simplifying some message code in a couple places, fixing typos and span classes.
This somewhat changes how items are placed on them, but for the better as it's more consistent with existing mechanics.
Hitting someone with the tray still scatters the contents around! Works on nonhumans.
Placing icons on the tray still makes them show up on the tray. Using the tray on a table now places the items onto the table, or places the tray itself if it's empty. Robots can't lose their tray this way, I checked.
Service borgs can actually use their tray to carry things! Trays can hold all sorts of stuff, as long as it's small...
A service borg can carry the nuke disk around. The pinpointer does follow it correctly.
If the service borg stashes its tray module, dies, explodes, gibselfs, or is forced to stash its modules by damage, it drops all the tray's contents on the ground.
Fixes#236 (service borgs can't use trays) and #2991 (Items on food trays can't be picked up). Didn't address #1919, the layer issue.
Fixes the "bajillion lines changed" with the maps.
Just in time for the feature freeze, a big change that will introduce bugs! Yay!
Mob verb is called verb/examinate(target), which just calls target.examine(user) and face_atom(target)
For explanation why, see http://www.byond.com/forum/?post=1326139&page=2#comment8198716
Long story short, mob verbs are much faster than object verbs. The goal is to make right-click menus populate faster.
Also changes a bunch of examine() procs to always, ALWAYS call the parent. Except mobs, but you have 1 guess why I'm not touching them. Mostly this affects obj/item/examine().
And also remove a whole shitload of pointless set src in view(2) kind of crap. Also span classes.
Changed "M as mob" in arguments list to "mob/M"; I think the former made it look for proc/can_equip() instead of mob/proc/can_equip().
Also, it no longer returns 0 for a null slot parameter.
Now it calls mob/proc/can_equip(obj/item/I, slot, disable_warning = 0) instead.
Good-riddance, nasty ugly if(istype(...))!
Future task: update corgi/xeno/whatever code to use this proc, now that it's nice and clean.
Ranged weapons and laser eyes have a cooldown of 0.4.
Grilles, windows, windoors, walls and blobs have a cooldown of 0.8.
Hitting mobs will also have a cooldown of 0.8.
Removes the unused USEDELAY flag.
Hopefully nothing went wrong but you never know.
Conflicts:
code/FEA/FEA_fire.dm
code/controllers/supply_shuttle.dm
code/game/gamemodes/changeling/changeling_powers.dm
code/game/machinery/autolathe.dm
code/game/machinery/drying_rack.dm
code/modules/hydroponics/hydroponics.dm
code/modules/projectiles/projectile/magic.dm
code/modules/reagents/Chemistry-Recipes.dm
code/modules/reagents/reagent_dispenser.dm