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>
- adding a check for being silenced to use runes
- adding extra slashes in front of the mask definition
- re-adding the autotransfer.dm file to the include list
- modifying how runes are called to use reflection
- adding highlander code to make sure that there can only be one mask
- adding Spread Shadows spell
- adding cult admin investigation log
- adding mask icon
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.
- creating the mask entity
- modifying the code for cult icons
- updating the camera net
- adding visibility network updates to all mobs
- unifying the culting and deculting process
- adding "Make Mask" function to Player Panel
Also added the proc get_ghosts() with 2 versions of output, it defaults to returning a mob list but can be set to return a list for use with an input window.
Created configurations for Server Admins to be able to toggle it within default config.
Modified my previous AdminVerb that allows respawns to bypass the limitations of the restrictions while also letting the admins know if the ghost has used AntagHUD
Created restriction checks for various forms of joining the round and if administrators/hosts have restricted AntagHUD users from joining the round they will not be able to.
To Do:
Create Adminverb for toggling restrictions to also be able to toggle everyones ability to use antagHUD for a round.
Create a method for "Job Banning" users from using antagHUD.
-Embedding is now a function of armor and projectile base damage.
-Chances to hit varied body parts are modified via miss_modifier. Less likely to hit head, extremities, etc. Distance is more of a factor.
Problem: Cult members can't use the rune to see ghosts, then beat ghosts over the head. it was being intercepted by _onclick and processed there and only displaying an angry red notice
that you hit that ghost. Ghost didn't become visible, it disappeared soon after moving off the rune.
Solution: Made an attackby for ghosts to check when they are being beat up by cultist with books, now they appear.
Minor feature change: Now if a visible ghost gets hit it will give a different message than the standard "Ghost is pulled through from the other side".
Tweaked soporific and new chems a bit more. Added Paracetamol, a lesser drug to tramadol, known to all as tylenol, and implemented it into sleepers! Gave inaprovaline the IB slowing property to keep sleepers in the game and allow EMTs better usage. Oxycodone made easier to craft by making the plasma a catalyst, but decreased it's overdose limit. Applied oxycodone and paracetamol to be able to handle things painkillers should.
Tested work to implement eyes ad internal organs and the charpref selectable robotic organ replacements for heart and eyes, both for assisted and fully mechanical variants!