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.
- The admins now have the ability to kick all or just afk clients from the lobby
- When admins use this action, a list of kicked clients is sent to admins and into the log.
- Added a confirmation message to the admin command.
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.
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.
If however an admin attempts to add a manual ban for a player who was present during the current round, a player who still has a mob somewhere in the game world, the proc will prioritize the mob's ip and computer id variables, not the things entered in the banning panel form.
Blob Gamemode Revamp
Blob gamemode is back and better than ever.
The blob is selected from be_alien candidates and is controled like a real time strategy game.
Added a Jump to Node power.
Cleaned up the code.
Changed some more values.
Added a blob_act() to camera.
Removed most "if(gamemode == "blob") checks to stop people from using it to metagame.
Removed cells exploding when being blob_act()'d
Re-introduced the concept of a player controlling the blob in an RTS fashion, expanding the blob and building structures such as nodes and factories.
All blobs will try to find ghosts, with the BE_ALIEN flag, to be the blob overmind. Even random event blobs will try to get players to play as the overmind.
Added a /mob/camera that is now being used by the AI eye and the blob overmind. It is a mob that isn't dead but acts as a camera for the player, to be controlled by something like the AI or the blob.
There are now a resource currency for the blob to spend it's points on blob expansion and upgrades.
Added a small blob_act to mechs.
Made all camera mobs max invisibility. Because of this I removed the AI best friend button as it would be not working.
Blob mode will send a normal intercept report.
Makes the "coder secrets" in secrets panel become general secrets for all admins. Adding myself to admins.txt for test server purposes, in case I ever forget to change it again.
Reasons:
It's very helpful to use the admin log for a quick glance to see who spawned the mateba for the clown, rather than open the serverlog to check.
Plus I see no reason why it should be restricted to coders, considering it's not really at all able to affect the game by admins seeing it.
Testing force overwrite
Cheridan broke my git the first time, here's try #2!
Makes the "coder secrets" in secrets panel become general secrets for all admins. Adding myself to admins.txt for test server purposes, in case I ever forget to change it again.
Reasons:
It's very helpful to use the admin log for a quick glance to see who spawned the mateba for the clown, rather than open the serverlog to check.
Plus I see no reason why it should be restricted to coders, considering it's not really at all able to affect the game by admins seeing it.
ghost_form is now saved with other preferences.
Public visibility of memberships is toggable and saved with other preferences.
ooc-colors for admins and members are now sanitized. Bright colours like Yellow, white and baby-blue will be darkened for the sake of legibility.
Related to above - added helper procs to convert between RGB and HSL colour models.
Admins cannot modify var/unlock_content without +DEBUG rights. unlock_content moved from client into prefs.
Player savefile version number updated - this will trigger savefile updates, no data should be lost.
-Added logging for admins editing objectives
-Added logging for admins adding new antagonists
-Changed the antag role assignment buttons to something more appropriate for the game modes. Will now tell you if someone is loyal (implanted).
-Added a isloyal() proc to check if a mob is loyalty implanted.
-Made the headrev message more noticeable
Resolves an issue where whitespace in names could cause a saveslot button to wrap to the next line.
Byond members:
can colour their name using the admin ooc-colour feature.
get a icon next to their name in ooc chat.
can choose their icon_state as a ghost.
get 8 saveslots
unlock_content tracks the return of IsByondMember(). This is to allow for easier testing/debug.
-Added traitor_scaling_coeff and changeling_scaling_coeff to server configuration files, allowing server operators to adjust the values to their preference.
-Updated changelog