implantation works again. Since they'll only be accessible via an admin
specifically spawning it, except for in cases where it is configured
to be allowed, it'll be fine.
This now allows admins to incorporate loyalty implants still if they so
wish for whatever reason, but it is normally inaccessible.
Signed-off-by: Decius <deciusreln97@gmail.com>
Created a proc for being implanted with loyalty implant which
checks for the configuration for whether or not it will work. If it is
enabled, it continues on-- if it is disabled, it returns from the proc.
Also made secure closets not automatically spawn them unless the config
is set to allow it.
Admin 'loyalty implanting' via the panel is now compliant to the
configuration file. If preferred, I am willing to make an override variable
to the proc that will allow admins to do it anyway.
Supply pack for it commented out due to inability to make it conform.
Easy enough to re-add back for anyone downstream if they wish it. Same
applies to the design.
Signed-off-by: Decius <deciusreln97@gmail.com>
People who are being converted by the cult now take 10 damage in the first
place. Additionally, those who resist take a little bit more damage and get
a fair number of messages showing their great painful resisting and whatnot.
Light and fun.
Signed-off-by: Decius <deciusreln97@gmail.com>
This reverts commit 1679b4062f, reversing
changes made to b149b273d9.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>
Conflicts:
code/datums/visibility_networks/update_triggers.dm
Before: Every tick each HUD item would recalculate and redo images for every mob in view. For items like the secHUD where we're transversing implants and the various records this gets very expensive.
After: Mobs use their hud_list variable to store varius huditem images, when conditions change for those specific huditem images it updates the specific ones on demand. As a backup every 30 ticks or so the mob will update all of their hud_list.
Also: moved proc/RoundHealth() from 2 seperate locations into __HELPERS/mobs.dm
* Transfer open ui instances when transferring a user to another mob
* Runtime fixes in the NanoUI Topic and nanoclose client verb
* Return focus to the map when a NanoUI is opened
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.
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.
- 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
Specifically, admins were unable to give players, traitors,
that is, the objective to brig/maim someone. This gives them
the ability view the traitor panel.
* Makes grass auto-stack when harvested
* Allows seeds to be extracted from grass
* Allows the smart-fridge and plant bags to accept seeds.
* Lays the groundwork for a seeds-only version of the smart fridge, to eventually replace the existing seed vender (not yet hackable, though)
-Fixed window doors not opening when you click on them.
-Added a reset button for the job selection screen.
-Fixed a bug with the traitor panel which leaves ex-changelings with the evolution menu.
-I re-added the variables for the intercept report but commented them out.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5276 316c924e-a436-60f5-8080-3fe189b3f50e
Before, when making a link to an admin tool, you done this:
<a href='?src=\ref[C.holder];parameter=1;>link</a>
Now, we do not need to use a reference to direct it to places like usr or usr.client.holder (or client, but you never needed src for that anyway)
usr: <a href='?_src_=usr;parameter=1;>link</a>
holder: <a href='?_src_=holder;parameter=1;>link</a>
This basically allows us to move a LOT of code outside of loops as we no longer have to create a \ref for every recipient of the message. They can all be sent identical links. A simple example of this would be in pray.dm Although it's most noticeable in the adminhelp code which is vastly simplified.
Adminhelp name spotting code thingy...whatever... looks for ckey matches first, then surnames, then forenames. This is to stop it possibly weirding out if there is a station full of "Ed"s of "Sarah"s
Prayer code no longer loads a new icon into memory every time a prayer is sent. Use image() not icon()!
key_name() no longer needs a reference for it's admin_link argument.
message_admin() pretty much doesn't need those extra arguments for finding and replacing %holder_ref%. I've got to go through all the code to check before I remove it though.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5105 316c924e-a436-60f5-8080-3fe189b3f50e
SERVER HOSTS:
This commit replaces the existing admin-rank system. It is now more customizable.
Admin.txt essentially works the same as it always has. Each line should look like:
ckey - admin rank
There is now however, an admin_ranks.txt. This textfile allows you to define ranks like so:
admin rank +ADMIN +FUN +BUILD
the +KEYWORD are flags adding permissions to that rank. There are brief descriptions in the text-file explaining what they do.
You can now name the ranks anything you like, and give them the permissions you want them to have. This allows, for instance, ranks like:
Game Admin on disciplinary +ADMIN +BAN
This would give that game admin only the tools they need to admin. They would not have access to 'fun' verbs which control events and antags.
There's lots of things you can do. For instance, a coder rank whom can debug stuff but cannot do admin tasks:
Codermin +DEBUG +VAREDIT +SERVER
There's lots you can do. As it evolves it will hopefully become more flexible.
admin_ranks.txt defaults to use the old admin rank names.
Apologies in advance as there will be a lot of anomalies, such as ranks losing verbs they once had. Please let me know about any problems. I can fix them quite easily simply by moving verbs between the lists or splitting the lists up into new flags.
CODERS:
There is now a check_rights(flags) proc.
It check is usr is and admin and has -at least one of- the rights specified.
It checks > usr < not src, so keep that in mind!
If you need to check if something other than usr has specific tights, you can do if(holder.rights & R_ADMIN) etc.
KNOWN ISSUES:
+FUN probably needs to be split up into +MOBS and +EVENTS
In-game promotion/demotion is currently disabled. It will be readded after everything else works ok.
Erro's sql rights changes stuff is currently commented out. It will be re-added.
There are still many many verbs which need updating.
Apologies in advance for any inconvenience.
git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4991 316c924e-a436-60f5-8080-3fe189b3f50e
Conflicts:
code/datums/disease.dm
code/modules/reagents/Chemistry-Reagents.dm
icons/turf/areas.dmi
maps/tgstation.2.0.9.1.dmm
yep, this time going to merge map updates before making map changes >.>
Signed-off-by: Cael_Aislinn <cael_aislinn@yahoo.com.au>