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.
For Lesser Magic Missile:
-Halved the projectile life span
-Added a cap to the amount of targets, 6 as an experimental number
-Made the helper text more useful for new constructs
To test: add these debug lines somewhere:
//START COPY PASTE
mob/verb/give_allrights()
src.client.holder.rights = 393087
mob/verb/hasright()
var/hi = input(src,"Choose a file to access:","Download",null) as null|num
var/r = check_rights(hi, 1);
world << "[r]"
mob/verb/checkrights()
for(var/i = 0; i < 32; i++)
var/n = 1 << i
var/r = check_rights(n , 1);
world << "has right 2^[i] = [n]? [r]"
//END COPY PASTE
Start the game, run 'give allrights', which doesn't give all rights, but some of the rights. 128 and 131072 are missing. Then you can either run 'hasright' to check whether you have the permissions that correspond to a user defined number, or you can run 'checkrights' to check for all 31 theoretical permissions.
-Juggernaut's force wall duration increased to 20 seconds (it was 5 before which was completely useless)
-Artificers gain a new spell Lesser Magic Missile - which functions as normal MM but with a significantly longer cool down (purpose of it is to give builders a chance to get away, or provide supportive fire in a construct spearhead)
-Juggernauts now have ablative shells, which means that energy projectiles will be deflected as with ablative vests, as with vests slug throwers aren't affected
Added the blob to the check antagonists, displaying how many blobs are left to win and being able to show the player panel for the blob.
Gave overminds mind datums which will initialize to give the overmind a blob special role.
Re-worded the BE ALIEN candidate so that it is more abstract and could mean becoming a blob.
Added another message for when the infected crew is about to burst into a blob.
EMPs will now hurt the blob.
Fixed blob spores blocking the blob from expanding.
Nodes will also slowly recharge their health.
Gave a little bit of health to normal blobs so that lasers don't one shot them anymore, barely.
*the targeting for the spell has been reworked so there's no chance of people in the same loc getting stoned instead of your intended victim. As a result of this improvement, wizards can now cast the spell on other wizards with reckless abandon
*Flesh to Stone and the Staff of Animation play nicer with each other now, no more mobs getting trapped in item mimics after escaping the statue.
*Minor tweaks to the monkey statue, which looked dumb
*statue sprites updated from "granite" to "marble" to fix some contrast problems
*statues now get their Health from their target's current health, healthy humans and monkeys will have 200 health before shattering, corgis will have 120 health. Injured targets will make for easier to smash statues.
*likewise when a mob is unstoned it will take any damage the statue took as brute damage.
*Replaced godmode with a set of vars to assure the mob's health remains constant while a statue
*Spell renders one target (choosen from list) immobile and incapable of interaction by encasing them in a breakable statue
*Effect ends after a long while (4 minutes) if the statue remains intact
*Requires robes and has a range of 2 squares, cooldown 60 seconds
*Statue can be animated by Staff of Animation, the spell will still end at the normal time
*Currently can be used on humans, monkeys, and corgis
* Fixed multiple bugs with the cameras and the malf powers. All malf powers should be in working order now.
* Added a new power that creates an automatic cyborg machine that will allow the AI's minions to put living humans through it to build a cyborg army. This power will cost all their malf points and will stop them from being able to shunt, to balance it.