DNA now stores blocks internally as numbers and only makes the uni_identity and struc_enzymes strings when something has changed. This is vastly more efficient.
In addition, the API for using it has been simplified. Common tasks, such as setting a sub-block, or getting a value from the block, are handled entirely by the DNA datum with simple, easy-to-use procs.
Tested on local server, but may need balancing and additional look-over since the code is from our server (/vg/) and I likely broke or forgot something.
Current hooks are "startup", "roundstart", and "roundend".
Most stuff in world/New() has been moved over to the startup hook.
Roundstart and roundend have no hooks yet.
Removed the unused "newbanjob.dm" file and associated verbs/topics.
Bumped RECOMMENDED_VERSION up to 501.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
A traitor panel used on a player-monkey would runtime due to the loyalty implant fix.
We ignore loyalty implants in monkeys, monkeys don't even know what Nanotrasen is, the nanobots probably don't even know what to do with a monkey.
implant adding via the traitor panel will also update it's location to be in the players head for autopsy as well as is_loyalty_implanted() reasons.
Thanks Chinsky / alex-gh for the heads up on this.
Added a proc is_loyalty_implanted() that returns 1 if so, and 0 if not.
Added the ability to remove and add loyalty implants from the traitor panel.
Changed the checks on antags to not care if they are section heads, but to instead check for a loyalty implant.
Fixed a minor bug where traitorborgs made through traitor panel was not adding law 0
Adding a loyalty implant to an antagonist through traitor panel will also remove them from being an antag.
Also fixed a bug where if the supermatter is ordered off the supply shuttle it wouldn't produce power (process was deleted while in crate)
supplypacks.dm is just a spelling fix.
Fixed(?) disposal issues.
Hopeful fix of supply packs, commented out the shard until it's fully functional.
Please report any continuing wonkiness I can't reproduce!
Now they are one-use, as they were intended.
You can still change their contents with syringes before they are used.
To mitigate their one-use nature, box of them is added to medical closets and supply pack.
Added employment records console.
Added circuit for employment records.
Added employment records consoles to every head of staff office. (Map)
Added a circuit spawn for an employment console in tech storage (Map)
Fixed pod 5.
Signed-off-by: Jamini <mobiousjami@gmail.com>