Small optimisation to recursive_mob_check() by using associative lists and Cut().
MapFixes
Addition
Switches magboot target to the CE's boots.
Adds the advanced magboots.
Lets Sci make magboots!
Adds recolored magboots for the CE.
Adds the CE's magboots to the map.
Merge pull request #3398 from Giacom/optimised_recursive_mob_check

Small optimisation to recursive_mob_check() ...
Fixes a critical exploit.

While browsing through my server's code looking for possible exploits to fix, i noticed the following :

The autolathe can be used to duplicate any and all objs.

The faulty code accepts any refID from the usr without a safetycheck to see if the requested obj is in the autolathe_recipes list.

This works "only" on objs because it will trigger a runtime error if the object has no material vars.

The default buildcost values for obj are zero, so it always goes through the materials-check, but it would not be sufficient to plug this exploit at this point.

The trivial fix is to have a check to see if the given refID is in the autolathe_recipes list, although a datum-based construction method would probably be more robust.

As basically identical autolathe code appears to be used in Baycode , /tg/, /vg/, Para, and all other builds i could look at, i assumed this exploit has been undetected since Goon.

And indeed, the faulty code is present in Gooncode rev4407 and has been ever since.
Merge pull request #3399 from Steelpoint/MapChanges

[MAP] Several fixes + Minor additions
Updates the magboots file to Gia's changes.
Merge pull request #3416 from Walter0o/tg_exploit_fix

Fixes a critical exploit with the autolathe.
Merge pull request #3411 from GunHog/TatorTry

Gives the CE Advanced magboots for traitors to steal, and lets Sci make normal magboots![MAP]
A little tweak
Merge branch 'master' of https://github.com/tgstation/-tg-station into GrabPull