diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 5ab826fa86..cfa6e0cc2c 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -338,7 +338,7 @@ is_buckled = 1 else is_buckled = 0 - if( is_buckled || !A || !x || !y || !A.x || !A.y || (stat && !isobserver(src))) return + if(!A || !x || !y || !A.x || !A.y) return var/dx = A.x - x var/dy = A.y - y if(!dx && !dy) return diff --git a/code/controllers/voting.dm b/code/controllers/voting.dm index 3387239101..560dd8613c 100644 --- a/code/controllers/voting.dm +++ b/code/controllers/voting.dm @@ -9,6 +9,7 @@ datum/controller/vote var/mode = null var/question = null var/list/choices = list() + var/list/gamemode_names = list() var/list/voted = list() var/list/voting = list() var/list/current_votes = list() @@ -217,6 +218,7 @@ datum/controller/vote for (var/T in L) var/datum/game_mode/M = new T() if (M.config_tag == F) + gamemode_names[M.config_tag] = capitalize(M.name) //It's ugly to put this here but it works additional_text.Add("[M.required_players]") break if("crew_transfer") @@ -308,9 +310,9 @@ datum/controller/vote if(!votes) votes = 0 . += "" if(current_votes[C.ckey] == i) - . += "[choices[i]][votes]" + . += "[gamemode_names[choices[i]]][votes]" else - . += "[choices[i]][votes]" + . += "[gamemode_names[choices[i]]][votes]" if (additional_text.len >= i) . += additional_text[i] diff --git a/code/game/machinery/alarm.dm b/code/game/machinery/alarm.dm index 3819c2d9d5..68c6b3364e 100644 --- a/code/game/machinery/alarm.dm +++ b/code/game/machinery/alarm.dm @@ -111,8 +111,6 @@ pixel_x = (dir & 3)? 0 : (dir == 4 ? -24 : 24) pixel_y = (dir & 3)? (dir ==1 ? -24 : 24) : 0 update_icon() - if(ticker && ticker.current_state == 3)//if the game is running - src.initialize() return first_run() diff --git a/code/game/machinery/bots/secbot.dm b/code/game/machinery/bots/secbot.dm index 4dd6064925..179557fb26 100644 --- a/code/game/machinery/bots/secbot.dm +++ b/code/game/machinery/bots/secbot.dm @@ -643,6 +643,9 @@ Auto Patrol: []"}, return src.anchored = 0 for(var/mob/living/M in view(search_range,src)) //Let's find us a criminal + if(M.invisibility >= INVISIBILITY_LEVEL_ONE) // Cannot see him. see_invisible is a mob-var + continue + if(istype(M, /mob/living/carbon)) var/mob/living/carbon/C = M if(C.stat || C.handcuffed) diff --git a/code/game/machinery/computer/HolodeckControl.dm b/code/game/machinery/computer/HolodeckControl.dm index 1c9fe7cfe5..ff054b9f08 100644 --- a/code/game/machinery/computer/HolodeckControl.dm +++ b/code/game/machinery/computer/HolodeckControl.dm @@ -444,7 +444,7 @@ var/global/list/holodeck_programs = list( throw_range = 5 throwforce = 0 w_class = 2.0 - flags = FPRINT | TABLEPASS | NOSHIELD + flags = FPRINT | TABLEPASS | NOSHIELD | NOBLOODY var/active = 0 /obj/item/weapon/holo/esword/green diff --git a/code/game/machinery/portable_turret.dm b/code/game/machinery/portable_turret.dm index 8d4d4ac2df..cf19d9de27 100644 --- a/code/game/machinery/portable_turret.dm +++ b/code/game/machinery/portable_turret.dm @@ -55,6 +55,8 @@ var/datum/effect/effect/system/spark_spread/spark_system //the spark system, used for generating... sparks? + var/wrenching = 0 + /obj/machinery/porta_turret/stationary lethal = 1 installation = /obj/item/weapon/gun/energy/laser @@ -223,7 +225,7 @@ else usr << "It has to be secured first!" - updateUsrDialog() + attack_hand(usr) return switch(href_list["operation"]) //toggles customizable behavioural protocols @@ -242,7 +244,7 @@ check_access = !check_access if("checkxenos") check_anomalies = !check_anomalies - updateUsrDialog() + attack_hand(usr) /obj/machinery/porta_turret/power_change() @@ -288,19 +290,32 @@ sleep(60) //6 seconds for the traitor to gtfo of the area before the turret decides to ruin his shit on = 1 //turns it back on. The cover popUp() popDown() are automatically called in process(), no need to define it here - else if((istype(I, /obj/item/weapon/wrench)) && (!on)) - if(raised) return + else if((istype(I, /obj/item/weapon/wrench))) + if(on || raised) + user << "" + return + if(wrenching) + user << "Someone is already [anchored ? "un" : ""]securing the turret!" + return + if(!anchored && isinspace()) + user << "Cannot secure turrets in space!" + return + user.visible_message( \ + "[user] begins [anchored ? "un" : ""]securing the turret.", \ + "You begin [anchored ? "un" : ""]securing the turret." \ + ) + + wrenching = 1 if(do_after(user, 50)) //This code handles moving the turret around. After all, it's a portable turret! - if(!anchored && !isinspace()) + if(!anchored) playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) anchored = 1 invisibility = INVISIBILITY_LEVEL_TWO update_icon() user << "You secure the exterior bolts on the turret." - cover = new /obj/machinery/porta_turret_cover(loc) //create a new turret. While this is handled in process(), this is to workaround a bug where the turret becomes invisible for a split second - cover.Parent_Turret = src //make the cover's parent src + create_cover() else if(anchored) playsound(loc, 'sound/items/Ratchet.ogg', 100, 1) anchored = 0 @@ -308,6 +323,7 @@ invisibility = 0 update_icon() del(cover) //deletes the cover, and the turret instance itself becomes its own cover. - qdel + wrenching = 0 else if(istype(I, /obj/item/weapon/card/id)||istype(I, /obj/item/device/pda)) //Behavior lock/unlock mangement @@ -348,7 +364,7 @@ spawn() sleep(60) attacked = 0 - + ..() if((Proj.damage_type == BRUTE || Proj.damage_type == BURN)) @@ -395,7 +411,10 @@ update_icon() del(cover) //deletes the cover - no need on keeping it there! - del - +/obj/machinery/porta_turret/proc/create_cover() + if(cover == null && anchored) + cover = new /obj/machinery/porta_turret_cover(loc) //if the turret has no cover and is anchored, give it a cover + cover.Parent_Turret = src //assign the cover its Parent_Turret, which would be this (src) /obj/machinery/porta_turret/process() //the main machinery process @@ -406,9 +425,7 @@ if(stat & BROKEN) //if the turret is borked del(cover) //delete its cover, assuming it has one. Workaround for a pesky little bug - qdel else - - cover = new /obj/machinery/porta_turret_cover(loc) //if the turret has no cover and is anchored, give it a cover - cover.Parent_Turret = src //assign the cover its Parent_Turret, which would be this (src) + create_cover() if(stat & (NOPOWER|BROKEN)) //if the turret has no power or is broken, make the turret pop down if it hasn't already @@ -445,6 +462,9 @@ secondarytargets += L /obj/machinery/porta_turret/proc/assess_living(var/mob/living/L) + if(L.invisibility >= INVISIBILITY_LEVEL_ONE) // Cannot see him. see_invisible is a mob-var + return TURRET_NOT_TARGET + if(!L) return TURRET_NOT_TARGET @@ -464,7 +484,7 @@ if(check_synth) //If it's set to attack all non-silicons, target them! if(L.lying) - return TURRET_SECONDARY_TARGET + return lethal ? TURRET_SECONDARY_TARGET : TURRET_NOT_TARGET return TURRET_PRIORITY_TARGET if(iscuffed(L)) // If the target is handcuffed, leave it alone @@ -480,7 +500,7 @@ return TURRET_NOT_TARGET //if threat level < 4, keep going if(L.lying) //if the perp is lying down, it's still a target but a less-important target - return TURRET_SECONDARY_TARGET + return lethal ? TURRET_SECONDARY_TARGET : TURRET_NOT_TARGET return TURRET_PRIORITY_TARGET //if the perp has passed all previous tests, congrats, it is now a "shoot-me!" nominee @@ -840,11 +860,6 @@ density = 0 var/obj/machinery/porta_turret/Parent_Turret = null - -//The below code is pretty much just recoded from the initial turret object. It's necessary but uncommented because it's exactly the same! -//>necessary -//I'm not fixing it because i'm fucking bored of this code already, but someone should just reroute these to the parent turret's procs. - /obj/machinery/porta_turret_cover/attack_ai(mob/user) return attack_hand(user) @@ -853,7 +868,6 @@ /obj/machinery/porta_turret_cover/Topic(href, href_list) Parent_Turret.Topic(href, href_list, 1) // Calling another object's Topic requires that we claim to not have a window, otherwise BYOND's base proc will runtime. - updateUsrDialog() /obj/machinery/porta_turret_cover/attackby(obj/item/I, mob/user) Parent_Turret.attackby(I, user) diff --git a/code/game/machinery/vending.dm b/code/game/machinery/vending.dm index 5a52dde42e..89ccea30a8 100644 --- a/code/game/machinery/vending.dm +++ b/code/game/machinery/vending.dm @@ -877,7 +877,7 @@ icon_state = "robotics" icon_deny = "robotics-deny" req_access_txt = "29" - products = list(/obj/item/clothing/suit/storage/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash = 4, + products = list(/obj/item/clothing/suit/storage/toggle/labcoat = 4,/obj/item/clothing/under/rank/roboticist = 4,/obj/item/stack/cable_coil = 4,/obj/item/device/flash = 4, /obj/item/weapon/cell/high = 12, /obj/item/device/assembly/prox_sensor = 3,/obj/item/device/assembly/signaler = 3,/obj/item/device/healthanalyzer = 3, /obj/item/weapon/scalpel = 2,/obj/item/weapon/circular_saw = 2,/obj/item/weapon/tank/anesthetic = 2,/obj/item/clothing/mask/breath/medical = 5, /obj/item/weapon/screwdriver = 5,/obj/item/weapon/crowbar = 5) diff --git a/code/game/objects/items/weapons/manuals.dm b/code/game/objects/items/weapons/manuals.dm index 14511fdcfb..c827278b87 100644 --- a/code/game/objects/items/weapons/manuals.dm +++ b/code/game/objects/items/weapons/manuals.dm @@ -13,7 +13,7 @@ author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned title = "Station Repairs and Construction" -/obj/item/weapon/book/manual/engineering_construction/New() +/obj/item/weapon/book/manual/engineering_construction/initialize() ..() dat = {" @@ -34,7 +34,7 @@ author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned title = "Particle Accelerator User's Guide" -/obj/item/weapon/book/manual/engineering_particle_accelerator/New() +/obj/item/weapon/book/manual/engineering_particle_accelerator/initialize() ..() dat = {" @@ -81,7 +81,7 @@ author = "Waleed Asad" title = "Supermatter Engine User's Guide" -/obj/item/weapon/book/manual/supermatter_engine/New() +/obj/item/weapon/book/manual/supermatter_engine/initialize() ..() dat = {" @@ -193,7 +193,7 @@ author = "Engineering Encyclopedia" // Who wrote the thing, can be changed by pen or PC. It is not automatically assigned title = "Hacking" -/obj/item/weapon/book/manual/engineering_hacking/New() +/obj/item/weapon/book/manual/engineering_hacking/initialize() ..() dat = {" @@ -750,7 +750,7 @@ author = "NanoTrasen" title = "Corporate Regulations" -/obj/item/weapon/book/manual/security_space_law/New() +/obj/item/weapon/book/manual/security_space_law/initialize() ..() dat = {" @@ -774,7 +774,7 @@ author = "NanoTrasen Medicine Department" title = "NT Medical Diagnostics Manual" -/obj/item/weapon/book/manual/medical_diagnostics_manual/New() +/obj/item/weapon/book/manual/medical_diagnostics_manual/initialize() ..() dat = {" @@ -821,7 +821,7 @@ author = "Engineering Encyclopedia" title = "Engineering Textbook" -/obj/item/weapon/book/manual/engineering_guide/New() +/obj/item/weapon/book/manual/engineering_guide/initialize() ..() dat = {" diff --git a/code/game/objects/objs.dm b/code/game/objects/objs.dm index ba696b6850..3354953013 100644 --- a/code/game/objects/objs.dm +++ b/code/game/objects/objs.dm @@ -16,6 +16,12 @@ var/damtype = "brute" var/force = 0 +/obj/New() + ..() + // If the game is already underway initialize will no longer be called for us + if(ticker && ticker.current_state == GAME_STATE_PLAYING) + initialize() + /obj/Topic(href, href_list, var/nowindow = 0) // Calling Topic without a corresponding window open causes runtime errors if(nowindow) diff --git a/code/game/objects/structures/coathanger.dm b/code/game/objects/structures/coathanger.dm index 0d09d57c64..deca42e867 100644 --- a/code/game/objects/structures/coathanger.dm +++ b/code/game/objects/structures/coathanger.dm @@ -4,7 +4,7 @@ icon = 'icons/obj/coatrack.dmi' icon_state = "coatrack0" var/obj/item/clothing/suit/coat - var/list/allowed = list(/obj/item/clothing/suit/storage/labcoat, /obj/item/clothing/suit/storage/det_suit) + var/list/allowed = list(/obj/item/clothing/suit/storage/labcoat, /obj/item/clothing/suit/storage/toggle/labcoat, /obj/item/clothing/suit/storage/det_suit) /obj/structure/coatrack/attack_hand(mob/user as mob) user.visible_message("[user] takes [coat] off \the [src].", "You take [coat] off the \the [src]") diff --git a/code/game/turfs/simulated/floor_types.dm b/code/game/turfs/simulated/floor_types.dm index 669048cbf4..610186a7b7 100644 --- a/code/game/turfs/simulated/floor_types.dm +++ b/code/game/turfs/simulated/floor_types.dm @@ -12,13 +12,6 @@ /turf/simulated/floor/airless/ceiling icon_state = "rockvault" -/turf/simulated/floor/airless/catwalk - name = "catwalk" - icon = 'icons/turf/catwalks.dmi' - icon_state = "catwalk0" - floor_type = null - intact = 0 - /turf/simulated/floor/light name = "Light floor" luminosity = 5 @@ -33,8 +26,6 @@ update_icon() name = n - - /turf/simulated/floor/wood name = "floor" icon_state = "wood" @@ -225,10 +216,4 @@ icon_state = "snow" /turf/simulated/floor/plating/snow/ex_act(severity) - return - -/turf/simulated/floor/plating/airless/catwalk - icon = 'icons/turf/catwalks.dmi' - icon_state = "Floor3" - name = "catwalk" - desc = "Cats really don't like these things." \ No newline at end of file + return \ No newline at end of file diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 048ab71ba8..ff4cb515cc 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -139,7 +139,7 @@ name = "Doctor" corpseradio = /obj/item/device/radio/headset/headset_med corpseuniform = /obj/item/clothing/under/rank/medical - corpsesuit = /obj/item/clothing/suit/storage/labcoat + corpsesuit = /obj/item/clothing/suit/storage/toggle/labcoat corpseback = /obj/item/weapon/storage/backpack/medic corpsepocket1 = /obj/item/device/flashlight/pen corpseshoes = /obj/item/clothing/shoes/black diff --git a/code/modules/client/preferences_gear.dm b/code/modules/client/preferences_gear.dm index 3f9eb7b361..3c92df50f4 100644 --- a/code/modules/client/preferences_gear.dm +++ b/code/modules/client/preferences_gear.dm @@ -507,7 +507,7 @@ var/global/list/gear_datums = list() /datum/gear/labcoat display_name = "labcoat" - path = /obj/item/clothing/suit/storage/labcoat + path = /obj/item/clothing/suit/storage/toggle/labcoat cost = 3 slot = slot_wear_suit diff --git a/code/modules/clothing/spacesuits/rig/rig.dm b/code/modules/clothing/spacesuits/rig/rig.dm index 1c10aa36ac..b3e8ea6816 100644 --- a/code/modules/clothing/spacesuits/rig/rig.dm +++ b/code/modules/clothing/spacesuits/rig/rig.dm @@ -595,6 +595,8 @@ H << "Your [use_obj.name] [use_obj.gender == PLURAL ? "retract" : "retracts"] swiftly." use_obj.canremove = 1 holder.drop_from_inventory(use_obj) + use_obj.loc = get_turf(src) + use_obj.dropped() use_obj.canremove = 0 use_obj.loc = src @@ -648,10 +650,10 @@ for(var/piece in list("helmet","gauntlets","chest","boots")) toggle_piece(piece, H, ONLY_DEPLOY) -/obj/item/weapon/rig/dropped() +/obj/item/weapon/rig/dropped(var/mob/user) ..() for(var/piece in list("helmet","gauntlets","chest","boots")) - toggle_piece(piece, wearer, ONLY_RETRACT) + toggle_piece(piece, user, ONLY_RETRACT) wearer = null //Todo diff --git a/code/modules/clothing/spacesuits/spacesuits.dm b/code/modules/clothing/spacesuits/spacesuits.dm index d3b354fe52..535ab47f81 100644 --- a/code/modules/clothing/spacesuits/spacesuits.dm +++ b/code/modules/clothing/spacesuits/spacesuits.dm @@ -70,27 +70,25 @@ check_limb_support() ..() -/obj/item/clothing/suit/space/dropped() - check_limb_support() +/obj/item/clothing/suit/space/dropped(var/mob/user) + check_limb_support(user) ..() // Some space suits are equipped with reactive membranes that support // broken limbs - at the time of writing, only the ninja suit, but // I can see it being useful for other suits as we expand them. ~ Z // The actual splinting occurs in /datum/organ/external/proc/fracture() -/obj/item/clothing/suit/space/proc/check_limb_support() +/obj/item/clothing/suit/space/proc/check_limb_support(var/mob/living/carbon/human/user) // If this isn't set, then we don't need to care. if(!supporting_limbs || !supporting_limbs.len) return - var/mob/living/carbon/human/H = src.loc - - // If the holder isn't human, or the holder IS and is wearing the suit, it keeps supporting the limbs. - if(!istype(H) || H.wear_suit == src) + if(!istype(user) || user.wear_suit == src) return // Otherwise, remove the splints. for(var/datum/organ/external/E in supporting_limbs) E.status &= ~ ORGAN_SPLINTED + user << "The suit stops supporting your [E.display_name]." supporting_limbs = list() \ 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 5d0247283e..60b5e0c6c7 100644 --- a/code/modules/clothing/spacesuits/void/void.dm +++ b/code/modules/clothing/spacesuits/void/void.dm @@ -154,9 +154,9 @@ helmet.loc = get_turf(src) src.helmet = null else if (boots) - user << "You detatch \the [helmet] from \the [src]'s helmet mount." - helmet.loc = get_turf(src) - src.helmet = null + user << "You detatch \the [boots] from \the [src]'s boot mounts." + boots.loc = get_turf(src) + src.boots = null else user << "\The [src] does not have anything installed." return diff --git a/code/modules/customitems/item_defines.dm b/code/modules/customitems/item_defines.dm index 07398cbd86..4d91497636 100644 --- a/code/modules/customitems/item_defines.dm +++ b/code/modules/customitems/item_defines.dm @@ -849,13 +849,17 @@ icon_state = "bottle[color]" //////////// Suits //////////// +/obj/item/clothing/suit/storage/labcoat + name = "labcoat" + desc = "A plain labcoat." + icon_state = "labcoat" + body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS /obj/item/clothing/suit/storage/labcoat/fluff/aeneas_rinil //Robotics Labcoat - Aeneas Rinil [APPR] name = "Robotics labcoat" desc = "A labcoat with a few markings denoting it as the labcoat of roboticist." icon = 'icons/obj/custom_items.dmi' icon_state = "aeneasrinil" - body_parts_covered = UPPER_TORSO|LOWER_TORSO|ARMS|LEGS /obj/item/clothing/suit/storage/labcoat/fluff/pink //spaceman96: Trenna Seber name = "pink labcoat" diff --git a/code/modules/economy/Accounts_DB.dm b/code/modules/economy/Accounts_DB.dm index 19ea76ed4e..163e7ac5c8 100644 --- a/code/modules/economy/Accounts_DB.dm +++ b/code/modules/economy/Accounts_DB.dm @@ -11,6 +11,7 @@ var/obj/item/weapon/card/id/held_card var/datum/money_account/detailed_account_view var/creating_new_account = 0 + var/const/fund_cap = 1000000 proc/get_access_level() if (!held_card) @@ -125,12 +126,12 @@ if("add_funds") var/amount = input("Enter the amount you wish to add", "Silently add funds") as num if(detailed_account_view) - detailed_account_view.money += amount + detailed_account_view.money = min(detailed_account_view.money + amount, fund_cap) if("remove_funds") var/amount = input("Enter the amount you wish to remove", "Silently remove funds") as num if(detailed_account_view) - detailed_account_view.money -= amount + detailed_account_view.money = max(detailed_account_view.money - amount, -fund_cap) if("toggle_suspension") if(detailed_account_view) @@ -141,6 +142,9 @@ var/account_name = href_list["holder_name"] var/starting_funds = max(text2num(href_list["starting_funds"]), 0) create_account(account_name, starting_funds, src) + + starting_funds = Clamp(starting_funds, 0, station_account.money) // Not authorized to put the station in debt. + starting_funds = min(starting_funds, fund_cap) // Not authrorized to give more than the fund cap. if(starting_funds > 0) //subtract the money station_account.money -= starting_funds diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index f94fceffcf..6b3647ef93 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -605,3 +605,6 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp src << "Your key won't be shown when you speak in dead chat." else src << "Your key will be publicly visible again." + +/mob/dead/observer/canface() + return 1 diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index 95d8ed9d57..0eedb1d9b4 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -167,7 +167,7 @@ src.sight &= ~SEE_TURFS src.sight &= ~SEE_OBJS src.see_in_dark = 8 - src.see_invisible = SEE_INVISIBLE_LEVEL_TWO + src.see_invisible = SEE_INVISIBLE_MINIMUM regular_hud_updates() diff --git a/code/modules/mob/living/simple_animal/friendly/cat.dm b/code/modules/mob/living/simple_animal/friendly/cat.dm index 56f615c77f..642a7df8e4 100644 --- a/code/modules/mob/living/simple_animal/friendly/cat.dm +++ b/code/modules/mob/living/simple_animal/friendly/cat.dm @@ -60,10 +60,8 @@ for(var/mob/living/simple_animal/mouse/snack in oview(src)) if(isturf(snack.loc) && !snack.stat) movement_target = snack - world << "[src]: mouse located." break if(movement_target) - world << "[src]: locking on [movement_target]" stop_automated_movement = 1 walk_to(src,movement_target,0,3) diff --git a/code/modules/mob/mob_helpers.dm b/code/modules/mob/mob_helpers.dm index 177651f7df..b3e04533d4 100644 --- a/code/modules/mob/mob_helpers.dm +++ b/code/modules/mob/mob_helpers.dm @@ -535,7 +535,10 @@ proc/is_blind(A) if(M.mind && M.mind.name) name = M.mind.name if(M.real_name && M.real_name != name) - name += " ([M.real_name])" + if(name) + name += " ([M.real_name])" + else + name = M.real_name if(!name) name = (C.holder && C.holder.fakekey) ? C.holder.fakekey : C.key if(joined_ghosts) diff --git a/code/modules/power/cable.dm b/code/modules/power/cable.dm index dd04e38321..27e1fc3a2b 100644 --- a/code/modules/power/cable.dm +++ b/code/modules/power/cable.dm @@ -114,11 +114,8 @@ By design, d1 is the smallest direction and d2 is the highest updateicon() /obj/structure/cable/proc/updateicon() - if(invisibility) - icon_state = "[d1]-[d2]-f" - else - icon_state = "[d1]-[d2]" - + icon_state = "[d1]-[d2]" + alpha = invisibility ? 127 : 255 // returns the powernet this cable belongs to /obj/structure/cable/proc/get_powernet() //TODO: remove this as it is obsolete diff --git a/code/modules/reagents/Chemistry-Reagents-Antidepressants.dm b/code/modules/reagents/Chemistry-Reagents-Antidepressants.dm index 0a722a436a..12ecf3a817 100644 --- a/code/modules/reagents/Chemistry-Reagents-Antidepressants.dm +++ b/code/modules/reagents/Chemistry-Reagents-Antidepressants.dm @@ -5,7 +5,7 @@ id = "methylphenidate" description = "Improves the ability to concentrate." reagent_state = LIQUID - color = "#C8A5DC" + color = "#BF80BF" custom_metabolism = 0.01 data = 0 @@ -33,7 +33,7 @@ id = "citalopram" description = "Stabilizes the mind a little." reagent_state = LIQUID - color = "#C8A5DC" + color = "#FF80FF" custom_metabolism = 0.01 data = 0 @@ -62,7 +62,7 @@ id = "paroxetine" description = "Stabilizes the mind greatly, but has a chance of adverse effects." reagent_state = LIQUID - color = "#C8A5DC" + color = "#FF80BF" custom_metabolism = 0.01 data = 0 diff --git a/code/modules/reagents/Chemistry-Reagents.dm b/code/modules/reagents/Chemistry-Reagents.dm index ef4c8ab451..0ad32421fa 100644 --- a/code/modules/reagents/Chemistry-Reagents.dm +++ b/code/modules/reagents/Chemistry-Reagents.dm @@ -712,7 +712,7 @@ datum id = "ryetalyn" description = "Ryetalyn can cure all genetic abnomalities via a catalytic process." reagent_state = SOLID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#004000" // rgb: 200, 165, 220 overdose = REAGENTS_OVERDOSE on_mob_life(var/mob/living/M as mob) @@ -759,7 +759,7 @@ datum id = "paracetamol" description = "Most probably know this as Tylenol, but this chemical is a mild, simple painkiller." reagent_state = LIQUID - color = "#C855DC" + color = "#C8A5DC" overdose = 60 scannable = 1 custom_metabolism = 0.025 // Lasts 10 minutes for 15 units @@ -775,7 +775,7 @@ datum id = "tramadol" description = "A simple, yet effective painkiller." reagent_state = LIQUID - color = "#C8A5DC" + color = "#CB68FC" overdose = 30 scannable = 1 custom_metabolism = 0.025 // Lasts 10 minutes for 15 units @@ -791,7 +791,7 @@ datum id = "oxycodone" description = "An effective and very addictive painkiller." reagent_state = LIQUID - color = "#C805DC" + color = "#800080" overdose = 20 custom_metabolism = 0.25 // Lasts 10 minutes for 15 units @@ -856,7 +856,7 @@ datum id = "iron" description = "Pure iron is a metal." reagent_state = SOLID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#353535" overdose = REAGENTS_OVERDOSE gold @@ -1015,7 +1015,7 @@ datum id = "cryptobiolin" description = "Cryptobiolin causes confusion and dizzyness." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#000055" // rgb: 200, 165, 220 overdose = REAGENTS_OVERDOSE on_mob_life(var/mob/living/M as mob) @@ -1033,7 +1033,7 @@ datum id = "kelotane" description = "Kelotane is a drug used to treat burns." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#FFA800" // rgb: 200, 165, 220 overdose = REAGENTS_OVERDOSE scannable = 1 @@ -1051,7 +1051,7 @@ datum id = "dermaline" description = "Dermaline is the next step in burn medication. Works twice as good as kelotane and enables the body to restore even the direst heat-damaged tissue." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#FF8000" // rgb: 200, 165, 220 overdose = REAGENTS_OVERDOSE/2 scannable = 1 @@ -1069,7 +1069,7 @@ datum id = "dexalin" description = "Dexalin is used in the treatment of oxygen deprivation." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#0080FF" // rgb: 200, 165, 220 overdose = REAGENTS_OVERDOSE scannable = 1 @@ -1092,7 +1092,7 @@ datum id = "dexalinp" description = "Dexalin Plus is used in the treatment of oxygen deprivation. It is highly effective." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#0040FF" // rgb: 200, 165, 220 overdose = REAGENTS_OVERDOSE/2 scannable = 1 @@ -1115,7 +1115,7 @@ datum id = "tricordrazine" description = "Tricordrazine is a highly potent stimulant, originally derived from cordrazine. Can be used to treat a wide range of injuries." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#8040FF" // rgb: 200, 165, 220 scannable = 1 on_mob_life(var/mob/living/M as mob, var/alien) @@ -1135,7 +1135,7 @@ datum id = "anti_toxin" description = "Dylovene is a broad-spectrum antitoxin." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#00A000" // rgb: 200, 165, 220 scannable = 1 on_mob_life(var/mob/living/M as mob, var/alien) @@ -1190,13 +1190,13 @@ datum D.cure() ..() return - synaptizine + name = "Synaptizine" id = "synaptizine" description = "Synaptizine is used to treat various diseases." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#99CCFF" // rgb: 200, 165, 220 custom_metabolism = 0.01 overdose = REAGENTS_OVERDOSE scannable = 1 @@ -1235,7 +1235,7 @@ datum id = "hyronalin" description = "Hyronalin is a medicinal drug used to counter the effect of radiation poisoning." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#408000" // rgb: 200, 165, 220 custom_metabolism = 0.05 overdose = REAGENTS_OVERDOSE scannable = 1 @@ -1251,7 +1251,7 @@ datum id = "arithrazine" description = "Arithrazine is an unstable medication used for the most extreme cases of radiation poisoning." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#008000" // rgb: 200, 165, 220 custom_metabolism = 0.05 overdose = REAGENTS_OVERDOSE @@ -1271,7 +1271,7 @@ datum id = "alkysine" description = "Alkysine is a drug used to lessen the damage to neurological tissue after a catastrophic injury. Can heal brain tissue." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#FFFF66" // rgb: 200, 165, 220 custom_metabolism = 0.05 overdose = REAGENTS_OVERDOSE scannable = 1 @@ -1309,7 +1309,7 @@ datum id = "peridaxon" description = "Used to encourage recovery of internal organs and nervous systems. Medicate cautiously." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#561EC3" // rgb: 200, 165, 220 overdose = 10 scannable = 1 @@ -1330,7 +1330,7 @@ datum id = "bicaridine" description = "Bicaridine is an analgesic medication and can be used to treat blunt trauma." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#BF0000" // rgb: 200, 165, 220 overdose = REAGENTS_OVERDOSE scannable = 1 @@ -1348,7 +1348,7 @@ datum id = "hyperzine" description = "Hyperzine is a highly effective, long lasting, muscle stimulant." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#FF3300" // rgb: 200, 165, 220 custom_metabolism = 0.03 overdose = REAGENTS_OVERDOSE/2 @@ -1378,7 +1378,7 @@ datum id = "cryoxadone" description = "A chemical mixture with almost magical healing powers. Its main limitation is that the targets body temperature must be under 170K for it to metabolise correctly." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#8080FF" // rgb: 200, 165, 220 scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -1396,7 +1396,7 @@ datum id = "clonexadone" description = "A liquid compound similar to that used in the cloning process. Can be used to 'finish' the cloning process when used in conjunction with a cryo tube." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#80BFFF" // rgb: 200, 165, 220 scannable = 1 on_mob_life(var/mob/living/M as mob) @@ -1443,7 +1443,7 @@ datum id = "spaceacillin" description = "An all-purpose antiviral agent." reagent_state = LIQUID - color = "#C8A5DC" // rgb: 200, 165, 220 + color = "#C1C1C1" // rgb: 200, 165, 220 custom_metabolism = 0.01 overdose = REAGENTS_OVERDOSE scannable = 1 @@ -1595,7 +1595,7 @@ datum id = "phoron" description = "Phoron in its liquid form." reagent_state = LIQUID - color = "#E71B00" // rgb: 231, 27, 0 + color = "#00BFFF" // rgb: 231, 27, 0 toxpwr = 3 on_mob_life(var/mob/living/M as mob) @@ -1812,7 +1812,7 @@ datum id = "stoxin" description = "An effective hypnotic used to treat insomnia." reagent_state = LIQUID - color = "#E895CC" // rgb: 232, 149, 204 + color = "#009CA8" // rgb: 232, 149, 204 toxpwr = 0 custom_metabolism = 0.1 overdose = REAGENTS_OVERDOSE diff --git a/code/stylesheet.dm b/code/stylesheet.dm index cc14488a5f..90ac0c091b 100644 --- a/code/stylesheet.dm +++ b/code/stylesheet.dm @@ -1,29 +1,29 @@ client/script = {"