mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-05 15:11:38 +00:00
* Smith role, access, access helpers, spawn point, comms, and IDs
* Area defines
* Hammertime
* Cyberiad Smith's office
* Forgot some atmos stuff
* Autolathable Hammers
* Formatting
* Toolbelts can hold hammers
* Initial work on smith machines
* Farragus Smith Office
* Placeholder sprites, mapping
* Smart hopper points and console messages
* More work on smithing machines
* Fixed mapping, added qualities, added smithed items, fixed sizing, fixed access
* Smith components, new materials
* New ores, material datums, furnace, power hammer, kinetic assembler, hammer act, item creation
* Missed one
* Grrr map conflicts begone
* Dirt begone
* Casts and smelting
* Linters
* Attack chain linters!
* Better grip to throw people into your industrial machines
* Placeholder spots in the DMIs
* UpdatePaths - Space ruins now spawn new space ores in their rocks
* Small changes - removed excess tgui code from hopper
* Fixed a button on emerald
* Attaching inserts and lenses. Tool bits are pain.
* Tool bit initial implementation
* Merge conflict resolution
* Attack chain grrr
* Fixed a pair of minor mapping issues
* Tool bit implementation, efficiency, failure rate
* Hot things burn hands
* Points fix on hopper
* New mining rocks for space exploration
* Areas on asteroids
* Machinery icons 1
Adds basic icons for the new machinery
* Vendor iconstate update
* Crucible touchups
* Hammer touchups
* Crucible Input Animation
Adds an animation when you deposit ores
* Added scanning the crucible with multitool to get mineral count
* clothing sprites part 1
* locker sprite
* job icons
* garment bag
* Smith locker mapping
* Insert and Bit removal fix
* Job menu alignment fix, Allowed_items and small spriting path fixes
* Adds new asteroid ruins to config
* Ore Sprites
* Hammer Sprite
* Item Sprites 1
* Sheets, Wall Ores and Trim
* Sheet iconstate names
* species uniforms
* Tabs
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
* Lens spelling fix
* Signalizes attaching and detaching modifications, fixes inserting items into smith machines, fixes cast bugs
* Fixed type lists
* Smithing machine bug fixes.
* Fixed adding modifications to items
* Crucible Lava Idle
Adds an idle animation for the crucible, but it needs overlay code to work.
* Fixed eguns
* Magma Crucible overlays and animations
* Machine broken/Off states
Adds broken, wires exposed (and on/off where appropriate) states to machines.
* Castivend recolor and Hot Items
* Overlays for all machines, new sprites for hot items, new checks, fixes
* Woe, farragus merge conflict
* update_appearance linters
* I have fat fingers.
* Forgot one
* transfer_item_to and qdel null check
* Usr to User
* Modsuits should not have inserts.
* Adds casting lip overlay
* Balance pass on movement debuffs and buffs
* Material movespeed changes
* Config Adjustments - USED FOR TESTMERGING. REVERT BEFORE FULL MERGE
* Math fixes for lenses and bits.
* Mobility suit no longer speeds you up, but negates suit-based slowdown like an oil slick potion. Fixed movement mods in material datums
* Bad var. Bad.
* Various fixes to bugs revealed in initial TM
* TYPO
* Lavaland base turf fix
* Paths in examine fix
* Adds an intercom to the workshop.
* Stamina-hybrid damage oversight fix for det revolver, uion, etc.
* Currently Operating Message fix
* Allows glass to show different turfs beneath. Adds plasmaglass section to workshop.
* Armor and upgrade fixes
* RCD tool bit equip fix
* Adds smith access to a few lists in access.dm that were missed in an oversight
* Indent fixes
* Fixes vending machine, allows tool bit use on mining equipment
* CI, you make me mad sometimes
* Removed duplicate code
* Name fix for CI again
* ORM now can handle space ores
* Adds space ores to Vetus drop and to trader inventories
* Fixes runtime with open hand attacking a lava furnace with nothing in it
* Adds crewvend kit to Castivend
* Fixes not being able to see new ores
* Adds drill and RCS to smith locker
* Map changes. Added cargo pad. Expanded catwalk. Moved vendors. Added recharger.
* Plant fixes
* Fixes doubled-up catwalk
* Emerald cargo windoor fix, small lavaland adjustment
* Small oversight for overlay fix
* Missing lightswitches
* Fixed stock parts mismatch in casting basin recipe
* Better support for power tools, grrr attackchain
* Better attack chain handling. Better handling for bit insertion
* Fixes handling of inserts with storage suits (like labcoats)
* sprites for bomber + plasmeme outfit
* Adds missing adjacency checks
* Buffs speed boost from upgrade - max upgrade reduces cycle to 2 seconds.
* Fixed floating lights, brightened the explorer's new room, expanded smith workshop slightly.
* Small hallway adjustment
* Illuminates metastation smith office
* Removes excessive decimals in magma crucible scan output
* Berserker should not have inserts.
* Buffs bit durability significantly, nerfs amplifier lens and densifier lense slightly
* Adds smith bomber jacket to loadout panel
* Adds random spawners for smithed items, adds random low-quality items to maints loot
* Adds traitor version of bulldog shotgun
* Revert "Adds traitor version of bulldog shotgun"
This reverts commit 1d39c59f07.
* Added check to assembler, moved desc changes to examine()
* plasmaman suit fix
* Fixed hot check when removing items from hammer and furnace
* Remaps lavaland workshop, fixed deltastation light switch
* Improper's the smith office name
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
* Compacts extra ore drops from Vetus
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
* better looping
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
* Better loop
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
* Multitools don't need tool bits.
* Better variable names, fixed missing parenthesis
* Recursive hammering, removed attack animations when inserting items or using multitool on smithing machines
* window
* Update deltastation.dmm
* Update deltastation.dmm
* Update deltastation.dmm
* Fixes small oversights
* Minor lavaland remap
* Reverts TM-required changes in preparation for full merge
* Begone, stray font!
* Damn you cable CI
---------
Signed-off-by: PollardTheDragon <144391971+PollardTheDragon@users.noreply.github.com>
Co-authored-by: ExusA <67055922+ExusA@users.noreply.github.com>
Co-authored-by: Christasmurf <25437893+Christasmurf@users.noreply.github.com>
Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com>
Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com>
Co-authored-by: Fordoxia <143041327+Fordoxia@users.noreply.github.com>
Co-authored-by: Burzah <116982774+Burzah@users.noreply.github.com>
424 lines
14 KiB
Plaintext
424 lines
14 KiB
Plaintext
//returns 1 if this mob has sufficient access to use this object
|
|
/obj/proc/allowed(mob/M)
|
|
//check if we don't require any access at all
|
|
if(check_access())
|
|
return 1
|
|
|
|
if(!M)
|
|
return 0
|
|
|
|
var/acc = M.get_access() //see mob.dm
|
|
|
|
if(acc == IGNORE_ACCESS || M.can_admin_interact())
|
|
return 1 //Mob ignores access
|
|
|
|
else
|
|
return check_access_list(acc)
|
|
|
|
/obj/proc/check_access(obj/item/I)
|
|
var/list/L
|
|
if(I)
|
|
L = I.GetAccess()
|
|
else
|
|
L = list()
|
|
return check_access_list(L)
|
|
|
|
/obj/proc/check_access_list(list/L)
|
|
if(!L)
|
|
return 0
|
|
if(!istype(L, /list))
|
|
return 0
|
|
return has_access(req_access, req_one_access, L)
|
|
|
|
/proc/has_access(list/req_access, list/req_one_access, list/accesses)
|
|
for(var/req in req_access)
|
|
if(!(req in accesses)) //doesn't have this access
|
|
return 0
|
|
if(length(req_one_access))
|
|
for(var/req in req_one_access)
|
|
if(req in accesses) //has an access from the single access list
|
|
return 1
|
|
return 0
|
|
return 1
|
|
|
|
/proc/get_centcom_access(job)
|
|
switch(job)
|
|
if("VIP Guest")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING)
|
|
if("Custodian")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING)
|
|
if("Thunderdome Overseer")
|
|
return list(ACCESS_CENT_GENERAL)
|
|
if("Emergency Response Team Officer")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SPECOPS) + get_all_accesses()
|
|
if("Emergency Response Team Engineer")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SPECOPS) + get_all_accesses()
|
|
if("Emergency Response Team Medic")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SPECOPS) + get_all_accesses()
|
|
if("Emergency Response Team Inquisitor")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SPECOPS) + get_all_accesses()
|
|
if("Emergency Response Team Janitor")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SPECOPS) + get_all_accesses()
|
|
if("Emergency Response Team Member")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SPECOPS) + get_all_accesses()
|
|
if("Emergency Response Team Leader")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SPECOPS, ACCESS_CENT_SPECOPS_COMMANDER) + get_all_accesses()
|
|
if("Medical Officer")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING) + get_all_accesses()
|
|
if("Intel Officer")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY) + get_all_accesses()
|
|
if("Research Officer")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_SPECOPS) + get_all_accesses()
|
|
if("Deathsquad Commando")
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SPECOPS, ACCESS_CENT_SPECOPS_COMMANDER) + get_all_accesses()
|
|
if("NT Undercover Operative")
|
|
return get_all_centcom_access() + get_all_accesses()
|
|
if("Special Operations Officer")
|
|
return get_all_centcom_access() + get_all_accesses()
|
|
if("Trans-Solar Federation General")
|
|
return get_all_centcom_access() + get_all_accesses()
|
|
if("Nanotrasen Navy Representative")
|
|
return get_all_centcom_access() + get_all_accesses()
|
|
if("Nanotrasen Navy Officer")
|
|
return get_all_centcom_access() + get_all_accesses()
|
|
if("Nanotrasen Navy Captain")
|
|
return get_all_centcom_access() + get_all_accesses()
|
|
if("Supreme Commander")
|
|
return get_all_centcom_access() + get_all_accesses()
|
|
|
|
/proc/get_syndicate_access(job)
|
|
switch(job)
|
|
if("Syndicate Operative")
|
|
return list(ACCESS_SYNDICATE)
|
|
if("Syndicate Operative Leader")
|
|
return list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER)
|
|
if("Syndicate Agent")
|
|
return list(ACCESS_SYNDICATE, ACCESS_MAINT_TUNNELS)
|
|
if("Syndicate Commando")
|
|
return list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER)
|
|
if("Syndicate Officer")
|
|
return list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER, ACCESS_SYNDICATE_COMMAND)
|
|
|
|
/proc/get_all_accesses()
|
|
return list(ACCESS_MINISAT, ACCESS_AI_UPLOAD, ACCESS_ARMORY, ACCESS_ATMOSPHERICS, ACCESS_BAR, ACCESS_SEC_DOORS, ACCESS_BLUESHIELD,
|
|
ACCESS_HEADS, ACCESS_CAPTAIN, ACCESS_CARGO, ACCESS_CARGO_BAY, ACCESS_SUPPLY_SHUTTLE, ACCESS_MAILSORTING, ACCESS_CHAPEL_OFFICE, ACCESS_CE, ACCESS_CHEMISTRY, ACCESS_CLOWN, ACCESS_CMO,
|
|
ACCESS_COURT, ACCESS_CONSTRUCTION, ACCESS_CREMATORIUM, ACCESS_JANITOR, ACCESS_ENGINE, ACCESS_EVA, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_FORENSICS_LOCKERS,
|
|
ACCESS_GENETICS, ACCESS_EXPEDITION, ACCESS_BRIG, ACCESS_HOP, ACCESS_HOS, ACCESS_HYDROPONICS, ACCESS_CHANGE_IDS, ACCESS_KEYCARD_AUTH, ACCESS_KITCHEN,
|
|
ACCESS_INTERNAL_AFFAIRS, ACCESS_LIBRARY, ACCESS_MAGISTRATE, ACCESS_MAINT_TUNNELS, ACCESS_HEADS_VAULT, ACCESS_MEDICAL, ACCESS_MIME,
|
|
ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_SMITH, ACCESS_MORGUE, ACCESS_NTREP, ACCESS_PARAMEDIC, ACCESS_ALL_PERSONAL_LOCKERS,
|
|
ACCESS_ENGINE_EQUIP, ACCESS_PSYCHIATRIST, ACCESS_QM, ACCESS_RD, ACCESS_RC_ANNOUNCE, ACCESS_ROBOTICS, ACCESS_TOX, ACCESS_RESEARCH, ACCESS_SECURITY,
|
|
ACCESS_SURGERY, ACCESS_TECH_STORAGE, ACCESS_TELEPORTER, ACCESS_THEATRE, ACCESS_TCOMSAT, ACCESS_TOX_STORAGE, ACCESS_VIROLOGY, ACCESS_WEAPONS, ACCESS_XENOBIOLOGY, ACCESS_TRAINER, ACCESS_EVIDENCE)
|
|
|
|
/proc/get_all_centcom_access()
|
|
return list(ACCESS_CENT_GENERAL, ACCESS_CENT_LIVING, ACCESS_CENT_SECURITY, ACCESS_CENT_SHUTTLES, ACCESS_CENT_SPECOPS, ACCESS_CENT_SPECOPS_COMMANDER, ACCESS_CENT_COMMANDER)
|
|
|
|
/proc/get_all_syndicate_access()
|
|
return list(ACCESS_SYNDICATE, ACCESS_SYNDICATE_LEADER, ACCESS_SYNDICATE_COMMAND)
|
|
|
|
/proc/get_all_misc_access()
|
|
return list(ACCESS_TRADE_SOL, ACCESS_AWAY01)
|
|
|
|
/proc/get_absolutely_all_accesses()
|
|
return (get_all_accesses() | get_all_centcom_access() | get_all_syndicate_access() | get_all_misc_access())
|
|
|
|
/proc/get_region_accesses(code)
|
|
switch(code)
|
|
if(REGION_ALL)
|
|
return get_all_accesses()
|
|
if(REGION_GENERAL) //station general
|
|
return list(ACCESS_KITCHEN, ACCESS_BAR, ACCESS_HYDROPONICS, ACCESS_JANITOR, ACCESS_CHAPEL_OFFICE, ACCESS_CREMATORIUM, ACCESS_LIBRARY, ACCESS_THEATRE, ACCESS_INTERNAL_AFFAIRS, ACCESS_MAGISTRATE, ACCESS_CLOWN, ACCESS_MIME, ACCESS_TRAINER)
|
|
if(REGION_SECURITY) //security
|
|
return list(ACCESS_SEC_DOORS, ACCESS_WEAPONS, ACCESS_SECURITY, ACCESS_BRIG, ACCESS_ARMORY, ACCESS_FORENSICS_LOCKERS, ACCESS_EVIDENCE, ACCESS_COURT, ACCESS_HOS)
|
|
if(REGION_MEDBAY) //medbay
|
|
return list(ACCESS_MEDICAL, ACCESS_GENETICS, ACCESS_MORGUE, ACCESS_CHEMISTRY, ACCESS_PSYCHIATRIST, ACCESS_VIROLOGY, ACCESS_SURGERY, ACCESS_CMO, ACCESS_PARAMEDIC)
|
|
if(REGION_RESEARCH) //research
|
|
return list(ACCESS_AI_UPLOAD, ACCESS_RESEARCH, ACCESS_TOX, ACCESS_TOX_STORAGE, ACCESS_GENETICS, ACCESS_ROBOTICS, ACCESS_XENOBIOLOGY, ACCESS_MINISAT, ACCESS_RD)
|
|
if(REGION_ENGINEERING) //engineering and maintenance
|
|
return list(ACCESS_CONSTRUCTION, ACCESS_MAINT_TUNNELS, ACCESS_ENGINE, ACCESS_ENGINE_EQUIP, ACCESS_EXTERNAL_AIRLOCKS, ACCESS_TECH_STORAGE, ACCESS_ATMOSPHERICS, ACCESS_MINISAT, ACCESS_CE)
|
|
if(REGION_SUPPLY) //supply
|
|
return list(ACCESS_EXPEDITION, ACCESS_MAILSORTING, ACCESS_MINING, ACCESS_MINING_STATION, ACCESS_MINERAL_STOREROOM, ACCESS_SMITH, ACCESS_CARGO, ACCESS_CARGO_BAY, ACCESS_SUPPLY_SHUTTLE, ACCESS_QM, ACCESS_HEADS_VAULT)
|
|
if(REGION_COMMAND) //command
|
|
return list(ACCESS_HEADS, ACCESS_RC_ANNOUNCE, ACCESS_KEYCARD_AUTH, ACCESS_CHANGE_IDS, ACCESS_AI_UPLOAD, ACCESS_TELEPORTER, ACCESS_EVA, ACCESS_TCOMSAT, ACCESS_ALL_PERSONAL_LOCKERS, ACCESS_HEADS_VAULT, ACCESS_BLUESHIELD, ACCESS_NTREP, ACCESS_HOP, ACCESS_CAPTAIN)
|
|
if(REGION_CENTCOMM) //because why the heck not
|
|
return get_all_centcom_access() + get_all_accesses()
|
|
|
|
/proc/get_region_accesses_name(code)
|
|
switch(code)
|
|
if(REGION_ALL)
|
|
return "All"
|
|
if(REGION_GENERAL) //station general
|
|
return "General"
|
|
if(REGION_SECURITY) //security
|
|
return "Security"
|
|
if(REGION_MEDBAY) //medbay
|
|
return "Medbay"
|
|
if(REGION_RESEARCH) //research
|
|
return "Research"
|
|
if(REGION_ENGINEERING) //engineering and maintenance
|
|
return "Engineering"
|
|
if(REGION_SUPPLY) //supply
|
|
return "Supply"
|
|
if(REGION_COMMAND) //command
|
|
return "Command"
|
|
if(REGION_CENTCOMM) //CC
|
|
return "CentComm"
|
|
|
|
|
|
/proc/get_access_desc(A)
|
|
switch(A)
|
|
if(ACCESS_CARGO)
|
|
return "Cargo Office"
|
|
if(ACCESS_CARGO_BOT)
|
|
return "Cargo Bot Delivery"
|
|
if(ACCESS_CARGO_BAY)
|
|
return "Cargo Bay"
|
|
if(ACCESS_SUPPLY_SHUTTLE)
|
|
return "Supply Shuttle"
|
|
if(ACCESS_SECURITY)
|
|
return "Security"
|
|
if(ACCESS_BRIG)
|
|
return "Holding Cells"
|
|
if(ACCESS_COURT)
|
|
return "Courtroom"
|
|
if(ACCESS_FORENSICS_LOCKERS)
|
|
return "Forensics Office"
|
|
if(ACCESS_MEDICAL)
|
|
return "Medical"
|
|
if(ACCESS_GENETICS)
|
|
return "Genetics Lab"
|
|
if(ACCESS_MORGUE)
|
|
return "Morgue"
|
|
if(ACCESS_TOX)
|
|
return "R&D Lab"
|
|
if(ACCESS_TOX_STORAGE)
|
|
return "Toxins Lab"
|
|
if(ACCESS_CHEMISTRY)
|
|
return "Chemistry Lab"
|
|
if(ACCESS_RD)
|
|
return "Research Director"
|
|
if(ACCESS_BAR)
|
|
return "Bar"
|
|
if(ACCESS_JANITOR)
|
|
return "Custodial Closet"
|
|
if(ACCESS_ENGINE)
|
|
return "Engineering"
|
|
if(ACCESS_ENGINE_EQUIP)
|
|
return "Power Equipment"
|
|
if(ACCESS_MAINT_TUNNELS)
|
|
return "Maintenance"
|
|
if(ACCESS_EXTERNAL_AIRLOCKS)
|
|
return "External Airlocks"
|
|
if(ACCESS_CHANGE_IDS)
|
|
return "ID Computer"
|
|
if(ACCESS_AI_UPLOAD)
|
|
return "AI Upload"
|
|
if(ACCESS_TELEPORTER)
|
|
return "Teleporter"
|
|
if(ACCESS_EVA)
|
|
return "EVA"
|
|
if(ACCESS_HEADS)
|
|
return "Bridge"
|
|
if(ACCESS_CAPTAIN)
|
|
return "Captain"
|
|
if(ACCESS_ALL_PERSONAL_LOCKERS)
|
|
return "Personal Lockers/Crates"
|
|
if(ACCESS_CHAPEL_OFFICE)
|
|
return "Chapel Office"
|
|
if(ACCESS_TECH_STORAGE)
|
|
return "Technical Storage"
|
|
if(ACCESS_ATMOSPHERICS)
|
|
return "Atmospherics"
|
|
if(ACCESS_CREMATORIUM)
|
|
return "Crematorium"
|
|
if(ACCESS_ARMORY)
|
|
return "Armory"
|
|
if(ACCESS_CONSTRUCTION)
|
|
return "Construction Areas"
|
|
if(ACCESS_KITCHEN)
|
|
return "Kitchen"
|
|
if(ACCESS_HYDROPONICS)
|
|
return "Hydroponics"
|
|
if(ACCESS_LIBRARY)
|
|
return "Library"
|
|
if(ACCESS_INTERNAL_AFFAIRS)
|
|
return "Law Office"
|
|
if(ACCESS_ROBOTICS)
|
|
return "Robotics"
|
|
if(ACCESS_VIROLOGY)
|
|
return "Virology"
|
|
if(ACCESS_PSYCHIATRIST)
|
|
return "Psychiatrist's Office"
|
|
if(ACCESS_CMO)
|
|
return "Chief Medical Officer"
|
|
if(ACCESS_QM)
|
|
return "Quartermaster"
|
|
if(ACCESS_CLOWN)
|
|
return "Clown's Office"
|
|
if(ACCESS_MIME)
|
|
return "Mime's Office"
|
|
if(ACCESS_SURGERY)
|
|
return "Surgery"
|
|
if(ACCESS_THEATRE)
|
|
return "Theatre"
|
|
if(ACCESS_RESEARCH)
|
|
return "Science"
|
|
if(ACCESS_MINING)
|
|
return "Mining Dock"
|
|
if(ACCESS_MAILSORTING)
|
|
return "Mail Sorting"
|
|
if(ACCESS_HEADS_VAULT)
|
|
return "Main Vault"
|
|
if(ACCESS_MINING_STATION)
|
|
return "Mining Outpost"
|
|
if(ACCESS_SMITH)
|
|
return "Smith's Workshop"
|
|
if(ACCESS_XENOBIOLOGY)
|
|
return "Xenobiology Lab"
|
|
if(ACCESS_HOP)
|
|
return "Head of Personnel"
|
|
if(ACCESS_HOS)
|
|
return "Head of Security"
|
|
if(ACCESS_CE)
|
|
return "Chief Engineer"
|
|
if(ACCESS_RC_ANNOUNCE)
|
|
return "RC Announcements"
|
|
if(ACCESS_KEYCARD_AUTH)
|
|
return "Keycode Auth. Device"
|
|
if(ACCESS_TCOMSAT)
|
|
return "Telecommunications"
|
|
if(ACCESS_EXPEDITION)
|
|
return "Expedition"
|
|
if(ACCESS_SEC_DOORS)
|
|
return "Brig"
|
|
if(ACCESS_BLUESHIELD)
|
|
return "Blueshield"
|
|
if(ACCESS_NTREP)
|
|
return "Nanotrasen Rep."
|
|
if(ACCESS_PARAMEDIC)
|
|
return "Paramedic"
|
|
if(ACCESS_MAGISTRATE)
|
|
return "Magistrate"
|
|
if(ACCESS_MINERAL_STOREROOM)
|
|
return "Mineral Storage"
|
|
if(ACCESS_MINISAT)
|
|
return "AI Satellite"
|
|
if(ACCESS_WEAPONS)
|
|
return "Weapon Permit"
|
|
if(ACCESS_TRAINER)
|
|
return "Nanotrasen Career Trainer"
|
|
if(ACCESS_EVIDENCE)
|
|
return "Evidence Lockers"
|
|
|
|
/proc/get_centcom_access_desc(A)
|
|
switch(A)
|
|
if(ACCESS_CENT_GENERAL)
|
|
return "General Access"
|
|
if(ACCESS_CENT_LIVING)
|
|
return "Living Quarters"
|
|
if(ACCESS_CENT_SECURITY)
|
|
return "Security"
|
|
if(ACCESS_CENT_SHUTTLES)
|
|
return "Shuttles"
|
|
if(ACCESS_CENT_SPECOPS)
|
|
return "Special Ops"
|
|
if(ACCESS_CENT_SPECOPS_COMMANDER)
|
|
return "Special Ops Commander"
|
|
if(ACCESS_CENT_COMMANDER)
|
|
return "Commander"
|
|
|
|
/proc/get_syndicate_access_desc(A)
|
|
switch(A)
|
|
if(ACCESS_SYNDICATE)
|
|
return "Syndicate Operative"
|
|
if(ACCESS_SYNDICATE_LEADER)
|
|
return "Syndicate Operative Leader"
|
|
if(ACCESS_SYNDICATE_COMMAND)
|
|
return "Syndicate Command"
|
|
|
|
/proc/get_all_jobs()
|
|
var/list/all_jobs = list()
|
|
var/list/all_datums = subtypesof(/datum/job)
|
|
all_datums.Remove(list(/datum/job/ai,/datum/job/cyborg))
|
|
var/datum/job/jobdatum
|
|
for(var/jobtype in all_datums)
|
|
jobdatum = new jobtype
|
|
all_jobs.Add(jobdatum.title)
|
|
return all_jobs
|
|
|
|
/proc/get_all_centcom_jobs()
|
|
return list(
|
|
"VIP Guest",
|
|
"Custodian",
|
|
"Thunderdome Overseer",
|
|
"Intel Officer",
|
|
"Medical Officer",
|
|
"Research Officer",
|
|
"Special Operations Officer",
|
|
"Nanotrasen Diplomat",
|
|
"Nanotrasen Navy Representative",
|
|
"Nanotrasen Navy Officer",
|
|
"Nanotrasen Navy Captain",
|
|
"Supreme Commander")
|
|
|
|
/proc/get_all_ERT_jobs()
|
|
return list(
|
|
"Emergency Response Team Member",
|
|
"Emergency Response Team Officer",
|
|
"Emergency Response Team Engineer",
|
|
"Emergency Response Team Medic",
|
|
"Emergency Response Team Janitor",
|
|
"Emergency Response Team Inquisitor",
|
|
"Emergency Response Team Leader")
|
|
|
|
/proc/get_all_solgov_jobs()
|
|
return list(
|
|
"Trans-Solar Federation Trader",
|
|
"TSF Marine",
|
|
"TSF Lieutenant",
|
|
"MARSOC Marine",
|
|
"MARSOC Lieutenant",
|
|
"Trans-Solar Federation Representative",
|
|
"Trans-Solar Federation General")
|
|
|
|
/proc/get_all_soviet_jobs()
|
|
return list(
|
|
"Soviet Tourist",
|
|
"Soviet Conscript",
|
|
"Soviet Soldier",
|
|
"Soviet Officer",
|
|
"Soviet Marine",
|
|
"Soviet Marine Captain",
|
|
"Soviet Admiral")
|
|
|
|
/proc/get_all_special_jobs()
|
|
return list(
|
|
"Deathsquad",
|
|
"Emergency Response Clown",
|
|
"Tourist")
|
|
|
|
/proc/get_all_job_icons() //For all existing HUD icons
|
|
return GLOB.joblist + get_all_ERT_jobs() + list("Prisoner", "Centcom", "Solgov", "Soviet", "Unknown")
|
|
|
|
/proc/get_accesslist_static_data(num_min_region = REGION_GENERAL, num_max_region = REGION_COMMAND)
|
|
var/list/retval
|
|
for(var/i in num_min_region to num_max_region)
|
|
var/list/accesses = list()
|
|
var/list/available_accesses
|
|
if(i == REGION_CENTCOMM) // Override necessary, because get_region_accesses(REGION_CENTCOM) returns BOTH CC and crew accesses.
|
|
available_accesses = get_all_centcom_access()
|
|
else
|
|
available_accesses = get_region_accesses(i)
|
|
for(var/access in available_accesses)
|
|
var/access_desc = (i == REGION_CENTCOMM) ? get_centcom_access_desc(access) : get_access_desc(access)
|
|
if(access_desc)
|
|
accesses += list(list(
|
|
"desc" = replacetext(access_desc, " ", " "),
|
|
"ref" = access,
|
|
))
|
|
retval += list(list(
|
|
"name" = get_region_accesses_name(i),
|
|
"regid" = i,
|
|
"accesses" = accesses
|
|
))
|
|
return retval
|