mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 11:37:40 +01:00
Nanotrasen Career Trainer - REVIVAL (PT1) (#26512)
* Nct ID * Preferences, job creation, access and other stuff * Sprites, defines, hidden job pref and other stuff! * Missed a comma * Sprites updated, clothing code, outfit and id * Fix a small oops * Data chip + Sechud icon * Offstation, access, datachip code, ticket autoresponse and a lot of other stuff. * Typo, spritesheet fixingg and icon color * Telebaton removed, not allowed to scan ERT IDs, blacklisted some access * Applies suggestion Co-authored-by: Aylong <69762909+AyIong@users.noreply.github.com> Signed-off-by: Pedro <79126660+LetXxx@users.noreply.github.com> * Applying Suggestions! * Forgot to increase the number of slots, oops * Added a few items that I forgot, applying suggestions. * Fix check fail? * Mapping Tools/Icons. * Office added to all maps, a few modifications to fit. * Adds ACCESS_TRAINER to who needs it. * Fixing check fails. * NCT Beret obj are now where they're supposed to be * Suggestion Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Signed-off-by: Pedro <79126660+LetXxx@users.noreply.github.com> * Sprites fix + NCT flag * Code Suggestion * Sprite update * Suggestions * Diagoras Office, conflict fix. * Day 1 fixes, suggestions. * bundle rebuild * Fixing a few issues. * Mapping review + Suggestions * Fixed check fail. * Conflict fix + You shouldn't be able to insert the NCT chip into an id console * Fix map conflicts * Plasmaman icons and Kidan icon fix * Conflict fix? * A few changes following feedback. * Small description changed, as per requested feedback. * Suggestions/Fix * Forgot some mapping issues * Suggestions * Fixed? * Fix linters * More fixes * aaaaaaaaaaa * Christa's reviews * Naming stuff --------- Signed-off-by: Pedro <79126660+LetXxx@users.noreply.github.com> Co-authored-by: Aylong <69762909+AyIong@users.noreply.github.com> Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
This commit is contained in:
co-authored by
Aylong
Burzah
DGamerL
parent
2559287298
commit
b55bef2ed2
@@ -422,6 +422,10 @@ INITIALIZE_IMMEDIATE(/obj/effect/landmark/newplayer_start) //Without this you sp
|
||||
name = "Warden"
|
||||
icon_state = "Warden"
|
||||
|
||||
/obj/effect/landmark/start/nanotrasen_career_trainer
|
||||
name ="Nanotrasen Career Trainer"
|
||||
icon_state = "NCT"
|
||||
|
||||
/obj/effect/landmark/start/set_tag()
|
||||
tag = "start*[name]"
|
||||
|
||||
|
||||
@@ -172,3 +172,8 @@
|
||||
desc = "Integrated encryption key."
|
||||
icon_state = "cap_cypherkey"
|
||||
channels = list("Command" = 1, "Security" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1, "AI Private" = 1, "Procedure" = 1)
|
||||
|
||||
/obj/item/encryptionkey/headset_nct
|
||||
name = "NCT Radio Encryption Key"
|
||||
icon_state = "com_cypherkey"
|
||||
channels = list("Procedure" = 1, "Engineering" = 1, "Science" = 1, "Medical" = 1, "Supply" = 1, "Service" = 1)
|
||||
|
||||
@@ -308,6 +308,13 @@
|
||||
item_state = "headset"
|
||||
ks2type = /obj/item/encryptionkey/heads/ntrep
|
||||
|
||||
/obj/item/radio/headset/headset_nct
|
||||
name = "\improper Nanotrasen career trainer radio headset"
|
||||
desc = "This is used by your well-taught corporate training team."
|
||||
icon_state = "com_headset"
|
||||
item_state = "headset"
|
||||
ks2type = /obj/item/encryptionkey/headset_nct
|
||||
|
||||
/obj/item/radio/headset/heads/magistrate
|
||||
name = "magistrate's headset"
|
||||
desc = "The headset of the Magistrate."
|
||||
|
||||
@@ -620,6 +620,13 @@
|
||||
ACCESS_THEATRE, ACCESS_CHAPEL_OFFICE, ACCESS_LIBRARY, ACCESS_RESEARCH, ACCESS_MINING, ACCESS_HEADS_VAULT, ACCESS_MINING_STATION,
|
||||
ACCESS_CLOWN, ACCESS_MIME, ACCESS_HOP, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_EXPEDITION, ACCESS_WEAPONS, ACCESS_NTREP)
|
||||
|
||||
/obj/item/card/id/nct
|
||||
name = "\improper Nanotrasen Career Trainer ID"
|
||||
registered_name = "Nanotrasen Career Trainer"
|
||||
icon_state = "nctrainer"
|
||||
access = list(ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_CARGO, ACCESS_CONSTRUCTION, ACCESS_COURT, ACCESS_EVA, ACCESS_TRAINER, ACCESS_MAINT_TUNNELS,
|
||||
ACCESS_MEDICAL, ACCESS_RESEARCH, ACCESS_SEC_DOORS, ACCESS_THEATRE, ACCESS_INTERNAL_AFFAIRS)
|
||||
|
||||
/obj/item/card/id/blueshield
|
||||
name = "Blueshield ID"
|
||||
registered_name = "Blueshield"
|
||||
@@ -776,6 +783,55 @@
|
||||
/obj/item/card/id/data
|
||||
icon_state = "data"
|
||||
|
||||
/obj/item/card/id/nct_data_chip
|
||||
name = "\improper NCT Trainee Access Chip"
|
||||
desc = "A small electronic access token that allows its user to copy the access of their Trainee. Only accessible by NT Career Trainers!"
|
||||
icon_state = "nct_chip"
|
||||
assignment = "Nanotrasen Career Trainer"
|
||||
var/registered_user = null
|
||||
var/trainee = null
|
||||
|
||||
/obj/item/card/id/nct_data_chip/examine(mob/user)
|
||||
. = ..()
|
||||
. += "<br>The current registered Trainee is: <b>[trainee]</b>"
|
||||
. += "<span class='notice'>Use in hand to reset the assigned trainee and access.</span>"
|
||||
. += "<span class='purple'>The datachip is unable to copy any access that has been deemed high-risk by Nanotrasen Officials. That includes some, if not most, head related access permissions.</span>"
|
||||
|
||||
/obj/item/card/id/nct_data_chip/activate_self(mob/user)
|
||||
if(..())
|
||||
return
|
||||
if(!trainee)
|
||||
return
|
||||
|
||||
var/response = tgui_alert(user, "Would you like to remove [trainee] as your current active Trainee?", "Choose", list("Yes", "No"))
|
||||
if(response == "Yes")
|
||||
trainee = null
|
||||
icon_state = "nct_chip"
|
||||
access = list()
|
||||
|
||||
/obj/item/card/id/nct_data_chip/interact_with_atom(atom/target, mob/living/user, list/modifiers)
|
||||
if(!istype(target, /obj/item/card/id))
|
||||
return
|
||||
if(!(isliving(user) && user.mind))
|
||||
return
|
||||
|
||||
if(user.mind.current != registered_user)
|
||||
to_chat(user, "<span class='notice'>You do not have access to use this NCT Trainee Access Chip!</span>")
|
||||
return
|
||||
|
||||
if(istype(target, /obj/item/card/id/ert))
|
||||
to_chat(user, "<span class='warning'>The chip's screen blinks red as you attempt scanning this ID.</span>")
|
||||
return
|
||||
|
||||
var/obj/item/card/id/I = target
|
||||
to_chat(user, "<span class='notice'>The chip's microscanners activate as you scan [I.registered_name]'s ID, copying its access.</span>")
|
||||
access = I.access
|
||||
access.Remove(ACCESS_AI_UPLOAD, ACCESS_ARMORY, ACCESS_CAPTAIN, ACCESS_CE, ACCESS_RD, ACCESS_HOP, ACCESS_QM, ACCESS_CMO, ACCESS_HOS, ACCESS_NTREP,
|
||||
ACCESS_MAGISTRATE, ACCESS_BLUESHIELD, ACCESS_HEADS_VAULT, ACCESS_KEYCARD_AUTH, ACCESS_RC_ANNOUNCE,
|
||||
ACCESS_CHANGE_IDS, ACCESS_MINISAT)
|
||||
trainee = I.registered_name
|
||||
icon_state = "nct_chip_active"
|
||||
|
||||
// Decals
|
||||
/obj/item/id_decal
|
||||
name = "identification card decal"
|
||||
@@ -829,10 +885,10 @@
|
||||
override_name = 1
|
||||
|
||||
/proc/get_station_card_skins()
|
||||
return list("data","id","gold","silver","security","detective","warden","internalaffairsagent","medical","coroner","chemist","virologist","paramedic","psychiatrist","geneticist","research","roboticist","quartermaster","cargo","shaftminer","engineering","atmostech","captain","HoP","HoS","CMO","RD","CE","assistant","clown","mime","botanist","librarian","chaplain","bartender","chef","janitor","rainbow","prisoner","explorer")
|
||||
return list("data", "id", "gold", "silver", "security", "detective", "warden", "internalaffairsagent", "medical", "coroner", "chemist", "virologist", "paramedic", "psychiatrist", "geneticist", "research", "roboticist", "quartermaster", "cargo", "shaftminer", "engineering", "atmostech", "captain", "HoP", "HoS", "CMO", "RD", "CE", "assistant", "clown", "mime", "botanist", "librarian", "chaplain", "bartender", "chef", "janitor", "rainbow", "prisoner", "explorer", "nct")
|
||||
|
||||
/proc/get_centcom_card_skins()
|
||||
return list("centcom","blueshield","magistrate","ntrep","ERT_leader","ERT_empty","ERT_security","ERT_engineering","ERT_medical","ERT_janitorial","ERT_paranormal","deathsquad","commander","syndie","TDred","TDgreen")
|
||||
return list("centcom", "blueshield", "magistrate", "ntrep", "ERT_leader", "ERT_empty", "ERT_security", "ERT_engineering", "ERT_medical", "ERT_janitorial", "ERT_paranormal", "deathsquad", "commander", "syndie", "TDred", "TDgreen")
|
||||
|
||||
/proc/get_all_card_skins()
|
||||
return get_station_card_skins() + get_centcom_card_skins()
|
||||
@@ -853,6 +909,8 @@
|
||||
return "Security Officer"
|
||||
if("internalaffairsagent")
|
||||
return "Internal Affairs Agent"
|
||||
if("nct")
|
||||
return "Nanotrasen Career Trainer"
|
||||
if("atmostech")
|
||||
return "Life Support Specialist"
|
||||
if("HoP")
|
||||
|
||||
@@ -996,6 +996,39 @@
|
||||
title = "Science Standard Operating Procedures"
|
||||
wiki_article_title = "Standard_Operating_Procedure_(Science)"
|
||||
|
||||
/obj/item/book/manual/sop_ntinstructor
|
||||
name = "Career Trainer SOP"
|
||||
desc = "A set of guidelines for Instructors."
|
||||
icon_state = "sop_legal"
|
||||
author = "Nanotrasen"
|
||||
title = "Instructor SOP"
|
||||
pages = list({"
|
||||
<html>
|
||||
<head>
|
||||
<style>
|
||||
h1 {font-size: 15px; margin: 15px 0px 5px;}
|
||||
li {margin: 2px 0px 2px 15px;}
|
||||
ul {list-style: none; margin: 5px; padding: 0px;}
|
||||
ol {margin: 5px; padding: 0px 15px;}
|
||||
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<h1><U><B>Instructor SOP</B></U></h1><BR>
|
||||
<p>
|
||||
<ol>
|
||||
<li>NT Career Trainers are to wear their company-provided uniform and <b>jacket OR their issued beret/hat</b> at all times while on duty. They are free to choose a beret that best matches their primary field of knowledge if they so desire. Additionally, Identifying equipment SHOULD not be distributed to crew members. </li>
|
||||
<li>NT Career Trainers are to be available to all Crewmembers, regardless of Department. You may not only assist a singular Department. </li>
|
||||
<li>NT Career Trainers are not to do a Trainee's work for them. </li>
|
||||
<li>NT Career Trainers are to use NCT Data Chips only to acquire the access necessary for providing training. They are not to use said access for other purposes. </li>
|
||||
<li>In the event of a lost or stolen NCT Data Chip, the NT Career Trainer is to report the incident to their local Nanotrasen Representative or Station Captain. </li>
|
||||
<li>NT Career Trainers are permitted to carry a flash for self-defense.</li>
|
||||
</ol>
|
||||
</body>
|
||||
</html>
|
||||
"})
|
||||
|
||||
//* MANUAL SPAWNERS *// (and space Law)
|
||||
|
||||
/obj/item/book/manual/random
|
||||
|
||||
@@ -223,3 +223,7 @@
|
||||
/obj/item/vending_refill/lawdrobe
|
||||
machine_name = "LawDrobe"
|
||||
icon_state = "refill_clothes"
|
||||
|
||||
/obj/item/vending_refill/traindrobe
|
||||
machine_name = "TrainDrobe"
|
||||
icon_state = "refill_clothes"
|
||||
|
||||
@@ -198,7 +198,7 @@
|
||||
/obj/item/toy/figure/crew/iaa,
|
||||
/obj/item/toy/figure/crew/dsquad,
|
||||
/obj/item/storage/box/scratch_cards)
|
||||
job_list = list("Captain", "Magistrate", "Nanotrasen Representative", "Blueshield", "Internal Affairs Agent")
|
||||
job_list = list("Captain", "Magistrate", "Nanotrasen Representative", "Blueshield", "Internal Affairs Agent", "Nanotrasen Career Trainer")
|
||||
|
||||
/obj/item/envelope/misc
|
||||
possible_contents = list(/obj/item/clothing/under/misc/assistantformal,
|
||||
|
||||
Reference in New Issue
Block a user