The following runtime has occured 40 time(s).
runtime error: Cannot execute null.clean blood().
proc name: clean (/obj/item/weapon/mop/proc/clean)
source file: mop.dm,22
usr: Xavier Paynter (/mob/living/carbon/human)
src: the mop (/obj/item/weapon/mop)
Cause: Someone would mop the same vomit/whatever more than once. The first clean would qdel() the vomit, which resulted in the vomit's loc being null. The subsequent moppings would continue and eventually try to call vomit.loc.clean_blood().
Cleans a bit the prime() code, large grenades won't be a huge copypaste anymore
Asay logs will now show up when the grenade is activated instead of used. Only when The grenade is activated by an assembly.
New proc, get_mob_by_ckey(). Give it a ckey and it will return a mob.
Changed the wiki url format to work with the manuals, you can change the config if there are extra parameters, like title.
Fixed the telescience manual not linking to the telescience guide.
* simplify the attack code.
* fix messages and lack of sound when attacking with the rolling pin.
* rolling pin and tray will now use their attack verbs hopefully.
-Heads may modify ID access for their department using ID computers
-Heads may only modify access that they get by default
-Heads may demote IDs if they are able to stip away all access from their card
-Heads may not modify a card's name or title, except when Demoting an ID
Move all atom/Destroy() behavior to atom/movable/Destroy() so turf/areas that get qdel()'d just get del()'d like they're supposed to. Also do tag = null, which should make more things GC.
Make cameras GC correctly and some misc grammar fixes.
Make smoke grenades GC.
Tell camera bugs to del() because I'm not working on complex behavior for one item.
Changed the description on the uplink datum.
Made all the suit/helmet names lowercase for all the different versions.
Changed the max_w_class to allow the suit to be inserted, won't allow anything else to be inserted due to the can_hold list not being empty.