Replaced the EMP grenades from the uplink with an EMP kit.
The kit contains a grenade, an implant and a flashlight with 5 uses that can EMP any object or mob in melee range.
It will search list/L for a /datum/data/record with fields[field] == value, and return it.
This removes a vast amount of copypasta (there's still so much left in there though). It also removes all the locate(\ref[record]) I could find, which were normal used with topic(), meaning it was susceptible to abuse.
Secbots, ed209s and turrets are now smarter with their record-checks. They now prefer to use our face-name rather than id-name. ICly, this is the bot using facial recognition. This fixes an issue where it'd try to use the name variable which could be in the format "Unknown (as their id name)" when they were disfigured, etc. causing record-lookup to fail.
Additionally, these bots will treat those without a valid record in the security database, to be treated like criminals.
-Ported Bay's cargo computer category system
-Created a box containing six flashes
-Crates have been tweaked significantly. Crates have been reduced to single item types where possible, namely with expensive crates such as weapons and armor. A total of 28 new crates have been added, including chemical and tracking implants, and raw materials can also be bought from cargo for a significant number of points (subject to change)
* Added a Del() to the projection which will disrupt the chameleon projector, before being deleted by acid or a drill (killing the person inside).
* Made chameleon projectors disrupt if moved from the hand, to make it consistent. Currently you could put them in pockets but if you picked them up it would disrupt. Fixing this would involve changing all use of dropped() so instead I made them disrupt when equipped and, due to how dropped() works, when they switch hands. Lowered the disrupt cooldown to make up for this.
* Fixed being able to order items with an inactive uplink.
* Shortened the name of an uplink item to make room.
* Removed the (?) from the Random Item to help avoid confusion with the new buttons.
Modules can just run install(target,user) and everything will work fine.
Upload computers cleaned up quite heavily. Less copy+paste. Removed that pointless "Open access panel" verb they had.
Law changing procs moved from mob/living/silicon/robot and mob/living/silicon/ai to mob/living/silicon. This means clear_inherent_laws(), add_inherent_law(), etc. This is what the new file is for. Doesn't change anything since they both had exact copies of the same procs.
NOTE: This commit doesn't change the maps, so don't checkout to this without the next one.