-
Notifications
You must be signed in to change notification settings - Fork 68
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MIRROR] Certain ID trims affect secbot response [MDB IGNORE] (#25360) (
#913) * Certain ID trims affect secbot response (#79980) ## About The Pull Request A prior refactor of how ID cards worked removed (without commentary?) the long-previously-existing behaviour that Agent IDs cause a subtraction from the level of suspicion that security bots see from you. I have not only restored this behaviour, but applied it to a handful of other ID cards (based on trim). When Beepsky looks at you he will make an assessment based on various factors controlled by his bot settings: - If Beepsky is set to check ID and your identity is concealed (you appear as "Unknown") add 4 points. - If Beepsky is set to check Weapons and you are holding a restricted weapon without a permit, add 4 points. - If Beepsky is set to check Weapons and you are wearing a restricted weapon on your belt or back without a permit, add 2 points. - If Beepsky is set to check records and you are set to Arrest, add 5 points. - If Beepsky is set to check records and you have some other non-innocent status, add 2 points. - If you are wearing a wizard's hat, add 2 points. - If you are not human, add 1 point (police are racist). - If you are loyalty implanted, subtract 1 point. Factors added or restored in this PR based on your ID now are: - If you are wearing an Agent ID, subtract 5 points. - If you are wearing a Cybercop ID, subtract 1 point. - If you are wearing a Centcomm ID, subtract 10 points. - If you are wearing an Admin ID, subtract infinite points. - If you are wearing a prisoner ID, add 1 point. - If you are wearing a Syndicate or Battlecruiser ID, add 5 or 10 points. If Beepsky is _emagged_ then he will view all targets as having 10 threat, regardless of their ID card. If you complete this process with >4 points he will attempt to arrest you. The upshot of my changes are: Wearing an Agent ID card will cause Beepsky to overlook the fact that you are carrying a gun in your hands without a permit, unless you are also set to arrest. Wearing an Agent ID card will cause Beepsky to overlook the fact that you are set to arrest, unless you are carrying a gun in your hands. Wearing a prisoner ID while not human will cause Beepsky to try and arrest you if you have a weapon on your belt or back (if he is set to care about weapons permits or unless you have one). Wearing a centcomm ID card will cause Beepsky to treat you as above the law in basically all circumstances, up to and including when you try and beat him to death. He will simply sit there and take it. In addition to this, this information forwarded to AI is now also available to player secbots upon examine. Players can't become secbots very easily because you can't upload PAIs into them or enable their sentience in the panel, but it sometimes happens via random event or admin intervention. ## Why It's Good For The Game I think this was removed by mistake? It wasn't included in the changelog and everyone I talked to thought it was still true. It's a fun feature which makes agent IDs marginally more useful. I think Beepsky and pals judging you based on your job makes sense, even if it is mostly applied to fluff roles. ## Changelog :cl: add: Agent IDs once more trick Beepsky into treating you more leniently. add: Prisoner IDs make Beepsky treat you somewhat more suspiciously, as do Syndicate IDs. Wearing a Centcomm ID means that Beepsky is aware that you are above the law. add: Player-controlled security bots can view someone's assessed threat level by examining them. /:cl: * Certain ID trims affect secbot response * Quick pass on Skyrat based ID_trims --------- Co-authored-by: SkyratBot <[email protected]> Co-authored-by: Jacquerel <[email protected]> Co-authored-by: SomeRandomOwl <[email protected]>
- Loading branch information
1 parent
6c93d22
commit 10fa406
Showing
20 changed files
with
106 additions
and
45 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,38 @@ | ||
/// This component allows you to judge someone's level of criminal activity by examining them | ||
/datum/component/security_vision | ||
/// Bitfield containing what things we want to judge based upon | ||
var/judgement_criteria | ||
/// Optional callback which will modify the value of `judgement_criteria` before we make the check | ||
var/datum/callback/update_judgement_criteria | ||
|
||
/datum/component/security_vision/Initialize(judgement_criteria, datum/callback/update_judgement_criteria) | ||
. = ..() | ||
if (!ismob(parent)) | ||
return COMPONENT_INCOMPATIBLE | ||
src.judgement_criteria = judgement_criteria | ||
src.update_judgement_criteria = update_judgement_criteria | ||
|
||
/datum/component/security_vision/RegisterWithParent() | ||
RegisterSignal(parent, COMSIG_MOB_EXAMINING, PROC_REF(on_examining)) | ||
|
||
/datum/component/security_vision/UnregisterFromParent() | ||
UnregisterSignal(parent, COMSIG_MOB_EXAMINING) | ||
|
||
/// When we examine something, check if we have any extra data to add | ||
/datum/component/security_vision/proc/on_examining(mob/source, atom/target, list/examine_strings) | ||
SIGNAL_HANDLER | ||
if (!isliving(target)) | ||
return | ||
var/mob/living/perp = target | ||
judgement_criteria = update_judgement_criteria?.Invoke() || judgement_criteria | ||
|
||
var/threat_level = perp.assess_threat(judgement_criteria) | ||
switch(threat_level) | ||
if (THREAT_ASSESS_MAXIMUM to INFINITY) | ||
examine_strings += span_boldwarning("Assessed threat level of [threat_level]! Extreme danger of criminal activity!") | ||
if (THREAT_ASSESS_DANGEROUS to THREAT_ASSESS_MAXIMUM) | ||
examine_strings += span_warning("Assessed threat level of [threat_level]. Criminal scum detected!") | ||
if (1 to THREAT_ASSESS_DANGEROUS) | ||
examine_strings += span_notice("Assessed threat level of [threat_level]. Probably not dangerous... yet.") | ||
else | ||
examine_strings += span_notice("Seems to be a trustworthy individual.") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters