From 0bc7ce1119f1510510a062983783999d9f7c29ad Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 27 Jun 2015 00:22:45 -0400 Subject: [PATCH 001/112] Makes breacher rigs fit unathi only --- .../clothing/spacesuits/rig/suits/alien.dm | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/code/modules/clothing/spacesuits/rig/suits/alien.dm b/code/modules/clothing/spacesuits/rig/suits/alien.dm index cb64d2be44..887fb9ebcc 100644 --- a/code/modules/clothing/spacesuits/rig/suits/alien.dm +++ b/code/modules/clothing/spacesuits/rig/suits/alien.dm @@ -9,6 +9,10 @@ offline_slowdown = 10 vision_restriction = 1 offline_vision_restriction = 2 + + chest_type = /obj/item/clothing/suit/space/rig + helm_type = /obj/item/clothing/head/helmet/space/rig/unathi + boot_type = /obj/item/clothing/shoes/magboots/rig/unathi /obj/item/weapon/rig/unathi/fancy name = "breacher chassis control module" @@ -17,4 +21,13 @@ icon_state = "breacher_rig" armor = list(melee = 90, bullet = 90, laser = 90, energy = 90, bomb = 90, bio = 100, rad = 80) vision_restriction = 0 - slowdown = 4 + //slowdown = 4 - retain old slowdown, armor 90 means you can take 10x the damage + +/obj/item/clothing/head/helmet/space/rig/unathi + species_restricted = list("Unathi") + +/obj/item/clothing/suit/space/rig/unathi + species_restricted = list("Unathi") + +/obj/item/clothing/shoes/magboots/rig/unathi + species_restricted = list("Unathi") \ No newline at end of file From a3dde194980e56e822efa3e6b617c923c8c54277 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Sat, 27 Jun 2015 00:51:11 -0400 Subject: [PATCH 002/112] Makes suit species_restricted handled by whitelist instead of blacklist --- code/modules/clothing/clothing.dm | 6 ++---- code/modules/clothing/spacesuits/spacesuits.dm | 4 ++-- code/modules/clothing/spacesuits/void/merc.dm | 4 ++-- code/modules/clothing/spacesuits/void/void.dm | 4 ++-- 4 files changed, 8 insertions(+), 10 deletions(-) diff --git a/code/modules/clothing/clothing.dm b/code/modules/clothing/clothing.dm index 7fa6bd788b..96d3981662 100644 --- a/code/modules/clothing/clothing.dm +++ b/code/modules/clothing/clothing.dm @@ -50,7 +50,7 @@ //Set species_restricted list switch(target_species) if("Human", "Skrell") //humanoid bodytypes - species_restricted = list("exclude","Unathi","Tajara","Diona","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") + species_restricted = list("Human", "Skrell") //skrell/humans can wear each other's suits else species_restricted = list(target_species) @@ -72,9 +72,7 @@ //Set species_restricted list switch(target_species) if("Skrell") - species_restricted = list("exclude","Unathi","Tajara","Diona","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") - if("Human") - species_restricted = list("exclude","Skrell","Unathi","Tajara","Diona","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") + species_restricted = list("Human", "Skrell") //skrell helmets fit humans too else species_restricted = list(target_species) diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index 78ecc731de..6410395c39 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -15,7 +15,7 @@ cold_protection = HEAD min_cold_protection_temperature = SPACE_HELMET_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 - species_restricted = list("exclude","Diona","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") + species_restricted = list("Human", "Skrell", "Tajara", "Unathi") var/obj/machinery/camera/camera var/list/camera_networks @@ -60,7 +60,7 @@ cold_protection = UPPER_TORSO | LOWER_TORSO | LEGS | FEET | ARMS | HANDS min_cold_protection_temperature = SPACE_SUIT_MIN_COLD_PROTECTION_TEMPERATURE siemens_coefficient = 0.9 - species_restricted = list("exclude","Diona","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") + species_restricted = list("Human", "Skrell", "Tajara", "Unathi") var/list/supporting_limbs //If not-null, automatically splints breaks. Checked when removing the suit. diff --git a/code/modules/clothing/spacesuits/void/merc.dm b/code/modules/clothing/spacesuits/void/merc.dm index 0d2ea51ad2..481e536e74 100644 --- a/code/modules/clothing/spacesuits/void/merc.dm +++ b/code/modules/clothing/spacesuits/void/merc.dm @@ -6,7 +6,7 @@ item_state = "syndie_helm" armor = list(melee = 60, bullet = 50, laser = 30,energy = 15, bomb = 35, bio = 100, rad = 60) siemens_coefficient = 0.6 - species_restricted = list("exclude","Unathi","Tajara","Skrell","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") + species_restricted = list("Human") camera_networks = list("NUKE") light_overlay = "helmet_light_green" //todo: species-specific light overlays @@ -20,4 +20,4 @@ armor = list(melee = 60, bullet = 50, laser = 30, energy = 15, bomb = 35, bio = 100, rad = 60) allowed = list(/obj/item/device/flashlight,/obj/item/weapon/tank,/obj/item/device/suit_cooling_unit,/obj/item/weapon/gun,/obj/item/ammo_magazine,/obj/item/ammo_casing,/obj/item/weapon/melee/baton,/obj/item/weapon/melee/energy/sword,/obj/item/weapon/handcuffs) siemens_coefficient = 0.6 - species_restricted = list("exclude","Unathi","Tajara","Skrell","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") \ No newline at end of file + species_restricted = list("Human", "Skrell") \ No newline at end of file diff --git a/code/modules/clothing/spacesuits/void/void.dm b/code/modules/clothing/spacesuits/void/void.dm index aef2724349..2202d86539 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -10,7 +10,7 @@ max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE //Species-specific stuff. - species_restricted = list("exclude","Unathi","Tajara","Skrell","Diona","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") + species_restricted = list("Human") sprite_sheets_refit = list( "Unathi" = 'icons/mob/species/unathi/helmet.dmi', "Tajara" = 'icons/mob/species/tajaran/helmet.dmi', @@ -35,7 +35,7 @@ heat_protection = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS max_heat_protection_temperature = SPACE_SUIT_MAX_HEAT_PROTECTION_TEMPERATURE - species_restricted = list("exclude","Unathi","Tajara","Diona","Vox", "Xenomorph", "Xenomorph Drone", "Xenomorph Hunter", "Xenomorph Sentinel", "Xenomorph Queen") + species_restricted = list("Human", "Skrell") sprite_sheets_refit = list( "Unathi" = 'icons/mob/species/unathi/suit.dmi', "Tajara" = 'icons/mob/species/tajaran/suit.dmi', From 8b731feb8b7f047100aef5f485e2867a99f76c80 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Thu, 2 Jul 2015 20:10:39 +0200 Subject: [PATCH 003/112] Economic strength now depends on race and job. The amount of money a crew member can start with is now affected by race and species. Also fixes #8546. --- code/game/jobs/job/assistant.dm | 1 + code/game/jobs/job/captain.dm | 2 ++ code/game/jobs/job/civilian.dm | 2 ++ code/game/jobs/job/engineering.dm | 3 +++ code/game/jobs/job/job.dm | 25 +++++++++++++++++++++++++ code/game/jobs/job/medical.dm | 6 ++++++ code/game/jobs/job/science.dm | 4 ++++ code/game/jobs/job/security.dm | 5 ++++- code/game/jobs/job/silicon.dm | 7 +++++-- code/game/jobs/job_controller.dm | 19 +------------------ code/modules/economy/economy_misc.dm | 9 +++++++++ 11 files changed, 62 insertions(+), 21 deletions(-) diff --git a/code/game/jobs/job/assistant.dm b/code/game/jobs/job/assistant.dm index 98c7a4dd98..ef3469b83e 100644 --- a/code/game/jobs/job/assistant.dm +++ b/code/game/jobs/job/assistant.dm @@ -8,6 +8,7 @@ spawn_positions = -1 supervisors = "absolutely everyone" selection_color = "#dddddd" + economic_modifier = 1 access = list() //See /datum/job/assistant/get_access() minimal_access = list() //See /datum/job/assistant/get_access() alt_titles = list("Technical Assistant","Medical Intern","Research Assistant","Security Cadet","Visitor") diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index f76ef8edb4..725f7f50fc 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -16,6 +16,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) access = list() //See get_access() minimal_access = list() //See get_access() minimal_player_age = 14 + economic_modifier = 20 equip(var/mob/living/carbon/human/H) if(!H) return 0 H.equip_to_slot_or_del(new /obj/item/device/radio/headset/heads/captain(H), slot_l_ear) @@ -60,6 +61,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 minimal_player_age = 10 + economic_modifier = 15 access = list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers, access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index 7d84753353..ac92feca9e 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -97,6 +97,7 @@ spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#dddddd" + economic_modifier = 7 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) @@ -311,6 +312,7 @@ spawn_positions = 2 supervisors = "Nanotrasen officials and Corporate Regulations" selection_color = "#dddddd" + economic_modifier = 7 access = list(access_lawyer, access_court, access_sec_doors, access_maint_tunnels, access_heads) minimal_access = list(access_lawyer, access_court, access_sec_doors, access_heads) diff --git a/code/game/jobs/job/engineering.dm b/code/game/jobs/job/engineering.dm index 5c86336cb6..27cd6a753e 100644 --- a/code/game/jobs/job/engineering.dm +++ b/code/game/jobs/job/engineering.dm @@ -11,6 +11,7 @@ selection_color = "#ffeeaa" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 + economic_modifier = 10 access = list(access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_teleporter, access_external_airlocks, access_atmospherics, access_emergency_storage, access_eva, access_heads, access_construction, access_sec_doors, @@ -53,6 +54,7 @@ spawn_positions = 5 supervisors = "the chief engineer" selection_color = "#fff5cc" + economic_modifier = 5 access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics) minimal_access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction) alt_titles = list("Maintenance Technician","Engine Technician","Electrician") @@ -89,6 +91,7 @@ spawn_positions = 2 supervisors = "the chief engineer" selection_color = "#fff5cc" + economic_modifier = 5 access = list(access_eva, access_engine, access_engine_equip, access_tech_storage, access_maint_tunnels, access_external_airlocks, access_construction, access_atmospherics, access_external_airlocks) minimal_access = list(access_eva, access_engine, access_atmospherics, access_maint_tunnels, access_emergency_storage, access_construction, access_external_airlocks) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 8b51b74a77..27fb23d1bf 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -20,6 +20,9 @@ var/department = null // Does this position have a department tag? var/head_position = 0 // Is this position Command? + var/account_allowed = 1 // Does this job type come with a station account? + var/economic_modifier = 2 // With how much does this job modify the initial account amount? + /datum/job/proc/equip(var/mob/living/carbon/human/H) return 1 @@ -28,6 +31,28 @@ H.species.equip_survival_gear(H,0) return 1 +/datum/job/proc/setup_account(var/mob/living/carbon/human/H) + if(!account_allowed || (H.mind && H.mind.initial_account)) + return + + //give them an account in the station database + var/money_amount = rand(50,500) * economic_modifier * (H.species ? economic_species_modifier[H.species.type] : 2) + var/datum/money_account/M = create_account(H.real_name, money_amount, null) + if(H.mind) + var/remembered_info = "" + remembered_info += "Your account number is: #[M.account_number]
" + remembered_info += "Your account pin is: [M.remote_access_pin]
" + remembered_info += "Your account funds are: $[M.money]
" + + if(M.transaction_log.len) + var/datum/transaction/T = M.transaction_log[1] + remembered_info += "Your account was created: [T.time], [T.date] at [T.source_terminal]
" + H.mind.store_memory(remembered_info) + + H.mind.initial_account = M + + H << "Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]" + // overrideable separately so AIs/borgs can have cardborg hats without unneccessary new()/del() /datum/job/proc/equip_preview(mob/living/carbon/human/H) return equip(H) diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index 0e79223b18..dc2d366512 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -11,6 +11,7 @@ selection_color = "#ffddf0" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 + economic_modifier = 10 access = list(access_medical, access_medical_equip, access_morgue, access_genetics, access_heads, access_chemistry, access_virology, access_cmo, access_surgery, access_RC_announce, access_keycard_auth, access_sec_doors, access_psychiatrist, access_eva, access_external_airlocks) @@ -44,6 +45,7 @@ spawn_positions = 3 supervisors = "the chief medical officer" selection_color = "#ffeef0" + economic_modifier = 5 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology) alt_titles = list("Surgeon","Emergency Physician","Nurse","Virologist") @@ -106,6 +108,7 @@ spawn_positions = 2 supervisors = "the chief medical officer" selection_color = "#ffeef0" + economic_modifier = 5 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) minimal_access = list(access_medical, access_chemistry) alt_titles = list("Pharmacist") @@ -136,6 +139,7 @@ spawn_positions = 0 supervisors = "the chief medical officer and research director" selection_color = "#ffeef0" + economic_modifier = 5 access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research) minimal_access = list(access_medical, access_morgue, access_genetics, access_research) @@ -162,6 +166,7 @@ faction = "Station" total_positions = 1 spawn_positions = 1 + economic_modifier = 5 supervisors = "the chief medical officer" selection_color = "#ffeef0" access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_psychiatrist) @@ -198,6 +203,7 @@ spawn_positions = 2 supervisors = "the chief medical officer" selection_color = "#ffeef0" + economic_modifier = 5 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) minimal_access = list(access_medical, access_medical_equip, access_eva, access_maint_tunnels, access_external_airlocks) alt_titles = list("Emergency Medical Technician") diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index a7d54284bf..d635fc4717 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -11,6 +11,7 @@ selection_color = "#ffddff" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 + economic_modifier = 10 access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_tox_storage, access_teleporter, access_sec_doors, access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, @@ -47,6 +48,7 @@ spawn_positions = 3 supervisors = "the research director" selection_color = "#ffeeff" + economic_modifier = 5 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch) minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch) alt_titles = list("Xenoarcheologist", "Anomalist", "Phoron Researcher") @@ -76,6 +78,7 @@ spawn_positions = 2 supervisors = "the research director" selection_color = "#ffeeff" + economic_modifier = 5 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_hydroponics) minimal_access = list(access_research, access_xenobiology, access_hydroponics, access_tox_storage) alt_titles = list("Xenobotanist") @@ -105,6 +108,7 @@ spawn_positions = 2 supervisors = "research director" selection_color = "#ffeeff" + economic_modifier = 5 access = list(access_robotics, access_tox, access_tox_storage, access_tech_storage, access_morgue, access_research) //As a job that handles so many corpses, it makes sense for them to have morgue access. minimal_access = list(access_robotics, access_tech_storage, access_morgue, access_research) //As a job that handles so many corpses, it makes sense for them to have morgue access. alt_titles = list("Biomechanical Engineer","Mechatronic Engineer") diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index cb7a7d23f4..05c92caea1 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -11,6 +11,7 @@ selection_color = "#ffdddd" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 + economic_modifier = 10 access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_forensics_lockers, access_morgue, access_maint_tunnels, access_all_personal_lockers, access_research, access_engine, access_mining, access_medical, access_construction, access_mailsorting, @@ -54,6 +55,7 @@ spawn_positions = 1 supervisors = "the head of security" selection_color = "#ffeeee" + economic_modifier = 7 access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_external_airlocks) minimal_player_age = 5 @@ -91,7 +93,7 @@ supervisors = "the head of security" selection_color = "#ffeeee" alt_titles = list("Forensic Technician") - + economic_modifier = 5 access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court) minimal_access = list(access_security, access_sec_doors, access_forensics_lockers, access_morgue, access_maint_tunnels, access_court) alt_titles = list("Forensic Technician") @@ -133,6 +135,7 @@ spawn_positions = 3 supervisors = "the head of security" selection_color = "#ffeeee" + economic_modifier = 5 access = list(access_security, access_eva, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_external_airlocks) minimal_player_age = 3 diff --git a/code/game/jobs/job/silicon.dm b/code/game/jobs/job/silicon.dm index 8aab746400..88bfed60d6 100644 --- a/code/game/jobs/job/silicon.dm +++ b/code/game/jobs/job/silicon.dm @@ -9,11 +9,12 @@ supervisors = "your laws" req_admin_notify = 1 minimal_player_age = 7 - + account_allowed = 0 + economic_modifier = 0 equip(var/mob/living/carbon/human/H) if(!H) return 0 return 1 - + equip_survival(var/mob/living/carbon/human/H) if(!H) return 0 return 1 @@ -36,6 +37,8 @@ selection_color = "#ddffdd" minimal_player_age = 1 alt_titles = list("Android", "Robot") + account_allowed = 0 + economic_modifier = 0 equip(var/mob/living/carbon/human/H) if(!H) return 0 diff --git a/code/game/jobs/job_controller.dm b/code/game/jobs/job_controller.dm index 1a4fb368aa..5259c8e5a2 100644 --- a/code/game/jobs/job_controller.dm +++ b/code/game/jobs/job_controller.dm @@ -393,6 +393,7 @@ var/global/datum/controller/occupations/job_master spawn_in_storage += thing //Equip job items. job.equip(H) + job.setup_account(H) job.equip_survival(H) job.apply_fingerprints(H) @@ -428,21 +429,6 @@ var/global/datum/controller/occupations/job_master H.buckled.loc = H.loc H.buckled.set_dir(H.dir) - //give them an account in the station database - var/datum/money_account/M = create_account(H.real_name, rand(50,500)*10, null) - if(H.mind) - var/remembered_info = "" - remembered_info += "Your account number is: #[M.account_number]
" - remembered_info += "Your account pin is: [M.remote_access_pin]
" - remembered_info += "Your account funds are: $[M.money]
" - - if(M.transaction_log.len) - var/datum/transaction/T = M.transaction_log[1] - remembered_info += "Your account was created: [T.time], [T.date] at [T.source_terminal]
" - H.mind.store_memory(remembered_info) - - H.mind.initial_account = M - // If they're head, give them the account info for their department if(H.mind && job.head_position) var/remembered_info = "" @@ -455,9 +441,6 @@ var/global/datum/controller/occupations/job_master H.mind.store_memory(remembered_info) - spawn(0) - H << "Your account number is: [M.account_number], your account pin is: [M.remote_access_pin]" - var/alt_title = null if(H.mind) H.mind.assigned_role = rank diff --git a/code/modules/economy/economy_misc.dm b/code/modules/economy/economy_misc.dm index dee0c00e3d..aab8fa63b5 100644 --- a/code/modules/economy/economy_misc.dm +++ b/code/modules/economy/economy_misc.dm @@ -46,6 +46,15 @@ #define GEAR_EVA 15 + +/var/list/economic_species_modifier = list( + /datum/species/human = 10, + /datum/species/skrell = 12, + /datum/species/tajaran = 7, + /datum/species/unathi = 7, + /datum/species/vox = 1 + ) + //---- The following corporations are friendly with NanoTrasen and loosely enable trade and travel: //Corporation NanoTrasen - Generalised / high tech research and phoron exploitation. //Corporation Vessel Contracting - Ship and station construction, materials research. From f96ad8ca4036e8ba062c4fe7f31de76b88de924a Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 2 Jul 2015 22:22:08 +0200 Subject: [PATCH 004/112] NTs relationship towards you now affects the pay grade. --- code/__defines/mobs.dm | 11 ++++++++++- code/game/gamemodes/game_mode.dm | 8 ++++---- code/game/gamemodes/intercept_report.dm | 2 +- code/game/jobs/job/job.dm | 11 ++++++++++- code/modules/client/preferences.dm | 2 +- 5 files changed, 26 insertions(+), 8 deletions(-) diff --git a/code/__defines/mobs.dm b/code/__defines/mobs.dm index 76bce19e1f..872a7bcd15 100644 --- a/code/__defines/mobs.dm +++ b/code/__defines/mobs.dm @@ -83,4 +83,13 @@ #define MIN_SUPPLIED_LAW_NUMBER 15 -#define MAX_SUPPLIED_LAW_NUMBER 50 \ No newline at end of file +#define MAX_SUPPLIED_LAW_NUMBER 50 + +// NT's alignment towards the character +#define COMPANY_LOYAL "Loyal" +#define COMPANY_SUPPORTATIVE "Supportive" +#define COMPANY_NEUTRAL "Neutral" +#define COMPANY_SKEPTICAL "Skeptical" +#define COMPANY_OPPOSED "Opposed" + +#define COMPANY_ALIGNMENTS list(COMPANY_LOYAL,COMPANY_SUPPORTATIVE,COMPANY_NEUTRAL,COMPANY_SKEPTICAL,COMPANY_OPPOSED) diff --git a/code/game/gamemodes/game_mode.dm b/code/game/gamemodes/game_mode.dm index 8a2f46598b..7cb5c3ece9 100644 --- a/code/game/gamemodes/game_mode.dm +++ b/code/game/gamemodes/game_mode.dm @@ -379,8 +379,8 @@ var/global/list/additional_antag_types = list() if (special_role in disregard_roles) continue - else if(man.client.prefs.nanotrasen_relation == "Opposed" && prob(50) || \ - man.client.prefs.nanotrasen_relation == "Skeptical" && prob(20)) + else if(man.client.prefs.nanotrasen_relation == COMPANY_OPPOSED && prob(50) || \ + man.client.prefs.nanotrasen_relation == COMPANY_SKEPTICAL && prob(20)) suspects += man // Antags else if(special_role_data && prob(special_role_data.suspicion_chance)) @@ -546,9 +546,9 @@ proc/get_nt_opposed() var/list/dudes = list() for(var/mob/living/carbon/human/man in player_list) if(man.client) - if(man.client.prefs.nanotrasen_relation == "Opposed") + if(man.client.prefs.nanotrasen_relation == COMPANY_OPPOSED) dudes += man - else if(man.client.prefs.nanotrasen_relation == "Skeptical" && prob(50)) + else if(man.client.prefs.nanotrasen_relation == COMPANY_SKEPTICAL && prob(50)) dudes += man if(dudes.len == 0) return null return pick(dudes) diff --git a/code/game/gamemodes/intercept_report.dm b/code/game/gamemodes/intercept_report.dm index 2ee0fe7d91..43343fbd4b 100644 --- a/code/game/gamemodes/intercept_report.dm +++ b/code/game/gamemodes/intercept_report.dm @@ -113,7 +113,7 @@ /datum/intercept_text/proc/get_suspect() var/list/dudes = list() - for(var/mob/living/carbon/human/man in player_list) if(man.client && man.client.prefs.nanotrasen_relation == "Opposed") + for(var/mob/living/carbon/human/man in player_list) if(man.client && man.client.prefs.nanotrasen_relation == COMPANY_OPPOSED) dudes += man for(var/i = 0, i < max(player_list.len/10,2), i++) dudes += pick(player_list) diff --git a/code/game/jobs/job/job.dm b/code/game/jobs/job/job.dm index 27fb23d1bf..b15a762c6d 100644 --- a/code/game/jobs/job/job.dm +++ b/code/game/jobs/job/job.dm @@ -35,8 +35,17 @@ if(!account_allowed || (H.mind && H.mind.initial_account)) return + var/loyalty = 1 + if(H.client) + switch(H.client.prefs.nanotrasen_relation) + if(COMPANY_LOYAL) loyalty = 1.30 + if(COMPANY_SUPPORTATIVE)loyalty = 1.15 + if(COMPANY_NEUTRAL) loyalty = 1 + if(COMPANY_SKEPTICAL) loyalty = 0.85 + if(COMPANY_OPPOSED) loyalty = 0.70 + //give them an account in the station database - var/money_amount = rand(50,500) * economic_modifier * (H.species ? economic_species_modifier[H.species.type] : 2) + var/money_amount = (rand(5,50) + rand(5, 50)) * loyalty * economic_modifier * (H.species ? economic_species_modifier[H.species.type] : 2) var/datum/money_account/M = create_account(H.real_name, money_amount, null) if(H.mind) var/remembered_info = "" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 35c206fd4b..7fcfa075d2 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -1375,7 +1375,7 @@ datum/preferences backbag = backbaglist.Find(new_backbag) if("nt_relation") - var/new_relation = input(user, "Choose your relation to NT. Note that this represents what others can find out about your character by researching your background, not what your character actually thinks.", "Character Preference") as null|anything in list("Loyal", "Supportive", "Neutral", "Skeptical", "Opposed") + var/new_relation = input(user, "Choose your relation to NT. Note that this represents what others can find out about your character by researching your background, not what your character actually thinks.", "Character Preference") as null|anything in COMPANY_ALIGNMENTS if(new_relation) nanotrasen_relation = new_relation From 3d5832d56aa5a77cbff8a6d32479f03c7689bc07 Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Thu, 2 Jul 2015 23:04:01 +0200 Subject: [PATCH 005/112] Changelog entry. --- html/changelogs/PsiOmegaDelta-MoneyMoneyMoney.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/PsiOmegaDelta-MoneyMoneyMoney.yml diff --git a/html/changelogs/PsiOmegaDelta-MoneyMoneyMoney.yml b/html/changelogs/PsiOmegaDelta-MoneyMoneyMoney.yml new file mode 100644 index 0000000000..24faf087bf --- /dev/null +++ b/html/changelogs/PsiOmegaDelta-MoneyMoneyMoney.yml @@ -0,0 +1,4 @@ +author: PsiOmegaDelta +changes: + - tweak: "The amount you start with in your station account is now affected by species, rank, and NT's stance towards you." +delete-after: false From 87d4cf4f682895c1d8bdbd44b6cb1084918ffc1e Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Tue, 7 Jul 2015 16:46:55 +0200 Subject: [PATCH 006/112] Computers are now overlay based. Computers now use an overlay based system, instead of demanding a full set of icons (on, off, broken) for every different computer. Partially ports ParadiseSS13/Paradise#1468 which is a port of tgstation/-tg-station#9931. --- code/game/dna/dna_modifier.dm | 15 +- code/game/machinery/atmo_control.dm | 7 +- .../atmoalter/area_atmos_computer.dm | 5 +- code/game/machinery/computer/Operating.dm | 6 +- code/game/machinery/computer/RCON_Console.dm | 14 +- code/game/machinery/computer/aifixer.dm | 12 +- code/game/machinery/computer/arcade.dm | 4 +- code/game/machinery/computer/atmos_alert.dm | 25 ++- code/game/machinery/computer/atmos_control.dm | 8 +- code/game/machinery/computer/camera.dm | 29 ++-- code/game/machinery/computer/card.dm | 7 +- code/game/machinery/computer/cloning.dm | 17 +- .../game/machinery/computer/communications.dm | 5 +- code/game/machinery/computer/computer.dm | 35 ++-- code/game/machinery/computer/crew.dm | 23 +-- code/game/machinery/computer/guestpass.dm | 3 +- code/game/machinery/computer/law.dm | 12 +- code/game/machinery/computer/lockdown.dm | 153 ------------------ code/game/machinery/computer/medical.dm | 9 +- code/game/machinery/computer/message.dm | 23 ++- code/game/machinery/computer/pod.dm | 6 +- code/game/machinery/computer/prisoner.dm | 5 +- code/game/machinery/computer/prisonshuttle.dm | 5 +- code/game/machinery/computer/robot.dm | 5 +- code/game/machinery/computer/security.dm | 5 +- code/game/machinery/computer/shuttle.dm | 3 +- code/game/machinery/computer/skills.dm | 6 +- .../machinery/computer/specops_shuttle.dm | 3 +- code/game/machinery/computer/station_alert.dm | 18 +-- code/game/machinery/computer/supply.dm | 9 +- .../computer/syndicate_specops_shuttle.dm | 3 +- .../game/machinery/computer3/computers/law.dm | 4 +- code/game/machinery/cryopod.dm | 4 +- code/game/machinery/teleporter.dm | 5 +- code/game/mecha/mech_bay.dm | 2 +- code/game/mecha/mecha_control_console.dm | 2 +- code/modules/holodeck/HolodeckControl.dm | 3 +- .../silicon/robot/drone/drone_console.dm | 2 +- code/modules/shuttles/shuttle_console.dm | 5 +- code/modules/shuttles/shuttles_multi.dm | 33 ++-- code/modules/virus2/diseasesplicer.dm | 3 +- icons/obj/computer.dmi | Bin 73009 -> 40986 bytes 42 files changed, 202 insertions(+), 341 deletions(-) delete mode 100644 code/game/machinery/computer/lockdown.dm diff --git a/code/game/dna/dna_modifier.dm b/code/game/dna/dna_modifier.dm index 120ee88046..544a7c75ee 100644 --- a/code/game/dna/dna_modifier.dm +++ b/code/game/dna/dna_modifier.dm @@ -221,7 +221,8 @@ name = "DNA Modifier Access Console" desc = "Scand DNA." icon = 'icons/obj/computer.dmi' - icon_state = "scanner" + icon_keyboard = "med_key" + icon_screen = "dna" density = 1 circuit = /obj/item/weapon/circuitboard/scan_consolenew var/selected_ui_block = 1.0 @@ -273,21 +274,9 @@ return /obj/machinery/computer/scan_consolenew/blob_act() - if(prob(75)) qdel(src) -/obj/machinery/computer/scan_consolenew/power_change() - ..() - if(stat & BROKEN) - icon_state = "broken" - else - if (stat & NOPOWER) - spawn(rand(0, 15)) - src.icon_state = "c_unpowered" - else - icon_state = initial(icon_state) - /obj/machinery/computer/scan_consolenew/New() ..() for(var/i=0;i<3;i++) diff --git a/code/game/machinery/atmo_control.dm b/code/game/machinery/atmo_control.dm index 09e55720a8..c7b5f3c73a 100644 --- a/code/game/machinery/atmo_control.dm +++ b/code/game/machinery/atmo_control.dm @@ -74,7 +74,8 @@ obj/machinery/air_sensor/Destroy() /obj/machinery/computer/general_air_control icon = 'icons/obj/computer.dmi' - icon_state = "tank" + icon_keyboard = "atmos_key" + icon_screen = "tank" name = "Computer" @@ -158,7 +159,6 @@ obj/machinery/computer/general_air_control/Destroy() /obj/machinery/computer/general_air_control/large_tank_control icon = 'icons/obj/computer.dmi' - icon_state = "tank" frequency = 1441 var/input_tag @@ -278,7 +278,6 @@ Max Output Pressure: [output_pressure] kPa
"} /obj/machinery/computer/general_air_control/supermatter_core icon = 'icons/obj/computer.dmi' - icon_state = "tank" frequency = 1438 var/input_tag @@ -398,7 +397,7 @@ Min Core Pressure: [pressure_limit] kPa
"} /obj/machinery/computer/general_air_control/fuel_injection icon = 'icons/obj/computer.dmi' - icon_state = "atmos" + icon_screen = "alert:0" var/device_tag var/list/device_info diff --git a/code/game/machinery/atmoalter/area_atmos_computer.dm b/code/game/machinery/atmoalter/area_atmos_computer.dm index 984dc44782..99f04ec1fd 100644 --- a/code/game/machinery/atmoalter/area_atmos_computer.dm +++ b/code/game/machinery/atmoalter/area_atmos_computer.dm @@ -1,9 +1,10 @@ /obj/machinery/computer/area_atmos name = "Area Air Control" desc = "A computer used to control the stationary scrubbers and pumps in the area." - icon_state = "area_atmos" + icon_keyboard = "atmos_key" + icon_screen = "area_atmos" light_color = "#e6ffff" - circuit = "/obj/item/weapon/circuitboard/area_atmos" + circuit = /obj/item/weapon/circuitboard/area_atmos var/list/connectedscrubbers = new() var/status = "" diff --git a/code/game/machinery/computer/Operating.dm b/code/game/machinery/computer/Operating.dm index 3f38059618..8427a08418 100644 --- a/code/game/machinery/computer/Operating.dm +++ b/code/game/machinery/computer/Operating.dm @@ -4,9 +4,9 @@ name = "patient monitoring console" density = 1 anchored = 1.0 - icon_state = "operating" - light_color = "#315ab4" - circuit = "/obj/item/weapon/circuitboard/operating" + icon_keyboard = "med_key" + icon_screen = "crew" + circuit = /obj/item/weapon/circuitboard/operating var/mob/living/carbon/human/victim = null var/obj/machinery/optable/table = null diff --git a/code/game/machinery/computer/RCON_Console.dm b/code/game/machinery/computer/RCON_Console.dm index 17d0552779..35ae2d9e4b 100644 --- a/code/game/machinery/computer/RCON_Console.dm +++ b/code/game/machinery/computer/RCON_Console.dm @@ -7,8 +7,8 @@ /obj/machinery/computer/rcon name = "\improper RCON console" desc = "Console used to remotely control machinery on the station." - icon = 'icons/obj/computer.dmi' - icon_state = "ai-fixer" + icon_keyboard = "power_key" + icon_screen = "ai-fixer" light_color = "#a97faa" circuit = /obj/item/weapon/circuitboard/rcon_console req_one_access = list(access_engine) @@ -19,6 +19,11 @@ ..() rcon = new(src) +/obj/machinery/computer/rcon/Destroy() + qdel(rcon) + rcon = null + ..() + // Proc: attack_hand() // Parameters: 1 (user - Person which clicked this computer) // Description: Opens UI of this machine. @@ -31,3 +36,8 @@ // Description: Uses dark magic (NanoUI) to render this machine's UI /obj/machinery/computer/rcon/ui_interact(mob/user, ui_key = "rcon", var/datum/nanoui/ui = null, var/force_open = 1) rcon.ui_interact(user, ui_key, ui, force_open) + +/obj/machinery/computer/rcon/update_icon() + ..() + if(!(stat & (NOPOWER|BROKEN))) + overlays += image('icons/obj/computer.dmi', "ai-fixer-empty", overlay_layer) diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 133a77cd68..e6577f3097 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -1,7 +1,8 @@ /obj/machinery/computer/aifixer name = "\improper AI system integrity restorer" icon = 'icons/obj/computer.dmi' - icon_state = "ai-fixer" + icon_keyboard = "rd_key" + icon_screen = "ai-fixer" light_color = "#a97faa" circuit = /obj/item/weapon/circuitboard/aifixer req_one_access = list(access_robotics, access_heads) @@ -128,16 +129,13 @@ /obj/machinery/computer/aifixer/update_icon() ..() - - overlays.Cut() - if((stat & BROKEN) || (stat & NOPOWER)) return if(occupant) if(occupant.stat) - overlays += image('icons/obj/computer.dmi', "ai-fixer-404") + overlays += image('icons/obj/computer.dmi', "ai-fixer-404", overlay_layer) else - overlays += image('icons/obj/computer.dmi', "ai-fixer-full") + overlays += image('icons/obj/computer.dmi', "ai-fixer-full", overlay_layer) else - overlays += image('icons/obj/computer.dmi', "ai-fixer-empty") + overlays += image('icons/obj/computer.dmi', "ai-fixer-empty", overlay_layer) diff --git a/code/game/machinery/computer/arcade.dm b/code/game/machinery/computer/arcade.dm index f579873701..9ead672048 100644 --- a/code/game/machinery/computer/arcade.dm +++ b/code/game/machinery/computer/arcade.dm @@ -3,7 +3,9 @@ desc = "Does not support pinball." icon = 'icons/obj/computer.dmi' icon_state = "arcade" - circuit = "/obj/item/weapon/circuitboard/arcade" + icon_keyboard = null + icon_screen = "invaders" + circuit = /obj/item/weapon/circuitboard/arcade var/enemy_name = "Space Villian" var/temp = "Winners Don't Use Spacedrugs" //Temporary message, for attack messages, etc var/player_hp = 30 //Player health/attack points diff --git a/code/game/machinery/computer/atmos_alert.dm b/code/game/machinery/computer/atmos_alert.dm index 640eb9c4d2..f4b06aff1c 100644 --- a/code/game/machinery/computer/atmos_alert.dm +++ b/code/game/machinery/computer/atmos_alert.dm @@ -7,8 +7,9 @@ var/global/list/minor_air_alarms = list() /obj/machinery/computer/atmos_alert name = "atmospheric alert computer" desc = "Used to access the station's atmospheric sensors." - circuit = "/obj/item/weapon/circuitboard/atmos_alert" - icon_state = "alert:0" + circuit = /obj/item/weapon/circuitboard/atmos_alert + icon_keyboard = "atmos_key" + icon_screen = "alert:0" light_color = "#e6ffff" /obj/machinery/computer/atmos_alert/New() @@ -44,19 +45,17 @@ var/global/list/minor_air_alarms = list() ui.set_auto_update(1) /obj/machinery/computer/atmos_alert/update_icon() - ..() - if(stat & (NOPOWER|BROKEN)) - return - var/list/alarms = atmosphere_alarm.major_alarms() - if(alarms.len) - icon_state = "alert:2" - else - alarms = atmosphere_alarm.minor_alarms() + if(!(stat & (NOPOWER|BROKEN))) + var/list/alarms = atmosphere_alarm.major_alarms() if(alarms.len) - icon_state = "alert:1" + icon_screen = "alert:2" else - icon_state = initial(icon_state) - return + alarms = atmosphere_alarm.minor_alarms() + if(alarms.len) + icon_screen = "alert:1" + else + icon_screen = initial(icon_screen) + ..() /obj/machinery/computer/atmos_alert/Topic(href, href_list) if(..()) diff --git a/code/game/machinery/computer/atmos_control.dm b/code/game/machinery/computer/atmos_control.dm index c11108b490..5f285f6d45 100644 --- a/code/game/machinery/computer/atmos_control.dm +++ b/code/game/machinery/computer/atmos_control.dm @@ -5,11 +5,12 @@ /obj/machinery/computer/atmoscontrol name = "\improper Central Atmospherics Computer" icon = 'icons/obj/computer.dmi' - icon_state = "computer_generic" + icon_keyboard = "generic_key" + icon_screen = "comm_logs" light_color = "#00b000" density = 1 anchored = 1.0 - circuit = "/obj/item/weapon/circuitboard/atmoscontrol" + circuit = /obj/item/weapon/circuitboard/atmoscontrol req_access = list(access_ce) var/list/monitored_alarm_ids = null var/datum/nano_module/atmos_control/atmos_control @@ -20,7 +21,8 @@ /obj/machinery/computer/atmoscontrol/laptop name = "Atmospherics Laptop" desc = "Cheap Nanotrasen Laptop." - icon_state = "medlaptop" + icon_state = "laptop" + icon_keyboard = "laptop_key" density = 0 /obj/machinery/computer/atmoscontrol/attack_ai(var/mob/user as mob) diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 9c90b5407b..8d85a63224 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -8,7 +8,8 @@ /obj/machinery/computer/security name = "security camera monitor" desc = "Used to access the various cameras on the station." - icon_state = "cameras" + icon_keyboard = "security_key" + icon_screen = "cameras" light_color = "#a91515" var/obj/machinery/camera/current = null var/last_pic = 1.0 @@ -71,7 +72,7 @@ ui.add_template("mapContent", "sec_camera_map_content.tmpl") // adding a template with the key "mapHeader" replaces the map header content ui.add_template("mapHeader", "sec_camera_map_header.tmpl") - + ui.set_initial_data(data) ui.open() ui.set_auto_update(1) @@ -201,23 +202,19 @@ /obj/machinery/computer/security/telescreen name = "Telescreen" desc = "Used for watching an empty arena." - icon = 'icons/obj/stationobjs.dmi' - icon_state = "telescreen" + icon_state = "wallframe" + icon_keyboard = null + icon_screen = null + light_range_on = 0 network = list("thunder") density = 0 circuit = null -/obj/machinery/computer/security/telescreen/update_icon() - icon_state = initial(icon_state) - if(stat & BROKEN) - icon_state += "b" - return - /obj/machinery/computer/security/telescreen/entertainment name = "entertainment monitor" desc = "Damn, why do they never have anything interesting on these things?" icon = 'icons/obj/status_display.dmi' - icon_state = "entertainment" + icon_screen = "entertainment" light_color = "#FFEEDB" light_range_on = 2 circuit = null @@ -225,7 +222,9 @@ /obj/machinery/computer/security/wooden_tv name = "security camera monitor" desc = "An old TV hooked into the stations camera network." - icon_state = "security_det" + icon_state = "television" + icon_keyboard = null + icon_screen = "detective_tv" circuit = null light_color = "#3848B3" light_power_on = 0.5 @@ -233,7 +232,8 @@ /obj/machinery/computer/security/mining name = "outpost camera monitor" desc = "Used to access the various cameras on the outpost." - icon_state = "miningcameras" + icon_keyboard = "mining_key" + icon_screen = "mining" network = list("MINE") circuit = /obj/item/weapon/circuitboard/security/mining light_color = "#F9BBFC" @@ -241,7 +241,8 @@ /obj/machinery/computer/security/engineering name = "engineering camera monitor" desc = "Used to monitor fires and breaches." - icon_state = "engineeringcameras" + icon_keyboard = "power_key" + icon_screen = "engie_cams" circuit = /obj/item/weapon/circuitboard/security/engineering light_color = "#FAC54B" diff --git a/code/game/machinery/computer/card.dm b/code/game/machinery/computer/card.dm index 092307e1b4..e39c1eebe6 100644 --- a/code/game/machinery/computer/card.dm +++ b/code/game/machinery/computer/card.dm @@ -3,10 +3,11 @@ /obj/machinery/computer/card name = "\improper ID card modification console" desc = "Terminal for programming NanoTrasen employee ID cards to access parts of the station." - icon_state = "id" + icon_keyboard = "id_key" + icon_screen = "id" light_color = "#0099ff" req_access = list(access_change_ids) - circuit = "/obj/item/weapon/circuitboard/card" + circuit = /obj/item/weapon/circuitboard/card var/obj/item/weapon/card/id/scan = null var/obj/item/weapon/card/id/modify = null var/mode = 0.0 @@ -284,7 +285,7 @@ /obj/machinery/computer/card/centcom name = "\improper CentCom ID card modification console" - circuit = "/obj/item/weapon/circuitboard/card/centcom" + circuit = /obj/item/weapon/circuitboard/card/centcom req_access = list(access_cent_captain) diff --git a/code/game/machinery/computer/cloning.dm b/code/game/machinery/computer/cloning.dm index 6a274e4db4..857832d2f5 100644 --- a/code/game/machinery/computer/cloning.dm +++ b/code/game/machinery/computer/cloning.dm @@ -1,9 +1,10 @@ /obj/machinery/computer/cloning name = "cloning control console" icon = 'icons/obj/computer.dmi' - icon_state = "dna" + icon_keyboard = "med_key" + icon_screen = "dna" light_color = "#315ab4" - circuit = "/obj/item/weapon/circuitboard/cloning" + circuit = /obj/item/weapon/circuitboard/cloning req_access = list(access_heads) //Only used for record deletion right now. var/obj/machinery/dna_scannernew/scanner = null //Linked scanner. For scanning. var/list/pods = list() //Linked cloning pods. @@ -408,15 +409,3 @@ selected_record = R break return selected_record - -/obj/machinery/computer/cloning/update_icon() - - if(stat & BROKEN) - icon_state = "commb" - else - if(stat & NOPOWER) - src.icon_state = "c_unpowered" - stat |= NOPOWER - else - icon_state = initial(icon_state) - stat &= ~NOPOWER diff --git a/code/game/machinery/computer/communications.dm b/code/game/machinery/computer/communications.dm index 8a8d32a671..360a986afa 100644 --- a/code/game/machinery/computer/communications.dm +++ b/code/game/machinery/computer/communications.dm @@ -4,10 +4,11 @@ /obj/machinery/computer/communications name = "command and communications console" desc = "Used to command and control the station. Can relay long-range communications." - icon_state = "comm" + icon_keyboard = "tech_key" + icon_screen = "comm" light_color = "#0099ff" req_access = list(access_heads) - circuit = "/obj/item/weapon/circuitboard/communications" + circuit = /obj/item/weapon/circuitboard/communications var/prints_intercept = 1 var/authenticated = 0 var/list/messagetitle = list() diff --git a/code/game/machinery/computer/computer.dm b/code/game/machinery/computer/computer.dm index 74edf74ea9..ecd4017aef 100644 --- a/code/game/machinery/computer/computer.dm +++ b/code/game/machinery/computer/computer.dm @@ -1,6 +1,7 @@ /obj/machinery/computer name = "computer" icon = 'icons/obj/computer.dmi' + icon_state = "computer" density = 1 anchored = 1.0 use_power = 1 @@ -9,11 +10,19 @@ var/circuit = null //The path to the circuit board type. If circuit==null, the computer can't be disassembled. var/processing = 0 - var/light_range_on = 3 + var/icon_keyboard = "generic_key" + var/icon_screen = " generic" + var/light_range_on = 2 var/light_power_on = 1 + var/overlay_layer + +/obj/machinery/computer/New() + overlay_layer = layer + ..() /obj/machinery/computer/initialize() power_change() + update_icon() /obj/machinery/computer/process() if(stat & (NOPOWER|BROKEN)) @@ -63,18 +72,22 @@ density = 0 /obj/machinery/computer/update_icon() - ..() - icon_state = initial(icon_state) - // Broken + overlays.Cut() + if(stat & NOPOWER) + set_light(0) + if(icon_keyboard) + overlays += image(icon,"[icon_keyboard]_off", overlay_layer) + return + else + set_light(light_range_on, light_power_on) + if(stat & BROKEN) - icon_state += "b" - - // Powered - else if(stat & NOPOWER) - icon_state = initial(icon_state) - icon_state += "0" - + overlays += image(icon,"[icon_state]_broken", overlay_layer) + else + overlays += image(icon,icon_screen, overlay_layer) + if(icon_keyboard) + overlays += image(icon, icon_keyboard, overlay_layer) /obj/machinery/computer/power_change() ..() diff --git a/code/game/machinery/computer/crew.dm b/code/game/machinery/computer/crew.dm index 6df502891f..0c6c33928a 100644 --- a/code/game/machinery/computer/crew.dm +++ b/code/game/machinery/computer/crew.dm @@ -1,24 +1,27 @@ /obj/machinery/computer/crew name = "crew monitoring computer" desc = "Used to monitor active health sensors built into most of the crew's uniforms." - icon_state = "crew" + icon_keyboard = "med_key" + icon_screen = "crew" light_color = "#315ab4" use_power = 1 idle_power_usage = 250 active_power_usage = 500 - circuit = "/obj/item/weapon/circuitboard/crew" + circuit = /obj/item/weapon/circuitboard/crew var/datum/nano_module/crew_monitor/crew_monitor /obj/machinery/computer/crew/New() crew_monitor = new(src) ..() +/obj/machinery/computer/crew/Destroy() + qdel(crew_monitor) + crew_monitor = null + ..() /obj/machinery/computer/crew/attack_ai(mob/user) - attack_hand(user) ui_interact(user) - /obj/machinery/computer/crew/attack_hand(mob/user) add_fingerprint(user) if(stat & (BROKEN|NOPOWER)) @@ -28,17 +31,5 @@ /obj/machinery/computer/crew/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) crew_monitor.ui_interact(user, ui_key, ui, force_open) -/obj/machinery/computer/crew/update_icon() - - if(stat & BROKEN) - icon_state = "crewb" - else - if(stat & NOPOWER) - src.icon_state = "c_unpowered" - stat |= NOPOWER - else - icon_state = initial(icon_state) - stat &= ~NOPOWER - /obj/machinery/computer/crew/interact(mob/user) crew_monitor.ui_interact(user) diff --git a/code/game/machinery/computer/guestpass.dm b/code/game/machinery/computer/guestpass.dm index dc28c5c5dc..7258fc543b 100644 --- a/code/game/machinery/computer/guestpass.dm +++ b/code/game/machinery/computer/guestpass.dm @@ -43,9 +43,10 @@ /obj/machinery/computer/guestpass name = "guest pass terminal" icon_state = "guest" + icon_keyboard = null + icon_screen = "pass" density = 0 - var/obj/item/weapon/card/id/giver var/list/accesses = list() var/giv_name = "NOT SPECIFIED" diff --git a/code/game/machinery/computer/law.dm b/code/game/machinery/computer/law.dm index a64fca5d4a..abbf65b44f 100644 --- a/code/game/machinery/computer/law.dm +++ b/code/game/machinery/computer/law.dm @@ -3,8 +3,9 @@ /obj/machinery/computer/aiupload name = "\improper AI upload console" desc = "Used to upload laws to the AI." - icon_state = "command" - circuit = "/obj/item/weapon/circuitboard/aiupload" + icon_keyboard = "rd_key" + icon_screen = "command" + circuit = /obj/item/weapon/circuitboard/aiupload var/mob/living/silicon/ai/current = null var/opened = 0 @@ -50,7 +51,7 @@ else usr << "[src.current.name] selected for law changes." return - + attack_ghost(user as mob) return 1 @@ -58,8 +59,9 @@ /obj/machinery/computer/borgupload name = "cyborg upload console" desc = "Used to upload laws to Cyborgs." - icon_state = "command" - circuit = "/obj/item/weapon/circuitboard/borgupload" + icon_keyboard = "rd_key" + icon_screen = "command" + circuit = /obj/item/weapon/circuitboard/borgupload var/mob/living/silicon/robot/current = null diff --git a/code/game/machinery/computer/lockdown.dm b/code/game/machinery/computer/lockdown.dm deleted file mode 100644 index fd702e5510..0000000000 --- a/code/game/machinery/computer/lockdown.dm +++ /dev/null @@ -1,153 +0,0 @@ -//this computer displays status and remotely activates multiple shutters / blast doors -//todo: lock / electrify specified area doors? might be a bit gamebreaking - -/obj/machinery/computer/lockdown - //for reference - /*name = "lockdown control" - desc = "Used to control blast doors." - icon_state = "lockdown" - circuit = "/obj/item/weapon/circuitboard/lockdown" - var/connected_doors - var/department*/ - var/list/displayedNetworks - - New() - ..() - connected_doors = new/list() - displayedNetworks = new/list() - //only load blast doors for map-defined departments for the moment - //door networks are hardcoded here. - switch(department) - if("Engineering") - connected_doors.Add("Engineering") - //Antiqua Engineering - connected_doors.Add("Reactor core") - connected_doors.Add("Control Room") - connected_doors.Add("Vent Seal") - connected_doors.Add("Rig Storage") - connected_doors.Add("Fore Port Shutters") - connected_doors.Add("Fore Starboard Shutters") - connected_doors.Add("Electrical Storage Shutters") - connected_doors.Add("Locker Room Shutters") - connected_doors.Add("Breakroom Shutters") - connected_doors.Add("Observation Shutters") - //exodus engineering - if("Medbay") - //Exodus Medbay - connected_doors.Add("Genetics Outer Shutters") - connected_doors.Add("Genetics Inner Shutters") - connected_doors.Add("Chemistry Outer Shutters") - connected_doors.Add("Observation Shutters") - connected_doors.Add("Patient Room 1 Shutters") - connected_doors.Add("Patient Room 2 Shutters") - connected_doors.Add("Patient Room 3 Shutters") - - for(var/net in connected_doors) - connected_doors[net] = new/list() - - //loop through the world, grabbing all the relevant doors - spawn(1) - ConnectDoors() - - proc/ConnectDoors() - for(var/list/L in connected_doors) - for(var/item in L) - L.Remove(item) - // - for(var/obj/machinery/door/poddoor/D in world) - if(D.network in connected_doors) - var/list/L = connected_doors[D.network] - L.Add(D) - - attack_ai(mob/user) - attack_hand(user) - - attack_hand(mob/user) - add_fingerprint(user) - if(stat & (BROKEN|NOPOWER)) - return - - if ( (get_dist(src, user) > 1 ) || (stat & (BROKEN|NOPOWER)) ) - if (!istype(user, /mob/living/silicon)) - user.machine = null - user << browse(null, "window=lockdown") - return - - var/t = "Lockdown Control
" - t += "Refresh
" - t += "Close
" - t += "" - var/empty = 1 - for(var/curNetId in connected_doors) - var/list/L = connected_doors[curNetId] - if(!L || L.len == 0) - continue - empty = 0 - t += "" - if(curNetId in displayedNetworks) - t += "" - t += "" - t += "" - - for(var/obj/machinery/door/poddoor/D in connected_doors[curNetId]) - t += "" - t += "" - - if(istype(D,/obj/machinery/door/poddoor/shutters)) - t += "" - else - t += "" - t += "" - t += "" - else - t += "" - t += "
\[-\] " + curNetId + "Open all / Close all
[D.id]Shutter ([D.density ? "Closed" : "Open"])Blast door ([D.density ? "Closed" : "Open"])Toggle
\[+\] " + curNetId + "
" - if(empty) - t += "No networks connected.
" - t += "Refresh
" - t += "Close
" - user << browse(t, "window=lockdown;size=550x600") - onclose(user, "lockdown") - - Topic(href, href_list) - if(..()) return 1 - - if( href_list["close"] ) - usr << browse(null, "window=lockdown") - usr.machine = null - - if( href_list["show_net"] ) - displayedNetworks.Add(href_list["show_net"]) - updateDialog() - - if( href_list["hide_net"] ) - if(href_list["hide_net"] in displayedNetworks) - displayedNetworks.Remove(href_list["hide_net"]) - updateDialog() - - if( href_list["toggle_id"] ) - var/idTag = href_list["toggle_id"] - for(var/net in connected_doors) - for(var/obj/machinery/door/poddoor/D in connected_doors[net]) - if(D.id == idTag) - if(D.density) - D.open() - else - D.close() - break - - if( href_list["open_net"] ) - var/netTag = href_list["open_net"] - for(var/obj/machinery/door/poddoor/D in connected_doors[netTag]) - if(D.density) //for some reason, there's no var saying whether the door is open or not >.> - spawn(0) - D.open() - - if( href_list["close_net"] ) - var/netTag = href_list["close_net"] - for(var/obj/machinery/door/poddoor/D in connected_doors[netTag]) - if(!D.density) - spawn(0) - D.close() - - src.updateDialog() diff --git a/code/game/machinery/computer/medical.dm b/code/game/machinery/computer/medical.dm index 65322b741d..92d9e9a83f 100644 --- a/code/game/machinery/computer/medical.dm +++ b/code/game/machinery/computer/medical.dm @@ -3,10 +3,11 @@ /obj/machinery/computer/med_data//TODO:SANITY name = "medical records console" desc = "Used to view, edit and maintain medical records." - icon_state = "medcomp" + icon_keyboard = "med_key" + icon_screen = "medcomp" light_color = "#315ab4" req_one_access = list(access_medical, access_forensics_lockers) - circuit = "/obj/item/weapon/circuitboard/med_data" + circuit = /obj/item/weapon/circuitboard/med_data var/obj/item/weapon/card/id/scan = null var/authenticated = null var/rank = null @@ -552,4 +553,6 @@ /obj/machinery/computer/med_data/laptop name = "Medical Laptop" desc = "Cheap Nanotrasen Laptop." - icon_state = "medlaptop" + icon_state = "laptop" + icon_keyboard = "laptop_key" + icon_screen = "medlaptop" diff --git a/code/game/machinery/computer/message.dm b/code/game/machinery/computer/message.dm index 779e2a1460..a94da0ff26 100644 --- a/code/game/machinery/computer/message.dm +++ b/code/game/machinery/computer/message.dm @@ -3,11 +3,10 @@ /obj/machinery/computer/message_monitor name = "messaging monitor console" desc = "Used to access and maintain data on messaging servers. Allows you to view PDA and request console messages." - icon_state = "comm_logs" + icon_screen = "comm_logs" light_color = "#00b000" - var/hack_icon = "comm_logsc" - var/normal_icon = "comm_logs" - circuit = "/obj/item/weapon/circuitboard/message_monitor" + var/hack_icon = "error" + circuit = /obj/item/weapon/circuitboard/message_monitor //Server linked to. var/obj/machinery/message_server/linkedServer = null //Sparks effect - For emag @@ -50,7 +49,6 @@ // It'll take more time if there's more characters in the password.. if(!emag && operable()) if(!isnull(src.linkedServer)) - icon_state = hack_icon // An error screen I made in the computers.dmi emag = 1 screen = 2 spark_system.set_up(5, 0, src) @@ -61,18 +59,17 @@ MK.info += "

£%@%(*$%&(£&?*(%&£/{}" spawn(100*length(src.linkedServer.decryptkey)) UnmagConsole() message = rebootmsg + update_icon() return 1 else user << "A no server error appears on the screen." /obj/machinery/computer/message_monitor/update_icon() - ..() - if(stat & (NOPOWER|BROKEN)) - return if(emag || hacking) - icon_state = hack_icon + icon_screen = hack_icon else - icon_state = normal_icon + icon_screen = initial(icon_screen) + ..() /obj/machinery/computer/message_monitor/initialize() //Is the server isn't linked to a server, and there's a server available, default it to the first one in the list. @@ -271,12 +268,12 @@ var/currentKey = src.linkedServer.decryptkey user << "Brute-force completed! The key is '[currentKey]'." src.hacking = 0 - src.icon_state = normal_icon + update_icon() src.screen = 0 // Return the screen back to normal /obj/machinery/computer/message_monitor/proc/UnmagConsole() - src.icon_state = normal_icon src.emag = 0 + update_icon() /obj/machinery/computer/message_monitor/proc/ResetMessage() customsender = "System Administrator" @@ -368,7 +365,7 @@ if((istype(usr, /mob/living/silicon/ai) || istype(usr, /mob/living/silicon/robot)) && (usr.mind.special_role && usr.mind.original == usr)) src.hacking = 1 src.screen = 2 - src.icon_state = hack_icon + update_icon() //Time it takes to bruteforce is dependant on the password length. spawn(100*length(src.linkedServer.decryptkey)) if(src && src.linkedServer && usr) diff --git a/code/game/machinery/computer/pod.dm b/code/game/machinery/computer/pod.dm index 2acf157577..8db5ebd1b8 100644 --- a/code/game/machinery/computer/pod.dm +++ b/code/game/machinery/computer/pod.dm @@ -3,7 +3,7 @@ /obj/machinery/computer/pod name = "pod launch control console" desc = "A control console for launching pods. Some people prefer firing Mechas." - icon_state = "computer_generic" + icon_screen = "mass_driver" light_color = "#00b000" circuit = /obj/item/weapon/circuitboard/pod var/id = 1.0 @@ -194,7 +194,9 @@ /obj/machinery/computer/pod/old - icon_state = "old" + icon_state = "oldcomp" + icon_keyboard = null + icon_screen = "library" name = "DoorMex Control Computer" title = "Door Controls" diff --git a/code/game/machinery/computer/prisoner.dm b/code/game/machinery/computer/prisoner.dm index af0105ca5b..1551e0df6e 100644 --- a/code/game/machinery/computer/prisoner.dm +++ b/code/game/machinery/computer/prisoner.dm @@ -3,10 +3,11 @@ /obj/machinery/computer/prisoner name = "prisoner management console" icon = 'icons/obj/computer.dmi' - icon_state = "explosive" + icon_keyboard = "security_key" + icon_screen = "explosive" light_color = "#a91515" req_access = list(access_armory) - circuit = "/obj/item/weapon/circuitboard/prisoner" + circuit = /obj/item/weapon/circuitboard/prisoner var/id = 0.0 var/temp = null var/status = 0 diff --git a/code/game/machinery/computer/prisonshuttle.dm b/code/game/machinery/computer/prisonshuttle.dm index f33e3af833..c2c4598706 100644 --- a/code/game/machinery/computer/prisonshuttle.dm +++ b/code/game/machinery/computer/prisonshuttle.dm @@ -13,10 +13,11 @@ var/prison_shuttle_timeleft = 0 /obj/machinery/computer/prison_shuttle name = "prison shuttle control console" icon = 'icons/obj/computer.dmi' - icon_state = "shuttle" + icon_keyboard = "security_key" + icon_screen = "syndishuttle" light_color = "#00ffff" req_access = list(access_security) - circuit = "/obj/item/weapon/circuitboard/prison_shuttle" + circuit = /obj/item/weapon/circuitboard/prison_shuttle var/temp = null var/hacked = 0 var/allowedtocall = 0 diff --git a/code/game/machinery/computer/robot.dm b/code/game/machinery/computer/robot.dm index 3f6f8b54bc..5c09c08e21 100644 --- a/code/game/machinery/computer/robot.dm +++ b/code/game/machinery/computer/robot.dm @@ -2,10 +2,11 @@ name = "robotics control console" desc = "Used to remotely lockdown or detonate linked cyborgs." icon = 'icons/obj/computer.dmi' - icon_state = "robot" + icon_keyboard = "tech_key" + icon_screen = "robot" light_color = "#a97faa" req_access = list(access_robotics) - circuit = "/obj/item/weapon/circuitboard/robotics" + circuit = /obj/item/weapon/circuitboard/robotics var/safety = 1 diff --git a/code/game/machinery/computer/security.dm b/code/game/machinery/computer/security.dm index 8534128fb7..f423600495 100644 --- a/code/game/machinery/computer/security.dm +++ b/code/game/machinery/computer/security.dm @@ -3,10 +3,11 @@ /obj/machinery/computer/secure_data//TODO:SANITY name = "security records console" desc = "Used to view, edit and maintain security records" - icon_state = "security" + icon_keyboard = "security_key" + icon_screen = "security" light_color = "#a91515" req_one_access = list(access_security, access_forensics_lockers) - circuit = "/obj/item/weapon/circuitboard/secure_data" + circuit = /obj/item/weapon/circuitboard/secure_data var/obj/item/weapon/card/id/scan = null var/authenticated = null var/rank = null diff --git a/code/game/machinery/computer/shuttle.dm b/code/game/machinery/computer/shuttle.dm index f89fce4bbe..18729f2ef6 100644 --- a/code/game/machinery/computer/shuttle.dm +++ b/code/game/machinery/computer/shuttle.dm @@ -1,7 +1,8 @@ /obj/machinery/computer/shuttle name = "Shuttle" desc = "For shuttle control." - icon_state = "shuttle" + icon_keyboard = "tech_key" + icon_screen = "shuttle" light_color = "#00ffff" var/auth_need = 3.0 var/list/authorized = list( ) diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm index 422e397a0e..939e1b228b 100644 --- a/code/game/machinery/computer/skills.dm +++ b/code/game/machinery/computer/skills.dm @@ -3,10 +3,12 @@ /obj/machinery/computer/skills//TODO:SANITY name = "employment records console" desc = "Used to view, edit and maintain employment records." - icon_state = "medlaptop" + icon_keyboard = "laptop_key" + icon_screen = "medlaptop" + icon_state = "laptop" light_color = "#00b000" req_one_access = list(access_heads) - circuit = "/obj/item/weapon/circuitboard/skills" + circuit = /obj/item/weapon/circuitboard/skills var/obj/item/weapon/card/id/scan = null var/authenticated = null var/rank = null diff --git a/code/game/machinery/computer/specops_shuttle.dm b/code/game/machinery/computer/specops_shuttle.dm index e48a71b89f..8ac4f32c9c 100644 --- a/code/game/machinery/computer/specops_shuttle.dm +++ b/code/game/machinery/computer/specops_shuttle.dm @@ -14,7 +14,8 @@ var/specops_shuttle_timeleft = 0 /obj/machinery/computer/specops_shuttle name = "special operations shuttle control console" icon = 'icons/obj/computer.dmi' - icon_state = "shuttle" + icon_keyboard = "security_key" + icon_screen = "syndishuttle" light_color = "#00ffff" req_access = list(access_cent_specops) // req_access = list(ACCESS_CENT_SPECOPS) diff --git a/code/game/machinery/computer/station_alert.dm b/code/game/machinery/computer/station_alert.dm index ea0952e9f7..22c97a955a 100644 --- a/code/game/machinery/computer/station_alert.dm +++ b/code/game/machinery/computer/station_alert.dm @@ -2,7 +2,8 @@ /obj/machinery/computer/station_alert name = "Station Alert Console" desc = "Used to access the station's automated alert system." - icon_state = "alert:0" + icon_keyboard = "tech_key" + icon_screen = "alert:0" light_color = "#e6ffff" circuit = /obj/item/weapon/circuitboard/stationalert_engineering var/datum/nano_module/alarm_monitor/alarm_monitor @@ -44,13 +45,10 @@ alarm_monitor.ui_interact(user) /obj/machinery/computer/station_alert/update_icon() + if(!(stat & (BROKEN|NOPOWER))) + var/list/alarms = alarm_monitor.major_alarms() + if(alarms.len) + icon_screen = "alert:2" + else + icon_screen = initial(icon_screen) ..() - if(stat & (BROKEN|NOPOWER)) - return - - var/list/alarms = alarm_monitor.major_alarms() - if(alarms.len) - icon_state = "alert:2" - else - icon_state = initial(icon_state) - return diff --git a/code/game/machinery/computer/supply.dm b/code/game/machinery/computer/supply.dm index 07b4e007a3..a8a4591ee2 100644 --- a/code/game/machinery/computer/supply.dm +++ b/code/game/machinery/computer/supply.dm @@ -1,10 +1,11 @@ /obj/machinery/computer/supplycomp name = "supply control console" icon = 'icons/obj/computer.dmi' - icon_state = "supply" + icon_keyboard = "tech_key" + icon_screen = "supply" light_color = "#b88b2e" req_access = list(access_cargo) - circuit = "/obj/item/weapon/circuitboard/supplycomp" + circuit = /obj/item/weapon/circuitboard/supplycomp var/temp = null var/reqtime = 0 //Cooldown for requisitions - Quarxink var/hacked = 0 @@ -14,8 +15,8 @@ /obj/machinery/computer/ordercomp name = "supply ordering console" icon = 'icons/obj/computer.dmi' - icon_state = "request" - circuit = "/obj/item/weapon/circuitboard/ordercomp" + icon_screen = "request" + circuit = /obj/item/weapon/circuitboard/ordercomp var/temp = null var/reqtime = 0 //Cooldown for requisitions - Quarxink var/last_viewed_group = "categories" diff --git a/code/game/machinery/computer/syndicate_specops_shuttle.dm b/code/game/machinery/computer/syndicate_specops_shuttle.dm index 333584a921..ce30dbb411 100644 --- a/code/game/machinery/computer/syndicate_specops_shuttle.dm +++ b/code/game/machinery/computer/syndicate_specops_shuttle.dm @@ -13,7 +13,8 @@ var/syndicate_elite_shuttle_timeleft = 0 /obj/machinery/computer/syndicate_elite_shuttle name = "elite syndicate squad shuttle control console" icon = 'icons/obj/computer.dmi' - icon_state = "syndishuttle" + icon_keyboard = "syndie_key" + icon_screen = "syndishuttle" light_color = "#00ffff" req_access = list(access_cent_specops) var/temp = null diff --git a/code/game/machinery/computer3/computers/law.dm b/code/game/machinery/computer3/computers/law.dm index 40b4bb8849..7d9b47ff0b 100644 --- a/code/game/machinery/computer3/computers/law.dm +++ b/code/game/machinery/computer3/computers/law.dm @@ -4,7 +4,7 @@ name = "AI Upload" desc = "Used to upload laws to the AI." icon_state = "frame-rnd" - circuit = "/obj/item/part/board/circuit/aiupload" + circuit = /obj/item/weapon/circuitboard/aiupload var/mob/living/silicon/ai/current = null var/opened = 0 @@ -56,7 +56,7 @@ name = "Cyborg Upload" desc = "Used to upload laws to Cyborgs." icon_state = "frame-rnd" - circuit = "/obj/item/part/board/circuit/borgupload" + circuit = /obj/item/weapon/circuitboard/borgupload var/mob/living/silicon/robot/current = null diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index 56b7b241c1..28666ad1f4 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -14,7 +14,7 @@ desc = "An interface between crew and the cryogenic storage oversight systems." icon = 'icons/obj/Cryogenic2.dmi' icon_state = "cellconsole" - circuit = "/obj/item/weapon/circuitboard/cryopodcontrol" + circuit = /obj/item/weapon/circuitboard/cryopodcontrol density = 0 interact_offline = 1 var/mode = null @@ -32,7 +32,7 @@ desc = "An interface between crew and the robotic storage systems" icon = 'icons/obj/robot_storage.dmi' icon_state = "console" - circuit = "/obj/item/weapon/circuitboard/robotstoragecontrol" + circuit = /obj/item/weapon/circuitboard/robotstoragecontrol storage_type = "cyborgs" storage_name = "Robotic Storage Control" diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 72687194f5..63336d5dfd 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -1,8 +1,9 @@ /obj/machinery/computer/teleporter name = "Teleporter Control Console" desc = "Used to control a linked teleportation Hub and Station." - icon_state = "teleport" - circuit = "/obj/item/weapon/circuitboard/teleporter" + icon_keyboard = "teleport_key" + icon_screen = "teleport" + circuit = /obj/item/weapon/circuitboard/teleporter dir = 4 var/obj/item/locked = null var/id = null diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index 615261bc5f..bb7f1e3529 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -140,7 +140,7 @@ icon = 'icons/obj/computer.dmi' icon_state = "recharge_comp" light_color = "#a97faa" - circuit = "/obj/item/weapon/circuitboard/mech_bay_power_console" + circuit = /obj/item/weapon/circuitboard/mech_bay_power_console var/autostart = 1 var/voltage = 45 var/turf/simulated/floor/mech_bay_recharge_floor/recharge_floor diff --git a/code/game/mecha/mecha_control_console.dm b/code/game/mecha/mecha_control_console.dm index 3a3e48d154..5a242ed60f 100644 --- a/code/game/mecha/mecha_control_console.dm +++ b/code/game/mecha/mecha_control_console.dm @@ -4,7 +4,7 @@ icon_state = "mecha" light_color = "#a97faa" req_access = list(access_robotics) - circuit = "/obj/item/weapon/circuitboard/mecha_control" + circuit = /obj/item/weapon/circuitboard/mecha_control var/list/located = list() var/screen = 0 var/stored_data diff --git a/code/modules/holodeck/HolodeckControl.dm b/code/modules/holodeck/HolodeckControl.dm index f14cdb8ebc..b516186f77 100644 --- a/code/modules/holodeck/HolodeckControl.dm +++ b/code/modules/holodeck/HolodeckControl.dm @@ -1,7 +1,8 @@ /obj/machinery/computer/HolodeckControl name = "holodeck control console" desc = "A computer used to control a nearby holodeck." - icon_state = "holocontrol" + icon_keyboard = "tech_key" + icon_screen = "holocontrol" use_power = 1 active_power_usage = 8000 //8kW for the scenery + 500W per holoitem diff --git a/code/modules/mob/living/silicon/robot/drone/drone_console.dm b/code/modules/mob/living/silicon/robot/drone/drone_console.dm index c707f85c68..dcca3d1196 100644 --- a/code/modules/mob/living/silicon/robot/drone/drone_console.dm +++ b/code/modules/mob/living/silicon/robot/drone/drone_console.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/computer.dmi' icon_state = "power" req_access = list(access_engine_equip) - circuit = "/obj/item/weapon/circuitboard/drone_control" + circuit = /obj/item/weapon/circuitboard/drone_control //Used when pinging drones. var/drone_call_area = "Engineering" diff --git a/code/modules/shuttles/shuttle_console.dm b/code/modules/shuttles/shuttle_console.dm index 3ee70b12c7..b60e5e5234 100644 --- a/code/modules/shuttles/shuttle_console.dm +++ b/code/modules/shuttles/shuttle_console.dm @@ -1,7 +1,8 @@ /obj/machinery/computer/shuttle_control name = "shuttle control console" icon = 'icons/obj/computer.dmi' - icon_state = "shuttle" + icon_keyboard = "atmos_key" + icon_screen = "shuttle" circuit = null var/shuttle_tag // Used to coordinate data in shuttle controller. @@ -15,7 +16,7 @@ if(!allowed(user)) user << "\red Access Denied." return 1 - + ui_interact(user) /obj/machinery/computer/shuttle_control/ui_interact(mob/user, ui_key = "main", var/datum/nanoui/ui = null, var/force_open = 1) diff --git a/code/modules/shuttles/shuttles_multi.dm b/code/modules/shuttles/shuttles_multi.dm index 141cf97d8a..7bdac463eb 100644 --- a/code/modules/shuttles/shuttles_multi.dm +++ b/code/modules/shuttles/shuttles_multi.dm @@ -34,12 +34,12 @@ destination_dock_controllers[destination] = docking_controller else var/datum/computer/file/embedded_program/docking/C = locate(controller_tag) - + if(!istype(C)) world << "warning: shuttle with docking tag [controller_tag] could not find it's controller!" else destination_dock_controllers[destination] = C - + //might as well set this up here. if(origin) last_departed = origin last_location = start_location @@ -70,7 +70,8 @@ /obj/machinery/computer/shuttle_control/multi - icon_state = "syndishuttle" + icon_keyboard = "syndie_key" + icon_screen = "syndishuttle" /obj/machinery/computer/shuttle_control/multi/attack_hand(user as mob) @@ -99,7 +100,7 @@ dat += "
Toggle cloaking field
" dat += "Move ship
" dat += "Return to base" - + //Docking dat += "


" if(MS.skip_docking_checks()) @@ -107,7 +108,7 @@ else var/override_en = MS.docking_controller.override_enabled var/docking_status = MS.docking_controller.get_docking_status() - + dat += "Docking Status: " switch(docking_status) if("undocked") @@ -118,11 +119,11 @@ dat += "Undocking" if("docked") dat += "Docked" - + if(override_en) dat += " (Override Enabled)" - + dat += ". \[Refresh\]

" - + switch(docking_status) if("undocked") dat += "Dock
" @@ -139,11 +140,11 @@ var/choice = alert("The shuttle is currently docked! Please undock before continuing.","Error","Cancel","Force Launch") if(choice == "Cancel") return 0 - + choice = alert("Forcing a shuttle launch while docked may result in severe injury, death and/or damage to property. Are you sure you wish to continue?", "Force Launch", "Force Launch", "Cancel") if(choice == "Cancel") return 0 - + return 1 /obj/machinery/computer/shuttle_control/multi/Topic(href, href_list) @@ -165,11 +166,11 @@ if (MS.moving_status != SHUTTLE_IDLE) usr << "\blue [shuttle_tag] vessel is moving." return - + if(href_list["dock_command"]) MS.dock() return - + if(href_list["undock_command"]) MS.undock() return @@ -178,7 +179,7 @@ if(MS.at_origin) usr << "\red You are already at your home base." return - + if((MS.last_move + MS.cooldown*10) > world.time) usr << "\red The ship's drive is inoperable while the engines are charging." return @@ -186,7 +187,7 @@ if(!check_docking(MS)) updateUsrDialog() return - + if(!MS.return_warning) usr << "\red Returning to your home base will end your mission. If you are sure, press the button again." //TODO: Actually end the mission. @@ -207,11 +208,11 @@ if((MS.last_move + MS.cooldown*10) > world.time) usr << "\red The ship's drive is inoperable while the engines are charging." return - + if(!check_docking(MS)) updateUsrDialog() return - + var/choice = input("Select a destination.") as null|anything in MS.destinations if(!choice) return diff --git a/code/modules/virus2/diseasesplicer.dm b/code/modules/virus2/diseasesplicer.dm index 4ff37034b7..7162144861 100644 --- a/code/modules/virus2/diseasesplicer.dm +++ b/code/modules/virus2/diseasesplicer.dm @@ -1,7 +1,8 @@ /obj/machinery/computer/diseasesplicer name = "disease splicer" icon = 'icons/obj/computer.dmi' - icon_state = "crew" + icon_keyboard = "med_key" + icon_screen = "crew" var/datum/disease2/effectholder/memorybank = null var/list/species_buffer = null diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index 2bb7d3998301f6d47452a9e4fd65a85bb9eeb09c..960e802b06e07b98d7bfb44483cffe8cc1f62d18 100644 GIT binary patch literal 40986 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 literal 73009 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⋘Lh?8iKn2+gM6hKB(yf_a@y^Q>Z!)MBCZU8q>3 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 A!~g&Q From aeb15a85bea48742441c248035d651e38d58190b Mon Sep 17 00:00:00 2001 From: PsiOmega Date: Tue, 7 Jul 2015 17:24:10 +0200 Subject: [PATCH 007/112] Adds missing R&D screens. Fixes the employee computer by cheating. --- code/game/machinery/computer/skills.dm | 4 +++- code/game/mecha/mech_bay.dm | 30 ++++---------------------- code/modules/research/rdconsole.dm | 9 ++++---- code/modules/research/server.dm | 7 +++--- 4 files changed, 16 insertions(+), 34 deletions(-) diff --git a/code/game/machinery/computer/skills.dm b/code/game/machinery/computer/skills.dm index 939e1b228b..7fdbff61f9 100644 --- a/code/game/machinery/computer/skills.dm +++ b/code/game/machinery/computer/skills.dm @@ -5,7 +5,6 @@ desc = "Used to view, edit and maintain employment records." icon_keyboard = "laptop_key" icon_screen = "medlaptop" - icon_state = "laptop" light_color = "#00b000" req_one_access = list(access_heads) circuit = /obj/item/weapon/circuitboard/skills @@ -24,6 +23,9 @@ var/sortBy = "name" var/order = 1 // -1 = Descending - 1 = Ascending +/obj/machinery/computer/skills/New() + ..() + icon_state = "laptop" /obj/machinery/computer/skills/attackby(obj/item/O as obj, user as mob) if(istype(O, /obj/item/weapon/card/id) && !scan) diff --git a/code/game/mecha/mech_bay.dm b/code/game/mecha/mech_bay.dm index bb7f1e3529..7dc6f561ee 100644 --- a/code/game/mecha/mech_bay.dm +++ b/code/game/mecha/mech_bay.dm @@ -83,7 +83,7 @@ /obj/machinery/mech_bay_recharge_port/proc/stop_charge() if(recharge_console && !recharge_console.stat) - recharge_console.icon_state = initial(recharge_console.icon_state) + recharge_console.icon_screen = initial(recharge_console.icon_screen) pr_recharger.stop() return @@ -137,8 +137,8 @@ name = "Mech Bay Power Control Console" density = 1 anchored = 1 - icon = 'icons/obj/computer.dmi' - icon_state = "recharge_comp" + icon_keyboard = "tech_key" + icon_screen = "recharge_comp" light_color = "#a97faa" circuit = /obj/item/weapon/circuitboard/mech_bay_power_console var/autostart = 1 @@ -154,7 +154,7 @@ var/answer = recharge_port.start_charge(mecha) if(answer) recharge_port.set_voltage(voltage) - src.icon_state = initial(src.icon_state)+"_on" + src.icon_screen = initial(src.icon_screen)+"_on" return /obj/machinery/computer/mech_bay_power_console/proc/mecha_out() @@ -162,28 +162,6 @@ recharge_port.stop_charge() return - -/obj/machinery/computer/mech_bay_power_console/power_change() - if(stat & BROKEN) - icon_state = initial(icon_state)+"_broken" - if(recharge_port) - recharge_port.stop_charge() - else if(powered()) - icon_state = initial(icon_state) - stat &= ~NOPOWER - else - spawn(rand(0, 15)) - icon_state = initial(icon_state)+"_nopower" - stat |= NOPOWER - if(recharge_port) - recharge_port.stop_charge() - -/obj/machinery/computer/mech_bay_power_console/set_broken() - icon_state = initial(icon_state)+"_broken" - stat |= BROKEN - if(recharge_port) - recharge_port.stop_charge() - /obj/machinery/computer/mech_bay_power_console/attack_hand(mob/user as mob) if(..()) return diff --git a/code/modules/research/rdconsole.dm b/code/modules/research/rdconsole.dm index 6311470641..da1eda9d48 100644 --- a/code/modules/research/rdconsole.dm +++ b/code/modules/research/rdconsole.dm @@ -29,7 +29,8 @@ won't update every console in existence) but it's more of a hassle to do. Also, /obj/machinery/computer/rdconsole name = "R&D control console" - icon_state = "rdcomp" + icon_keyboard = "rd_key" + icon_screen = "rdcomp" light_color = "#a97faa" circuit = /obj/item/weapon/circuitboard/rdconsole var/datum/research/files //Stores all the collected research data. @@ -151,7 +152,7 @@ won't update every console in existence) but it's more of a hassle to do. Also, src.updateUsrDialog() return - + /obj/machinery/computer/rdconsole/emp_act(var/remaining_charges, var/mob/user) if(!emagged) playsound(src.loc, 'sound/effects/sparks4.ogg', 75, 1) @@ -259,9 +260,9 @@ won't update every console in existence) but it's more of a hassle to do. Also, linked_destroy.loaded_item = null for(var/obj/I in linked_destroy.contents) for(var/mob/M in I.contents) - M.death() + M.death() if(istype(I,/obj/item/stack/material))//Only deconsturcts one sheet at a time instead of the entire stack - var/obj/item/stack/material/S = I + var/obj/item/stack/material/S = I if(S.get_amount() > 1) S.use(1) linked_destroy.loaded_item = S diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 893ef3383f..6553820f5b 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -119,8 +119,8 @@ if(default_deconstruction_screwdriver(user, O)) return if(default_deconstruction_crowbar(user, O)) - return - if(default_part_replacement(user, O)) + return + if(default_part_replacement(user, O)) return /obj/machinery/r_n_d/server/centcom @@ -155,7 +155,8 @@ /obj/machinery/computer/rdservercontrol name = "R&D Server Controller" - icon_state = "rdcomp" + icon_keyboard = "rd_key" + icon_screen = "rdcomp" light_color = "#a97faa" circuit = /obj/item/weapon/circuitboard/rdservercontrol var/screen = 0 From 471ee6a763f2798474635416ada184eb126d8510 Mon Sep 17 00:00:00 2001 From: mwerezak Date: Wed, 8 Jul 2015 01:54:08 -0400 Subject: [PATCH 008/112] Updates to job economic modifiers --- code/game/jobs/job/captain.dm | 2 +- code/game/jobs/job/civilian.dm | 3 ++- code/game/jobs/job/medical.dm | 6 +++--- code/game/jobs/job/science.dm | 6 +++--- code/game/jobs/job/security.dm | 4 ++-- 5 files changed, 11 insertions(+), 10 deletions(-) diff --git a/code/game/jobs/job/captain.dm b/code/game/jobs/job/captain.dm index 725f7f50fc..665016a1cf 100644 --- a/code/game/jobs/job/captain.dm +++ b/code/game/jobs/job/captain.dm @@ -61,7 +61,7 @@ var/datum/announcement/minor/captain_announcement = new(do_newscast = 1) idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 minimal_player_age = 10 - economic_modifier = 15 + economic_modifier = 10 access = list(access_security, access_sec_doors, access_brig, access_court, access_forensics_lockers, access_medical, access_engine, access_change_ids, access_ai_upload, access_eva, access_heads, access_all_personal_lockers, access_maint_tunnels, access_bar, access_janitor, access_construction, access_morgue, diff --git a/code/game/jobs/job/civilian.dm b/code/game/jobs/job/civilian.dm index ac92feca9e..e97f46b8ac 100644 --- a/code/game/jobs/job/civilian.dm +++ b/code/game/jobs/job/civilian.dm @@ -97,7 +97,7 @@ spawn_positions = 1 supervisors = "the head of personnel" selection_color = "#dddddd" - economic_modifier = 7 + economic_modifier = 5 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) minimal_access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) @@ -150,6 +150,7 @@ spawn_positions = 3 supervisors = "the quartermaster and the head of personnel" selection_color = "#dddddd" + economic_modifier = 3 access = list(access_maint_tunnels, access_mailsorting, access_cargo, access_cargo_bot, access_qm, access_mint, access_mining, access_mining_station) minimal_access = list(access_mining, access_mint, access_mining_station, access_mailsorting) alt_titles = list("Drill Technician","Prospector") diff --git a/code/game/jobs/job/medical.dm b/code/game/jobs/job/medical.dm index dc2d366512..72a71e9196 100644 --- a/code/game/jobs/job/medical.dm +++ b/code/game/jobs/job/medical.dm @@ -45,7 +45,7 @@ spawn_positions = 3 supervisors = "the chief medical officer" selection_color = "#ffeef0" - economic_modifier = 5 + economic_modifier = 7 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics) minimal_access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_virology) alt_titles = list("Surgeon","Emergency Physician","Nurse","Virologist") @@ -139,7 +139,7 @@ spawn_positions = 0 supervisors = "the chief medical officer and research director" selection_color = "#ffeef0" - economic_modifier = 5 + economic_modifier = 7 access = list(access_medical, access_morgue, access_surgery, access_chemistry, access_virology, access_genetics, access_research) minimal_access = list(access_medical, access_morgue, access_genetics, access_research) @@ -203,7 +203,7 @@ spawn_positions = 2 supervisors = "the chief medical officer" selection_color = "#ffeef0" - economic_modifier = 5 + economic_modifier = 4 access = list(access_medical, access_medical_equip, access_morgue, access_surgery, access_chemistry, access_virology, access_eva, access_maint_tunnels, access_external_airlocks, access_psychiatrist) minimal_access = list(access_medical, access_medical_equip, access_eva, access_maint_tunnels, access_external_airlocks) alt_titles = list("Emergency Medical Technician") diff --git a/code/game/jobs/job/science.dm b/code/game/jobs/job/science.dm index d635fc4717..05690d4339 100644 --- a/code/game/jobs/job/science.dm +++ b/code/game/jobs/job/science.dm @@ -11,7 +11,7 @@ selection_color = "#ffddff" idtype = /obj/item/weapon/card/id/silver req_admin_notify = 1 - economic_modifier = 10 + economic_modifier = 15 access = list(access_rd, access_heads, access_tox, access_genetics, access_morgue, access_tox_storage, access_teleporter, access_sec_doors, access_research, access_robotics, access_xenobiology, access_ai_upload, access_tech_storage, @@ -48,7 +48,7 @@ spawn_positions = 3 supervisors = "the research director" selection_color = "#ffeeff" - economic_modifier = 5 + economic_modifier = 7 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_xenoarch) minimal_access = list(access_tox, access_tox_storage, access_research, access_xenoarch) alt_titles = list("Xenoarcheologist", "Anomalist", "Phoron Researcher") @@ -78,7 +78,7 @@ spawn_positions = 2 supervisors = "the research director" selection_color = "#ffeeff" - economic_modifier = 5 + economic_modifier = 7 access = list(access_robotics, access_tox, access_tox_storage, access_research, access_xenobiology, access_hydroponics) minimal_access = list(access_research, access_xenobiology, access_hydroponics, access_tox_storage) alt_titles = list("Xenobotanist") diff --git a/code/game/jobs/job/security.dm b/code/game/jobs/job/security.dm index 05c92caea1..8a9461302d 100644 --- a/code/game/jobs/job/security.dm +++ b/code/game/jobs/job/security.dm @@ -55,7 +55,7 @@ spawn_positions = 1 supervisors = "the head of security" selection_color = "#ffeeee" - economic_modifier = 7 + economic_modifier = 5 access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_armory, access_court, access_maint_tunnels, access_external_airlocks) minimal_player_age = 5 @@ -135,7 +135,7 @@ spawn_positions = 3 supervisors = "the head of security" selection_color = "#ffeeee" - economic_modifier = 5 + economic_modifier = 4 access = list(access_security, access_eva, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_morgue, access_external_airlocks) minimal_access = list(access_security, access_eva, access_sec_doors, access_brig, access_court, access_maint_tunnels, access_external_airlocks) minimal_player_age = 3 From 1a73539ad328a4078c7468349a85845da0a70f43 Mon Sep 17 00:00:00 2001 From: PsiOmegaDelta Date: Wed, 8 Jul 2015 08:35:07 +0200 Subject: [PATCH 009/112] Adds broken telescreen overlay. --- icons/obj/computer.dmi | Bin 40986 -> 39894 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/icons/obj/computer.dmi b/icons/obj/computer.dmi index 960e802b06e07b98d7bfb44483cffe8cc1f62d18..55869758598d72f68ca811c3289fc72fcb3d3111 100644 GIT binary patch literal 39894 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 z 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