mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2026-08-27 23:29:10 +01:00
588 lines
19 KiB
Plaintext
588 lines
19 KiB
Plaintext
/obj/item/card/id
|
|
name = "identification card"
|
|
desc = "A card used to provide ID and determine access across the station."
|
|
icon_state = "generic-nt"
|
|
item_state = "card-id"
|
|
|
|
sprite_sheets = list(
|
|
SPECIES_TESHARI = 'icons/mob/species/teshari/id.dmi'
|
|
)
|
|
|
|
var/list/access = list() //CHOMPEdit
|
|
var/registered_name = "Unknown" // The name registered_name on the card
|
|
slot_flags = SLOT_ID | SLOT_EARS
|
|
|
|
var/age = "\[UNSET\]"
|
|
var/species = "\[UNSET\]"
|
|
var/blood_type = "\[UNSET\]"
|
|
var/dna_hash = "\[UNSET\]"
|
|
var/fingerprint_hash = "\[UNSET\]"
|
|
var/sex = "\[UNSET\]"
|
|
var/front
|
|
|
|
//alt titles are handled a bit weirdly in order to unobtrusively integrate into existing ID system
|
|
var/assignment = null //can be alt title or the actual job
|
|
var/rank = null //actual job
|
|
var/dorm = 0 // determines if this ID has claimed a dorm already
|
|
|
|
var/mining_points = 0 // For redeeming at mining equipment vendors
|
|
var/survey_points = 0 // For redeeming at explorer equipment vendors.
|
|
|
|
/obj/item/card/id/examine(mob/user)
|
|
. = ..()
|
|
if(in_range(user, src))
|
|
tgui_interact(user) //Not chat related
|
|
else
|
|
. += span_warning("It is too far away to read.")
|
|
|
|
/obj/item/card/id/proc/prevent_tracking()
|
|
return 0
|
|
|
|
/obj/item/card/id/tgui_state(mob/user)
|
|
return GLOB.tgui_deep_inventory_state
|
|
|
|
/obj/item/card/id/tgui_interact(mob/user, datum/tgui/ui)
|
|
ui = SStgui.try_update_ui(user, src, ui)
|
|
if(!ui)
|
|
ui = new(user, src, "IDCard", name)
|
|
ui.open()
|
|
|
|
/obj/item/card/id/proc/update_name()
|
|
name = "[src.registered_name]'s ID Card ([src.assignment])"
|
|
|
|
/obj/item/card/id/proc/set_id_photo(mob/M)
|
|
M.ImmediateOverlayUpdate()
|
|
var/icon/F = getFlatIcon(M, defdir = SOUTH, no_anim = TRUE)
|
|
front = "'data:image/png;base64,[icon2base64(F)]'"
|
|
|
|
/obj/item/card/id/proc/adjust_mining_points(points)
|
|
if(mining_points + points < 0)
|
|
return FALSE
|
|
mining_points += points
|
|
return TRUE
|
|
|
|
/mob/proc/set_id_info(obj/item/card/id/id_card)
|
|
id_card.age = 0
|
|
id_card.registered_name = real_name
|
|
id_card.sex = capitalize(gender)
|
|
id_card.species = SPECIES_HUMAN
|
|
id_card.set_id_photo(src)
|
|
|
|
if(dna)
|
|
id_card.blood_type = dna.b_type
|
|
id_card.dna_hash = dna.unique_enzymes
|
|
id_card.fingerprint_hash= md5(dna.uni_identity)
|
|
id_card.update_name()
|
|
|
|
/mob/living/carbon/human/set_id_info(obj/item/card/id/id_card)
|
|
..()
|
|
id_card.age = age
|
|
if(species.name == SPECIES_HANNER)
|
|
id_card.species = "[custom_species ? "[custom_species]" : species.name]"
|
|
else
|
|
id_card.species = "[custom_species ? "[custom_species] ([species.name])" : species.name]"
|
|
id_card.sex = capitalize(name_gender())
|
|
|
|
// Save time by reusing our ID card photo instead of generating it for the char directory specifically
|
|
set_chardirectory_photo(id_card.front)
|
|
|
|
/obj/item/card/id/tgui_data(mob/user)
|
|
var/list/data = list()
|
|
|
|
data["registered_name"] = registered_name
|
|
data["sex"] = sex
|
|
data["species"] = species
|
|
data["age"] = age
|
|
data["assignment"] = assignment
|
|
data["fingerprint_hash"] = fingerprint_hash
|
|
data["blood_type"] = blood_type
|
|
data["dna_hash"] = dna_hash
|
|
data["photo_front"] = front
|
|
|
|
return data
|
|
|
|
/obj/item/card/id/attack_self(mob/user, show_id = FALSE)
|
|
. = ..(user)
|
|
if(.)
|
|
return TRUE
|
|
if(special_handling && !show_id)
|
|
return FALSE
|
|
if(can_configure && !configured)
|
|
return FALSE
|
|
user.visible_message("\The [user] shows you: [icon2html(src,viewers(src))] [src.name]. The assignment on the card: [src.assignment]",\
|
|
"You flash your ID card: [icon2html(src, user.client)] [src.name]. The assignment on the card: [src.assignment]")
|
|
|
|
src.add_fingerprint(user)
|
|
|
|
/obj/item/card/id/GetAccess()
|
|
return access
|
|
|
|
/obj/item/card/id/GetID()
|
|
return src
|
|
|
|
/obj/item/card/id/verb/read()
|
|
set name = "Read ID Card"
|
|
set category = "Object"
|
|
set src in usr
|
|
|
|
to_chat(usr, "[icon2html(src, usr.client)] [src.name]: The current assignment on the card is [src.assignment].")
|
|
to_chat(usr, "The blood type on the card is [blood_type].")
|
|
to_chat(usr, "The DNA hash on the card is [dna_hash].")
|
|
to_chat(usr, "The fingerprint hash on the card is [fingerprint_hash].")
|
|
return
|
|
|
|
/obj/item/card/id/get_worn_icon_state(slot_name)
|
|
if(slot_name == slot_wear_id_str)
|
|
return "id" //Legacy, just how it is. There's only one sprite.
|
|
|
|
return ..()
|
|
|
|
/obj/item/card/id/Initialize(mapload)
|
|
. = ..()
|
|
var/datum/job/J = SSjob.get_job(rank)
|
|
if(J)
|
|
access = J.get_access()
|
|
|
|
/obj/item/card/id/silver
|
|
name = "identification card"
|
|
desc = "A silver card which shows honour and dedication."
|
|
icon_state = "silver-id"
|
|
item_state = "silver_id"
|
|
|
|
/obj/item/card/id/gold
|
|
name = "identification card"
|
|
desc = "A golden card which shows power and might."
|
|
icon_state = "gold-id"
|
|
item_state = "gold_id"
|
|
preserve_item = 1
|
|
|
|
/obj/item/card/id/gold/captain
|
|
assignment = JOB_SITE_MANAGER
|
|
rank = JOB_SITE_MANAGER
|
|
|
|
/obj/item/card/id/gold/captain/spare
|
|
name = "\improper " + JOB_SITE_MANAGER + "'s spare ID"
|
|
desc = "The emergency spare ID for the station's very own Big Cheese."
|
|
icon_state = "gold-id-alternate"
|
|
registered_name = JOB_SITE_MANAGER
|
|
|
|
/obj/item/card/id/gold/captain/spare/fakespare
|
|
rank = "null"
|
|
|
|
/obj/item/card/id/synthetic
|
|
name = "\improper Synthetic ID"
|
|
desc = "Access module for NanoTrasen Synthetics"
|
|
icon_state = "id-robot"
|
|
item_state = "idgreen"
|
|
assignment = "Synthetic"
|
|
|
|
/obj/item/card/id/synthetic/Initialize(mapload)
|
|
. = ..()
|
|
access = SSaccess.get_all_station_access().Copy() + ACCESS_SYNTH
|
|
|
|
/obj/item/card/id/lost
|
|
name = "\improper Unknown ID"
|
|
desc = "Access module for Lost drones"
|
|
icon_state = "id-robot-n"
|
|
assignment = "Lost"
|
|
|
|
/obj/item/card/id/lost/Initialize(mapload)
|
|
. = ..()
|
|
access += ACCESS_LOST
|
|
|
|
/obj/item/card/id/platform
|
|
name = "\improper Support Platform ID"
|
|
desc = "Access module for support platforms."
|
|
icon_state = "id-robot"
|
|
item_state = "tdgreen"
|
|
assignment = "Synthetic"
|
|
access = list(
|
|
ACCESS_SYNTH, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINING_OFFICE, ACCESS_RESEARCH,
|
|
ACCESS_XENOARCH, ACCESS_XENOBIOLOGY, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_ROBOTICS, ACCESS_TOX,
|
|
ACCESS_TOX_STORAGE, ACCESS_MAINT_TUNNELS, ACCESS_MAILSORTING, ACCESS_CARGO, ACCESS_CARGO_BOT
|
|
)
|
|
|
|
/obj/item/card/id/centcom
|
|
name = "\improper CentCom. ID"
|
|
desc = "An ID straight from Central Command."
|
|
icon_state = "cc-id"
|
|
registered_name = "Central Command"
|
|
assignment = "General"
|
|
|
|
/obj/item/card/id/centcom/Initialize(mapload)
|
|
. = ..()
|
|
access = SSaccess.get_all_centcom_access().Copy()
|
|
|
|
/obj/item/card/id/centcom/station/Initialize(mapload)
|
|
. = ..()
|
|
access |= SSaccess.get_all_station_access()
|
|
|
|
/obj/item/card/id/centcom/ert
|
|
name = "\improper " + JOB_EMERGENCY_RESPONSE_TEAM + "ID"
|
|
assignment = JOB_EMERGENCY_RESPONSE_TEAM
|
|
icon_state = "ert-id"
|
|
rank = JOB_EMERGENCY_RESPONSE_TEAM
|
|
|
|
/obj/item/card/id/centcom/ert/Initialize(mapload)
|
|
. = ..()
|
|
access |= SSaccess.get_all_station_access()
|
|
|
|
// Department-flavor IDs
|
|
/obj/item/card/id/medical
|
|
name = "identification card"
|
|
desc = "A card issued to station medical staff."
|
|
icon_state = "medical-id"
|
|
rank = JOB_MEDICAL_DOCTOR
|
|
|
|
/obj/item/card/id/medical/head
|
|
name = "identification card"
|
|
desc = "A card which represents care and compassion."
|
|
assignment = JOB_CHIEF_MEDICAL_OFFICER
|
|
rank = JOB_CHIEF_MEDICAL_OFFICER
|
|
|
|
/obj/item/card/id/security
|
|
name = "identification card"
|
|
desc = "A card issued to station security staff."
|
|
icon_state = "security-id"
|
|
rank = JOB_SECURITY_OFFICER
|
|
|
|
/obj/item/card/id/security/warden
|
|
assignment = JOB_WARDEN
|
|
rank = JOB_WARDEN
|
|
|
|
/obj/item/card/id/security/head
|
|
name = "identification card"
|
|
desc = "A card which represents honor and protection."
|
|
assignment = JOB_HEAD_OF_SECURITY
|
|
rank = JOB_HEAD_OF_SECURITY
|
|
|
|
/obj/item/card/id/engineering
|
|
name = "identification card"
|
|
desc = "A card issued to station engineering staff."
|
|
icon_state = "engineering-id"
|
|
|
|
/obj/item/card/id/engineering/atmos
|
|
assignment = JOB_ATMOSPHERIC_TECHNICIAN
|
|
rank = JOB_ATMOSPHERIC_TECHNICIAN
|
|
|
|
/obj/item/card/id/engineering/head
|
|
name = "identification card"
|
|
desc = "A card which represents creativity and ingenuity."
|
|
assignment = JOB_CHIEF_ENGINEER
|
|
rank = JOB_CHIEF_ENGINEER
|
|
|
|
/obj/item/card/id/science
|
|
name = "identification card"
|
|
desc = "A card issued to station science staff."
|
|
icon_state = "science-id"
|
|
|
|
/obj/item/card/id/science/head
|
|
name = "identification card"
|
|
desc = "A card which represents knowledge and reasoning."
|
|
assignment = JOB_RESEARCH_DIRECTOR
|
|
rank = JOB_RESEARCH_DIRECTOR
|
|
|
|
/obj/item/card/id/cargo
|
|
name = "identification card"
|
|
desc = "A card issued to station cargo staff."
|
|
icon_state = "cargo-id"
|
|
|
|
/obj/item/card/id/cargo/head
|
|
name = "identification card"
|
|
desc = "A card which represents service and planning."
|
|
assignment = JOB_QUARTERMASTER
|
|
rank = JOB_QUARTERMASTER
|
|
|
|
/obj/item/card/id/assistant
|
|
assignment = JOB_ALT_VISITOR //VOREStation Edit - Visitor not Assistant
|
|
rank = JOB_ALT_VISITOR //VOREStation Edit - Visitor not Assistant
|
|
|
|
/obj/item/card/id/civilian
|
|
name = "identification card"
|
|
desc = "A card issued to station civilian staff."
|
|
icon_state = "civilian-id"
|
|
assignment = "Civilian"
|
|
rank = JOB_ALT_ASSISTANT
|
|
|
|
/obj/item/card/id/civilian/head //This is not the HoP. There's no position that uses this right now.
|
|
name = "identification card"
|
|
desc = "A card which represents common sense and responsibility."
|
|
|
|
/obj/item/card/id/external
|
|
name = "identification card"
|
|
desc = "An identification card of some sort. It does not look like it is issued by NT."
|
|
icon_state = "generic"
|
|
|
|
//Event IDs
|
|
/obj/item/card/id/event
|
|
can_configure = TRUE
|
|
var/accessset = 0
|
|
initial_sprite_stack = list()
|
|
var/list/title_strings = list()
|
|
var/preset_rank = FALSE
|
|
///What type of polymorphic card we have. 0 = none. 1 = take our job state 2 = allow us to select an icon.
|
|
var/polymorphic_type = 0
|
|
var/base_icon_state
|
|
|
|
/obj/item/card/id/event/attack_self(mob/user)
|
|
. = ..(user)
|
|
if(.)
|
|
return TRUE
|
|
if(configured)
|
|
return FALSE
|
|
if(polymorphic_type == 1)
|
|
icon_state = user.job
|
|
base_icon_state = user.job
|
|
else if(polymorphic_type == 2)
|
|
var/list/jobs_to_icon = list( //ITG only has a few kinds of icons so we have to group them up!
|
|
JOB_PILOT = "itg",
|
|
JOB_ALT_VISITOR = "itg",
|
|
JOB_QUARTERMASTER = "itg",
|
|
JOB_CARGO_TECHNICIAN = "itg",
|
|
JOB_SHAFT_MINER = "itg",
|
|
JOB_INTERN = "itg",
|
|
JOB_TALON_PILOT = "itg",
|
|
JOB_TALON_MINER = "itg",
|
|
JOB_BARTENDER = "itg_green",
|
|
JOB_BOTANIST = "itg_green",
|
|
JOB_CHEF = "itg_green",
|
|
JOB_JANITOR = "itg_green",
|
|
JOB_CHAPLAIN = "itg_green",
|
|
JOB_ENTERTAINER = "itg_green",
|
|
JOB_LIBRARIAN = "itg_green",
|
|
JOB_WARDEN = "itg_red",
|
|
JOB_DETECTIVE = "itg_red",
|
|
JOB_SECURITY_OFFICER = "itg_red",
|
|
JOB_TALON_GUARD = "itg_red",
|
|
JOB_ROBOTICIST = "itg_purple",
|
|
JOB_SCIENTIST = "itg_purple",
|
|
JOB_XENOBIOLOGIST = "itg_purple",
|
|
JOB_XENOBOTANIST = "itg_purple",
|
|
JOB_PATHFINDER = "itg_purple",
|
|
JOB_EXPLORER = "itg_purple",
|
|
JOB_CHEMIST = "itg_white",
|
|
JOB_MEDICAL_DOCTOR = "itg_white",
|
|
JOB_PARAMEDIC = "itg_white",
|
|
JOB_PSYCHIATRIST = "itg_white",
|
|
JOB_FIELD_MEDIC = "itg_white",
|
|
JOB_TALON_DOCTOR = "itg_white",
|
|
JOB_ATMOSPHERIC_TECHNICIAN = "itg_orange",
|
|
JOB_ENGINEER = "itg_orange",
|
|
JOB_OFFDUTY_OFFICER = "itg_red",
|
|
JOB_OFFDUTY_ENGINEER = "itg_orange",
|
|
JOB_OFFDUTY_MEDIC = "itg_white",
|
|
JOB_OFFDUTY_SCIENTIST = "itg_purple",
|
|
JOB_OFFDUTY_CARGO = "itg",
|
|
JOB_OFFDUTY_EXPLORER = "itg_purple",
|
|
JOB_OFFDUTY_WORKER = "itg_green"
|
|
)
|
|
var/guess = jobs_to_icon[user.job]
|
|
|
|
if(!guess)
|
|
to_chat(user, span_notice("ITG Cards do not seem to be able to accept the access codes for your ID."))
|
|
return
|
|
else
|
|
icon_state = guess
|
|
base_icon_state = guess
|
|
|
|
if(!preset_rank)
|
|
var/title
|
|
var/list/alt_titles = user.client.prefs.read_preference(/datum/preference/player_alt_titles)
|
|
if(islist(alt_titles) && alt_titles[user.job])
|
|
title = alt_titles[user.job]
|
|
else
|
|
title = user.job
|
|
assignment = title
|
|
user.set_id_info(src)
|
|
if(user.mind && user.mind.initial_account)
|
|
associated_account_number = user.mind.initial_account.account_number
|
|
if(title_strings.len)
|
|
var/tempname = pick(title_strings)
|
|
name = tempname + " ([assignment] Contractor)"//Chompedit: Suffix contractor IDs
|
|
else if(polymorphic_type == 2)
|
|
name = user.name + "'s ITG ID card" + " ([assignment])"
|
|
else
|
|
name = user.name + "'s ID card" + " ([assignment] Contractor)"//Chompedit: Suffix contractor IDs
|
|
|
|
configured = TRUE
|
|
to_chat(user, span_notice("Card settings set."))
|
|
|
|
/obj/item/card/id/event/attackby(obj/item/I, mob/user)
|
|
if(istype(I, /obj/item/card/id) && !accessset)
|
|
var/obj/item/card/id/O = I
|
|
access |= O.GetAccess()
|
|
desc = I.desc
|
|
rank = O.rank
|
|
mining_points = O.mining_points
|
|
survey_points = O.survey_points
|
|
to_chat(user, span_notice("You copy the access from \the [I] to \the [src]."))
|
|
user.drop_from_inventory(I)
|
|
qdel(I)
|
|
accessset = 1
|
|
..()
|
|
|
|
/obj/item/card/id/event/accessset
|
|
accessset = 1
|
|
|
|
/obj/item/card/id/event/accessset/itg
|
|
name = "identification card"
|
|
desc = "A small card designating affiliation with the Ironcrest Transport Group."
|
|
icon = 'icons/obj/card.dmi'
|
|
base_icon = 'icons/obj/card.dmi'
|
|
icon_state = "itg"
|
|
|
|
/obj/item/card/id/event/accessset/itg/green
|
|
icon_state = "itg_green"
|
|
|
|
/obj/item/card/id/event/accessset/itg/red
|
|
icon_state = "itg_red"
|
|
|
|
/obj/item/card/id/event/accessset/itg/purple
|
|
icon_state = "itg_purple"
|
|
|
|
/obj/item/card/id/event/accessset/itg/white
|
|
icon_state = "itg_white"
|
|
|
|
/obj/item/card/id/event/accessset/itg/orange
|
|
icon_state = "itg_orange"
|
|
|
|
/obj/item/card/id/event/accessset/itg/blue
|
|
icon_state = "itg_blue"
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew
|
|
name = "\improper ITG Crew ID"
|
|
assignment = "Crew"
|
|
rank = "Crew"
|
|
access = list(777)
|
|
preset_rank = TRUE
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew/pilot
|
|
name = "\improper ITG Pilot's ID"
|
|
desc = "An ID card belonging to the Pilot of an ITG vessel. The Pilot's responsibility is primarily to fly the ship. They may also be tasked to assist with cargo movement duties."
|
|
assignment = JOB_PILOT
|
|
rank = JOB_PILOT
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew/service
|
|
name = "\improper ITG " + JOB_ALT_COOK + "'s ID"
|
|
desc = "An ID card belonging to the " + JOB_ALT_COOK + " of an ITG vessel. The " + JOB_ALT_COOK + "'s responsibility is primarily to provide sustinence to the crew and passengers. The " + JOB_ALT_COOK + " answers to the Passenger Liason. In the absence of a Passenger Liason, the " + JOB_ALT_COOK + " is also responsible for tending to passenger related care and duties."
|
|
assignment = JOB_ALT_COOK
|
|
rank = JOB_ALT_COOK
|
|
icon_state = "itg_green"
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew/security
|
|
name = "\improper ITG Security's ID"
|
|
desc = "An ID card belonging to Security of an ITG vessel. Security's responsibility is primarily to protect the ship, cargo, or facility. They may also be tasked to assist with cargo movement duties and rescue operations. ITG Security is almost exclusively defensive. They should not start fights, but they are very capable of finishing them."
|
|
assignment = "Security"
|
|
rank = "Security"
|
|
icon_state = "itg_red"
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew/research
|
|
name = "\improper ITG Research's ID"
|
|
desc = "An ID card belonging to ITG Research staff. ITG Research staff primarily specializes in starship and starship engine design, and overcoming astronomic phenomena."
|
|
assignment = "Research"
|
|
rank = "Research"
|
|
icon_state = "itg_purple"
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew/medical
|
|
name = "\improper ITG Medic's ID"
|
|
desc = "An ID card belonging to the Medic of an ITG vessel. The Medic's responsibility is primarily to treat crew and passenger injuries. They may also be tasked with rescue operations."
|
|
assignment = "Medic"
|
|
rank = "Medic"
|
|
icon_state = "itg_white"
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew/engineer
|
|
name = "\improper ITG " + JOB_ENGINEER + "'s ID"
|
|
desc = "An ID card belonging to the " + JOB_ENGINEER + " of an ITG vessel. The " + JOB_ENGINEER + "'s responsibility is primarily to maintain the ship. They may also be tasked to assist with cargo movement duties."
|
|
assignment = JOB_ENGINEER
|
|
rank = JOB_ENGINEER
|
|
icon_state = "itg_orange"
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew/passengerliason
|
|
name = "\improper ITG Passenger Liason's ID"
|
|
desc = "An ID card belonging to the Passenger Liason of an ITG vessel. The Passenger Liason's responsibility is primarily to manage and tend to passenger needs and maintain supplies and facilities for passenger use."
|
|
assignment = "Passenger Liason"
|
|
rank = "Passenger Liason"
|
|
icon_state = "itg_blue"
|
|
|
|
/obj/item/card/id/event/accessset/itg/crew/captain
|
|
name = "\improper ITG " + JOB_ALT_CAPTAIN + "'s ID"
|
|
desc = "An ID card belonging to the Captain of an ITG vessel. The Captain's responsibility is primarily to manage crew to ensure smooth ship operations. Captains often also often pilot the vessel when no dedicated pilot is assigned."
|
|
assignment = JOB_ALT_CAPTAIN
|
|
rank = JOB_ALT_CAPTAIN
|
|
icon_state = "itg_blue"
|
|
access = list(777, 778)
|
|
|
|
/obj/item/card/id/event/altcard
|
|
icon = 'icons/obj/card_alt.dmi'
|
|
base_icon = 'icons/obj/card_alt.dmi'
|
|
icon_state = "id"
|
|
|
|
/obj/item/card/id/event/altcard/spare
|
|
icon_state = "spare"
|
|
|
|
/obj/item/card/id/event/altcard/clown
|
|
icon_state = "Clown"
|
|
|
|
/obj/item/card/id/event/altcard/mime
|
|
icon_state = "Mime"
|
|
|
|
/obj/item/card/id/event/altcard/centcom
|
|
icon_state = "CentCom Officer"
|
|
|
|
/obj/item/card/id/event/altcard/ert
|
|
icon_state = "Emergency Responder"
|
|
|
|
/obj/item/card/id/event/altcard/nt
|
|
icon_state = "nanotrasen"
|
|
|
|
/obj/item/card/id/event/altcard/syndiegold
|
|
icon_state = "syndieGold"
|
|
|
|
/obj/item/card/id/event/altcard/syndie
|
|
icon_state = "syndie"
|
|
|
|
/obj/item/card/id/event/altcard/greengold
|
|
icon_state = "greenGold"
|
|
|
|
/obj/item/card/id/event/altcard/pink
|
|
icon_state = "pink"
|
|
|
|
/obj/item/card/id/event/altcard/pinkgold
|
|
icon_state = "pinkGold"
|
|
|
|
/obj/item/card/id/event/polymorphic
|
|
polymorphic_type = 1
|
|
|
|
/obj/item/card/id/event/polymorphic/digest_act(atom/movable/item_storage = null)
|
|
var/gimmeicon = icon
|
|
. = ..()
|
|
icon = gimmeicon
|
|
icon_state = base_icon_state + "_digested"
|
|
|
|
/obj/item/card/id/event/polymorphic/altcard
|
|
icon = 'icons/obj/card_alt.dmi'
|
|
base_icon = 'icons/obj/card_alt.dmi'
|
|
icon_state = "blank"
|
|
name = "contractor identification card"
|
|
desc = "An ID card typically used by contractors."
|
|
polymorphic_type = 1
|
|
|
|
/obj/item/card/id/event/polymorphic/itg/attackby(obj/item/I as obj, mob/user)
|
|
if(istype(I, /obj/item/card/id) && !accessset)
|
|
var/obj/item/card/id/O = I
|
|
var/list/itgdont = list(JOB_SITE_MANAGER, JOB_HEAD_OF_PERSONNEL, JOB_COMMAND_SECRETARY, JOB_HEAD_OF_SECURITY, JOB_CHIEF_ENGINEER, JOB_CHIEF_MEDICAL_OFFICER, JOB_RESEARCH_DIRECTOR, JOB_CLOWN, JOB_MIME, JOB_TALON_CAPTAIN) //If you're in as one of these you probably aren't representing ITG
|
|
if(O.rank in itgdont)
|
|
to_chat(user, span_notice("ITG Cards do not seem to be able to accept the access codes for your ID."))
|
|
return
|
|
. = ..()
|
|
desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use."
|
|
|
|
|
|
/obj/item/card/id/event/polymorphic/itg
|
|
icon = 'icons/obj/card.dmi'
|
|
base_icon = 'icons/obj/card.dmi'
|
|
icon_state = "itg"
|
|
name = "\improper ITG identification card"
|
|
desc = "A small card designating affiliation with the Ironcrest Transport Group. It has a NanoTrasen insignia and a lot of very small print on the back to do with practices and regulations for contractors to use."
|
|
polymorphic_type = 2
|